宏功能模块和IP应用
实验2参数可设置宏功能模块lpm的应用

功能描述
浮点加法器、减法器模块 浮点参数化除法器宏模块 浮点参数化乘法器宏模块 参数化存储乘法器宏模块 参数化乘累加器宏模块 参数化乘加器宏模块 参数化整数平方根运算宏模块 参数化除法器宏模块 参数化绝对值运算宏模块(Altera推荐使用)
10 lpm_add_sub
11 lpm_compare 12 lpm_counter 13 lpm_divide
参数化加法器-减法器宏模块(Altera推荐使 用)
参数化比较器宏模块(Altera推荐使用) 参数化计数器宏模块(Altera推荐使用) 参数化除法器宏模块(Altera推荐使用)
第四页,编辑于星期三:十二点 三十分。
一、参数可设置模块库(续3)
门电路
序号 模块名称
功能描述
1 lpm_and/or/xor 参数化与门模块/或门/异或门模块
地址低4位,十 六进制表示9
地址高4位,十 六进制表示9
存储数据 9 ×9=81
保存,文件名romdata.hex
第十三页,编辑于星期三:十二点 三十分。
二、利用lpm-rom设计一个乘法器
定制lpm_rom元件 Tools→MegaWizard Plug-In Manager
第十四页,编辑于星期三:十二点 三十分。
第七页,编辑于星期三:十二点 三十分。
一、参数可设置模块库(续6)
2、调用宏功能模块的方法
新建原理图编辑文件,双击 打开Symbol对话框调用
也可通过菜单Tools→MegaWizard Plug-In Manager
第八页,编辑于星期三:十二点 三十分。
二、利用lpm-rom设计一个乘法器
1、ROM工作原理
二、利用lpm-rom设计一个乘法器
第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模块设计
【Verilog】第7章 宏功能模块与IP应用

7.10 使用IP Core设计FIR滤波器
7.10 使用IP Core设计FIR滤波器
7.11 8051单片 机IP核应 用
7.11 8051单片机IP核应用
7.11 8051单片机IP核应用
7.12 DDS实现原理与应用
7.12.1 DDS实现原理
7.12 DDS实现原理与应用
7.12.1 DDS实现原理
实验与设计
7-7 4X4阵列键盘键信号检测电路设计
(1)实验原理:
实验与设计
7-7 4X4阵列键盘键信号检测电路设计
(2)实验任务1: (3)实验任务2:
(4)实验任务3: (5)实验任务4: (6)实验任务5: (7)实验任务6: 5E+系统演示示例:/KX_7C5EE+/EXPERIMENTs/EXP31_SCAN_4X4KEY/。
接下页
接上页
7.4.4 Verilog的存储器描述及相关属性
4.文本方式调用存储器LPM模块
7.5 LPM_ROM的定制和使用示例
7.5.1 LPM_ROM的定制调用和测试
7.5 LPM_ROM的定制和使用示例
7.5.1 LPM_ROM的定制调用和测试
7.5 LPM_ROM的定制和使用示例
7.5.1 LPM_ROM的定制调用和测试
7.4 LPM 随机存储器的设置和调用
7.4.1 存储器初始化文件生成 2.建立.hex格式文件
7.4 LPM 随机存储器的设置和调用
7.4.2 LPM_RAM的设置和调用
7.4 LPM 随机存储器的设置和调用
7.4.2 LPM_RAM的设置和调用
7.4 LPM 随机存储器的设置和调用
7.4.2 LPM_RAM的设置和调用
第7章VHDL宏功能模块与IP核的应用

END;
ARCHITECTURE DACC OF SINGT IS COMPONENT data_rom --调用波形数据存储器LPM_ROM文件:data_rom.vhd声明
PORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);--6位地址信号 inclock : IN STD_LOGIC ;--地址锁存时钟
7.0 宏功能模块概述
宏功能模块LPM:是参数可设置模块库的英语缩写 (Library of Parameterized Modules),这些可 以以图形或硬件描述语言模块形式方便调用的宏 功能块,使得基于EDA技术的电子设计的效率和 可靠性有了很大的提高。设计者可以根据实际电 路的设计需要,选择LPM库中的适当模块,并为 其设定适当的参数,就能满足自己设计需要,从 而在自己的项目中十分方便地调用优秀的电子工 程师人员的硬件设计成果。
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SINGT IS
PORT ( CLK : IN STD_LOGIC;
--信号源时钟
DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );--8位波形数据输出
black-box申明,用于在使用EDA 综合工具时指定端口方向。 • <输出文件>_inst.tdf : 宏功能模块包装文件中子设计的AHDL例化示例。 • <输出文件>_inst.vhd : 宏功能模块包装文件中实体的VHDL例化示例。 • <输出文件>_inst.v : 宏功能模块包装文件中模块的VerilogHDL例化示例。
第6讲-LPM参数化宏模块应用07

