R
Chapter 4: Detailed Example Design
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.
Count < 8 | Count < 512 & | |
Locked_TDClk = 0 | ||
|
| TDCLK_RST | Count = 8 | TDCLK_LCK |
| DCMReset_TDClk = 1 | DCMReset_TDClk = 0 | |
|
| ||
| DCMReset_RDClk = 0 |
| DCMReset_RDClk = 0 |
1 | Reset_n = 0 | Count = 512 | Reset_n = 0 |
|
| Locked_TDClk = 1 |
Reset_n
IDLE
DCMReset_TDClk = 0
DCMReset_RDClk = 0 Reset_n = 0
Count < 8
RDCLK_RST
DCMReset_TDClk = 0
DCMReset_RDClk = 1
Reset_n = 0
Count = 512
Count = 8
| RELEASE_RST |
|
|
| DCMReset_TDClk = 0 |
| RDCLK_LCK |
1 | DCMReset_RDClk = 0 | Count < 512 & | DCMReset_TDClk = 0 |
SnkClksRdy = 1 | Locked_RDClk = 0 | DCMReset_RDClk = 0 | |
| SrcClksRdy = 1 | ||
|
| Reset_n = 0 | |
| Reset_n = 0 |
| |
|
|
| |
| SnkClksRdy = 1 & |
|
|
| SrcClksRdy = 0 | Locked_RDClk = 1 | |
| CLKS_RDY |
SnkClksRdy = 1
SrcClksRdy = 1
SnkClksRdy = 0 or
SrcClksRdy = 0
Figure 4-4: Startup State Diagram
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.
36 | www.xilinx.com |
|
|
| UG154 March 24, 2008 |