beautypg.com

Dqs clocking and circuitry, Read path write path – Achronix Speedster22i Memory PHY User Manual

Page 16

background image

16

UG043, April 26, 2014

DQS Clocking and Circuitry

The circuitry in Figure 9 below shows how the DQS signal coming from or going to
dqsn/dqsp is treated to ensure that both reads and writes can be successfully done for high
data rate DDR3 implementations.

DQSP PAD

DQSN PAD

OE

DLL

Clock

Mux

Rx_FIFO in dq_bits

dataa

datab

dqs_rx_fifo_clk

Full-rate fabric

clock from PLL

Postamble

dqs_clkout

postamble_out

ddr3_dq9_bit

wpb_preamb_en

phy_ctrli_dqa/b9

TX_Flop

DLL

(0.75T)

DLL

(0.25T)

phy_ctrli_dqsa

1'b0

Full-rate fabric clock

from PLL

Write-leveling

implementation in TX Flop

Read Path

Write Path

Figure 9: DQS Circuitry for Read and Write

For the read path, the dqs signal goes through a gate that acts to control the preamble enable
and the postamble shutoff. This control logic is provided through input signals
phy_ctrli_dqa/b9 that first traverse some logic in the ddr3_dq9_bit module. This is done to
ensure that gating logic coming in has a delay that matches the dq signal delay through a
ddr3_dq{1-8}_bit. The DLL delayed dqs_clkout signal and the preamble signal from the
ddr3_dq9_bit are used to generate the final postamble_out signal that is then fed into the gate
controlling the dqs signal coming in, ultimately creating a feedback path through a DLL
which ensures that PVT compensation is done appropriately. The section below on DLL
Specs and Operation
provides more details on the specifics of the DLL. The dqs_clkout signal
from the DLL feeds a clk mux which is then distributed to the rx_fifo modules of all of the dq
bits that this dqs signal needs to sample. The dqs signal is used as a clock for the first fifo
stage, and the second register stage in the fifo is clocked by a full-rate clock provided by a
PLL in the FPGA to ensure that data beyond this fifo is synchronized to a core clock for all
relevant byte lanes.

For the write path, the phy_ctrli_dqsa signal coming from the controller passes through a 3-
stage register in the TX_Flop module. The first stage is clocked by the full-rate fabric clock.
The second and third stages are clocked by DLL shifted and compensated versions of this
fabric clock to help provide for write-leveling functionality. The delay attributes required
here are set during calibration.