您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 原理图与宏功能模块设计
第4章原理图与宏功能模块设计EDA技术与VHDL设计第4章原理图与宏功能模块设计4.1QuartusII原理图设计QuartusII的优化设置QuartusII的时序分析宏功能模块设计4.24.34.4基于QuartusII进行EDA设计开发的流程4.1QuartusII原理图设计1.为本项工程设计建立文件夹2.输入设计项目和存盘元件输入对话框3.将设计项目设置成可调用的元件将所需元件全部调入原理图编辑窗并连接好4.设计全加器顶层文件连接好的全加器原理图f_adder.bdf5.将设计项目设置成工程和时序仿真f_adder.bdf工程设置窗5.将设计项目设置成工程和时序仿真加入本工程所有文件5.将设计项目设置成工程和时序仿真全加器工程f_adder的仿真波形4.2QuartusII的优化设置1.Setting设置在QuartusII软件菜单栏中选择“Assignments”中的“Setting…”就可打开一个设置控制对话框。可以使用Setting对话框对工程、文件、参数等进行修改,还可设置编译器、仿真器、时序分析、功耗分析等等。Settings对话框2.分析与综合设置Analysis&SynthesisSettings项中包含有四个项目:VHDLInputVerilogHDLInputDefaultParametersSynthesisNetlistOptimization作为QuartusII的编译模块之一,Analysis&Synthesis包括QuarutsIIIntegratedSynthesis集成综合器,完全支持VHDL和VerilogHDL语言,并提供控制综合过程的选项。支持Verilog-1995标准(IEEE标准1364-1995)和大多数Verilog-2001标准(IEEE1364-2001),还支持VHDL1987标准(IEEE标准1076-1987)和VHDL1993标准(IEEE标准1076-1993)。3.优化布局布线Setting对话框的FitterSettings页指定控制时序驱动编译和编译速度的选择,如下图所示。FitterSettings选项页moreFitterSettings选项页在CompilationReport中查看适配结果在TimingClosureFloorplan中查看适配结果在ChipEditor中查看适配结果4.3QuartusII的时序分析全程编译前时序条件设置界面“MoreSettings…”中的设置时序分析结果4.4.1Megafunctions库4.4.2Maxplus2库4.4.3Primitives库4.4宏功能模块设计4.4.1Megafunctions库Megafunction库是Altera提供的参数化模块库。从功能上看,可以把Megafunction库中的元器件分为:算术运算模块(arithmetic)逻辑门模块(gates)储存模块(storage)IO模块(I/O)算数运算模块库下面以参数化乘法器lpm_mult为例来说明如何在设计中使用宏功能模块。lpm_mult的基本参数已在下表中给出。lpm_mult(1)调用lpm_mult(2)lpm_mult参数设置输入输出位宽设置乘法器类型设置(3)编译仿真8位有符号乘法器电路功能仿真波形8.1.2逻辑门库I/O模块库I/O模块库锁相环模块设计举例参数化锁相环宏模块altpll以输入时钟信号作为参考信号实现锁相,从而输出若干个同步倍频或者分频的片内时钟信号。与直接来自片外的时钟相比,片内时钟可以减少时钟延迟,减小片外干扰,还可改善时钟的建立时间和保持时间,是系统稳定工作的保证。不同系列的芯片对锁相环的支持程度不同,但是基本的参数设置大致相同,下面便举例说明altpll的应用。(1)输入altpll宏功能模块选择芯片和设置参考时钟锁相环控制信号设置输入时钟设置(2)编译和仿真锁相环电路功能仿真波形存储模块库存储器模块设计举例ROM(ReadOnlyMemory,只读存储器)是存储器的一种,利用FPGA可以实现ROM的功能,但其不是真正意义上的ROM,因为FPGA器件在掉电后,其内部的所有信息都会丢失,再次工作时需要重新配置。QuartusII提供的参数化ROM是lpm_rom,下面用一个乘法器的例子来说明它的使用方法,这个例子使用lpm_rom构成一个4位×4位的无符号数乘法器,利用查表方法完成乘法功能。数据线、地址线宽度设置控制端口设置添加.mif文件如下图所示就是基于ROM实现的4位×4位的无符号数乘法器电路图,其参数设置为:LPM_WIDTH=8LPM_WIDTHAD=8LPM_FILE=mult_rom.mif仿真结果4.4.2Maxplus2库Maxplus2库主要由74系列数字集成电路组成,包括时序电路宏模块和运算电路宏模块两大类,其中时序电路宏模块包括触发器、锁存器、计数器、分频器、多路复用器和移位寄存器,运算电路宏模块包括逻辑预算模块、加法器、减法器、乘法器、绝对值运算器、数值比较器、编译码器和奇偶校验器。对于这些小规模的集成电路,在数字电路课程中有详细的介绍,其调入方法与Megafunction库中的宏模块相同,只是端口和参数无法设置。计数器74161设计举例模10计数器仿真结果4.4.3Primitives库缓冲器库引脚库存储单元库逻辑门库其他模块4-1基于QuartusII软件,用D触发器设计一个2分频电路,并做波形仿真,在此基础上,设计一个4分频和8分频电路,做波形仿真。。4-2基于QuartusII软件,用7490设计一个能计时(12小时)、计分(60分)和计秒(60秒)的简单数字钟电路。设计过程如下:(1)先用QuartusII的原理图输入方式,用7490连接成包含进位输出的模60的计数器,并进行仿真,如果功能正确,则将其生成一个部件;(2)将7490连接成模12的计数器,进行仿真,如果功能正确,也将其生成一个部件;(3)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,计满12小时后系统清0重新开始计时。(4)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能,能随意调整小时、分钟信号,增加整点报时功能等。习题4-3基于QuartusII软件,用74161设计一个模99的计数器,个位和十位都采用8421BCD码的编码方式设计,分别用置0和置1两种方法实现,完成原理图设计输入、编译、仿真和下载整个过程。4-4基于QuartusII软件,用7490设计一个模71计数器,个位和十位都采用8421BCD码的编码方式设计,完成原理图设计输入、编译、仿真和下载整个过程。4-5基于QuartusII,用74283(4位二进制全加器)设计实现一个8位全加器,并进行综合和仿真,查看综合结果和仿真结果。习题4-6基于QuartusII,用74194(4位双向移位寄存器)设计一个“00011101”序列产生器电路,进行编译和仿真,查看仿真结果。4-7基于QuartusII软件,用D触发器和适当的门电路实现一个输出长度为15的m序列产生器,进行编译和仿真,查看仿真结果。习题4-8采用QuartusII软件的宏功能模块lpm_counter设计一个模60加法计数器,进行编译仿真,查看仿真结果。4-9采用QuartusII软件的宏功能模块lpm_rom,用查表的方式设计一个实现两个8位无符号数加法的电路,进行编译仿真。4-10先用lpm_rom设计4bit×4bit和8bit×8bit乘法器各一个,再用Verilog分别设计4bit×4bit和8bit×8bit乘法器,比较两类乘法器的运行速度和资源好用情况。4-11用数字锁相环实现分频,假定输入时钟频率为10MHz,要想得到6MHz的时钟信号,使用altpll宏功能模块实现该电路。习题
本文标题:原理图与宏功能模块设计
链接地址:https://www.777doc.com/doc-3724472 .html