beautypg.com

Write interface details, Figure 4: write interface 2x clock mode – Achronix Speedster22i DDR User Manual

Page 15

background image

Write Interface Details

The Speedster22i DDR controller contains a simple write interface to the DDR Driver logic..
This uses a 2X clock mode - the DDR driving logic (user RTL implemented in the FPGA

fabric) runs at half the frequency of DDR controller. The DDR controller/PHY outputs a

Clock (‘clk_div2’), which the user must use to drive write data and latch read data. For

example, a 1866Mbps data rate required the DDR controller and PHY to operate at 1066MHz,

but the 2X mode allows the internal interface to the fabric to operate at 533MHz. If 2X mode

is not used, the highest off chip data rate available is 1066Mbps.
In 2X mode, the core interface signals remain the same except for (‘ddr_int_busy’,

ddr_int_wrdata_req’, ’ddr_int_wrdata_req_early’, ‘ddr_int_rddata_valid’,

‘ddr_int_rddata_valid_early’). Instead of the above signals, users must interface with the

following signals (‘ddr_int_busy_align’, ddr_int_wrdata_req_align’,

’ddr_int_wrdata_req_early_align’, ‘ddr_int_rddata_valid_align’,

‘ddr_int_rddata_valid_early_align’).
The DDR driver logic (user RTL) provides a write request (‘ddr_int_wr_request’) along with

a corresponding address (‘ddr_int_addr’) and burst length (‘ddr_int_burst_size’).
This logic then needs to provide data (‘ddr_int_wrdata’) 2 clock cycles after a data request

(‘ddr_int_wrdata_req_early_align’) is received from the Speedster22i DDR Controller. The

logic can also use (‘ddr_int_wrdata_req_align’). The ‘ddr_int_wrdata [287:0]’ signal

represents the data to be written to the memory over four sequential DDR clock edges (72

bits at a time). The data contained in ‘ddr_int_wrdata [71:0]’ is written to the specified

column address, and that contained in ‘ddr_int_wrdata [143:72]’ is written to the specified

column address + 1. Data from ‘ddr_int_wrdata [215:144]’ will be written to specified column

address+2 and data from ‘ddr_int_wrdata [287:216]’ will be written to specified column

address+3.
The write requests are subject to the controller being busy (‘ddr_int_busy_align’).
The DDR controller supports burst length option BL8. Each burst will contain 2 local side

transfers, which is equivalent to 8 transfers to the DDR memory.

Figure 4: Write Interface 2X Clock Mode

Speedster22i

DDR

Controller

DDR Interface

Logic

(User RTL)

ddr_int_wr_request

ddr_int_busy_align

ddr_int_addr[33:0]

ddr_int_wrdata_req_align

ddr_int_wrdata[287:0]

ddr_int_burst_size[7:0]

ddr_int_writedata_mask[17:0]

ddr_int_wrdata_req_early_align

Clk_div2

UG031, Nov 18, 2014

15