1.1 课题背景
随着现代半导体技术的进步,处理器和缓存技术也得到了长足的发展。一个系统中集成两个甚至多个处理器已经成为可能,计算机系统的性能日益受到存储系统的制约,设计实现高效的存储控制器已成为改善系统性能的关键。计算机的基本框架仍是以冯•诺伊曼结构为基础,以中央控制单元和存储指令/数据的存储器之间的通信为支撑的。同步动态随机存储器(即SDRAM)与静态RAM相比具有容量大,成本低的优势;与传统异步DRAM相比其速度更快,所以得到了越来越广泛的应用。因此以简化主机对SDRAM访问为主要任务的SDRAM控制器的设计就变得更加重要。因此,研究设计高性能SDRAM控制器有着重要的意义。[1]
SDRAM有其快速、稳定、功耗低、支持猝发式读写等众多优良特性,是新一代高速、高容量动态存储器,与SRAM 相比,不仅容量大得多,且价格也便宜得多。目前,PCI 总线已取代 ISA 总线成为控制系统总线的主流,随之而来的是对数据访问需求量的增大,SRAM 的速度和容量已远远不能满足这些系统的需要。目前市场上虽有一些通用 SDRAM 控制器,但设置复杂,且无法针对特定的系统,因此性能不能发挥到最好,这在很大程度上抵消了使用 SDRAM 的优势。因此,我们提出基于状态机并使用可编程逻辑器件平台和硬件描述语言,针对特定的系统定制自己需要的 SDRAM 控制器,不仅可以节省系统资源,而且可以最大限度地发挥SDRAM 的作用,从而提升系统的性能。我提出了一种基于状态机的SDRAM控制器的设计思路与实现,并通过了FPGA验证,希望达到系统的功能和速度要求。
1.2 论文主要研究工作
本论文主要围绕对SDRAM的各项特性和控制器的实现上进行的。在论文准备期间,我仔细阅读了有关SDRAM的诸多文献规范。熟悉了SDRAM的内部工作原理和结构特点,学习了SDRAM内部操作流程和参数,此外,为了设计出最能够发挥SDRAM性能的控制器,我从数个设计方案中仔细筛选出最优方案,并在原有的基础上尽力优化。
在初步制定SDRAM控制器的设计方案中,将设计方案转变为代码的过程中,使用了社会上主流的硬件描述语言Verilog HDL进行编码。Verilog HDL语言和C语言在语法上相近,是相对容易初学者掌握的一门硬件编程语言。我为了能够在毕业设计中及时熟练使用Verilog HDL,在毕业设计之前就已经参考了大量有关Verilog HDL的编程指导书。其中《Verilog HDL数字系统设计》对我帮助很大,该书详尽的讲述Verilog HDL编程规则,并举出实例代码进行讲解,尤其是有关状态机编码等,为我毕业设计打下坚实的基础。[2]
在设计代码完成后,通过相关设备,将程序烧录至准备好的FPGA芯片中,通过实际操作,验证SDRAM控制器的各项指标达到要求水平。
1.3 论文章节安排
本论文一共由四章构成。
第一章为概述,主要课题背景和相关研究工作。
第二章介绍存储器的发展,各个阶段的存储器有何特点,并分析本次设计选用SDRAM的原因,并分析SDRAM的内部机构和原理。
第三章介绍状态机的设计方法与说明SDRAM控制器的设计方案。
最后结束语中对本次设计进行总的概述,并客观分析其中的优势和缺陷。
第二章 SDRAM和SDRAM控制器介绍
2.1 存储器的发展历程与相关指标
存储器是记忆设备,用来存放程序与数据。构成存储器的存储介质,主要采用半导体器件和磁性材料。一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,均可以存储一位二进制代码。这个二进制代码位是存储器中最小的存储单位,称为一个存储位或存储元。由若千存储元组成一个存储单元,然后再有许多存储单元组成一个存储器。目前几乎所有的主存储器都采用半导体芯片。按存储器的读写功能进行分类,半导体存储器可以分为只读存储器(ROM)和随机读写存储器(RAM)只能读出,不能写入,包含了不能改变的永久性数据。它的一个重要应用就是微程序设计。只读存储器具有不易失性。只读存储器存入数据的过程,称为对ROM进行编程。ROM按其性能的不同又可以分为掩模式ROM,熔炼式可编程的PROM,可用紫外线擦除、可编程的EPROM和可用电擦除、可编程的EEPROM等。RAM(RandomAcessMelnory)既能从存储器中读取数据,也能方便和快速写入数据,通过使用电信号完成读写操作。RAM具有易失性,因此只用于暂时存储数据。RAM技术分为静态(SRAM)和动态(DRAM)两类。DRAM是用电容充放电来存储数据,电容器有无电荷分别表示二进制的1或0。因为电容器有自然放电的趋势,DRAM需要周期充电、刷新来保持数据存储。[3] 在SRAM中,采用触发器中的逻辑门结构来存储二进制值。只有在提供电源的情形下,静态RAM才能保存数据。动态和静态RAM都是易失的。动态存储单元较简单,比静态存储单元小,因此DRAM比SRAM结构更紧凑,并且价格更便宜。另一方面,动态RAM需要支持刷新电路,对于较大的存储器,刷新电路的固定成本可以被动态RAM单元的较小的可变成本所补偿。所以,DRAM能够满足大容量存储。但是,SRAM一般比DRAM快。 基于状态机的SDRAM控制器设计(2):http://www.751com.cn/tongxin/lunwen_17690.html