Title: MSO FPGA Slides
1Simplifying MSO-based debugof designs with
Xilinx FPGAs
21) Route nets out to FPGA pins
FPGA
Agilent 9000 or 7000 Series
Pins
ExternalMSO
Probe points
- 1 signal per FPGA pin usually pin limited
- Requires design change to view new signals
- Manual management of physical and logical signal
mapping to MSO digital channels and labels - Equal time investment for each iteration
3Manual Setup of Physical Connection Single pin
example
Connects to pod 1 channel 8 of the MSO
Goes to pin 10 of the mictor connect
Pin 6 of the FPGA
FPGA
Probe footprint
Oscilloscope
4Manual Setup of Signal/Bus Names on MSO
Determine to which connector pin it was routed
Determine which logic channel is connected to
that pin
Look at schematic
Hand type eachname in MSO for every signal
routed to debug pins
Signal namein FPGA
Probe footprint
FPGA
Oscilloscope
5Worlds First ( only) Integrated FPGA
Oscilloscope Application
- Incremental Real Time Internal Measurements
without - Stopping FPGA
- Changing the design
- Modifying design timing
- Quick MSO Setup
- FPGA pins to MSO digital channels
- Signal and bus names
MSO FPGA Dynamic Probe Application
6MSO FPGA Dynamic Probe Application
- Options for Xilinx
- With 9000 Series MSOs
- With 6000/7000 Series MSOs
7Datasheets, Design guide, FAQ, Resource
Calculator
- Options for Xilinx
- With 8000 Series MSOs www.agilent.com/find/8000-X
ilinx - With 6000 Series MSOs www.agilent.com/find/6000-X
ilinx
8FPGA Dynamic Probe for Xilinx
PC Board
FPGA
Insert ATC2 core with Xilinx Core Inserter
ATC2
9Agilent Trace Core (ATC2)
ATC2
Output to FPGA pins for debug
4 - 128
- Up to 64 signal banks
- All banks have identical width (4 to 128 signals
wide)
4 - 128
4 - 128
Selection MUX
4 -128
4 -128
clk
clk
Up to 16 digital channels on MSOs
JTAG Select
Change signal bank selection from MSO
10Core Types for MSO
- State Core (most common usage)
- Best for functional debug in one time domain
- Minimal impact on timing
- MSO timing (asynchronous measurement)
- Measured on each FPGA clock cycle
- State trigger
- Trigger on pattern clock edge
- State waveform display
- Post-processing MSO feature
- Timing Core
- Best for measurements across multiple time
domains - Almost no impact on design timing
- Measurements include skew from routing path
variancesGlitch detection - Measured per MSO timing sample rate
11State Coresalways have multiple pipeline stages
to minimize timing impact
Probe point
Output Pin
Customer Logic
FF
ATC2 (1 signal)
FF
FF
FF
12Technology Walk Through (Xilinx Example)
- Xilinx Core Inserter
- Create core put it in design
- Agilent FPGA Dynamic Probe
- Pin and signal/bus setups
- Core control
- Taking measurements
13Demo 1- Packet Flow Demo (MSO_comm_v9.bit)
Measure in 4 different parts of communication
system in a few seconds
14Target System Xilinx XC2V250
JTAG
Mictor Connector (plug MSO cable into EVEN side)
152. FPGA Dynamic Probe SW application integrated
with Infiniium
4. Probe core output
3. Control access to new signals via JTAG
1. Insert ATC2 core in FPGA with Xilinx ChipScope
Pro
16Define 1st Bank to View Transmit Side
External Data IN
Monitor
Serial Packets
8B/10B Encoder
Serial to Monitor State Machine
Serial from Monitor State Machine
State
TID Out
Serial Acks
State
TID
Ack ID
Master State Machine
8
7
RAM
Xilinx FPGA
Bank 0
Bank 3
Bank 2
Bank 1
Micro Blaze uP
TID State
Ack ID State TID out
Master State Mach.
Data In Out
Agilent Trace Core 2
MUX
External RAM
To MSO digital Connection (15 Pins for Debug
clk)
JTAG to MSO or PC
17Define 2nd Bank to View Receive Side
External Data IN
Monitor
Serial Packets
8B/10B Encoder
Serial to Monitor State Machine
Serial from Monitor State Machine
TID Out
Serial Acks
State
Ack ID
Master State Machine
5
3
RAM
7
Xilinx FPGA
Bank 0
Bank 3
Bank 2
Bank 1
Micro Blaze uP
TID State
Ack ID State TID out
Master State Mach.
Data In Out
Agilent Trace Core 2
MUX
External RAM
JTAG to MSO or PC
To MSO digital Connection (15 Pins for Debug
clk)
18Define 3rd Bank to View 8B/10B Encoder
External Data IN
Monitor
Serial Packets
8B/10B Encoder
Serial to Monitor State Machine
Serial from Monitor State Machine
State
TID Out
Serial Acks
State
TID
Ack ID
Master State Machine
5
10
RAM
Xilinx FPGA
Bank 0
Bank 3
Bank 2
Bank 1
TID State
Ack ID State TID out
Master State Mach.
Data In Out
Micro Blaze uP
Agilent Trace Core 2
MUX
External RAM
JTAG to MSO
To MSO digital Connection (15 Pins for Debug
clk)
194th Bank to View Master State Machine
External Data IN
Monitor
Serial Packets
8B/10B Encoder
Serial to Monitor State Machine
Serial from Monitor State Machine
State
TID Out
Serial Acks
State
TID
Ack ID
Master State Machine
15
RAM
Xilinx FPGA
Bank 0
Bank 3
Bank 2
Bank 1
Micro Blaze uP
TID State
Ack ID State TID out
Master State Mach.
Data In Out
Agilent Trace Core 2
MUX
External RAM
JTAG to MSO
To MSO digital Connection (15 Pins for Debug
clk)
204 Signal Banks
External Data IN
Monitor
Serial Packets
8B/10B Encoder
Serial to Monitor State Machine
Serial from Monitor State Machine
State
TID Out
Serial Acks
State
TID
Ack ID
5
Master State Machine
8
7
10
5
3
15
RAM
7
Xilinx FPGA
Bank 0
Bank 3
Bank 2
Bank 1
Micro Blaze uP
TID State
Ack ID State TID out
Master State Mach.
Data In Out
Agilent Trace Core 2
MUX
External RAM
JTAG to MSO
To MSO digital Connection (15 Pins for Debug
clk)
21ChipScope Pro
- ILA logic analyzer viewer
- Core Inserter
- Post-synthesis insertion
- Core Generator
- Pre-synthesis core generation
Preferred design flow
22Inserting ATC2 Cores
Design Entry
.v .
vhd
Functional Simulation
Synthesis
.
edf
Post-synthesis Simulation
.sfp .sdc
Insert ATC
2 Cores
Xilinx Core Inserter
Timing
Constraints
.
edf
.
ngo
.
cdc
Translate
(LUTs and nets)
.ucf
Map
(LUTs into Slices)
PlaceRoute
PlaceRoute
(FPGA resources)
(FPGA resources)
ISE
ISE
.
ncf
.
pcf
Static Timing
Timing Simulation
Static Timing
FPGA Editor
Analysis
Analysis
ISE
ISE
Minor Design Modifications FPGA Editor
Program FPGA
Program FPGA
ISE Impact
ISE Impact
.bit
mcs
.
Bitstream
PROM
FPGA
23Set Core Parameters
Xilinx Core Inserter
Select Capture Mode
24Xilinx Core Inserter Specify Signal Bank Grouping
25Enable Integrated FPGA Dynamic Probe Application
26Establish JTAG Communication Link(Between MSO
application and ATC2 core)
Reads scan chain and finds FPGA devices with ATC2
core
27Import Signal Names
Reads .cdc file produced by Core Inserter
28Auto Pin mapping
Map physical connection between core scope
Look for test pattern on each pin
PC Board
FPGA
1. Send training pattern over a ATC2 pin one
at a time
ATC2 with auto-setup
ATC3
JTAG
29Auto-Pin Mapping
30Graphical Pin Mapping
Probe footprint layout
MSO logic channel
ATC2 outputs (FPGA pins)
31View Signals at Transmit Side
External Data IN
Monitor
Serial Packets
8B/10B Encoder
Serial from Monitor State Machine
Serial to Monitor State Machine
State
TID Out
Serial Acks
State
TID
Ack ID
Master State Machine
8
RAM
Xilinx FPGA
Bank 0
Bank 3
Bank 2
Bank 1
Micro Blaze uP
TID State
Ack ID State TID out
Master State Mach.
Data In Out
Agilent Trace Core 2
MUX
External RAM
To MSO digital Connection (15 Pins for Debug
clk)
JTAG to MSO
32Select Bank to Activate
33Measurement of Bank0 Signals/Buses
Time correlation with external events
Bank0 Signal Bus names
34Measure Signals at Receive Side
External Data IN
Monitor
Serial Packets
8B/10B Encoder
Serial from Monitor State Machine
Serial to Monitor State Machine
State
TID Out
Serial Acks
State
TID
Ack ID
5
Master State Machine
RAM
Xilinx FPGA
Bank 0
Bank 3
Bank 2
Bank 1
Micro Blaze uP
TID State
Ack ID State TID out
Master State Mach.
Data In Out
Agilent Trace Core 2
MUX
External RAM
JTAG to MSO
35Change to Measure Signals on Bank 1
36Measurement of Bank1 Signals/Buses
Time correlation with external events
Bank1 signal and bus names
37Triggering on Valid StatesATCK (clock) Pattern
guarantees valid state
This design transitions on positive clock edge,
so data should be stable on negative clock edges.
38Trigger on Bus2 02H and D15 (atck) falling edge
clk
B2
39Symbols Readouts
40Transforming Timing (asynchronous) Waveforms
into State (synchronous) Waveforms
Invalid state (happens on rising edge when design
is transitioning)
41State Clock D15 is the ATCK, data will be
stable on the falling edge
42Resulting State Waveforms
Invalid states are filtered out (post-processing)
43Demo 2- Up down counter (MSO_up_down_20MHz.bit)
Measure in 2 different parts of Xilinx system in
a few seconds
44Target System Xilinx XC2V250
JTAG
Mictor Connector (plug MSO cable into ODD side)
452. FPGA Dynamic Probe SW application runs on PC
PC and MSO 6000 connect via LAN/USB/GPIB/etc
4. Probe core output
1. Insert ATC2 core in FPGA with Xilinx
ChipScope Pro
3. Control access to new signals via JTAG
46ATC2 core configured with 2 Signal Banks
8 bit Count Down Design
8 bit Count Up Design
8
8
Xilinx FPGA
Bank 0
Bank 1
Agilent Trace Core 2
MUX
To MSO digital Connection (8Pins for Debug clk)
JTAG to MSO
47Run the MSO FPGA Dynamic Application on PCPC
connects to MSO6000 via LAN, USB, or GPIB
48FPGA Dynamic Probe
49Load Design and Import Signal Names
50Auto Pin Mapping
3. Map physical connection between core scope
2. Look for test pattern on each pin
PC Board
FPGA
1. Send training pattern over a ATC2 pin one
at a time
ATC2 with auto-setup
ATC3
JTAG
51Pin Mapping
MSO signals do not connect here. ATCK (clock)
should be routed to any other place assessed by
MSO digital channels.
52Select Bank 0 (count up clock)
53Count Up
Bus Signal names
54Select New Set of Internal Signals for Measurement
55Resulting Measurement
Time correlation with external events
Bus Signal names
56State Triggering Pattern ATCK edgeEliminates
the potential of triggering on invalid states
when FPGA design is transitioning
State Triggering
57Measuring Valid States
Invalid state (FPGA design is transitioning on
positive clock edge
Valid states on falling clock edge
58N5397A 8000 Series FPGA Dynamic Probe for Xilinx
59N5406A 6000 Series FPGA Dynamic Probe for Xilinx