7.3 在系统存储器数据读写编辑器应用
图7-15 从FPGA中的ROM读取波形数据
25
7.3 在系统存储器数据读写编辑器应用
图7-16 编辑波形数据
图7-16下载编辑数据后的SignalTap II采样波形
26
7.4 编辑SignalTapII的触发信号
图7-17 选择高级触发条件
27
7.4 编辑SignalTapII的触发信号
2.建立.hex格式文件---直接填表
图7-2 将波形数据填入mif文件表中
10
7.2.2 定制LPM_ROM初始化数据文件
2.建立.hex格式文件 ---汇编程序编译器
图7-3 ASM格式建hex文件
11
7.2 LPM模块应用实例
7.2.2 定制LPM_ROM初始化数据文件
2.建立.hex格式文件
END;
8
7.2 LPM模块应用实例
7.2.2 定制LPM_ROM初始化数据文件
1.建立.mif格式文件 ---程序语言生成,如 C
【例7-2】 #include <stdio.h> #include "math.h" main() {int i;float s; for(i=0;i<1024;i++)
31
7.5 其它存储器模块的定制与应用
7.5.2 FIFO定制
图7-22 FIFO编辑窗
32
7.5 其它存储器模块的定制与应用
7.5.2 FIFO定制
图7-23 FIFO的仿真波形
33
7.5 其它存储器模块的定制与应用
7.5.3 基于LPM_ROM的4位乘法器设计
address_aclr_a => "NONE",
第四章 Altera 的IP工具

片内存 储器
在FPGA中,片内存储器是十分重要的资源。利用 片内存储器,可以在FPGA中实现RAM、ROM、 CAM等存储单元。存储单元的设计有其自身的规 律和特点: RAM是根据地址读、写数据的存储单元; 在FPGA中没有专用的ROM硬件资源,实现ROM 的方法是:对RAM赋初值,并保持该初值; CAM和RAM恰恰相反,它返回的是与端口数据相 匹配的内部地址。CAM的应用非常广泛,如在路 由器中的地址表等。
硬核
硬核在EDA 设计领域指经过验证 的设计版图;具体在FPGA 设计中指 布局和工艺固定、经过前端和后端验 证的设计,设计人员不能对其修改。 不能修改的原因有两个:首先是系统 设计对各个模块的时序要求很严格, 不允许打乱已有的物理版图;其次是 保护知识产权的要求,不允许设计人 员对其有任何改动。IP 硬核的不许 修改特点使其复用有一定的困难,因 此只能用于某些特定应用,使用范围 较窄。
例 FIFO
1 调用MegaWizard 管理器 Tools MegaWizard Plug-In Manager
2 宏功能模块选择
输出语言的选择 可供选 择的宏 功能 输出文件路径和文件名
白盒 模式
用户库
3 F件选择
MegaWizard输出的文件类型
Altera的IP工具—MegaWizard管理器
MegaWizard管理器可以帮助用户建立或修改包含自定义宏功 能 模块变量的设计文件,而后可以在用户自己的设计文件中对这 些IP模块文件实例化。通常这些自定义宏功能模块变量基于 Altera提供的基本宏功能、MegaCore以及AMPP IP核。通过 运 行向导,MegaWizard管理器能帮助用户方便的为自定义宏功 能 模块变量指定选项,产生所需功能。 缺省状态下,MegaWizard输出HDL 封装文件,同时还提 供 HDL实例化模块、VHDL元件声明(CMP)、Quartus II符号
宏功能模块与IP应用

