logo资料库

基于verilog语言实现的SDRAM控制器设计(含源代码).doc

第1页 / 共66页
第2页 / 共66页
第3页 / 共66页
第4页 / 共66页
第5页 / 共66页
第6页 / 共66页
第7页 / 共66页
第8页 / 共66页
资料共66页,剩余部分请下载后查看
第1章绪 论
1.1 课题背景
1.2 课题研究的目的及意义
1.3 同步动态随机存储器简介
1.4 论文的结构和框架
第2章SDRAM的工作原理
2.1 存储器的概述
2.1.1 存储器的分类
2.1.2 存储器的技术指标
2.1.3 存储器的比较
2.2 SDRAM的工作原理
2.2.1 SDRAM存储的基本原理
2.2.2 SDRAM的内部结构
2.3本章小结
第3章 SDRAM的基本操作
3.1 SDRAM的基本操作
3.1.1 芯片初始化
3.1.2 行有效
3.1.3 列读写
3.1.4 读操作
3.1.5 写操作
3.2 SDRAM的工作特性
3.2.1 模式寄存器的设置
3.2.2 预充电
3.2.3 刷新
3.3 SDRAM接口设计的要求
3.3.1 存储器接口解决数据存取的难点
3.3.2 存储器接口在工作方式上的初步优化
3.4 本章小结
第4章系统结构及硬件设计
4.1SDRAM接口设计的整体结构
4.1.1 控制接口模块
4.1.2CAS延迟模块
4.1.3 突发长度模块
4.1.4 地址转换模块
4.2 EPM570芯片简介
4.2.1 MAXⅡ系列芯片功能简介
4.2.2 逻辑阵列
4.2.3 全局时钟
4.2.4 I/O端口结构
4.3 MT48LC系列芯片简介
4.4本章小结
第5章软件设计与实现
5.1 利用QuartusⅡ进行设计的流程
5.2 软件的设计
5.2.1 Verilog语言的特点
5.2.2 采用Verilog设计综合的过程
5.2.3 SDRAM接口设计的仿真
5.3 本章小结
结 论
致 谢
参考文献
附 录A
附 录B
附 录C
基于 FPGA 的 SDRAM 存储器接口实现 摘 要 随着信息科学的飞速发展,人们面临的信号处理任务越来越繁重,对 数据采集处理系统的要求也越来越高。单片机、DSP 等微处理器内部 RAM 有限,这就需要在微处理器的外部扩展存储器。同步动态随机访问存储器 具有价格低廉、密度高、数据读写速度快的优点,从而成为数据缓存的首 选存储介质,在数据采集系统和图像处理系统等方面中有着重要和广泛的 应用。 SDRAM 的读写逻辑复杂,最高时钟频率达 100MHz 以上,普通单片 机无法实现复杂的 SDRAM 控制操作。复杂可编程逻辑器件 CPLD 具有编 程方便,集成度高,速度快,价格低等优点。因此选用 CPLD 设计 SDRAM 接口控制模块, 简化主机对 SDRAM 的读写控制。通过设计基于 CPLD 的 SDRAM 控制器接口,可以在 STM 系列、ARM 系列、STC 系列等单片机 和 DSP 等微处理器的外部连接 SDRAM,增加系统的存储空间。 论文开始介绍了 SDRAM 接口设计研究的背景和研究的目的及意义, 引出对 SDRAM 的研究,详细介绍了 SDRAM 的基本原理、内部结构、基 本操作和工作时序,以及设计的重点及难点。在这些理论基础上对 SDRAM 接口进行模块化设计,了解设计中所使用的硬件和软件。最后用 Verilog 语 言在软件 QuartusⅡ设计 CPLD 芯片,通过在硬件和软件上的调试基本实现 了 SDRAM 接口的设计。 关键词 SDRAM;接口;Verilog;CPLD - I -
The Implementation of SDRAM Memory Interface Based on the EPM570 Abstract With the rapid development of information science, people face more and more onerous task of signal processing, the requirements of data acquisition and processing system are getting higher and higher. Microprocessor such as single-chip microprocessor, DSP etc, their RAM is limited, which requires external expansion in the microprocessor memory. Synchronous Dynamic Random Access Memory has a low cost, high density, fast read and write data on the merits, thereby becoming the first choice for data cache storage medium, which paly an important role and widely used in the data acquisition system and image processing systems. SDRAM read and write logic is complex, the maximum clock frequency reaches above 100MHz, the ordinary microcontroller can not achieve complex SDRAM control operation. Complex programmable logic device has advantages such as programming convenience, high integrity, high speed and low cost etc. Therefore select CPLD to design control module of SDRAM interface , to simplify the host to read and write control of the SDRAM. Through the design of SDRAM controller interface based on CPLD, you can connect SDRAM in the external of STM series, ARM series, STC series single chip microprocessor and the DSP, increase system storage space. At the beginning of paper introduces the research background, research purpose and significance of the study of SDRAM interface design, leads to the study of SDRAM, detailed introduces information of SDRAM about the basic principles, the internal structure, the basic operation and timing of work, and the design emphasis and difficulty. Based on these theories, modularing the design - II -
of SDRAM interface, understanding hardware and software used in the design. Finally, it uses Verilog language in Quartus Ⅱ software to design CPLD chip, Through the hardware and the software realization SDRAM the commissioning of the basic design of the interface. Keywords SDRAM; Interface; Verilog; CPLD - III -
目录 摘要.......................................................................................................................I Abstract...............................................................................................................II 第 1 章 绪 论......................................................................................................1 1.1 课题背景...................................................................................................1 1.2 课题研究的目的及意义...........................................................................1 1.3 同步动态随机存储器简介.......................................................................2 1.4 论文的结构和框架...................................................................................3 第 2 章 SDRAM 的工作原理............................................................................ 4 2.1 存储器的概述...........................................................................................4 2.1.1 存储器的分类....................................................................................4 2.1.2 存储器的技术指标............................................................................5 2.1.3 存储器的比较....................................................................................5 2.2 SDRAM 的工作原理................................................................................ 6 2.2.1 SDRAM 存储的基本原理................................................................. 6 2.2.2 SDRAM 的内部结构......................................................................... 7 2.3 本章小结...................................................................................................8 第 3 章 SDRAM 的基本操作............................................................................ 9 3.1 SDRAM 的基本操作................................................................................ 9 3.1.1 芯片初始化........................................................................................9 3.1.2 行有效................................................................................................9 3.1.3 列读写..............................................................................................10 3.1.4 读操作..............................................................................................11 3.1.5 写操作..............................................................................................12 3.2 SDRAM 的工作特性.............................................................................. 13 3.2.1 模式寄存器的设置..........................................................................13 3.2.2 预充电..............................................................................................14 3.2.3 刷新..................................................................................................15 3.3 SDRAM 接口设计的要求...................................................................... 16 3.3.1 存储器接口解决数据存取的难点..................................................17 3.3.2 存储器接口在工作方式上的初步优化..........................................17 3.4 本章小结.................................................................................................18 第 4 章 系统结构及硬件设计..........................................................................19 4.1 SDRAM 接口设计的整体结构.............................................................. 19 - IV -
4.1.1 控制接口模块..................................................................................19 4.1.2 CAS 延迟模块..................................................................................20 4.1.3 突发长度模块..................................................................................22 4.1.4 地址转换模块..................................................................................22 4.2 EPM570 芯片简介.................................................................................. 23 4.2.1 MAXⅡ系列芯片功能简介............................................................. 24 4.2.2 逻辑阵列..........................................................................................25 4.2.3 全局时钟..........................................................................................25 4.2.4 I/O 端口结构.................................................................................... 26 4.3 MT48LC 系列芯片简介..........................................................................26 4.4 本章小结.................................................................................................28 第 5 章 软件设计与实现..................................................................................30 5.1 利用 QuartusⅡ进行设计的流程...........................................................30 5.2 软件的设计.............................................................................................31 5.2.1 Verilog 语言的特点..........................................................................31 5.2.2 采用 Verilog 设计综合的过程........................................................32 5.2.3 SDRAM 接口设计的仿真............................................................... 34 5.3 本章小结.................................................................................................36 结 论..................................................................................................................37 致 谢..................................................................................................................38 参考文献............................................................................................................39 附 录 A..............................................................................................................41 附 录 B..............................................................................................................46 附 录 C..............................................................................................................51 - V -
第 1 章 绪 论 1.1 课题背景 数据采集处理技术是现代信号处理的基础,广泛应用于雷达、声纳、 软件无线电、瞬态信号测试等领域。随着信息科学的飞速发展,人们面临 的信号处理任务越来越繁重,对数据采集处理系统的要求也越来越高[1]。近 年来复杂可编程逻辑器件(CPLD,Complex Programable Logic Device)由于 其设计灵活性、更强的适应性及可重构性,结合同步动态随机访问存储器 (SDRAM,Synchronous Dynamic Random Access Memory)的高速、大容量、 价格优势,在设计高速实时数据采集系统时受到了广泛的关注。SDRAM(同 步动态随机访问存储器)具有价格低廉、密度高、数据读写速度快的优点, 从而成为数据缓存的首选存储介质。 SDRAM 的读写逻辑复杂,最高时钟频率达 100MHz 以上,普通单片 机无法实现复杂的 SDRAM 控制操作。复杂可编程逻辑器件(CPLD )具有编 程方便,集成度高,速度快,价格低等优点,因此选用 CPLD 设计 SDRAM 接口控制模块, 简化主机对 SDRAM 的读写控制。通过设计基于 CPLD 的 SDRAM 控 制 器 接 口 可 以 在 微 处 理 器 如 单 片 机 、 DSP(Digital Singnal Processor,数字信号处理)外部连接 SDRAM,增加系统的存储空间。 为了更好地把握 SDRAM 在数据采集系统中的应用,本章将简要介绍 SDRAM 的基本情况,说明论文的研究目的及意义。 1.2 课题研究的目的及意义 随着内存 SDRAM 技术广泛的应用,如何更好的控制片外 SDRAM 的 读写,使之达到最大的带宽利用率,如何尽可能的相对降低读写数据的延 迟,隐藏读写命令发送到接收数据之间的延迟,已经成了各大芯片厂商, 各大 FPGA/CPLD 供应商的争相研究的热点。 由于 SDRAM 最高频率达到 100MHz 以上,在如此的高频下在时钟上 下边沿稳定读写数据也成了最大的难题之一。设计 SDRAM 存储器接口不 仅要非常了解 SDRAM 工作特性,时序要求而且整个过程覆盖前端设计, 前端验证,综合,Timing 分析,布局布线及 CPLD 调试,是一个很有挑战 性的研究方向,也很有现实意义。在设计优化的同时既要考虑不同频率的 兼容性,又要考虑不同类型存储器的兼容性,还需考虑板上走线,对个人 能力来说是一个很好的锻炼。此次将 SDRAM 存储器接口的设计作为毕业 论文,不仅是对四年来所学知识的归纳与总结,更是对自己的肯定,通过 这次设计让我对 IC 领域有了真切的体会,在项目中锻炼提高自己,在实践 - 2 -
中使理论更好的得到应用。 1.3 同步动态随机存储器简介 同步动态随机存储器英文全称为 Synchronous Dynamic Random Access Memory,简称 SDRAM(下文提到时都用 SDRAM 表示)。SDRAM 器件的管 脚分为控制信号、地址和数据三类。SDRAM 具有多种工作模式,内部操作 是一个非常复杂的状态机。SDRAM 的管脚分为以下几类: 1.控制信号:包括片选、时钟、时钟有效、行/列地址选择、读写选择、 数据有效; 2.地址信号:时分复用管脚,根据行/列地址选择管脚控制输入地址为 行地址或列地址; 3.数据信号:双向管脚,受数据有效控制。 根据控制信号和地址输入,SDRAM 包括多种输入命令:模式寄存器设 置命令;激活命令;预充命令;写命令;读命令;自动刷新命令;自我刷 新命令;突发停止命令;空操作命令。 根据输入命令,SDRAM 状态在内部状态间转移。内部状态包括:模式 寄存器设置状态;激活状态;预充状态;写状态;读状态;自动刷新状态; 自我刷新状态;节电状态。 通常一个 SDRAM 中包含几个 Bank,每个 Bank 的存储单元是按行和 列寻址的。由于这种特殊的存储结构,SDRAM 有以下几个工作特性[2]: 1.SDRAM 的初始化 SDRAM 在上电 100~200μs 后,必须由一个初始化进程来配置 SDRAM 的模式寄存器,模式寄存器的值决定着 SDRAM 的工作模式。 2.访问存储单元 为减少 I/O 引脚数量,SDRAM 复用地址线,所以在读写 SDRAM 时, 先由 Active 命令激活要读写的 Bank,并锁存行地址,然后在读写指令有效 时锁存列地址。一旦 Bank 被激活后只有执行一次预充命令后才能再次激活 同一 Bank。 3.刷新和预充电 SDRAM 的存储单元可以理解为一个电容,总是倾向于放电,因此必须 有定时的刷新周期以避免数据丢失。刷新周期可由(最小刷新周期÷时钟周 期)计算获得。对 Bank 预充电或者关闭已激活的 Bank,可预充特定 Bank 也可同时作用于所有 Bank,A10、BA0 和 BA1 用于选择 Bank。 4.操作控制 SDRAM 的具体控制命令由一些专用控制引脚和地址线辅助完成。CS、 RAS、CAS 和 WE 在时钟上升沿的状态决定具体操作动作,地址线和 Bank 选择控制线在部分操作动作中作为辅助参数输入。 - 3 -
1.4 论文的结构和框架 以数据采集系统中数据的存储为背景,开展了对其中 SDRAM 接口的 研究,重点放在产生控制 SDRAM 操作的各种操作时序上。 下面对每一章的主要内容作一个概括。 绪论对课题的研究背景及研究目的及意义做出简介,并指出论文中待 解决的问题和难点。 在 SDRAM 的工作原理一章中通过对比存储器引出 SDRAM 存储器接 口的设计,介绍了 SDRAM 的基本原理,以及 SDRAM 的相关理论,根据 SDRAM 工作原理和内部结构,选择出适合的实施方案。 之后在 SDRAM 基本操作一章中从理论上详细分析了 SDRAM 的基本 操作时序和 SDRAM 的工作特性,从分析中得出 SDRAM 接口设计存在的 难点,为以后的工作指明了研究的方向,为方案的实施提供必要的理论依 据。 接下来在系统结构及硬件设计一章中针对 SDRAM 接口的硬件设计作 了详细介绍,在前三章的理论分析基础上把 SDRAM 接口设计模块化,用 Verilog 语言编写程序来实现各个模块所实现的功能,介绍了实现 SDRAM 接口的 MAXⅡ系列的 CPLD 芯片和 MT48LC 系列的 SDRAM 芯片的基本 资料,为第五章在软件上实现 SDRAM 接口做好硬件准备。 软件设计与实现主要利用 QuartusⅡ软件开发平台对 CPLD 芯片进行编 程,初步实现了 SDRAM 存储器接口的设计,并在实验室条件下对设计进 行了仿真。这一章也是文章的重点。 - 4 -
分享到:
收藏