EDA技术与应用第6章 宏功能模块设计
第6章 宏模块和LPM函数的应用(CPU)
第6章 宏模块和LPM函数的应用
固核(Firm Core)
固核比软核有更大的设计深度,己完成了门级综合、时序 仿真并经过硬件验证,以门级网表的形式提交使用。 只要用户提供相同的单元库时序参数,一般就可以正确完 成物理设计。
固核的缺点是它与实现工艺的相关性和网表的难读性。前 者限制了固核的使用范围,后者则使得布局布线后发生的 时序问题难以排除。
LPM模块的使用
FPGA-CPLD原理及应用
第6章 宏模块和LPM函数的应用
知识要点
LPM功能模块 LPM: library of Parameterized Modules
参数化的模块库,其模块使用参数和端口信号进 行描述,通过设置参数和端口信号,可以实现不 同的功能。其模块可称之为参数化模块或者LPM模 块或者LPM宏功能块。
(3) 使用端口和参数定义生成宏功能模块
计数器 乘法器 RAM 加法/减法器 乘-累加器和乘-加法器 移位寄存器
FPGA-CPLD原理及应用
第6章 宏模块和LPM函数的应用
6.2 LPM模块应用实例
使用LPM_COUNTER模块实现数控分频器 各端口信号的意义和设置 参数的设置 分频比
软核为后续设计留有比较大的空间,使用者可以通过修 改源码,完成更具新意的结构设计,生成具有自主版权 的新软核。 由于软核的载体HDL与实现工艺无关,使用者要负责从 描述到版图转换的全过程,模块的可预测性低,设计风 险大,使用者在后续设计中仍有发生差错的可能,这是 软核最主要的缺点。
FPGA-CPLD原理及应用
模块设置 参数:设置大小; 端口信号设置:设置使用哪些端口信号和信号属 性等,其中输入端口信号有缺省值,也可以自己 设置。
精品课件-硬件描述语言与FPGA设计技术(肖闽进)-第6章 宏功能模块与IP应用
f sin_o[9..0] f cos_o[9..0]
out_v alid
inst
OUTPUT OUTPUT
FS[9..0] FC[9..0]
嵌入式逻辑分析仪测试波形
6.6 LPM嵌入式锁相环设计
Altera 的FPGA器件CycloneII/III/IV及 StraixII/III/IV等系列中含有高性能的嵌入式模拟锁相 环,其性能远优于普通数字锁相环。这些锁相环PLL可以 与一输入的时钟信号同步,并以其作为参考信号实现锁 相,从而输出一至多个同步倍频或分频的片内时钟,以 供逻辑系统应用。与直接来自外部的时钟相比,这种片 内时钟可以减少时钟延时和时钟变形,减少片外干扰; 还可以改善时钟的建立时间和保持时间,是系统稳定工 作的保证。
aclr
8 bits 128 words
OUTPUT
CLKOUT
OUTPUT OUTPUT
ADDR[6..0] Q[7..0]
sin2_rom
address[6..0]
q[7..0]
inclock
inst2 Block ty pe: AUTO
OUTPUT
COUT
6.6.2锁相环仿真测试和硬件特性 锁相环仿真波形
加入NCO授权文件和Quartus II授权文件。这里设授权文 件位置路径:C:\altera\90\license.DAT。有了授权文 件,在Option对话框的Licensed AMPP/MegaCore functions 栏中可以看到FIR、PCI、NCO等IP的授权码, 这样就可以编译出能够写Flash的SOF文件。也可以先转 变为间接配置编程文件写入EPCS Flash。
6.1 LPM存储器设计 6.1.1 ROM模块设计
EDA技术及应用习题参考答案
习题参考答案第2章1.可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL2.EPC型号的存储器3.(1)编程输入(2)编译若编译不成功,需要回到第一步检查编程输入,直到编译成功为止(3)仿真仿真的结果直接反映编程的结果,若结果不正确,也需要返回到第一步,重复前面的过程(4)下载4.FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。
因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。
CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。
FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。
CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。
5.67.宏单元、PIA、I/O控制块8.MAX7000系列一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。
但是编写次数有限,编程的速度不快;FLEX10K系列采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。
因此,需在FPGA外加专用配置芯片,将配置数据写入其中,系统每次上电自动将数据引入专用配置芯片中。
第3章1.设计输入、项目编译、仿真和定时分析、编程下载2.(1)原理图输入适合于对系统电路很熟悉的情况或用在对时间特性要求较高的场合;(2)波形图输入适用于时序逻辑和有重复性的逻辑函数;(3)文本输入适用于从逻辑门层次的描述到整个系统的描述。
;(4)层次化输入适用于结构较复杂的系统。
3.优点:(1)支持模块化,底层模块可反复被调用,多个底层模块可由不同的设计者同时使用,提高了设计效率;(2)设计方法比较自由;(3)团队之间的合作方便灵活。
《EDA技术与应用教程》(第2版_王正勇)课件
点
应用范围 集成度
CPLD
FPGA
乘积项(Product Term)
查找表(LUT,Look Up Table)
非易失性(Flash,EEPROM) ① 掉电非易失性:即使切断电源,电路中的数据 也不会丢失 ② 有限次编程、速度较慢 ③ 相对容量小,单位宏单元性价比低 ④ 直接加密,保密性好 ⑤ 无须外部存储器芯片,使用简单方便 ⑥ 上电后立即开始运作 ⑦ 可在单芯片上运作 偏向于简单的控制通道应用以及组合逻辑 小~中规模
(a)实际逻辑电路
(b)LUT的实现方式
图 2 - 7 FPGA的逻辑实现原理
输入A 输入B 输入C 输入D
0 0 0 0 0 1 1 16×1 0 RAM 0 0 0 0 0 0 1 1
多路 选择器
查 找 表 输 出
图 2 - 8 FPGA查找表内部结构
重庆电子工程职业学院
16
EDA技术与应用教程
工艺节点
0.3μm 0.3μm 0.42μm 0.5μm
0.22μm 0.13μm 0.15μm 0.18μm 0.22μm 0.22μm 0.3μm 0.42μm 0.42μm/0.3μm 0.42μm
0.15μm 0.18μm 0.18μm
重庆电子工程职表业学2院 - 8 Altera的成熟器件 20
EDA技术与应用教程
2.4 FPGA/CPLD产品概述
⒉ Altera新型系列器件简介 ⑴ Stratix系列高端FPGA ⑵ Arria系列中端FPGA ⑶ Cyclone系列低成本FPGA ⑷ MAX系列低成本CPLD ⑸ HardCopy系列ASIC
⒊ Altera配置器件简介 ⑴ 标准型配置器件 ⑵ 增强型配置器件 (3)串行配置器件
EDA 第6章 宏功能模块与IP应用
6.3 基于LPM的流水线乘法累加器设计
6.3.1 LPM加法器模块设置调用
6.3 基于LPM的流水线乘法累加器设计
6.3.1 LPM加法器模块设置调用
6.3 基于LPM的流水线乘法累加器设计
6.3.2 LPM乘法器模块设置调用
6.3 基于LPM的流水线乘法累加器设计
6.3.2 LPM乘法器模块设置调用
6.4.1 存储器初始化文件生成
1.建立.mif格式文件 (3)C等软件生成
6.4 LPM 随机存储器的设置和调用
6.4.1 存储器初始化文件生成
1.建立.mif格式文件 (4)专用mif文件生成器
6.4 LPM 随机存储器的设置和调用
6.4.1 存储器初始化文件生成
1.建立.mif格式文件 (4)专用mif文件生成器
EDA技术实用教程
第6章
宏功能模块与IP应用
LPM
参数可设置模块库 Library of Parameterized Modules
是一个EDA标准 参考:
7.1 宏功能模块概述
算术组件 门电路 I/O组件 累加器、加法器、乘法器和LPM算术函数 多路复用器和LPM门函数 时钟数据恢复(CDR)、锁相环(PLL)、双数据速率 (DDR)、千兆位收发器块(GXB)、LVDS接收器和发送器、 PLL重新配置和远程更新宏功能模块 FIFO Partitioner、RAM和ROM宏功能模块 存储器、移位寄存器宏模块和LPM存储器函数
6.3 基于LPM的流水线乘法累加器设计
6.3.2 LPM乘法器模块设置调用
6.3 基于LPM的流水线乘法累加器设计
6.3.2 LPM乘法器模块设置调用
6.3 基于LPM的流水线乘法累加器设计
EDA技术与应用(第3版)[江国强][电子教案]
2019/8/17
13
CAE(Computer Aided Engineering)是在CAD 的工具逐步完善的基础上发展起来的,尤其是人们 在设计方法学、设计工具集成化方面取得了长足的 进步,可以利用计算机作为单点设计工具,并建立 各种设计单元库,开始用计算机将许多单点工具集 成在一起使用,大大提高了工作效率。
今天,EDA技术已经成为电子设计的重要工具, 无论是设计芯片还是设计系统,如果没有EDA工具的 支持都将是难以完成的。EDA工具已经成为现代电路 设计师的重要武器,正在起作越来越重要的作用。
2019/8/17
15
1.2 EDA设计流程
设计准备
设计输入 ·原理图 ·硬件描述语言 ·波形图
设计处理 ·优化、综合 ·适配、分割 ·布局、布线
2019/8/17
22
2. 逻辑优化和综合
逻辑优化是化简所有的逻辑方程或用户自建的宏, 使设计所占用的资源最少。综合的目的是将多个模块 化设计文件合并为一个网表文件,并使层次设计平面 化(即展平)。
3. 适配和分割
在适配和分割过程,确定优化以后的逻辑能否与 下载目标器件CPLD或FPGA中的宏单元和I/O单元适 配,然后将设计分割为多个便于适配的逻辑小块形式 映射到器件相应的宏单元中。如果整个设计不能装入 一片器件时,可以将整个设计自动分割成多块并装入 同一系列的多片器件中去。
统硬件功能的实现,极大地提高了设计效率,减少 设计周期,节省设计成本。
2019/8/17
12
EDA 是 在 20 世 纪 90 年 代 初 从 计 算 机 辅 助 设 计 (CAD)、计算机辅助制造(CAM)、计算机辅助 测试(CAT)和计算机辅助工程(CAE)的概念发展 而来的。一般把EDA技术的发展分为CAD、CAE和 EDA三个阶段。
第6章QUARTUSii宏功能模块应用.
6.1流水线乘法累加器设计
6.1.3 电路时序仿真与测试
图6-12 基于逻辑宏单元的设计报告
6.1流水线乘法累加器设计
6.1.3 电路时序仿真与测试
图6-13 基于专用嵌入式乘法器模块的设计报告
6.1流水线乘法累加器设计
6.1.3 电路时序仿真与测试
图6-14 基于逻辑宏单元的流水线乘法累加器时序分析报告
2. 打开在系统存储单元编辑窗
图6-31 In-System Memory Content Editor扫描FPGA结果
6.3 在系统存储器数据读写编辑器应用
3. 读取RAM中的数据
图6-32 In-System Memory Content Editor上载FPGA中RAM数据
6.3 在系统存储器数据读写编辑器应用
图6-6将LPM乘法器设置为流水线工作方式
6.1流水线乘法累加器设计
6.1.2 电路结构与工作原理 2. 调用加法器和锁存器
图6-7 设置LPM加法器类型
6.1流水线乘法累加器设计
6.1.2 电路结构与工作原理 2. 调用加法器和锁存器
图6-8 选择加法器数据输入类型
6.1流水线乘法累加器设计
6.4 FIFO模块定制
图6-35 FIFO编辑窗
6.4 FIFO模块定制
图6-36 FIFO的仿真波形
第6章QUARTUSii宏 功能模块应用.
谢谢
6.1流水线乘法累加ห้องสมุดไป่ตู้设计
6.1.3 电路时序仿真与测试
图6-15基于专用嵌入式乘法器模块的流水线乘法累加器时序分析报告
6.1流水线乘法累加器设计
6.1.3 电路时序仿真与测试
图6-16 MULTADD工程仿真波形
第六章_宏功能模块与IP应用
复习
P195~209
预习
第二次实验: 第二次实验:p120_4.5.2 2位十进制数字频率计 位十进制数字频率计 第三次实验: 第三次实验: 必做: 十六进制7段数码显示译码器设计 段数码显示译码器设计( 必做:p140_4-4 十六进制 段数码显示译码器设计(参 考本教材二版p143【例5-21】) 考本教材二版 【 】 选做: 数码扫描显示电路设计( 选做:p141_4-6 数码扫描显示电路设计(参考本教材 二版p144【例5-22】) 二版 【 】 第四次实验: 并行ADC采样控制电路实现和 第四次实验:p264_7-2 并行 采样控制电路实现和 硬件验证 第五/六次实验 设计型实验(自己选题) 六次实验: 第五 六次实验:设计型实验(自己选题)
一、正弦信号发生器结构
由FPGA实现 实现 RST EN CLK Q1 address Inclock q Q
四 个 组 成 部 分
1、7位地址信号发生器 、 位地址信号发生器 2、正弦信号数据存储器 、正弦信号数据存储器ROM 3、VHDL顶层文件 顶层文件SIN_GNT 、 顶层文件 4、8位D/A 、 位
LPM功能模块内容丰富,设计者可根据实际需要,选 功能模块内容丰富,设计者可根据实际需要, 功能模块内容丰富 择LPM库中的适当模块,并为其设定适当的参数,满足自 库中的适当模块,并为其设定适当的参数, 库中的适当模块 己的设计需求。 己的设计需求。
6.5.3 简易正弦信号发生器设计 简易正弦信号发生器设计
三、正弦信号数据存储器ROM的定制 正弦信号数据存储器ROM的定制 ROM
4. 按图示作选择
三、正弦信号数据存储器ROM的定制 正弦信号数据存储器ROM的定制 ROM
5. 按图示作选择
eda技术与应用(电工版)电子教案第6章 原理图元件库编辑
图6-27 创建了两个子件的元件
创建第二个子件
(6)复制第一个子件,然后将引脚序号修改即可。
图6-28 第二个子件
创建第三、第四个子件
(7)重复(5)、(6)两步,完成第三个、第四个子件 的绘制,结果分别如图6-29、6-30所示。
图6-29 第三个子件
图6-30 第四个子件
(8)最后可对其描述(Description)属性进行设置并 保存制作好的元件。
(9)仿效上述操作,依次将其余十个引脚放置好,最后 得到如前面图6-10的七段数码管元件图。 (10)执行【Tools工具】→【Rename Component元件 重命名】命令,在弹出的对话框中,将“Component_1”改 为“7SEG”,单击【OK】按钮确定。 (11)单击浏览器的【Description…描述】按钮或执行 【Tools工具】→【Description描述】命令,弹出如图6-23 的对话框,将“”栏设置为虎添翼SEG,将“Description” 栏设置为LED,单击【OK】按钮确定。最后保存退出。
第6章 原理图元件库编辑
6.1 启动原理图元件编辑器
6.2 画图工具栏
6.3 创建原理图元件
6.1 启动原理图元件编辑器
1.选择原理图元件库编辑器
图6-1 原理图元件编辑器选择对话框
2.进入原理图元件库编辑器
图6-2 原理图元件库编辑器
6.2 画图工具栏
表6-1 画图工具栏各项功能
6.3 创建原理图元件
制作步骤
图6-15 小数点属性设置
图5-16 引脚属性设置
制作步骤
6)单击画图工具栏上的 图标按钮,出现 十字光标后,按下Tab键,弹出如图6-16所示 的对话框,将“”设置为“g”,“Number”设 置为1,其它均为默认设置,单击【OK】按钮 确定。此时引脚图形随粘附在光标上,单击空 格键旋转使端点为黑圆点朝外,如图6-17(a) 所示。移动鼠标至合适位置单击左键,完成引 脚g的放置,如图6-17(b)所示,这时发现引 脚的序号与名称与边框的距离不太合适,而且 名称“g”还是睡倒显示。可按步骤(7)进行 调整。
EDA技术及应用(第三版)章 (3)
第6章 VHDL设计应用实例
此乘法器的优点是节省芯片资源,它的核心元件只是 一个8位加法器,其运算速度取决于输入的时钟频率。若时 钟频率为100 MHz,则每一运算周期仅需80 ns。而若利用 备用最高时钟,即12 MHz晶振的MCS-51单片机的乘法指 令进行8位乘法运算,则仅单指令的运算周期就长达4 μs。 因此,可以利用此乘法器或相同原理构成的更高位乘法器 完成一些数字信号处理方面的运算。
A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0); B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0); S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO4: OUT STD_LOGIC);
--4位二进制并行加法器 --低位来的进位 --4位加数 --4位被加数 --4位和 --进位输出
第6章 VHDL设计应用实例
6.2 8位乘法器的设计
1.系统设计思路 纯组合逻辑构成的乘法器虽然工作速度比较快,但占 用硬件资源多,难以实现宽位乘法器,而基于PLD器件外 接ROM九九表的乘法器则无法构成单片系统,也不实用。 这里介绍由8位加法器构成的以时序逻辑方式设计的8位乘 法器,此乘法器具有一定的实用价值。其乘法原理是:乘 法通过逐项位移相加原理来实现,从被乘数的最低位开始, 若为1,则乘数左移后与上一次和相加;若为0,则左移后 以全零相加,直至被乘数的最高位。从图6.7的逻辑图上可 以清楚地看出此乘法器的工作原理。
--与门开关
DIN: IN STD_LOGIC_VECTOR (7 DOWNTO 0); --8位输入
DOUT: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); --8位输出
EDA技术概述(课件)
EDA技术与VHDL 第1章EDA技术概述1.1 EDA技术现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术EDA(Electronic Design Automation)技术。
20世纪70年代EDA技术雏形20世纪80年代EDA技术基础形成20世纪90年代EDA技术成熟和实用1.1 EDA技术21世纪后●在FPGA上实现DSP应用成为可能。
●在一单片FPGA中实现一个完备的可随意重构的嵌入式系统成为可能。
●在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。
●电子领域各学科的界限更加模糊,更互为包容。
●用于ASIC设计的标准单元已涵盖大规模电子系统及复杂IP核模块。
●软硬IP核在电子行业的产业领域广泛应用。
●SoC高效低成本设计技术的成熟。
●复杂电子系统的设计和验证趋于简单。
1.2 EDA技术应用对象1. 可编程逻辑器件2. 半定制或全定制ASIC3. 混合ASIC1.3 硬件描述语言VHDLHDLVHDLVerilog HDLSystemVerilogSystem C在EDA设计中使用最多,也得到几乎所有的主流EDA工具的支持这两种HDL语言还处于完善过程中,主要加强了系统验证方面的功能。
1.4 EDA技术的优势1.保证设计过程的正确性,大大降低设计成本,缩短设计周期。
2.有各类库的支持。
3.极大地简化设计文档的管理。
4.日益强大的逻辑设计仿真测试技术。
5.设计者拥有完全的自主权,再无受制于人之虞。
6.良好的可移植与可测试性,为系统开发提供了可靠的保证。
7.能将所有设计环节纳入统一的自顶向下的设计方案中。
8.EDA不但在整个设计流程上充分利用计算机的自动设计能力,而且在各个设计层次上利用计算机完成不同内容的仿真模拟,在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。
1.5 面向FPGA的EDA开发流程1.5.1 设计输入1. 图形输入2. 硬件描述语言代码文本输入1.5 面向FPGA的EDA开发流程1.5.2 综合(1)自然语言综合(2)行为综合(3)逻辑综合(4)版图综合或结构综合1.5 面向FPGA的EDA开发流程1.5.2 综合1.5.3 适配(布线布局)1.5 面向FPGA的EDA开发流程1.5.4 仿真1.5.5 RTL描述(1) 时序仿真(2) 功能仿真1.6 可编程逻辑器件1.6.1 PLD 的分类以集成度分低集成度芯片高集成度芯片从结构上分乘积项结构器件查找表结构器件从编程工艺上划1.熔丝(Fuse)型器件2.反熔丝(Anti-fuse)型器件3.EPROM 型4.EEPROM 型5.SRAM 型6.Flash 型1.6 可编程逻辑器件1.6.2 PROM可编程原理1.6 可编程逻辑器件1.6.2 PROM可编程原理1.6 可编程逻辑器件1.6.2 PROM可编程原理1.6 可编程逻辑器件1.6.2 PROM可编程原理1.6 可编程逻辑器件1.6.3 GAL1.7 CPLD的结构与可编程原理1.7 CPLD的结构与可编程原理1.逻辑阵列块1.7 CPLD的结构与可编程原理2.逻辑宏单元3.可编程连线阵列1.7 CPLD的结构与可编程原理4.I/O控制块1.8 FPGA的结构与工作原理1.8.1 查找表逻辑结构1.8.2 Cyclone III系列器件的结构原理1.8 FPGA 的结构与工作原理1.8 FPGA的结构与工作原理1.8.2 Cyclone III系列器件的结构原理1.9 硬件测试技术1.9.1 内部逻辑测试1.9.2 JTAG边界扫描测试1.10 编程与配置基于电可擦除存储单元的EEPROM或Flash技术基于SRAM查找表的编程单元。
《EDA技术与Verilog HDL》PPT第3版 第6章 LPM宏模块用法
6.3 LPM_RAM宏模块用法
6.3.3 测试LPM_RAM
图6-19 图6-18的RAM仿真波形
6.3 LPM_RAM宏模块用法
6.3.4 Verilog代码描述的存储器初始化文件加载表述
6.3 LPM_RAM宏模块用法
6.3.5 存储器设计的结构控制
图6-20 例6-6的RTL电路模块图
6.6.1 建立嵌入式锁相环元件
图6-35 输出第二个时钟信号c1
6.6 LPM嵌入式锁相环调用
6.6.1 建立嵌入式锁相环元件
图6-36 采用了嵌入式锁相环作时钟的正弦信号发生器电路
6.6.2 测试锁相环
6.7 In-System Sources and Probes Editor用法
(1)在顶层设计中嵌入In-System Sources and Probes模块。 (2)设定参数。
图6-37 为In-System Sources and Probes模块设置参数
6.7 In-System Sources and Probes Editor用法
(3)与需要测试的电路系统连接好。
图6-38 在电路中加入In-System Sources and Probes测试模块
6.7 In-System Sources and Probes Editor用法
6.3.2 以原理图方式对LPM_RAM进行调用
图6-13 调用单口LPM RAM
6.3 LPM_RAM宏模块用法
6.3.2 以原理图方式对LPM_RAM进行调用
图6-14 设定RAM参数
6.3 LPM_RAM宏模块用法
6.3.2 以原理图方式对LPM_RAM进行调用
图6-15 设定RAM仅输入时钟控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• (1)输入lpm_counter宏模块及端口、参数设置。
• 新建一个图形输入文件,双击空白处,在 Megafunctions目录下找到lpm_counter宏功 能模块,进入参数设置界面后,首先对输
出数据总线宽度和计数的方向进行设置, 如图6.1.8所示。
• 计数器可以设为加法或者减法计数,还可以通过增加一个 “updown”信号来控制计数的方向,为“1”时加法计数;为 “0”时减法计数。单击“Next”按钮,进入如图6.1.9所示的对
单击图6.1.3中的“Next”按钮,出现如图6.1.4所示的页面。
• 在“Does the ‘datab’input bus have a constant value?”框中选 择“datab”是否为常量,在这里选择“No”单选按钮,即 “datab”的输入值可变。在第二框“What type of multiplication do you want ?”中选择“Signed”,即有符号数 乘法。最下面一栏选择乘法器的实现方式,可以用FPGA中 专门的嵌入式乘法器(需注意的是并不是所有的FPGA器件 都包含嵌入式乘法器),也可用逻辑单元(LE)来实现乘 法器。在这里选择默认的方式实现(即“use the default implementation”)。
• 然后选择LPM宏模块库所在目录 \altera\quartus60\libraries\megafunctions,所有的库函数 就会出现在窗口中,设计者可以从中选择所需要的函数, 这里选择lpm_mult。
单击图6.1.1中的“OK”按钮,进入乘法器模块参数设置页面。 类型设为Verilog HDL,文件名按照默认设为“lpm_mult0”。
第6章 宏功能模块设计
•
Quartus II软件自带的宏功能模块库主要有三个,分别
是Megafunction库、Maxplux2库和Primitive库。
•
Megafunctions库是参数化模块库,按照库中模块的功
能,此库又分为算术运算模块库、逻辑门库、存储器库和 I/O模块库四个子库。
• 本章主要介绍基于Megafunctions库的设计,供读者参考。
• 在图6.2.1中,选择译码数据位宽为3bit,意味着有8个数据 输出。单击“Next”,进入图6.2.2所示的对话框,在该对话 框中可以设置输出的编码位,在此示例中,全部选中。
• 单击“Next”,进入图6.2.3所示的对话框,在该对话框中, 我们可以对此电路使用流水线技术,此示例中我们不选用 此技术。
• 设计完成的3线—8线译码器电路如图6.2.4所示
• (2)编译和仿真
6.3 I/O模块库宏模块及功能描述
6.4 存储器模块库 6.4.1 存储器模块库宏模块及功能描述
以上已将参数化乘法器的所有参数设计完毕,单击“Next”按 钮,选择生成的文件,最后单击“Finish”按钮生成乘法器模块,
给乘法器模块加上输入和输出端口,就构成了一个完整的乘 法器电路,如图6.1.6所示。
• (2)编译和仿真
• 6.1.3 计数器模块设计举例
•
【例6-1-2】计数器模块设计。
• 设置完成的计数器电路如图6.1.11所示。
• (2)编译和仿真
6.2 逻辑门库 6.2.1 逻辑门库宏模块
• 6.2.2 3线—8线译码器模块设计举例
• 【例6-2-1】3线—8线译码器模块设计。
• (1)与输入lpm_mult的输入方法一样,新建一个图形输 入文件,双击空白处,在Megafunctions目录下找到 lpm_decode宏功能模块,进入参数设置界面后,首先对输 入数据位宽进行设置,如图6.2.1所示。
话框,在这里设置计数器的模,还可根据需要增加控制端 口,包括时钟时能“Clock Enable”、计数使能“Count Enable”、 进位输入“Carry-in”和进位输出“Carry-out”端口。在本例中 设置计数器模为10,并带有一个进位输出端口。
• 单击“Next”按钮,进入如图6.10所示的对话框,在该对话 框中可增加同步清零、同步预置、异步清零、异步预置等 控制端口。
6.1 算术运算模块库 6.1.1 算术运算模块库模块
• 6.1.2 乘法器模块设计举例 • 【例6-1-1】乘法器模块设计。 • (1)输入/lpm_mult宏功能块及端口、参数设置
• 启动Quartus II软件,选择菜单“File”→“New”命令,在弹出 的“New”对话框中的 “Device Design Files” 页面中选择源文 件的类型,这里选择 “Block Diagram/Schematic File” 类型, 即出现原理图文件的编辑界面。在Quartus II的原理图编辑 界面下,在空白处双击鼠标左键,或者单击右键,选择菜 单“Insert”→“Symbol…”命令,即可弹出宏模块选择界面,
单击图6.1.2中的“Next”按钮,出现对乘法器的输入和输出进 行设置的页面。
• 在“Multiplier configuration”栏里选择“Multiply ‘dataa’input by‘datab’input”,这样乘法器便有 “dataa”和“datab”两个输入端,然后将输入端的数 据线宽度均设为8bit,输出端的数据线宽度固定为 16bit。
单击“Next”按钮,出现如图6.1.5所示的页面。
• 首先设置是否以流水线方式实现乘法器,在“Do you want to pipeline the function?”栏中,选择“No”,即不采用流水 线方式实现乘法器,在最下面一栏“Which type of optimization do you want ?”框中选择对乘法器的速度或是 占用资源量进行优化,如果选择“Speed”,则是优先考虑 所实现乘法器的速度;如果选择“Area”,则是优先考虑节 省芯片资源;在这里选择“Default”,设计软件会自动在速 度和耗用资源之间进行折中。