27.02.2015 Views

Faraday ARM Common Platform - Faraday Technology Corporation

Faraday ARM Common Platform - Faraday Technology Corporation

Faraday ARM Common Platform - Faraday Technology Corporation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DDR Memory Controller<br />

<strong>Faraday</strong> / UMC FTDDRII020_S<br />

Key Features<br />

General Description<br />

• AHB 2.0 compliant <strong>Faraday</strong>’s DDRII memory controller (FTDDRII020_S) is an AMBA AHB 2.0 compliant Double<br />

• Rich DDRII RAM type support, up to 2G bytes<br />

• Use burst length of 4 to speed up the read /write<br />

cycle<br />

• Programmable refresh type (Staggered or<br />

Non-Staggered)<br />

• Support DDRII RAM address phase 1T or 2T<br />

(2T is for heavy loading)<br />

• Support two AHB buses, i.e. controller has two<br />

AHB channels<br />

• Support 1 DIMM, 2 RANKs (2 chip selects)<br />

• Support DDRII Power-down, DDRII RAM will<br />

enter self-refresh mode<br />

• Prefetch the Sequential Read Data for AHB<br />

Burst Read command<br />

• Separate memory controller into a four-stage<br />

pipeline to support high frequency clock<br />

(HCLK)<br />

• Support Post CAS (AL = 2) when tRCD >= 4T<br />

• Connect with three <strong>Faraday</strong> DDRII Hard Cores:<br />

a. DDRDATA16BIT<br />

b. DDRCMDADDR<br />

c. COMPBLK<br />

• Need 1x (266 MHz) and 2x (533 MHz) clock<br />

inputs which must be rising edge locked<br />

Data Rate RAM controller which supports rich types of DDRII RAM. The controller uses a<br />

DDRII burst length of 4 to accelerate the read / write speed. It separates the design into a<br />

four-stage pipeline to support high frequency. It can also prefetch the AHB master’s sequential<br />

read data for AHB burst read command.<br />

Functional Blocks<br />

AHB0<br />

PGTABLE<br />

slave0 slave_reg slave1<br />

FF<br />

DECODE<br />

BANK<br />

MA<br />

FF<br />

PG<br />

ARB<br />

Arbitrate Address<br />

Decode Address<br />

RANK_Address<br />

Row ,Column address<br />

AHB1<br />

RC<br />

Register<br />

Benefits<br />

• Performance improved with the use of DDR<br />

burst 4 mode<br />

FF<br />

RC<br />

PGHIT,Precharge,Active<br />

FF<br />

DDR Command<br />

COMMAND<br />

HARD CORE<br />

Version 1.0 / July 2005 1 / 5<br />

KMC_QA


FTDDRII020S<br />

http://www.faraday-tech.com<br />

Block Descriptions<br />

The DDRII memory controller separates the design into 4 stages of function block, including ARB, DECODE-BANK-MA, PG, and RC stages, ended with the<br />

CMD block. The following is a detailed description of each building block.<br />

• ARB stage<br />

This stage comprises two AHB memory slaves (slave 0 and slave 1) and one AHB register slave (slave_reg). The AHB memory slave performs the normal<br />

read and write function, while the AHB register slave allows AHB master to read/write the DDRII controller registers. This stage has read/write command<br />

queue, and read/write data queue. This stage arbitrates the read/write command queue requests, and selects the highest priority request, then pipes this<br />

request’s address to the DEC-BANK-MA stage.<br />

• DEC-BANK-MA stage<br />

This stage decodes the Address, if it is a burst read request, and generates the next Address for prefetching the next read data. If it is a write request, this<br />

stage will get the Address from the write command queue after decoding the Address, and then go to the BANK block.<br />

This BANK block will calculate the Address mapping to the chip-select (RANK), and at the same time, the Address will subtract 2 ranks from the top<br />

Address, which Address is the DDRII DIMM real Address, then goes to MA block.<br />

MA block contains an MA-table for DDRII controller to support rich types of DDRII RAM. Different types of DDRII RAM may have different column or<br />

row Addresses, so we need to generate the column, bank, row, Address for each RANK, before piping to PG stage.<br />

• PG stage<br />

The page stage contains a page table which memorizes which page of the bank is open, that is, we can open 4 rows at a time. Besides, this stage will<br />

