
7
ECP5 and ECP5-5G Hi
g
h-Speed I/O Interface
Interface Requirements
• The clock input must use a PCLK input so that it can be routed directly to the primary clock tree.
• The user must set the timing preferences as per section “Timing Analysis Requirement”
GDDRX1_RX.SCLK.Ali
g
ned
This a Generic 1X gearing Receive interface using SCLK. The clock is coming in edge aligned to the Data. This
interface must be used for speeds below 250
MHz
.
This DDR interface uses the following modules:
• IDDRX1F element to capture the data
• DDRDLLA/DLLDELD blocks are used to phase shift the incoming clock going to primary clock tree (SCLK)
• Static data delay element DELAYG is used to delay the incoming data enough to remove the clock injection time.
• Optionally the user can choose to use Dynamic Data delay adjustment using DELAYF element to control the
delay on the DATA dynamically. DELAYF will also allow user to override the input delay set. The type of delay
required can be selected through Clarity Designer
• DEL_MODE attribute is used with DELAYG and DELAYF element to indicate the interface type so that the cor-
rect delay value can be set in the delay element.
• Dynamic Margin adjustment in the DDRDLLA module can be optionally used to adjust the DDRDLLA delay
dynamically
The output of the DLLDELD module is also used as the clock input to the DDRDLLA which sends the delay values
to the DLLDELD module. The Receiver Synchronization (RX_SYNC) soft IP is required for the aligned interfaces to
prevent stability issues that may occur due to this loop at startup. The soft IP will prevent any updates to the DLL-
DELD at start until the DDRDLLA is locked. Once locked the DLLDELD is updated and FREEZE on the DDRDLL is
removed. This soft IP will be automatically generated by Clarity Designer.
The following figures show the static delay and dynamic delay options for this interface.
Figure 6. GDDRX1_RX.SCLK.Aligned Interface (Static Delay)
IDDRX1F
SCLK
D
Q0
Q1
RST
Datain
Q[0]
Q[1]
Clkin
A
DELAYG
Z
DLLDELD
Z
A
DDRDEL
LOADN
MOVE
DIRECTION
CFLAG
CLK
RST
UDDCNTLN
FREEZE
DDRDEL
LOCK
DDRDLLA
DCNTL[7:0]
“
0
”
“
0
”
(open)
Primary
DEL_MODE =
SCLK_ALIGNED
Ready
STOP
DLL_LOCK
FREEZE
UDDCNTLN
DLL_RESET
DDR_RESET
SYNC_CLK
RST
UPDATE
Sync_clk
Sync_reset
Update
READY
(open)
RX_SYNC
Sclk
Dcntl[7:0]