ALTERA 公司 白海龍 陳文
QDR2 RAM是一種特殊結(jié)構(gòu)的SRAM,,它的讀寫端口是分開的,,有兩套讀寫數(shù)據(jù)總線。地址是讀寫共享的,,對(duì)BURST長(zhǎng)度為2的QDR2 RAM來說,,讀地址在時(shí)鐘CK的上跳沿鎖存,寫地址在時(shí)鐘CK的下跳沿鎖存,。它的這種結(jié)構(gòu)消除了數(shù)據(jù)總線的turn-around的必要,,延遲更小。
在ALTERA的高端FPGA中,,我們可以利用一些底層IP,,如DQDQS,DLL,,PLL來實(shí)現(xiàn)一個(gè)低延遲的QDR2 RAM讀寫控制器,,因?yàn)槠浣Y(jié)構(gòu)簡(jiǎn)單,,讀延遲很小,可以滿足客戶在一些數(shù)據(jù)通信產(chǎn)品方面的需要,,比如幀包頭的存取,。
圖1 控制器的結(jié)構(gòu)圖
圖2 讀延遲為7個(gè)時(shí)鐘周期
FPGA實(shí)現(xiàn)方案
這個(gè)控制器的結(jié)構(gòu)如圖1所示,包括一個(gè)DLL,,一組DQDQS,,一個(gè)PLL,,命令地址輸出模塊,,數(shù)據(jù)輸入接收以及同步模塊。PLL產(chǎn)生內(nèi)部數(shù)據(jù)時(shí)鐘以及命令時(shí)鐘,,DLL以及DQDQS負(fù)責(zé)移相DQS,,將36位雙沿輸入數(shù)據(jù)轉(zhuǎn)成72位單沿并行數(shù)據(jù),命令地址輸出模塊產(chǎn)生讀寫地址,、讀寫命令信號(hào),,數(shù)據(jù)輸入接收以及同步模塊負(fù)責(zé)將DQDQS接收到的數(shù)據(jù)同步到內(nèi)部數(shù)據(jù)時(shí)鐘域。
這個(gè)控制器的內(nèi)部用戶接口包括21位的讀寫地址輸入,,72位的輸入數(shù)據(jù),,72位的輸出數(shù)據(jù),單bit的讀使能和寫使能控制,,以及單bit的讀數(shù)據(jù)有效信號(hào),。所有這些信號(hào)都同步到PLL的數(shù)據(jù)時(shí)鐘域上,便于用戶使用,。QDR2 RAM接口則是標(biāo)準(zhǔn)的形式,,36bit的輸出數(shù)據(jù),36bit的輸入數(shù)據(jù),,一對(duì)DQS差分對(duì),,一對(duì)輸出時(shí)鐘CK差分對(duì),讀寫控制信號(hào),。
表1 控制器消耗的FPGA資源
FPGA設(shè)計(jì)的資源和性能
這個(gè)控制器消耗的FPGA資源如表1所示(在A2GZ器件上實(shí)現(xiàn)),。
讀延遲(從讀請(qǐng)求信號(hào)qdr2_rps_en_n上跳沿到返回?cái)?shù)據(jù)有效信號(hào)clt_rd_valid上跳沿)為7個(gè)時(shí)鐘周期,如圖2所示,。
這個(gè)設(shè)計(jì)可以移植到ALTERA的所有中高端FPGA,,包括A2GX,A2GZ,,STRATIX3,,STRATIX4,STRATIX5上,,對(duì)延遲等性能沒有影響,。