Zynq-7000 AP SoC and 7 Series FPGAs MIS v4.1
367
UG586 November 30, 2016
Chapter 2:
QDR II+ Memory Interface Solution
Verify Board Pinout
You should ensure that the pinout provided by the MIG tool is used without modification.
Then, the board schematic should be compared to the
<design_name>.pad
report
generated by PAR. This step ensures that the board pinout matches the pins assigned in the
implemented design.
Run Signal Integrity Simulation with IBIS Models
To verify that board layout guidelines have been followed, signal integrity simulations must
be run using the I/O buffer information specification (IBIS). These simulations should
always be run for both pre-board and post-board layouts. The purpose of running these
simulations is to confirm the signal integrity on the board.
The ML561 Hardware-Simulation Correlation chapter of the
Virtex-5 FPGA ML561 Memory
Interfaces Development Board User Guide
(UG199)
can be used as a guideline. This
chapter provides a detailed look at signal integrity correlation results for the ML561 board.
It can be used as an example for signal integrity analysis. It also provides steps to create a
design-specific IBIS model to aid in setting up the simulations. While this guide is specific
to Virtex-5 devices and the ML561 development board, the principles therein can be
applied to MIG designs with 7 series FPGAs.
Run the Example Design
The example design provided with the MIG tool is a fully verified design that can be used to
test the memory interface on the board. It rules out any issues with the backend logic
interfacing with the MIG tool core. In addition, the test bench provided by the MIG tool can
be modified to send out different data patterns that test different board-level concerns.
Debugging Common Hardware Issues
When calibration failures and data errors are encountered in hardware, the Vivado logic
analyzer feature should be used to analyze the behavior of MIG tool core signals. For more
information about the Vivado logic analyzer, software is available in the
Vivado Design Suite
User Guide: Programming and Debugging
(UG908)
A good starting point in hardware debug is to load the provided example_design onto the
board in question. This is a known working solution with a test bench design that checks for
data errors. This design should complete successfully with the assertion of cal_done and no
assertions of compare_error. Assertion of cal_done signifies successful completion of
calibration while no assertions of compare_error signifies that the data is written to and
read from the memory compare with no data errors.
The cmp_err signal can be used to indicate if a single error was encountered or if multiple
errors are encountered. With each error encountered, cmp_err is asserted so that the data
can be manually inspected to help track down any issues.