原创 Cyclone IV之DDR2设计

2012-9-5 22:28 3784 13 14 分类: FPGA/CPLD

如今,在FPGA系统的设计中,系统的复杂度越来越高,对内存的要求也是越来越高。通常,综合体积、容量等考虑,DDR2已成为FPGA系统的首选。这里,就针对Cyclone IV系列FPGA的DDR2设计作一小结,对于其它系列的FPGA和DDR设计类似。

根据Cyclone IV的手册,在进行DDR2设计时,FPGA的管脚分配是要有所考虑的,而不能随意分配。

 

首先,对DDR2的信号引脚做一下说明。这里以MT47H128M8(16Meg×8bit×8banks)为例说明。

它的信号线(共34根)包括:

时钟及控制线:CLK+/-,CKE,RASn,CASn,CSn,WEn

数据控制线:BA0~BA2,DQS,DQM

地址线:A0~A13

数据线:D0~D7

 

在FPGA中,为了更好的发挥出DDR的性能,其会对DDR引脚的分配做相关的约束。

这里以EP4CE75F23C8N为例,F484封装。

它在进行8位DDR2设计时,就指定了相关的DQ、DQS和DQM引脚,我们设计时应该遵从这些引脚约束。

在该FPGA的上、下、左、右区域分别都指定有这些引脚:

每个方向又都分有4个区,若是选择8位的DDR,则每个区有9个DQ引脚和相应的DQS、DQM:

(1)左:DQ0L、DQ1L、DQ2L、DQ3L,以及DQSL和DML

(2)下:DQ2B、DQ3B、DQ4B、DQ5B,以及DQSB和DMB

(3)右:DQ0R、DQ1R、DQ2R、DQ3R,以及DQSR和DMR

(4)上:DQ2T、DQ3T、DQ4T、DQ5T,以及DQST和DMT

 

比如:在DQ5B中,这9个DQ引脚为:Y10,W10,V11,AA8,AA9,AB8,U10,Y8,AB7,以及AB9(DQS)、AA7(DQM)。

 

因此,在硬件设计时,应该将这些相应的引脚(8位数据DQ和DQS、DQM)正确分配,至于这8位DQ数据的位置则可以根据布线的方便而相互对调,保证它们在同一区即可(如DQ5B区);而对于其它的DDR2引脚(地址线、控制线等),则可以根据布线的方便而随意分配,但必须保证所有DDR2的引脚都在FPGA的同一个或两个Bank(如Bank3和Bank4,因为有时一个Bank区放不了所有这些引脚),这样做的目的就是为了便于对它们进行统一的VCCIO电压的指定,以及考虑后续PCB布线的方便性,注意该Bank区的VCCIO电压必须指定为1.8V

在Quartus II中,同样也要进行正确的引脚分配,并且还要注意这些电平标准为1.8V

如果硬件设计时不按照这些约束进行相关的引脚分配,在Quartus II编译时,则可能就会报错,而导致DDR2无法正常使用。

 

以上为个人在设计中的一点心得,在此与各位分享。

 

文章评论1条评论)

登录后参与讨论

用户1682102 2015-3-11 10:58

你好,请问一下这里的电平标准是SSTL还是HSTL,或者TTL?
相关推荐阅读
asus119_412419641 2013-07-17 23:41
Allegro使用小结
1、解决Allegro在大鼠标模式下的拖影问题(尤其在Win7系统下) 大鼠标去掉拖影的设置方法:在env文件里面一句set infinite_cursor_bug_nt 注意:在pcbe...
asus119_412419641 2013-07-15 23:37
FPGA代码设计规范整理
  1、设计中的FIFO、状态机接口需要有异常恢复状态和状态上报机制,格雷码电路防止被综合电路优化掉。 a)自行设计的格雷码FIFO(一般用于连续数据流跨时钟域)用Synplify综合时,...
asus119_412419641 2013-07-15 22:03
FPGA代码设计规范整理
  1、设计中的FIFO、状态机接口需要有异常恢复状态和状态上报机制,格雷码电路防止被综合电路优化掉。 a)自行设计的格雷码FIFO(一般用于连续数据流跨时钟域)用Synplify综合时,...
asus119_412419641 2013-07-15 21:58
FPGA代码设计规范整理
  1、设计中的FIFO、状态机接口需要有异常恢复状态和状态上报机制,格雷码电路防止被综合电路优化掉。 a)自行设计的格雷码FIFO(一般用于连续数据流跨时钟域)用Synplify综合时,...
asus119_412419641 2013-06-30 23:28
Cadence Allegro导网表的错误问题解决
  在Allegro导入网表的时候,有时候会出现这样一个错误问题,如下:   ------ Oversights/Warnings/Errors ------   #1   E...
asus119_412419641 2013-04-24 17:22
[博客大赛]关于OrCAD Capture CIS导网表出现问题的解决方法
在Capture CIS中完成原理图编辑修改后,导出网表时,出现了以下错误:   #192 ERROR(ORCAP-36004): Conflicting values of part n...
我要评论
1
13
关闭 站长推荐上一条 /2 下一条