compare the column, row Address, decide whether the Address is page miss or hit, and whether it needs active or precharge command or both. This page<br />

table will be changed by the command stage, for example, active and precharge commands. Then the needed command is piped to RC stage.<br />

• RC stage<br />

This stage will consider the RC timing, like read to read, read to write, precharge to read and so on, then generate the pre_command, which will not<br />

violate the DDRII spec. The RC counter is located in the RC register block. If RC check is passed, then the actual DDRII command is sent. This stage is<br />

the final stage before the actual DDRII command.<br />

• CMD Block<br />

This block is the actual DDRII command output block, which only outputs the RC stage’s pre_command. This stage also has a state machine to control the<br />

refresh command, with its state machine center controlling the pipeline.<br />

2 / 5 Version 1.0 / July 2005<br />

KMC_QA


http://www.faraday-tech.com<br />

FTDDRII020S<br />

Signal Connection<br />

DDRCMDADDRALL<br />

AHB0<br />

DDRDATA16BIT<br />

DDR2 Controller<br />

DDR2 RAM<br />

DDRDATA16BIT<br />

AHB1<br />

COMPBLK<br />

Signal Definition<br />

AHB interface<br />

Signal Name I/O Description (n=0 or 1)<br />

HCLK I System bus clock<br />

rst_n I Active low system reset<br />

hready_inn I System bus ready inputs<br />

reg_hsel I AHB slave select for AHB slave (reg.)<br />

hseln I AHB slave select for AHB slave n<br />

HADDRn[31:0] I AHB Address for AHB slave n<br />

hwriten I AHB write indicator for AHB slaven<br />

htransn[2:0] I AHB transfer type for AHB slaven<br />

hsizen[2:0] I AHB size indicators for AHB slaven<br />

hburstn[2:0] I AHB burst indicators for AHB slaven<br />

hwdatan[31:0] I AHB write data bus for AHB slaven<br />

hready_out_reg O Slave ready from AHB slave (reg.) to AHB0<br />

hready_outn O Slave ready from slave n to AHB n<br />

Hresp_reg[1:0] O Slave response from AHB slave (reg.) to AHB0<br />

hrespn[1:0] O Slave response from AHB slave n to AHB n<br />

hrdata_reg[31:0] O Slave read data bus from AHB slave (reg.) to AHB0<br />

hrdatan[31:0] O Slave read data bus from AHB slave n to AHB n<br />

ddr_sref_ack O Not used<br />

ddr_sref_req I Must be assigned 1’b0, not used<br />

ddr_hclkx2 I DDRII needs 1x and 2x clock inputs that are rising edge locked<br />

push_rdq O Not used<br />

Version 1.0 / July 2005 3 / 5<br />

KMC_QA


FTDDRII020S<br />

http://www.faraday-tech.com<br />

HardCore DDRCMDADDRALL [DDR RAM] interface<br />

Signal Name I/O Description<br />

ddr_csn[1:0] O Active low ddr chip-enable<br />

ddr_rasn O Active-low row Address strobe indicator<br />

ddr_casn O Active-low column Address strobe indicator<br />

ddr_wen O Active-low write enable indicator for ddr modules<br />

ddr_addr [13:0] O Address bus for ddr modules<br />

ddr_ba [2:0] O ddr bank Address bus for ddr modules<br />

ddr_dqm [3:0] O ddr data mask for ddr modules<br />

ddr_cke O ddr clock enable control signal<br />

ODT[1:0] O On Die Termination control signal<br />

ODT_en O Enable the HardCore’s On Die Termination<br />

HardCore DDRDATA16BIT interface-1<br />

Signal Name I/O Description<br />

Odtmd[1:0] O Connect to DDRDATA16BIT<br />

Dllselhb[7:2] O Connect to DDRDATA16BIT<br />

Dllsellb[13:8] O Connect to DDRDATA16BIT<br />

Wrdllsel[19:14] O Connect to DDRDATA16BIT<br />

Bypassen O Connect to DDRDATA16BIT<br />

Lbpwten O Connect to DDRDATA16BIT<br />

Dqsbypass O Connect to DDRDATA16BIT<br />

Sio O Connect to DDRDATA16BIT<br />

HardCore DDRDATA16BIT interface-2<br />

