Xilinx UG154 Microscope & Magnifier User Manual


 
SPI-4.2 v8.5 Getting Started Guide www.xilinx.com 37
UG154 March 24, 2008
Demonstration Test Bench
R
RDCLK_RST Holds DCMReset_RDClk for 8 cycles then releases it
RDCLK_LCK Waits for the Locked_RDClk signal.
TSCLK_RST Holds DCMReset_TSClk for 12 cycles then releases it.
TSCLK_LCK Waits for the Locked_TSClk signal.
CLKS_RDY Waits for SnkClksRdy and SrcClksRdy signals.
RELEASE_RST Releases Reset_n.
Calendar Loader
The second function of the Startup module is the logic to load the calendars. The
demonstration test bench reads the Sink calendar sequence and the Source calendar
sequence from two different files and loads this information into the calendars of the Sink
and Source cores and into the Stimulus module. It also loads the calendar into the Status
Monitor so that it can identify which channel is receiving status. The calendar sequences
can be modified (see “Calendar Sequence Files (Sink and Source),” page 43).
DPA Initialization
The third function of the Startup module is to initialize the Dynamic Phase Alignment
section of the Sink core. It is present in the module only if Dynamic Alignment is selected
in the CORE Generator system. It simply asserts the PhaseAlignRequest signal to the Sink
core for two cycles of UserClk once the core is out of reset.
Once PhaseAlignRequest is asserted, the dynamic alignment algorithm needs some
time before completing its alignment and asserting PhaseAlignComplete. This value is
dependent on the frequency of
RDClk and when PhaseAlignRequest is asserted.
Stimulus Module
While the testcase and procedures modules are used to generate data and status, the
stimulus module is used to actually send this data to the SPI-4.2 core. The stimulus module
either transmits data and status generated by the testcase module, or it directly transmits
training or idle data and framing status. In addition to sending status and data, the
stimulus module drives the static configuration signals defined in the testcase module. The
behavior of the stimulus module can be modified with the constants defined in the testcase
package.
The Stimulus module also performs the following operations:
Sends training or framing if the core is out of frame
Inserts periodic training on RDat
Ensures minimum SOP spacing is met
Calculates DIP2 and DIP4 values
Drives Source core request signals
Merges SOP and EOP control words
The Stimulus module has two status inputs: SnkInFrame and SrcInFrame. If
SnkInFrame is deasserted, the stimulus module sends training patterns over
RDat until
SnkInFrame is asserted. If SrcInFrame is deasserted, the stimulus module sends
framing over TStat until SrcInFrame is asserted.