基于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 的触发。基于fpga的mcu系统设计本科毕业设计(编辑修改稿)
相关推荐
,UB,UC分别加在三相绕组上。 可以定义三个定子电压空间矢量 Ua, Ub,Uc使它们的方向始终 位 于各相绕组的轴线上,而 其幅值则随时间按正弦规律脉动,时间相位 相互 错开的角度也是 2π /3。 与电机原理中三相脉动磁动势相加后产生旋转磁动势相仿, 就 可以证明,三相定子电压空间矢量相加的合成 得 空间矢 量 uref是一个旋转的空间矢量,它的幅值不变, 其幅值 是每相电压值的 3/2倍
电源电平转换芯片 ,使用 +5v 单电源供电。 40M时钟信号 EP1C12引脚 40MHZ J3 总结 第 11 页 (共 37 页) 图 7 MAX232 芯片 引脚介绍 第一部分是电荷泵电路。 由 6 脚和 4 只电容构成。 功能是产生 +12v 和 12v 两个电源,提供给 RS232 串口电平的需要。 第二部分是数据转换通道。 由 1 1 1 14 脚构成两个数据通道。 其中 13
是稳定性好,抗干扰能力强,非常适合作为计程车的计价器系统的控制核心。 方案的确定 从以上两种方案的比较 可以看出基于 FPGA 的设计方案要优于基于单片机的设计方案基于 FPGA 的设计 方案稳定性更强且相对于单 片机的设计方案来说它更易于将来进行功能扩展。 因此 我确定采用基于 FPGA 的出租车计费器 的设计方案。 基于 FPGA 的出租车计费系统设计 14 5 出租车计费系统的设计
常工作。 程序计数器 PC 用来存放即将要执行的指令地址,它可以完成 64K 的外部存储器寻址,执行指令时, PC 内容的高 8 位经 P2 口输出,低 8 位经 P0 口输出。 数据指针 DPTR 为 16 位数据指针,它可以对 64K 的外部数据存储器和 I/O 口进行寻址,它的低 8 位为 DPL(地址 82H),高 8 位为 DPH(地址为 83H)。 堆栈指 针 SP 在片内 RAM(
显示屏在我国发展速度非常迅速,从初期的几家企业、年产值几千万元发展到几十家企业、年产值几亿元,产品应用领域涉及金融证券、体育、机场、铁路、车站、公路交通、商业广告、邮电电信等诸多领域,特别是 1993 年证券股票业的发 展更引发了 LED 显示屏市场的大幅增长。 LED 显示屏在平板显示领域的主流产品局面基本形成 , LED 显示屏产业成为新兴的高科技产业。 ( c) 1995 年以来, LED
指定阶数)和 Minimum order(最小阶数)。 在 Specify order 中填入所要设计的滤波器的阶数( n阶滤波器, specify order= n1),如果选择 Minimum order则 matlab 根据所选择的滤波器类型自动使用最小阶数。 本次作业要求设计 16阶滤波器,所以选定 Specify order 并填入 15。 Frenquency