1、毕业设计学生姓名:洪雷学号: 09xxxxxxxx 专业:电子科学与技术题目:基于FPGA的DDR2存储器控制器设计指导教师: 安国臣(讲师评阅教师:武瑞红(副教授2013年6月毕业设计中文摘要随着消费电类电子产品以及便携式通讯产品向多功能、高性能和低功耗方向的飞快发展,而随之带来的是对大量的数据处理,而产品的系统对其主要的存储设备的要求也越来越高。目前,DDR2 凭着其及其高的数据传输速率和低廉的成本则越来越多的被用到一些高档类的消费类电子和便携式产品中。对DDR2 SDRAM的控制器处理的设计变得也就非常有必要。使用FPGA技术设计数字电路,不仅可以简化设计过程,而且还可以减低整个系统的体
2、积和成本,增加系统的可靠性。本次设计则使用Altear公司的Cyclone V 代器件,经行开发的最小系统。本次设计使用的是Mircon公司的MT47系列的芯片,借助Altera 公司提供的IP 核所自动生成PHY 接口。由于 DDR2的读写驱动的要求,多次设计了电压的要求。本文对DDR2 SDRAM基本结构和原理进 行了简单的介绍。并且 阐 述基于FIFO和PHY接口的DDR2设计方法。关键词DDR2 FPGA 存储 器控制器 FIFO毕业设计外文摘要Title DDR2 Memory Controller Design based on FPGAAbstractAs consumer el
3、ectric class electronic products and portable communication products to multi-functional, high performance and low power consumption direction of rapid development, and then brings about a lot of data processing, the product of the system to the main storage device requirements more and more higher.
4、 At present, the DDR2 with its and high data transfer rate and low cost are more and more used in some high-end consumer electronics and portable products. Processing of DDR2 SDRAM controller design becomes and is very necessary.Digital circuit design using FPGA technology, not only can simplify the
5、 design process, but also can reduce the size and cost of the whole system, increase the reliability of the system. This design USES Altear company Cyclone V generation device, the smallest system development. This design USES the Mircon MT47 series chips, and IP core provided by Altera corporation
6、how can automatically generate the PHY interface. Driven requirements due to DDR2, speaking, reading and writing, and design the voltage requirements for many times.in this paper, the basic structure and principle of DDR2 SDRAM has carried on the simple introduction. And in this paper, the DDR2 desi
7、gn method based on FIFO and PHY interfaceKey Words DDR2 FPGA memory controlle FIFO目录1 绪论 (12 动态随机存储器 (32.1 同步动态随机存储器原理与结构 (32.2 双倍动态随机存储器原理与特点 (32.3 DDR2随机存储器的简介 (43 可编程逻辑器件原理 (73.1 FPGA原理 (73.2 FPGA结构 (73.3 FPGA器件开发的优点 (94 外围电路设计 (114.1芯片的选择和介绍 (114.2 FPGA电源设计 (154.3 FPGA时钟和复位设计 (164.4 FPGA的配置设计 (1
8、75 软件设计与仿真 (185.1 FPGA的设计开发流程 (185.2 系统设计软件介绍 (195.3 VHDL语言的介绍 (195.4 系统设计 (20结论 (29致谢 (30参考文献 (311 绪论随着大规模、甚大规模的集成电路的设计技术的飞速发展,科技的日益更新,跟随而来的是各种的芯片的弄能不段的变复杂,而同时,数字产品例如掌上电脑、网络设备、音 频设备、高清电视等,对高性能的内存的需求也越来越高。 为了满足这一要求, JEDEC(电 子设备工程联合委员会发布了JESD79-2B规范,即DDR2 SDRAM标准,使得处理大数据和快速存取数据得到了可能,尤其是在今天,所需的数据处理更加复
9、杂的情况下,以其低的功耗,高的速率,成熟的工艺,使得其得到了广泛的应用。随着对DDR2控制器一直不断的研究,DDR2控制器的性能也在逐步的提升,DDR2控制器的数据宽带增加,可以在一个时钟周期内传输64bits数据; 支持的DDR2存储器的内存容量大量增加,从512Mb到1Gb甚至更大;DDR2 器件的时钟频率不断的提高,其传输速率不断变快,所要求的的DDR2控制器的时钟速度也越来越高。由于FBGA的封装形式具有更好的电气性能和散热性能,DDR2采用这种形式来最大可能的减小了寄生阻抗,使得工作的频率变超过DDR变得更高。DDR2采用1.8V电压,石凳功耗大大的降低。同时,数字时序电路的设计也越
10、来越复杂,所有需的芯片的资源和板级资源也越来越大,而FPGA却具有大量的时序逻辑资源,其可编程性使得数字电路设计可根据自己的需要来以硬件描述语言经行系统的逻辑设计,而且可以在设计的过程中经行时序要求的修改来达到满足设计的要求。FPGA 芯片的的时序频率高,适合快速处理器器件的开发。FPGA器件具有高的可靠性,而且功耗 还很低。使用 FPGA器件开发使得开发变的简单,尤其是对要反复经行开发的设计,可以很大程度上,降低开发的成本。随之软件系统集成读越来越高,产生了针对硬件开发的语言,其使得硬件开发变得简易,而且使得硬件电路的设计可以从软件的方式上经行开发设计,从而节省了开发着的时间,缩短了开发的流
11、程,并且和可编程器件结合使得在同样的资源的情况下,进行可重复的设计变成了可能。最常用的硬件描述语言用VHDL和Verilog,本次设计是借助VHDL 语言进行的软件设计。本次设计的主要章节安排如下1:绪论部分,讲述本次设计的背景和章节的安排2:动态随机存储器部分,讲述本次设计中动态随机存 储器发张及其原理结构和功能。3:可编程逻辑器件的原理部分,讲述本次设计中的FPGA器件的原理、内部结构和使用这个器件开发的优势。4:本次设计的外围电路的设计部分,讲述本次设计中所采用的芯片、工作原理及硬件电路的原理图5:本次设计的系统设计部分,主要是软件开发部分,讲 述了本次开发所用到的开发工具和具体的设计步
12、骤。2 动态随机存储器由于现在所需要处理的数据量越要越大,虽然电路的响应时间也越来越快,但是,依旧满足不了所需要处理的数据的量,因此需要将信号经行锁存,而DDR技术发展已经成熟,因此,本次设计借助于DDR2经行设计。2.1 同步动态随机存储器原理与结构同步动态随机存储器,也就是我们所说的SDRAM(Synchronous Dynamic Random Access Memory,同步是指 Memory工作需要的同步 时钟 ,内部命令的发送与数据 传输都要以它为基准;动态是指存储阵列需要不断刷新来保证数据不丢失;随机指的是数据不是 线性依次存储,而是由指定地址的进行数据的读写。SDRAM又称为D
13、RARM,因为它需要不断的刷新(Refresh才能保留住原来的数据。 SDRAM是多 Bank结构, 例如在一个有两个Bank的 SDRAM的模组中,其中一个Bank 在进行预充电同时,另一个Bank却马上可以被读取 ,这样当进行了一次读取后,又马上去读取已经预充电Bank的数据时,就不需等待而是可以直接 读取了,大大提高了存储器的访问速度。SDRAM具有多种的工作模式,其内部操作是一个非常复杂的有限状态机。从大体上讲SDRAM的引脚主要分 为以下三种功能:1、信号的控制:包括片选引脚、时钟使能引脚、时钟引脚、行列地址选择引脚、读写有效以及数据有效。2、要输入的地址引脚:其是 时分复用引脚,为
14、存储器的行或者列地址的信号。3、数据信号:为双向I/O引脚 ,受数据有效位控制。2.2 双倍动态随机存储器原理与特点双倍速率同步动态随机存储器,也就是人们所说的DDR(Double Data Rate。严格的将DDR应该叫做DDR SDRAM,人们习惯称为DDR 。DDR技术是在SDRAM技术的基础上发展而来的,其基本结构任然为SDRAM。SDRAM仅能在一个时钟周期内传送一次数据,它是在时钟的有效的上升沿期间进行数据传输;而DDR内存则是在一个时钟周期内 进行两次的数据传输,它能够在时钟的上升沿和下降沿各进行一次的数据传输,因此又被人们称之为双倍速率同步动态随机存储器,即DDR。在相同的时钟
15、的频率下DDR的存取速度远远的超出了SDRAM.在与SDRAM相比,DDR其内部的 电路设计更为先进,使地址的指定、数据的输入和输出的主要步骤既能够独立的执行,又可以保持与CPU的时钟的完全同步。DDR本质上是不需要提高时钟频率就能加倍提高SDRAM的传输速度,它在时钟脉冲的上升沿和下降沿来读入或者读出数据,因此其数据存取速度比标准SDRAM的存取速度快一倍。2.3 DDR2随机存储器的简介DDR2/DDR II(Double Data Rate 2SDRAM是由JEDEC( 电子 设备工程联合委员会进行开发的新生代内存技术标准,它与第一代的DDR内存技术标准的最大不同就是,虽然同样采用了上升
16、沿和下降沿同时传输数据,但DDR2却拥有者第一代DDR的2倍的预存取功能。DDR2引入了三项新的技术,它们是OCD、 ODT和PostCAS。OCD(Off-Chip Driver:即离线驱动调整,DDR 可以通过OCD来提高系统信号的完整性。通过调整其上拉/下拉的电阻值使两者电压保持相等。通过使用OCD 技术,减少DQ-DQS的倾斜度从而提高系统信号的完整性;通过控制电压提高信号的品质。ODT:即片内终结电阻。实际上,不同的内存模组要求的终结电路不一样,而终结电阻的大小决定了数据线的信号比和反射率,终结电阻小的则数据线信号的反射低,但是信噪比也比较低;而终结电阻高的,则数据线的信噪比较高 ,
17、但是信号的反射也会大大增加。DDR2能 够设计并且借助内建电阻来自动调节,保证得到最佳的信号。Post CAS:是为了提高DDR2的有效利用率来设定的。在Post CAS操作中,CAS信号能够被插入到RAS信号的后面的一个 时钟周期上,CAS的命令也可以在附加延迟AL (Additive Latency后面仍保持着有效。则原来的tRCD(RAS 到 CAS的时间延迟会被AL所取代,AL可以被 设置为0至4之间的整数。 CAS的信号是放在了RAS信号后面额一个时钟周期上,所以ACT信号和CAS 信号永不会产生交集而发生碰撞。但由于是采用双通道运行的,所运行的速度理论上是DDR的2倍。由于对 DD
18、R2 SDRAM的访问方式是基于突 发模式的; 进行读写时,要事先选定一个起始的地址,并且能够按照事先编程设定的突发字节长度(4或8和突发的顺序来依次的进行读或者写的访问.访问操作的开始于一个激活命令, 后面紧跟就是读数据命令或者写数据的命令。同激活命令同时到达的地址位包含着所要存取的bank 和行.而与 读命令或者写命令同步达到的地址位还包含了突发存取起始的列地址,还决定着是否发布自动预充电命令。本次设计所采用的是Micron公司的芯片,其内部原理图结构如图2-1,其各个引脚功能在第四章讲述。图2-2为读数据的命令时序,图2-3为写命令的时序。图2-1 Micron DDR2内部结 构原理图
19、。突发读命令时序图2-2 突 发读操作突发写操作时序图2-3 突 发写操作3 可编程逻辑器件原理在数字电路中,由于对于时序的要求而来回反复的进行设计,因此而诞生了基于可编程的逻辑器件,从而能够快速的进行时序电路设计,而本次设计借助于基于LUT的FPGA可编程器件来进行 设计。3.1 FPGA原理FPGA即现场可编程门阵列,采用了逻辑单元阵列LCA(Logic Cell Array的 这样一个概念,其内部包括可配置 逻辑模块 CLB(Configurable Logic Block、输出输 入模块IOB(Input Output Block和内部连线(Interconnect三个部分。FPGA
20、借助于小型查找表(161RAM来实现组合逻辑,而每个查找表后面连接到一个D触发器输 入端,由触发器驱动其他逻辑电路或者I/O, 因此即能实现逻辑功能也能实现时序功能,通过金属连线进行互相连接或者连接到I/O 模 块。 FPGA的 逻辑功能的实现是通过 向内部静态存储单元加载编程数据来完成的,存储在存储单元的值决定了逻辑功能和连线,并最终决定了FPGA所能完成的功能,从理论上FPGA 允许无限次的编程。3.2 FPGA结构FPGA是基于查找表技术的,但已经整合了常用的基本功能(如RAM、时钟管理和DSP的硬核(ASIC型模块 。如图3-1所示,FPGA芯片主要由7 部分完成,分别为: 可编程输入
21、输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布 线资 源、内嵌的底层功能单元。图3-1 FPGA 芯片的内部 结构示意图每个模块的功能如下:1.可编程输入输出模块(IOB可编程输入/输出单元简称I/O单元,是芯片与外界电 路的完成电气连接的接口部分,FPGA内部的I/O是按组 分类,每一组都能够支持独立的I/O标准。可以使用软件的灵活配置,来达到所需要的电气特性。I/O口的频率非常高,对信号的处理非常快。为了更好的管理和达到多的电气要求,FPGA的IOB被划分成了若干个组(bank,每个bank的接口的 电气标 准由其接口电压的VCCO 决定,一个bank 仅允许一种V
22、CCO,但不同bank的 VCCO可以是不同的。2.可配置逻辑块(CLBCLB是 FPGA内部的基本逻辑阵列单元。CLB的实际数量和特性根据所采用的器件的不同而各有不同,但每个CLB都包含着一个可配置的开关矩阵,此矩阵是由4或6个输入、一些多路选择器和触发器组成。3.数字时钟管理模块(DCM大多数FPGA均给提供数字时钟管理。4.嵌入式块RAM(BRAM大多数FPGA都都给内嵌的RAM 块,使得FPGA 的使用范围和灵活度同时也大大的提高。单片RAM 块的容量 为18kbits,即位宽为18bits 、深度 为1024,也可以根据需要改变位宽和深度,但要满足两个原则:(1位宽 深度不能大于18
23、kbits;(2位宽 最大不能超过36bits。可以讲ram块进行级联,来达到更大ram 块,此时则不在首以上两点的限制。5.丰富的布线资源布线资源是FPGA内部各个单元的进行连接资源,其连线的跨度和工艺决定着电路中的信号在连线上驱动的能力和传输的速度。在设计中,布局布线器可以自动地选择布线资源来使得各个模块经行连接。6.底层内嵌功能单元内嵌功能模块主要指的是DLL(Delay Locked Loop、PLL(Phase Locked Loop、DSP和 CPU等软处理核(SoftCore。FPGA是由存放在片内RAM中的程序来设置其工作状 态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式 ,采用不同的 编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA的编程无 须专用的FPGA 编程器,只须用通用的 EPROM、PROM编程器即可。当需要修改FPGA功能时, 只需换一片EPROM 即可。 这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。3.3 FPGA器件开发的优点