在前一节中,主要叙述了内控控制器的研究背景和内存控制器的发展现状, 在本节中,首先将介绍 FPGA 的基本概况和开发流程,然后介绍硬件描述语言 VHDL 的基本语法,最后,对于本文的核心器件 DDR3 的特性和工作过程作了 比较详细的说明。文献综述
2。1 FPGA 设计基础
2。1。1 FPGA 概述
FPGA 全称为 Field Programmable Gate Array,即中文意思称之为现场可编 程逻辑门阵列。顾名思义,这种器件的重要特征之一便是可编程逻辑器件
(Programmable Logic Device),而现场二字则体现其使用便捷的特点。这种器 件的源头是在上个世纪八十年代中期,到现在仅有三十年的历史,然而却经历了 翻天覆地的发展。这种器件产生之后,其发展经历了 PAL、GAL/EPLD、CPLD 等过程,最终衍变成现在最成熟的 FPGA 的形式[11]。在早期时,一块 FPGA 芯 片内部只有 1200 多个可以使用的逻辑单元,但是随着微电子技术的快速发展, 集成电路内部的集成度不断提高,目前 Xilinx 公司最先进的 Virtex-7 系列的FPGA 的芯片其内部的逻辑单元已经达到了 200 多万个[12],这已经能够满足绝大部分设 计者的需求。
FPGA 属于专用集成电路(ASIC)领域中的一部分,即作为半定制集成电 路的形式而出现。其之所以得到了如此好的发展,主要是因为它本身具备的诸多 优点。FPGA 即弥补了定制电路普适性差、生产成本高、设计周期长的缺点,又 兼顾了 ASIC 中可靠性强、系统集成度高的优点。因此越来越多的电子设计工程 师选择 FPGA 作为产品研究的元件[13]。目前,全球的 FPGA 产商主要包括 Xilinx、 Altera(目前已被 Intel 公司收购)、Lattice 等公司,其中 Xilinx 公司与 Altera 公 司占据了市场中超过百分之九十五的份额,因此本文也使用 Xilinx 公司的 Spartan-6 系列芯片作为 FPGA 的硬件开发平台。一块 FPGA 的芯片包含的基础
第 8 页 本科毕业设计说明书
部分主要为这三个方面:一,可编程输入输出单元(IOB);二,可配置逻辑块
(CLB);三,丰富的布局布线资源[14]。
2。1。2 FPGA 设计流程
进行 FPGA 设计开发,就是使用 FPGA 主流产商提供的开发环境软件,针 对相应的 FPGA 芯片,进行程序设计与调试。例如,主流的 FPGA 开发软件包 括 Xilinx 公司的 ISE Design Suit,Altera 公司的 Quartus II。一般的 FPGA 开发采 用自顶向下的开发过程,其具体实现包括:设计输入、综合(Synthesize)、实现来*自~优|尔^论:文+网www.youerw.com +QQ752018766*
/布线布局(Implement)、仿真(Simulation)、生成 bit 流文件、下载(download) 等[13]。具体实现过程如图 2。1 所示:
图 2。1 FPGA 开发设计流程图
(1) 设计输入
设计输入就是指根据设计需要,以一定的方式手段进行方案设计。一般的设 计输入主要是通过原理图输入和硬件描述语言文本输入的方式进行设计。原理图
输入一般只应用于一些项目较小,且逻辑简单的电路,此方法需要对各种数字芯 片的真值表和时序波形都有足够的了解,才能更精确的进行设计开发。而使用硬 件描述语言进行开发,是高级硬件工程师更常使用的方式。硬件描述语言一般是 指 Verilog 语言和 VHDL 语言。本文将使用 VHDL 语言进行程序开发,有关该语 言的介绍,将在下一小节进行。
(2)综合(Synthesis) 综合,从其字面的意思理解,就是将一个抽象的实体,转换成统一的具体