Signal Names I/O Description<br />

DQTESTO[15:0] I Connect to DDRDATA16BIT<br />

HDMDQTESTO I Connect to DDRDATA16BIT<br />

HDQSTESTO I Connect to DDRDATA16BIT<br />

LDMDQTESTO, I Connect to DDRDATA16BIT<br />

LDQSTESTO I Connect to DDRDATA16BIT<br />

FLDO_data I Connect to DDRDATA16BIT<br />

rdqodd I Connect to DDRDATA16BIT<br />

rdqeven I Connect to DDRDATA16BIT<br />

dqs_oe O Connect to DDRDATA16BIT<br />

dqoe O Connect to DDRDATA16BIT<br />

dataeven O Connect to DDRDATA16BIT<br />

dataodd O Connect to DDRDATA16BIT<br />

EVEN_DQM O Connect to DDRDATA16BIT<br />

ODD_DQM O Connect to DDRDATA16BIT<br />

clkwrptr O Connect to DDRDATA16BIT<br />

Rdcnt O Connect to DDRDATA16BIT<br />

4 / 5 Version 1.0 / July 2005<br />

KMC_QA


http://www.faraday-tech.com<br />

FTDDRII020S<br />

HardCore DDRCMDADDRALL interface-1<br />

Signal Name I/O Description<br />

WRDLLCMD[5:0] O Connect to DDRCMDADDRALL<br />

WRDLLCLK[11:6] O Connect to DDRCMDADDRALL<br />

Wten O Connect to DDRCMDADDRALL<br />

ADDRTESTO O Connect to DDRCMDADDRALL<br />

BATESTO O Connect to DDRCMDADDRALL<br />

CASTESTO O Connect to DDRCMDADDRALL<br />

CKETESTO O Connect to DDRCMDADDRALL<br />

CKTESTO0 O Connect to DDRCMDADDRALL<br />

CKTESTO1 O Connect to DDRCMDADDRALL<br />

CKTESTO2 O Connect to DDRCMDADDRALL<br />

CSTESTO O Connect to DDRCMDADDRALL<br />

FLDO_addr O Connect to DDRCMDADDRALL<br />

ODTTESTO O Connect to DDRCMDADDRALL<br />

RASTESTO O Connect to DDRCMDADDRALL<br />

WETESTO O Connect to DDRCMDADDRALL<br />

HardCore COMPBLK<br />

Signal Name I/O Description<br />

COMP_SEL O Connect to COMPBLK<br />

DOP<br />

Reserved<br />

DON<br />

Reserved<br />

DIP<br />

Reserved<br />

DIN<br />

Reserved<br />

En_COMPBLK O Connect to COMPBLK<br />

HardCore Other Connect<br />

Signal Names I/O Description<br />

TestDCInput ; O Reserved<br />

Boundary_Testen O Connect to all Hard Blocks<br />

Bscanmode O Connect to all Hard Blocks<br />

HEADQUARTERS USA OFFICE EUROPE OFFICE<br />

JAPAN OFFICE CHINA OFFICE<br />

Hsinchu, Taiwan<br />

Sunnyvale, USA Hoofddorp, Netherlands Tokyo, Japan Shanghai, P. R. China<br />

Tel: 886-3-578-7888 Tel: 1-408-522-8888 Tel: 31-2356-20496 Tel: 81-3-5214-0070 Tel: 86-21-6406-7523<br />

Fax: 886-3-578-7889 Fax: 1-408-522-8889 Fax: 31-2356-36297 Fax: 81-3-5214-0076 Fax: 86-21-6406-5327<br />

twsales@faraday-tech.com ussales@faraday-tech.com eusales@faraday-tech.com jpsales@faraday-tech.com cnsales@faraday-tech.com<br />

Copyright <strong>Faraday</strong> <strong>Technology</strong>, 2005. All Rights Reserved. <strong>Faraday</strong> and <strong>Faraday</strong> Logo are trademarks of <strong>Faraday</strong> <strong>Technology</strong> <strong>Corporation</strong>. Nothing in this document<br />

shall operate as license or is with express or implied warranty. The <strong>Faraday</strong> home page can be found at www.faraday-tech.com<br />

Version 1.0 / July 2005 5 / 5<br />

KMC_QA

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!