基于fpga的mcu系统设计本科毕业设计(编辑修改稿)内容摘要:

可以用来检查设计的逻辑和时序,以便计算各通中性能,识别可靠的踪迹,检测建立和保持时间的配合,时序分析器不要求用户产生输入激励或测试矢量。 f) 下载验证 下载是在功能仿真与时序仿真正确的 前提下,将综合后形成的位流下载到具体的 FPGA芯片中,也叫芯片配置。 FPGA 设计有两种配置形式:直接由计算机经过专用下载电缆进行配置;由外围配置芯片进行上电时自动配置。 因 FPGA 具有掉电信息丢失的性质,因此可在验证初期使用电缆直接下载位流,如有必要再将烧录配置芯片中。 使用电缆下载 本 科 毕 业 设 计 第 10 页 共 36 页 时有多种直载方式,对 于 Altera 公司的 FPGA 可以选择 JTAG 方式或 Passive Serial 方式。 因 FPGA 大多支持 IEEE 的 JTAG 标准,所以使用芯片上的 JTAG 口是常用下载方式。 如图 为 FPGA 的设计流程图。 图 2. 4 VHDL 概述 1981 年,工作小组在美国国防部组织下正式成立,不久提出一种新的硬件描述语言,即 VHDL( VHSIC Hardware Description Language,甚高速集成电路硬件描述语言)提出这一语言的目标只是使电路文本化成为标准,目的是为了使文本描述的电路设计能够为其他人所理解,同时也可以作为一种模型语言并能够通过软件进行仿真。 如今,大多数的 EDA 工具都采用 VHDL 来作为主要的硬件描述语言,这主要源于 VHDL强大的自身功能和特点。 下面,来讨论一下 VHDL 的特点。 a) 具有强大的描述能力 VHDL 既可描述系统级电路,也可以描述门级电路;既可以采用行为描述、寄存器传输描述,也可以采用三者的混合描述方式;同时它也支持惯性延迟和传输延迟,可以方便的建立电子系统的模型。 VHDL 强大的描述功能主要来自于强大的语法结构和丰富的数据 本 科 毕 业 设 计 第 11 页 共 36 页 类型。 b) 具有共享和复用的能力 VHDL 采用给予库的设计方法。 库中可以存放大量预先设计或者以前项目设计中曾经使用过的模块,这样,设计人员在新项目设计的过程中,可以直接复用这些功能模块从而大大减少了工作量,缩短了开发周期。 由于 VHDL 是一种描述、仿真、综合、优化和布线的标准硬件描述语言,因此它可以使电子系统设计成果在各个公司、团体或者设计人员之间进行交流和共享。 c) 具有独立于器件和工艺设计的能力 VHDL 允许设计人员生成一个设计并不需要首先选择一个用来实现设计的器件;对于一个相同的设计描述,设计人员实际上可以采用不同的器件结构来实现设 计描述的功能。 同样,如果设计人员需要对设计进行资源利用和性能方面的优化,这时也不要求设计人员非常熟悉器件的内部结构。 同理,设计人员在进行设计时,往往也不会涉及到与工艺有关的信息。 当设计人员对一个设计描述进行完编译、仿真、和综合后,可以通过采用不同的映射工具将设计映射到不同的工艺上去。 d)具有良好的可移植能力 VHDL 的可移植能力体现在:对于同一个设计描述,它可以从一个仿真工具移植到另一个仿真工具进行仿真;可以从一个综合工具移植到另一个综合工具进行综合;可以从一个操作平台移植到另一个操作平台执行。 VHDL的可移植性源于它是一种标准化的硬件语言,因此同一个设计描述可以被不同的工具所支持。 2. 5 Quatus II 概述 Quartus II 是 Altera 公司推出的新一代 FPGA/CPLD 开发软件,适合于大规模复杂的逻辑电路设计。 它是 Altera 公司推出的第四代可编程逻辑器件集成开发环境。 Quartus II 为设计者提供了从设计输入到器件编程的所有功能。 Quartus II 设计软件增加了网络编辑功能,提升了调试能力,解决了潜在的设计延迟,为其他 EDA 工具提供了方便的接口。 Quartus II 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。 对第三方 EDA 工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方 EDA 工具。 本 科 毕 业 设 计 第 12 页 共 36 页 此外, Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统( SOPC)开发,集系统级设计、 嵌入式软件开发 、可编程 逻辑设计 于一体,是一种综合性的开发平台。 Quatus II 软件能使用户大幅缩短开发周期,支持绝大部分 Altera 公司的 FPGA/CPLD,有强大的整套设计及调试工具,是目前使用最广泛的 Altera 设计软件。 本 科 毕 业 设 计 第 13 页 共 36 页 3 MCU 的设计总体思路 3. 1 MCU 的总体结构设计 本次毕业设计的目的是设计一个功能十分简单的 16 位 MCU。 考虑到本次论文要设计的 MCU 系统并不是完整的单片机系统,只有简单的加减法及简单的逻辑运算,所以将设计的重点放在 MPU 的设计上,重点考虑数据通路以及控制通路。 MCU 系统的总体构架如图。 图 3. 2 MCU 的设计工具与流程 本次毕业设计是遵循自顶向下的设计方法,使用 VHDL 硬件编程语言对设计进行编程。 整个 MCU 系统的源码是在 Altera 公司的 QuartusII 集成软件开发平台完成的。 时序仿真和功能仿真是在 Modelsim 仿真工具下完成的。 首先,根据 MCU 系统的总体设计思路,用 VHDL 硬件描述语言对整个系统的所有功能 本 科 毕 业 设 计 第 14 页 共 36 页 模块进行设计,然后利用 Modelsim 仿真工具对设计的各模块进行仿真,并得到符合设计规则的仿真波形图。 3. 3 MCU 的各模块划分 本次毕业设计的 MCU 系统主要包括程序计数器模块( PC)、输入模块( MAR)、指令寄存器模块( IR)、控制器模块( CU)、累加器模块( ACC)、加减法及逻辑运算器模块( ALU)和 B 寄存器模块等。 下面将逐个详细介绍设计过程以及各模块的仿真结果。 程序计数器模块 图 如图 为程序计数器模块实现后的实体图。 它是一个十六位的计数器,计数范围从0到 15。 主要功能是记录下每一个要执行的指令地址,并且把该地址传送至 MAR寄存器存放。 程序计数器的部分主要 VHDL 语言描述如下。 if(Clk39。 event and Clk=39。 139。 )then if C5=39。 139。 then temp:=temp+1。 elsif C9=39。 139。 then temp:=In_MBR(7 downto 0)。 else null。 end if。 Out_MAR=temp。 end if。 从上面的程序中可以看出, 程序计数器的时钟触发边沿是上升沿,指令的地址可以 本 科 毕 业 设 计 第 15 页 共 36 页 由以下两种方法形成:一个是顺序执行的情况,另一个是遇到要改变顺序执行程序的情况,例如执行 JMP 指令后,需要形成新的指令地址。 下面就详细说明 PC 地址是如何建立的。 复位后,指令指针为零,即每次 MCU 重新启动将从 ROM 的零地址开始读取指令并执行。 每条指令执行完需要用两个时钟,这时计数器已被增 2,指向下一条指令。 如果正执行的指令是跳转语句,这时 MCU 状态控制器将会输出进位信号,通过 C9 口进入程序计数器。 程序计数器将装入目标地址,而不是增 2。 如图 是 Modelsim 下程序计数器的仿真波形图。 图 MAR 输入模块 图 如图 为 MAR 输入模块实现后的实体图。 这一模块分为 MAR、 MBR 两部分,一个是接受由输入部分输入到 RAM 内存的外部程序和数据,另一部分是用来在 MCU执行上述所加载的程序时,暂存下一个要执行的指令地址。 MAR 的部分主要 VHDL 语言描述如下。 begin MBR VHDL 语言描述 本 科 毕 业 设 计 第 16 页 共 36 页 begin if(Clk39。 event and Clk=39。 139。 )then if C2=39。 139。 then temp=In_Memory。 elsif C10=39。 139。 then temp=In_ACC。 else null。 end if。 end if。 end process。 MAR VHDL 语言描述 begin if Clk39。 event and Clk=39。 039。 then if In_PC=00000000 then Out_MEMORY=In_PC。 elsif C4=39。 139。 then Out_MEMORY=In_MBR(7 downto 0)。 elsif C8=39。 139。 then Out_MEMORY=In_PC。 end if。 end if。 从上面的两组程序中可以看出, MBR 的触发边沿是上升沿,当 clk=1 时 MBR开始接受输入到 RAM 的数据。 C2和 C10 控制线分别控制数据的来源,当 C2为 1时 MBR接受由RAM 传送的数据,当 C10 为 1 时, MBR 接受由累加器 ACC 传送的数据。 然后把接受的数据传送至下一级寄存器。 MAR 的触发。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。