宏功能模块与IP应用6.1宏功能模块概述这里主要介绍LPM宏功能模块,它就是Library of Parameterized Modules(参数可设置模块库)的缩写,Altera提供的可参数化功能模块和LPM函数均基于altera器件的结构作了优化设计。
我认为就是已经设计好的最佳的基本电路模块。
在特定器件结构中发挥出最佳性能。
可以使用这些知识产权的参数化模块减少设计和测试的时间。
这些宏功能模块应用于通信,数字信号处理(DSP),PCI和其他总线界面,以及存储器中的宏功能模块。
6.2 LPM计数器模块的使用方法在原有的LPM库中将参数进行设置,最后如下图1图1Quartus II生成的计数器文件CNT4B.vhd如下图Lpm_counter是元件名,是可以从lpm库中调用的宏功能模块元件名;而lpm_counter_component则是在此文件中为使用和调用lpm_counter取的例化名,即参数传递语句中的宏功能模块元件的例化名。
6.3 基于LPM的流水线乘法累加器设计LPM加法器模块设计LMP乘法器模块设置调用6.4 LPM随机存储器的设置和调用在涉及RAM和ROM等存储器应用的EDA设计开发中,调用LPM模块类存储器是最方便,最经济,最高效和性能最容易满足设计要求的途径。
Quartus能接受两种格式的文件:MIF和HEX。
建立米饭格式的文件然后就是数据类型的定义语句!如整数类型INTEGER,布尔型boolean,标准逻辑类型std_logic等,此外VHDL还允许用户自行定义新的数据类型。
6.5 LPM_ROM的定制和使用方法6.6 在系统存储器数据读写编辑器应用对于Cyclone系列的FPGA,只要对使用的LPM_ROM或LPM_RAM等存储器模块作适当设置,就能利用Quartus的在系统存储器读写编辑器直接通过JTAG口读取或改写FPGA内处于工作状态的存储器中的数据,读取过程不影响FPGA的正常工作。
《VHDL硬件描述语言》课程教学大纲

《VHDL硬件描述语言》课程教学大纲课程代码:ABJD0414课程中文名称: VHDL硬件描述语言课程英文名称:Very-High-Speed Integrated Circuit HardwareDescription Language课程性质:必修课程学分数:2学分课程学时数:32学时授课对象:自动化专业本课程的前导课程:电路,模拟电子,C语言程序设计一、课程简介本课程是电类专业的专业基础课,要求学生通过本课程的学习和实验,初步掌握常用EDA工具的使用方法、FPGA的开发技术以及VHDL语言的编程方法。
能比较熟练地使用QuartusII等常用EDA软件对FPGA和CPLD作一些简单电路系统的设计,同时能较好地使用VHDL语言设计简单的逻辑电路和逻辑系统,学会行为仿真、时序仿真和硬件测试技术,为现代EDA工程技术的进一步学习,ASIC器件设计以及超大规模集成电路设计奠定基础。
作为一门专业基础课,除了为现代电子线路课程,软件无线电课程奠定理论和实践方面的基础外,还是其他一些课程的先修课,如微电子导论、现代ASIC设计、硬件描述语言仿真/综合器设计、大规模集成电路设计等。
二、教学基本内容和要求(一)概论介绍现代EDA技术,VHDL概况,介绍自顶向下的系统设计方法以及FPGA和CPLD的基本技术,要求对现代EDA技术及实现工具的使用方法和发展情况有一初步了解。
重点与难点:EDA技术的设计工具(二)EDA设计流程及工具首先介绍基于EDA软件的FPGA/CPLD开发流程和ASIC设计流程,然后分别介绍与这些设计流程中各环节密切相关的EDA工具软件,最后简述QuartusII的基本情况和IP。
重点与难点:EDA仿真设计流程。
(三)FPGA/CPLD结构与应用主要介绍几类常用的大规模可编程逻辑器件的结构和工作原理。
对CPLD的乘积项原理和FPGA的查找表原理分别进行剖析。
最后介绍相关的编程下载和测试技术。
重点与难点:FPGA/CPLD的工作作原理及编程技术。
eda技术实用教程-veriloghdl答案

eda技术实用教程-veriloghdl答案【篇一:eda技术与vhdl程序开发基础教程课后答案】eda的英文全称是electronic design automation2.eda系统设计自动化eda阶段三个发展阶段3. eda技术的应用可概括为4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif8.布局布线主要完成9.10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum1.8.2选择1.eda技术发展历程的正确描述为(a)a cad-cae-edab eda-cad-caec eda-cae-cadd cae-cad-eda2.altera的第四代eda集成开发环境为(c)a modelsimb mux+plus iic quartus iid ise3.下列eda工具中,支持状态图输入方式的是(b)a quartus iib isec ispdesignexpertd syplify pro4.下列几种仿真中考虑了物理模型参数的仿真是(a)a 时序仿真b 功能仿真c 行为仿真d 逻辑仿真5.下列描述eda工程设计流程正确的是(c)a输入-综合-布线-下载-仿真b布线-仿真-下载-输入-综合c输入-综合-布线-仿真-下载d输入-仿真-综合-布线-下载6.下列编程语言中不属于硬件描述语言的是(d)a vhdlb verilogc abeld php1.8.3问答1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。
2.简要介绍eda技术的发展历程?答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。
第六章_宏功能模块与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. 按图示作选择
QuartusⅡ中宏功能模块的使用-精选文档

