quartusii基于宏功能模块的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章基于宏功能模块的设计
u 乘法器模块u 计数器模块
u 锁相环模块
u 存储器模块
u
其他模块内容第4章
基于宏功能模块的设计
4.1乘法器模块
Megafunction库是Altera提供的参数化模块库。从功能上看,可以把Megafunction库中的元器件分为:
u算术运算模块(arithmetic)
u逻辑门模块(gates)
u储存模块(storage)
u IO模块(I/O)
算数运算模块库
参数化乘法器lpm_mult
宏功能模块的基本参数表
lpm_mult
(1)调用lpm_mult
(2)lpm_mult参数设置
输入输出位宽设置乘法器类型设置
(3)编译仿真
8位有符号乘法器电路
功能仿真波形
4.3 计数器模块
计数器输出端口宽度和计数方向设置
计数器模和控制端口设置
更多控制端口设置
模24
方向可控计数器电路
lpm_counter 计数器功能仿真波形
参数化锁相环宏模块altpll 以输入时钟信号作为参考信号实现锁相,从而输出若干个同步倍频或者分频的片内时钟信号。与直接来自片外的时钟相比,片内时钟可以减少时钟延迟,减小片外干扰,还可改善时钟的建立时间和保持时间,是系统稳定工作的保证。不同系列的芯片对锁相环的支持程度不同,但是基本的参数设置大致相同,下面便举例说明altpll 的应用。
4.5 锁相环模块
(1)输入altpll宏功能模块
选择芯片和设置参考时钟
锁相环控制信号设置
输入时钟设置
(2)编译和仿真
锁相环电路
功能仿真波形
ROM (Read Only Memory ,只读存储器)是存储器的一种,利用FPGA 可以实现ROM 的功能,但其不是真正意义上的ROM ,因为FPGA 器件在掉电后,其内部的所有信息都会丢失,再次工作时需要重新配置。
Quartus II 提供的参数化ROM 是lpm_rom ,下面用一个乘法器的例子来说明它的使用方法,这个例子使用lpm_rom 构成一个4位×4位的无符号数乘法器,利用查表方法完成乘法功能。
4.6 存储器模块
数据线、地址线宽度设置
控制端口设置
添加.mif文件
如下图所示就是基于ROM实现的4位×4位的无符号数乘法器电路图,其参数设置为:
LPM_WIDTH=8
LPM_WIDTHAD=8
LPM_FILE=mult_rom.mif
仿真结果
4.7其他模块
Maxplus2库主要由74系列数字集成电路组成,包括时序电路宏模块和运算电路宏模块两大类,其中时序电路宏模块包括触发器、锁存器、计数器、分频器、多路复用器和移位寄存器,运算电路宏模块包括逻辑预算模块、加法器、减法器、乘法器、绝对值运算器、数值比较器、编译码器和奇偶校验器。
对于这些小规模的集成电路,在数字电路课程中有详细的介绍。他们的调入方法和Megafunction库中的宏模块是一样的,只是端口和参数无法设置。
计数器74161设计举例
模10计数器
仿真结果
模10计数器仿真波形
4.1 采用Quartus II 软件的宏功能模块lpm_counter 设计一个模为60的加法计数器,进行编译和仿真,查看仿真结果。
4.2 采用Quartus II 软件的宏功能模块lpm_rom ,用查表的方式设计一个实现两个8位无符号数加法的电路,并进行编译和仿真。
4.3 先利用LPM_ROM 设计4位×4位和8位×8位乘法器各一个,然后用Verilog 语言分别设计4位×4位和8位×8位乘法器,比较两类乘法器的运行速度和资源耗用情况。
4.4 用数字锁相环实现分频,假定输入时钟频率为10MHz ,想要得到6MHz 的时钟信号,试用altpll 宏功能模块实现该电路。习题