User manual

36 www.xilinx.com SPI-4.2 v8.5 Getting Started Guide
UG154 March 24, 2008
Chapter 4: Detailed Example Design
R
Startup Module
The Startup Module contains three functions: DCM setup, calendar loading, and Dynamic
Phase Alignment (DPA) Initialization. These functions are described in detail in the
following sections.
DCM Startup
The DCM Startup is a state machine that ensures that the DCMs are reset in the appropriate
order. If they are not reset appropriately, the DCMs will not lock. The Startup Module first
asserts DCMReset_TDClk. Once Locked_TDClk is asserted, it resets DCMReset_RDClk.
Then it waits for Locked_RDClk before asserting DCMReset_TSClk. After
Locked_TSClk is asserted, the state machine waits until the SnkClksRdy and
SrcClksRdy signals are asserted. The Reset_n signal is deasserted only after this occurs.
All operations are performed in the SysClk domain.
Figure 4-4 illustrates the nine states for this machine.
IDLE Initial state after reset; DCMReset_TDClk is asserted.
TDCLK_RST Holds DCMReset_TDClk for 8 cycles then releases it.
TDCLK_LCK Waits for the Locked_TDClk signal.
Figure 4-4: Startup State Diagram
IDLE
DCMReset_TDClk = 0
DCMReset_RDClk = 0
Reset_n = 0
TDCLK_RST
DCMReset_TDClk = 1
DCMReset_RDClk = 0
Reset_n = 0
RDCLK_RST
DCMReset_TDClk = 0
DCMReset_RDClk = 1
Reset_n = 0
TDCLK_LCK
DCMReset_TDClk = 0
DCMReset_RDClk = 0
Reset_n = 0
RDCLK_LCK
DCMReset_TDClk = 0
DCMReset_RDClk = 0
Reset_n = 0
Reset_n
Count < 8
Count = 8
Locked_TDClk = 1
Count = 8
Locked_RDClk = 1
1
SnkClksRdy = 1 &
SrcClksRdy = 0
Count = 512
Count = 512
Count < 8
1
Count < 512 &
Locked_TDClk = 0
Count < 512 &
Locked_RDClk = 0
CLKS_RDY
SnkClksRdy = 1
SrcClksRdy = 1
SnkClksRdy = 0 or
SrcClksRdy = 0
RELEASE_RST
DCMReset_TDClk = 0
DCMReset_RDClk = 0
SnkClksRdy = 1
SrcClksRdy = 1
Reset_n = 0