西安邮电学院计算机系
QuartusⅡ中宏功能模块的使用
QuartusⅡ软件针对常用的功能,提供了参数化 (Parameterized)的宏功能(megafunctions)模块, 通过调用宏功能模块,可以减少工作量,加快设计的 进程。 用户可以通过向导工具MegaWizard Plug-In Manager 调用宏功能。
2019/3/23
9
QuartusⅡ中宏功能模块的使用
选择读出端是 否加D触发器
图9 西安邮电学院计算机系
2019/3/23
10
QuartusⅡ中宏功能模块的使用
选择存储空间初始 化方式及初始值
图 10 西安邮电学院计算机系
2019/3/23
11
QuartusⅡ中宏功能模块的使用
仿真与综合相关信息
图形输入调用: 新建图形输入文件, 在空白区域双击左键 弹出元件选取对话框 如图,Project目录下 将出现实例化 ram4k 元件供调用
图 13 西安邮电学院计算机系
2019/3/23
14
QuartusⅡ中宏功能模块的使用
也可在程序中嵌入以下语句实现调用:
… ram4k ram4k ( .data ( ), .rdaddress ( ), .rdclock ( ), .wraddress ( ), .wrclock ( ), .wren ( ), .q ( ) ); … 这段程序将实现子程序模块的例化
图1 2019/3/23 西安邮电学院计算机系
图2 3
QuartusⅡ中宏功能模块的使用
选择新建一个宏功能实例,进入下一步(图4)。
图3
2019/3/23
第7章 QuartusⅡ中的宏功能模块及应用

ห้องสมุดไป่ตู้
3 宏功能模块定制管理器
1)宏功能模块定制管理器MegaWizard Plug-In )宏功能模块定制管理器 Manager可以帮助用户建立或修改包含自定义宏功能模块变 可以帮助用户建立或修改包含自定义宏功能模块变 量的设计文件,而且可以在设计文件中对这些文件进行实例 量的设计文件, 化。 2)可以为参数和可选端口设置数值。 )可以为参数和可选端口设置数值。 3)宏功能模块定制管理器可以通过菜单命令 ) Tools→MegaWizard Plug-In Manager打开 打开 用户可轻松地为自定义宏功能模块变量指定选项。 用户可轻松地为自定义宏功能模块变量指定选项。
lpm_counter元件选择窗口 元件选择窗口
单击“ 按钮, 单击“Finish”按钮,则原理图编辑窗口中出现了刚 按钮 才定制的计数器的图形,添加输入输出端口后, 才定制的计数器的图形,添加输入输出端口后,如下图所 示。
参数化四位加法计数器原理图
4 .应用实例 应用实例
以一个简单的四位加法计数器为例,说明: 以一个简单的四位加法计数器为例,说明: MegaWizard Plug-In Manager的使用方法。 的使用方法。 的使用方法 1)首先新建一个名为 的工程, )首先新建一个名为counter4的工程,在工程中新建一 的工程 个名为counter4.bdf原理图文件。 原理图文件。 个名为 原理图文件 2)双击原理图编辑窗口,在弹出的元件选择窗口的 )双击原理图编辑窗口, 栏中选择“ 中的lpm_counter元件, 元件, “Libraries”栏中选择“arithmetic”中的 栏中选择 中的 元件 如下图所示,OK。 如下图所示 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.整数类型:
用户定义的整数类型是标准包中整数类型的子范围。
格式:type 类型名称 is interger 整数范围; 例:type my_integer is integer range 0 to 9;
3.数组类型:
数组:同类型元素的集合。VHDL支持多维数组。
多维数组的声明: type byte is array(7 downto 0) of bit; type vector is array(3 downto 0) of byte;
相同,下面便举例说明altpll的应用。
(1)输入altpll宏功能模块
选择芯片和设置参考时钟
锁相环控制信号设置
输入时钟设置
(2)编译和仿真
锁相环电路
功能仿真波形
存储模块库
存储器模块设计举例
ROM(Read Only Memory,只读存储器)是存储器的 一种,利用FPGA可以实现ROM的功能,但其不是真正意义 上的ROM,因为FPGA器件在掉电后,其内部的所有信息都 会丢失,再次工作时需要重新配置。 Quartus II提供的参数化ROM是lpm_rom,下面用一 个乘法器的例子来说明它的使用方法,这个例子使用 lpm_rom构成一个4位×4位的无符号数乘法器,利用查表 方法完成乘法功能。
计数器74161设计举例
模10计数器
仿真结果
三、 Primitives库
缓冲器库
引脚库
存储单元库
逻辑门库
其他模块
例1:利用lpm_counter计数器模块做一个十二进制计数器
方法一:利用画电路图,建立.bdf文件 方法二:利用vhdl语言,建立.vhd文件
例2:利用lpm_ram做一个8位、128深度的ram.
I/O模块库
锁相环模块设计举例
参数化锁相环宏模块altpll以输入时钟信号作为参考信
号实现锁相,从而输出若干个同步倍频或者分频的片内 时钟信号。与直接来自片外的时钟相比,片内时钟可以 减少时钟延迟,减小片外干扰,还可改善时钟的建立时 间和保持时间,是系统稳定工作的保证。不同系列的芯
片对锁相环的支持程度不同,但是基本的参数设置大致
例3:设置一个数字钟. 要求:具有24小时计数功能,可以设置小时和分钟的 值,并具有整点报时和报警功能。
数据类型定义语句
TYPE语句的用法如下: TYPE 或 TYPE 数据类型名 IS 数据类型定义 ; 两种不同的定义方式: TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ; TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ; 数据类型名 IS 数据类型定义 OF 基本数据类型 ;
状态符号化: TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ;
SIGNAL present_state,next_state : m_state ; TYPE BOOLEAN IS (FALSE,TRUE) ;
TYPE my_logic IS
( '1' ,'Z' ,'U' ,'0' ) ;
TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ; TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ;
SIGNAL present_state,next_state : m_state ;
编码为:st0=“000” ; st1=“001” ; st2=“010” ; st3=“011” ; st4=“100” ;
数组属性:
语法如下: 对象‘属性 VHDL为数组预先定义的属性:
left
high length
right
low range
reverse_range
例:variable my_vector:bit_vector(5 downto -5); 各属性如下:
SIGNAL s1 : my_logic ; s1 <= 'Z' ;
SUBTYPE
子类型名 IS 基本数据类型 RANGE 约束范围;
SUBTYPE digits IS INTEGER RANGE 0 to 9 ;
1.枚举类型:
综合器将自动实现枚举类型元素的编码,一般将第一 个枚举量(最左边)编码为0,以后的依次加1。编码 用位矢量表示,位矢量的长度将取所需表达的所有枚 举元素的最小值。
数据线、地址线宽度置
控制端口设置
添加.mif文件
如下图所示就是基于ROM实现的4位×4位的无符号 数乘法器电路图,其参数设置为: LPM_WIDTH=8 LPM_WIDTHAD=8 LPM_FILE=mult_rom.mif
仿真结果
二、 Maxplus2库
Maxplus2库主要由74系列数字集成电路组成,包括 时序电路宏模块和运算电路宏模块两大类,其中时序电 路宏模块包括触发器、锁存器、计数器、分频器、多路 复用器和移位寄存器,运算电路宏模块包括逻辑预算模 块、加法器、减法器、乘法器、绝对值运算器、数值比 较器、编译码器和奇偶校验器。 对于这些小规模的集成电路,在数字电路课程中有详 细的介绍,其调入方法与Megafunction库中的宏模块 相同,只是端口和参数无法设置。
EDA技术实用教程
宏功能模块与 IP应用
宏功能模块设计
一、 Megafunctions库 二、 Maxplus2库 三、 Primitives库
一、Megafunctions库
Megafunction库是Altera提供的参数 化模块库。从功能上看,可以把 Megafunction库中的元器件分为: 算术运算模块(arithmetic) 逻辑门模块(gates) 储存模块(storage) IO模块(I/O)
算数运算模块库
lpm_mult
下面以参数化乘法器lpm_mult为例来说明如何在设计中使用宏功 能模块。lpm_mult的基本参数已在下表中给出。
(1)调用lpm_mult
(2)lpm_mult参数设置
输入输出位宽设置
乘法器类型设置
(3)编译仿真
8位有符号乘法器电路
功能仿真波形
逻辑门库
I/O模块库