quartusii基于宏功能模块的设计

合集下载

FPGA_Quartus_2宏功能模块应用

FPGA_Quartus_2宏功能模块应用

4.3 在系统存储器数据读写编辑器应用
3. 读取RAM中的数据
图3-32 In-System Memory Content Editor上载FPGA中RAM数据
4.3 在系统存储器数据读写编辑器应用
3. 读取RAM中的数据
图3-33 利用In-System Memory Content Editor读取LPM_RAM中数据
4.4.2 定制初始化数据文件
1.建立.mif格式文件
【例3-1】 WIDTH = 8; DEPTH = 64; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0 : FF; 1 : FE; 2 : FC; 3 : F9; 4 : F5; …(数据略去) 3D : FC; 3E : FE; 3F : FF; END;
4.1.3 电路时序仿真与测试
图3-12 基于逻辑宏单元的设计报告
4.1流水线乘法累加器设计
4.1.3 电路时序仿真与测试
图3-13 基于专用嵌入式乘法器模块的设计报告
4.1流水线乘法累加器设计
4.1.3 电路时序仿真与测试
图3-14 基于逻辑宏单元的流水线乘法累加器时序分析报告
4.1流水线乘法累加器设计
4.5 嵌入式逻辑分析仪使用方法
4.5.2 编辑SignalTapII的触发信号
图3-56 选择高级触发条件
4.5 嵌入式逻辑分析仪使用方法
4.5.2 编辑SignalTapII的触发信号
图3-57 进入“触发条件函数编辑”窗口
4.5 嵌入式逻辑分析仪使用方法
4.5.2 编辑SignalTapII的触发信号
2.建立.hex格式文件
图3-38 sdata.hex文件的放置路径

实验3 宏功能模块的应用

实验3  宏功能模块的应用

实验3 宏功能模块的应用实验目的:熟悉Quartus Ⅱ的宏功能模块的应用。

实验工具:Quartus Ⅱ8.0 实验步骤: 工程设计步骤:实验内容:一、采用Quartus II 软件的宏功能模块lpm_counter 设计一个模为60的加法计数器,进行编译和仿真,查看仿真结果。

(1)原理图设计:如图3-1-1图3-1-1 模60加法计数器(2)综合模60加法计数器:如图 3-1-2图 3-1-2 模60加法计数器综合报告流动状态 软件版本 修复名称 顶层文件 器件系列所有逻辑资源所有寄存器 所有引脚 所有虚拟引脚 所有存储器 器件型号时间模型(3)功能仿真模60加法计数器功能仿真波形图:如图3-1-3图 3-1-3 模60加法计数器功能仿真结论:图3-3宏功能模块中从上到下有以下几个引脚:异步清零端,时钟使能端,时钟,同步置数端使能端,计数使能端,计数方向,置数输入端,输出端,进位输出端。

每个端口功能如图3-3解释,每个端口都实现了理论中的功能,所以功能仿真成功。

(4)时序仿真模60加法计数器时序仿真波形图:如图3-1-4图 3-1-4模60加法计数器时序仿真结论:图3-4中时序仿真的引脚与图3-3相同,每个引脚实现的功能与图3-3相一致。

所不同的是在时序仿真中输出出现了微小的延时,并且输出之间出现了许多细小的毛刺,在进位输出端也出现了一个明显的毛刺。

不过整体仿真的结果是正确的。

最大工作频率:310.37MHz 如图 3-1-5图 3-1-5 最大工作频率延时情况:注:tsu(建立时间),th(保持时间),tco(时钟至输出延时),tpd(引脚至引脚延时)tpd(引脚至引脚延时)tsu(建立时间)tco(时钟至输出延时)th(保持时间)二、先利用LPM_ROM设计8位×8位乘法器,进行编译和仿真,查看仿真结果。

(1)原理图设计:1、用MATLAB产生一个8_8_mult_rom.mif文件。

3 Quartus II集成开发工具

3 Quartus II集成开发工具
EDA技术与应用
第三章 Quartus II集成开发工具
教学重点

Quartus II原理图设计 基于LPM单元库的设计
3.1 Quartus II原理图设计
原理图编辑
综合 FPGA / CPLD 器件和电路系统 FPGA / CPLD 适配 时序与功能 仿真
FPGA / CPLD 编程下载
设置Lpm_mult模块
2 LPM设计举例
(1)输入lpm_counter宏模块
(2)设置lpm_counter宏模块
使用端口 异步清零aclr、时钟输入clock 数据输出q、进位输出cout 设定参数
双击PIN NAME,命名引脚a、b、cout、sout
单击拖动鼠标,连接好电路
半加器原理图
(4)原理图文件存盘 File | Save As 命名为adder.bdf,保存到工程目录
2 创建工程(File | New Project Wizard)
(1)指定工程目录、名称和顶层设计实体
(2)将设计文件加入工程中
设置仿真模式
5 观察仿真结果
(1)启动仿真器
Processing | Start Simulation (2)查看波形图 Processing | Simulation Report View | Fit in window
半加器时序仿真波形图
3.1.4 全加器设计与仿真
1. 将半加器生成为1个元件符号
或在编辑窗口单击右键,选择Insert | Symbol (3)展开 primitives | logic 调入and2、xor primitives | pin 调入input、output
Insert symbol Edit | Insert Symbol

QUARTUSⅡ10.0使用入门

QUARTUSⅡ10.0使用入门

QUARTUSⅡ10.0使用入门1.建立工程运行QuatrusII软件(以下简称Q2),建立工程,File->New Project Wizad如下图点击New Project Wizard 后弹出指定工程名的对话框,在Diectory, Name, Top-Level Entity中如下图填写:按Next按钮,出现添加工程文件的对话框:在这里我们先不用管它,直接按Next进行下一步,选择FPGA器件的型号:栏选上“Show Advanced Devices”以显示所有的器件型号。

点击Next出现对话框:这里是选择其它EDA工具的对话框,我们用Q2的集成环境进行开发,因此这里不作任何改动。

按Next进入工程的信息总概对话框:按Finish按钮即建立一个空项目。

2.建立顶层图执行File->New,弹出新建文件对话框:选择“Block Diagram Schematic File”按OK即建立一个空的顶层图,缺省名为“Block1.bdf”,我们把它另存为(File->Save as),接受默认的文件名,并将“Add file to current project”选项选上,以使该文件添加到工程中去。

如图所示:3.添加逻辑元件(Symbol)双击顶层图图纸的空白处,弹出添加元件的对话筐:在Libraries里寻找所需要的逻辑元件,如果知道逻辑元件的名称的话,也可以直接在Name一栏敲入名字,右边的预览图即可显示元件的外观,按OK后鼠标旁边即拖着一个元件符号,在图纸上点击左键,元件即安放在图纸上。

在图纸上分别添加非门(not)、输入(input)、输出(output)三个symbol,如图所示:连线,将鼠标移到symbol连线端口的那里,鼠标变成图示模样:,按下左键拖动鼠标到另一个symbol的连线端。

本例中,这三个symbol的连线如下图所示:分别双击input和output symbol的名字“pin_name”、“pin_name1”,将它们的名字改为Key1,LED1:4.分配管脚为芯片分配管脚可以用QuartusII软件里的“Assignments->Pins”菜单,也可以用tcl脚本文件。

Quartus原理图设计

Quartus原理图设计
(1)指定目录、名称和顶层实体
(2)添加文件
(3)选择目标芯片
(4)指定其它EDA工具
Project name: adder Top-level design entity: adder Device assignments:
Family name: ACEX1K
Device: EP1K10TC100-3
(3)编辑波形
a)设置仿真时间 Edit | End Time
b)设置栅格时间 Edit | Grid Size
c)波形编辑工具箱
找节点 未初始化
缩放视图
替换节点 强制未知
强制低电平
强制高电平
高阻抗 弱低电平 无关 计数值 任意值 对齐网格
弱未知 弱高电平 翻转波形 时钟信号 随机值 排序
(2)添加编程文件
(3)启动编程

primitives | pin
bidir input output
真值表 a 0 0 1 b 0 1 0 cout 0 0 0 sout 0 1 1
1
1
1
0
cout a b sout a b
半加器原理图
(4)保存文件 File | Save As
2 创建工程 File | New Project Wizard
d)设置时钟
e)设置节点顺序
f)设置节点属性
输入信号波形
(4)设置时序仿真模式 Assignment | Settings Simulator Settings
(5)观看仿真结果 Processing | Start Simulation View | Fit in Window
半加器时序仿真波形图
创建工作目录 D :\ PLD \ adder

EDA技术与应用第6章 宏功能模块设计

EDA技术与应用第6章  宏功能模块设计

• (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章 宏功能模块设计

QuartusII及其原理图设计

QuartusII及其原理图设计
1、需要5GB空间 2、需要关闭杀毒软件(所以最好是断网安装) 3、安装过程中选择路径中最好不要有中文,下 划线等
QuartusII及其原理图设 计
3
QUARTUS II 设计开发流程
QuartusII及其原理图设 计
4
QUARTUS II 文件格式介绍
QuartusII及其原理图设 计
5
QUARTUS II –图表和原理图编辑器
QuartusII及其原理图设 计
25
QUARTUS II –原理图设计例子
QuartusII及其原理图设 计
26
QUARTUS II –原理图设计例子
QuartusII及其原理图设 计
27
QUARTUS II –原理图设计例子
QuartusII及其原理图设 计
28
QUARTUS II –原理图设计例子
QuartusII及其原理图设 计
41
编译注意
要查找器件的资料,确保管脚定义,及其管脚工作状态 注意总线的画法和定义
注意同步清零和异步清零的方法
QuartusII及其原理图设 计
42
QUARTUS II –习题一
1-3 基于Quartus II软件,用部分积右移方式设计实现一个 4位二进制乘法器,选择合适的器件,画出电路连接
QuartusII及其原理图设 计
47
QUARTUS II –习题一
1-9 用D触发器构成按循环码(000-001-011-111-101100-000)规律工作的六进制同步计数器。 1-10 用74194、74273、D触发器等器件组成8位串入并 出的转换电路,要求在转换过程中数据不变,只有当8位一 组数据全部转换结束后,输出才变化一次。

第6章QUARTUSii宏功能模块应用.

第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工程仿真波形

Quartus II基于宏功能模块的设计_

Quartus II基于宏功能模块的设计_

第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 计数器功能仿真波形4.5锁相环模块参数化锁相环宏模块altpll以输入时钟信号作为参考信号实现锁相,从而输出若干个同步倍频或者分频的片内时钟信号。

与直接来自片外的时钟相比,片内时钟可以减少时钟延迟,减小片外干扰,还可改善时钟的建立时间和保持时间,是系统稳定工作的保证。

不同系列的芯片对锁相环的支持程度不同,但是基本的参数设置大致相同,下面便举例说明altpll的应用。

(1)输入altpll宏功能模块选择芯片和设置参考时钟锁相环控制信号设置输入时钟设置(2)编译和仿真锁相环电路功能仿真波形4.6存储器模块ROM(Read Only Memory,只读存储器)是存储器的一种,利用FPGA可以实现ROM的功能,但其不是真正意义上的ROM,因为FPGA器件在掉电后,其内部的所有信息都会丢失,再次工作时需要重新配置。

Quartus II提供的参数化ROM是lpm_rom,下面用一个乘法器的例子来说明它的使用方法,这个例子使用lpm_rom构成一个4位×4位的无符号数乘法器,利用查表方法完成乘法功能。

Quartus II开发软件中的宏模块

Quartus II开发软件中的宏模块

Quartus II开发软件中的宏模块--存储器宏模块Quartus II开发软件中的宏模块--存储器宏模块RAM宏模块宏模块名称功能描述csdpram 参数化循环共享双端口RAMlpm_ram_dp 参数化双端口RAMlpm_ram_dq 参数化RAM,输入/输出端分离lpm_ram_io 参数化RAM,输入/输出端公用一个端口FIFO宏模块宏模块名称功能描述csfifo 参数化循环共享FIFOdcfifo 参数化双时钟FIFOscfifo 参数化单时钟FIFOlpm_fifo 参数化单时钟FIFOlpm_fifo_dc 参数化双时钟FIFOROM的设计lpm_romQuartus II开发软件中的宏模块--时序电路宏模块Quartus II开发软件中的宏模块--时序电路宏模块触发器宏模块名称功能描述lpm_ff 参数化D或T触发器lpm_dff 参数化D触发器和移位寄存器lpm_tff 参数化T触发器enadff 带使能端的D触发器expdff 用扩展电路实现的D触发器7470 带预置和清零端的与门JK触发器7471 带预置端的JK触发器7472 带预置和清零端的与门JK触发器7473 带清零端的双JK触发器7474 带异步预置和异步清零端的双D触发器7476 带异步预置和异步清零端的双JK触发器7478 带异步预置、公共清零和公共时钟端的双JK触发器74107 带清零端的双JK触发器74109 带预置和清零端的双JK触发器74112 带预置和清零端的双JK时钟下降沿触发器74113 带预置端的双JK时钟下降沿触发器74114 带异步预置、公共清零和公共时钟端的双JK时钟下降沿触发器74171 带清零端的4D触发器74172 带三态输出的多端口寄存器74174 带公共清零端的16进制D触发器74174b 带公共清零端的16进制D触发器74175 带公共时钟和清零端的4D触发器74273 带异步清零端的8进制触发器74273b 带异步清零端的8进制触发器74276 带公共预置和清零端的4JK触发器寄存器74374 带三态输出和输出使能端的8进制D触发器74374b 带三态输出和输出使能端的8进制D触发器74376 带公共时钟和公共清零端4JK触发器74377 带使能端的8进制D触发器74377b 带使能端的8进制D触发器74378 带使能端的16进制D触发器74379 带使能端的4D触发器74396 8进制存储寄存器74548 带三态输出的8位两级流水线寄存器74670 带三态输出的4位寄存器74821 带三态输出的10位总线接口触发器74821b 带三态输出的10位D触发器74822 带三态反相输出的10位总线接口触发器74822b 带三态反相输出的10位D触发器74823 带三态输出的9位总线接口触发器74823b 带三态输出的9位D触发器74824 带三态反相输出的9位总线接口触发器74824b 带三态反相输出的9位D触发器74825 带三态反相输出的8位总线接口触发器74825b 带三态输出的8进制D触发器74826 带三态反相输出的9位总线接口触发器74826b 带三态反相输出的8进制D触发器锁存器宏模块名称功能描述lpm_latch 参数化锁存器explatch 用扩展电路实现的锁存器Inpltch 用扩展电路实现的输入锁存器nandltch 用扩展电路实现的SR(非)与非门锁存器norltch 用扩展电路实现的SR或非门锁存器7475 4位双稳态锁存器7477 4位双稳态锁存器74116 带清零端的双4位锁存器74259 带清零端、可设定地址的锁存器74279 4路SR(非)锁存器74373 带三态输出的8进制透明D锁存器74373b 带三态输出的8进制透明D锁存器74549 8位二级流水线锁存器74604 带三态输出的8进制2输入多路锁存器74841 带三态输出的10位总线接口D锁存器74841b 带三态输出的10位总线接口D锁存器74842 带三态输出的10位总线接口D锁存器74842b 带三态输出的10位总线接口D反相锁存器74843 带三态输出的9位总线接口D锁存器74844 带三态输出的9位总线接口D反相锁存器74845 带三态输出的8位总线接口D锁存器74846 带三态输出的8位总线接口D反相锁存器74990 8位透明读回锁存器计数器宏模块名称功能描述lpm_conter 参数化计数器(仅限FLEX系列器件)gray4 格雷码计数器unicnt 通用4位加/减计数器,可异步设置、读取、清零和级联的左/右移位寄存器16cudslr 16位2进制加/减计数器,带异步设置的左/右移位寄存器16cudsrb 16位2进制加/减计数器,带异步清零和设置的左/右移位寄存器4count 4位2进制加/减计数器,同步/异步读取,异步清零8count 8位2进制加/减计数器,同步/异步读取,异步清零7468 双10进制计数器7469 双12进制计数器7490 10/2进制计数器7492 12进制计数器7493 4位2进制计数器74143 4位计数/锁存器,带7位输出驱动器74160 4位10进制计数器,同步读取,异步清零74161 4位2进制加法计数器,同步读取,异步清零74162 4位2进制加法计数器,同步读取,同步清零74163 4位2进制加法计数器,同步读取,同步清零74168 同步4位10进制加/减计数器74169 同步4位2进制加/减计数器74176 可预置10进制计数器74177 可预置2进制计数器74190 4位10进制加/减计数器,异步读取74191 4位2进制加/减计数器,异步读取74192 4位10进制加/减计数器,异步清零74193 4位2进制加/减计数器,异步清零74196 可预置10进制计数器74197 可预置2进制计数器74290 10进制计数器74292 可编程分频器/数字定时器74293 2进制计数器74294 可编程分频器/数字定时器74390 双10进制计数器74393 双4位加法计数器,异步清零74490 双4位10进制计数器74568 10进制加/减计数器,同步读取,同步和异步清零74569 2进制加/减计数器,同步读取,同步和异步清零74590 8位2进制计数器,带三态输出寄存器74592 8位2进制计数器,带输入寄存器74668 同步10进制加/减计数器74669 同步4位2进制加/减计数器74690 同步10进制计数器,带输出寄存器,多重三态输出,异步清零74691 同步2进制计数器,带输出寄存器,多重三态输出,异步清零74693 同步2进制计数器,带输出寄存器,多重三态输出,同步清零74696 同步10进制加/减计数器,带输出寄存器,多重三态输出,异步清零74697 同步2进制加/减计数器,带输出寄存器,多重三态输出,异步清零74698 同步10进制加/减计数器,带输出寄存器,多重三态输出,同步清零74699 同步2进制加/减计数器,带输出寄存器,多重三态输出,同步清零分频器宏模块名称功能描述Freqdiv 2,4,8,16分频器7456 双时钟5,10分频器7457 双时钟5,6,10分频器多路复用器宏模块名称功能描述lpm_mux 参数化多路复用器2lmux 2线-1线多路复用器16lmux 16线-1线多路复用器2X8mux 8位总线的2线-1线多路复用器8lmux 8线-1线多路复用器74151 8线-1线多路复用器74151b 8线-1线多路复用器74153 双4线-1线多路复用器74157 四2线-1线多路复用器74158 带反相输出的四2线-1线多路复用器74251 带三态输出的8线-1线数据选择器74253 带三态输出的双4线-1线数据选择器74257 带三态输出的四2线-1线多路复用器74258 带三态反相输出的四2线-1线多路复用器74298 带存储功能的四2输入多路复用器74352 带反相输出的双4线-1线数据选择器/多路复用器74353 带三态反相输出的双4线-1线数据选择器/多路复用器74354 带三态输出的8线-1线数据选择器/多路复用器74356 带三态输出的8线-1线数据选择器/多路复用器74398 带存储功能的四2输入多路复用器74399 带存储功能的四2输入多路复用器移位寄存器宏模块名称功能描述lpm_clshift 参数化组合逻辑移位器lpm_shiftreg 参数化移位寄存器barrelst 8位桶形移位器barrlstb 8位桶形移位器7491 串入串出移位寄存器7494 带异步预置和异步清零端的4位移位寄存器7495 4位并行移位寄存器7496 5位移位寄存器7499 带JK串入串出端的4位移位寄存器74164 串入并出移位寄存器74164b 串入并出移位寄存器74165 并行读入8位移位寄存器74165b 并行读入8位移位寄存器74166 带时钟禁止端的8位移位寄存器74178 4位移位寄存器74179 带清零端的4位移位寄存器74194 带并行读入端的4位双向移位寄存器74195 4位并行移位寄存器74198 8位双向移位寄存器74199 8位双向移位寄存器74295 带三态输出端的4位左右移位寄存器74299 8位通用移位/存储寄存器74350 带三态输出端的4位移位寄存器74395 带三态输出端的4位可级联移位寄存器74589 带输入锁存和三态输出端的8位移位寄存器74594 带输入锁存的8位移位寄存器74595 带输入锁存和三态输出端的8位移位寄存器74597 带输入寄存器的8位移位寄存器74671 带强制清零和三态输出端的4位通用移位寄存器/锁存器Quartus II开发软件中的宏模块--运算电路宏模块Quartus II开发软件中的宏模块--运算电路宏模块加法器和减法器宏模块名称功能描述lpm_add_sub 参数化加法器/减法器8fadd 8位全加器8faddb 8位全加器7480 门控全加器7482 2位2进制全加器7483 带快速进位的4位2进制全加器74183 双进位存储全加器74283 带快速进位的4位全加器74385 带清零端的4位加法器/减法器乘法器宏模块名称功能描述lpm_mult 参数化乘法器mult2 2位带符号数乘法器mult24 2X4位并行2进制乘法器mult4 4位并行2进制乘法器mult4b 4位并行2进制乘法器tmult4 4X4位并行2进制乘法器7497 同步6位速率乘法器74261 2位并行2进制乘法器74284 4X4位并行2进制乘法器(输出结果的最高4位)74285 4X4位并行2进制乘法器(输出结果的最低4位)除法器divide和lpm_divide绝对值运算lpm_abs数值比较器宏模块名称功能描述lpm_compare 参数化比较器8mcomp 8位数值比较器8mcompb 8位数值比较器7485 4位数值比较器74518 8位恒等比较器74518b 8位恒等比较器74684 8位数值/恒等比较器74686 8位数值/恒等比较器74688 8位恒等比较器编码器模块名称功能描述74147 10线-3线BCD编码器74148 8线-3线8进制编码器74384 带三态输出的8线-3线优先权编码器译码器宏模块名称功能描述lpm_decode 参数化译码器16dmux 4位2进制-16线译码器16ndmux 4位2进制-16线译码器7442 1线-10线BCD-10进制译码器7443 余3码-10进制译码器7444 余3格雷码-10进制译码器7445 BCD码-10进制译码器7446 BCD码-7段译码器7447 BCD码-7段译码器7448 BCD码-7段译码器7449 BCD码-7段译码器74137 带地址锁存的3线-8线译码器74138 3线-8线译码器74139 双2线-4线译码器74145 BCD码-10进制译码器74154 4线-16线译码器74155 双2线-4线译码器/多路输出选择器74156 双2线-4线译码器/多路输出选择器74246 BCD码-7段译码器74247 BCD码-7段译码器74248 BCD码-7段译码器74445 BCD码-10进制译码器奇偶校验器宏模块名称功能描述74180 9位奇偶产生器/校验器74180b 9位奇偶产生器/校验器74280 9位奇偶产生器/校验器74280b 9位奇偶产生器/校验器。

quartus宏功能模块介绍

quartus宏功能模块介绍

-----------------------------------------------------RAM宏模块宏模块名称功能描述csdpram 参数化循环共享双端口RAMlpm_ram_dp 参数化双端口RAMlpm_ram_dq 参数化RAM,输入/输出端分离lpm_ram_io 参数化RAM,输入/输出端公用一个端口FIFO宏模块宏模块名称功能描述csfifo 参数化循环共享FIFOdcfifo 参数化双时钟FIFOscfifo 参数化单时钟FIFOlpm_fifo 参数化单时钟FIFOlpm_fifo_dc 参数化双时钟FIFOROM的设计lpm_romQuartus II开发软件中的宏模块--时序电路宏模块触发器宏模块名称功能描述lpm_ff 参数化D或T触发器lpm_dff 参数化D触发器和移位寄存器lpm_tff 参数化T触发器enadff 带使能端的D触发器expdff 用扩展电路实现的D触发器7470 带预置和清零端的与门JK触发器7471 带预置端的JK触发器7472 带预置和清零端的与门JK触发器7473 带清零端的双JK触发器7474 带异步预置和异步清零端的双D触发器7476 带异步预置和异步清零端的双JK触发器7478 带异步预置、公共清零和公共时钟端的双JK触发器74107 带清零端的双JK触发器74109 带预置和清零端的双JK触发器74112 带预置和清零端的双JK时钟下降沿触发器74113 带预置端的双JK时钟下降沿触发器74114 带异步预置、公共清零和公共时钟端的双JK时钟下降沿触发器74171 带清零端的4D触发器74172 带三态输出的多端口寄存器74173 4位D型寄存器74174 带公共清零端的16进制D触发器74174b 带公共清零端的16进制D触发器74175 带公共时钟和清零端的4D触发器74273 带异步清零端的8进制触发器74273b 带异步清零端的8进制触发器74276 带公共预置和清零端的4JK触发器寄存器74374 带三态输出和输出使能端的8进制D触发器74374b 带三态输出和输出使能端的8进制D触发器74376 带公共时钟和公共清零端4JK触发器74377 带使能端的8进制D触发器74377b 带使能端的8进制D触发器74378 带使能端的16进制D触发器74379 带使能端的4D触发器74396 8进制存储寄存器74548 带三态输出的8位两级流水线寄存器74670 带三态输出的4位寄存器74821 带三态输出的10位总线接口触发器74821b 带三态输出的10位D触发器74822 带三态反相输出的10位总线接口触发器74822b 带三态反相输出的10位D触发器74823 带三态输出的9位总线接口触发器74823b 带三态输出的9位D触发器74824 带三态反相输出的9位总线接口触发器74824b 带三态反相输出的9位D触发器74825 带三态反相输出的8位总线接口触发器74825b 带三态输出的8进制D触发器74826 带三态反相输出的9位总线接口触发器74826b 带三态反相输出的8进制D触发器锁存器宏模块名称功能描述lpm_latch参数化锁存器explatch用扩展电路实现的锁存器Inpltch 用扩展电路实现的输入锁存器nandltch用扩展电路实现的SR(非)与非门锁存器norltch 用扩展电路实现的SR或非门锁存器7475 4位双稳态锁存器7477 4位双稳态锁存器74116 带清零端的双4位锁存器74259 带清零端、可设定地址的锁存器74279 4路SR(非)锁存器74373 带三态输出的8进制透明D锁存器74373b 带三态输出的8进制透明D锁存器74375 4位双稳态锁存器74549 8位二级流水线锁存器74604 带三态输出的8进制2输入多路锁存器74841 带三态输出的10位总线接口D锁存器74841b 带三态输出的10位总线接口D锁存器74842 带三态输出的10位总线接口D锁存器74842b 带三态输出的10位总线接口D反相锁存器74843 带三态输出的9位总线接口D锁存器74844 带三态输出的9位总线接口D反相锁存器74845 带三态输出的8位总线接口D锁存器74846 带三态输出的8位总线接口D反相锁存器74990 8位透明读回锁存器计数器宏模块名称功能描述lpm_conter参数化计数器(仅限FLEX系列器件)gray4 格雷码计数器unicnt 通用4位加/减计数器,可异步设置、读取、清零和级联的左/右移位寄存器16cudslr 16位2进制加/减计数器,带异步设置的左/右移位寄存器16cudsrb 16位2进制加/减计数器,带异步清零和设置的左/右移位寄存器4count 4位2进制加/减计数器,同步/异步读取,异步清零8count 8位2进制加/减计数器,同步/异步读取,异步清零7468 双10进制计数器7469 双12进制计数器7490 10/2进制计数器7492 12进制计数器7493 4位2进制计数器74143 4位计数/锁存器,带7位输出驱动器74160 4位10进制计数器,同步读取,异步清零74161 4位2进制加法计数器,同步读取,异步清零74162 4位2进制加法计数器,同步读取,同步清零74163 4位2进制加法计数器,同步读取,同步清零74168 同步4位10进制加/减计数器74169 同步4位2进制加/减计数器74176 可预置10进制计数器74177 可预置2进制计数器74190 4位10进制加/减计数器,异步读取74191 4位2进制加/减计数器,异步读取74192 4位10进制加/减计数器,异步清零74193 4位2进制加/减计数器,异步清零74196 可预置10进制计数器74197 可预置2进制计数器74290 10进制计数器74292 可编程分频器/数字定时器74293 2进制计数器74294 可编程分频器/数字定时器74390 双10进制计数器74393 双4位加法计数器,异步清零74490 双4位10进制计数器74568 10进制加/减计数器,同步读取,同步和异步清零74569 2进制加/减计数器,同步读取,同步和异步清零74590 8位2进制计数器,带三态输出寄存器74592 8位2进制计数器,带输入寄存器74668 同步10进制加/减计数器74669 同步4位2进制加/减计数器74690 同步10进制计数器,带输出寄存器,多重三态输出,异步清零74691 同步2进制计数器,带输出寄存器,多重三态输出,异步清零74693 同步2进制计数器,带输出寄存器,多重三态输出,同步清零74696 同步10进制加/减计数器,带输出寄存器,多重三态输出,异步清零74697 同步2进制加/减计数器,带输出寄存器,多重三态输出,异步清零74698 同步10进制加/减计数器,带输出寄存器,多重三态输出,同步清零74699 同步2进制加/减计数器,带输出寄存器,多重三态输出,同步清零分频器宏模块名称功能描述Freqdiv 2,4,8,16分频器7456 双时钟5,10分频器7457 双时钟5,6,10分频器多路复用器宏模块名称功能描述lpm_mux 参数化多路复用器2lmux 2线-1线多路复用器16lmux 16线-1线多路复用器2X8mux 8位总线的2线-1线多路复用器8lmux 8线-1线多路复用器74151 8线-1线多路复用器74151b 8线-1线多路复用器74153 双4线-1线多路复用器74157 四2线-1线多路复用器74158 带反相输出的四2线-1线多路复用器74251 带三态输出的8线-1线数据选择器74253 带三态输出的双4线-1线数据选择器74257 带三态输出的四2线-1线多路复用器74258 带三态反相输出的四2线-1线多路复用器74298 带存储功能的四2输入多路复用器74352 带反相输出的双4线-1线数据选择器/多路复用器74353 带三态反相输出的双4线-1线数据选择器/多路复用器74354 带三态输出的8线-1线数据选择器/多路复用器74356 带三态输出的8线-1线数据选择器/多路复用器74398 带存储功能的四2输入多路复用器74399 带存储功能的四2输入多路复用器移位寄存器宏模块名称功能描述lpm_clshift参数化组合逻辑移位器lpm_shiftreg参数化移位寄存器barrelst 8位桶形移位器barrlstb 8位桶形移位器7491 串入串出移位寄存器7494 带异步预置和异步清零端的4位移位寄存器7495 4位并行移位寄存器7496 5位移位寄存器7499 带JK串入串出端的4位移位寄存器74164 串入并出移位寄存器74164b 串入并出移位寄存器74165 并行读入8位移位寄存器74165b 并行读入8位移位寄存器74166 带时钟禁止端的8位移位寄存器74178 4位移位寄存器74179 带清零端的4位移位寄存器74194 带并行读入端的4位双向移位寄存器74195 4位并行移位寄存器74198 8位双向移位寄存器74199 8位双向移位寄存器74295 带三态输出端的4位左右移位寄存器74299 8位通用移位/存储寄存器74350 带三态输出端的4位移位寄存器74395 带三态输出端的4位可级联移位寄存器74589 带输入锁存和三态输出端的8位移位寄存器74594 带输入锁存的8位移位寄存器74595 带输入锁存和三态输出端的8位移位寄存器74597 带输入寄存器的8位移位寄存器74671 带强制清零和三态输出端的4位通用移位寄存器/锁存器Quartus II开发软件中的宏模块--运算电路宏模块加法器和减法器宏模块名称功能描述lpm_add_sub 参数化加法器/减法器8fadd 8位全加器8faddb 8位全加器7480 门控全加器7482 2位2进制全加器7483 带快速进位的4位2进制全加器74183 双进位存储全加器74283 带快速进位的4位全加器74385 带清零端的4位加法器/减法器乘法器宏模块名称功能描述lpm_mult 参数化乘法器mult2 2位带符号数乘法器mult24 2X4位并行2进制乘法器mult4 4位并行2进制乘法器mult4b 4位并行2进制乘法器tmult4 4X4位并行2进制乘法器7497 同步6位速率乘法器74261 2位并行2进制乘法器74284 4X4位并行2进制乘法器(输出结果的最高4位)74285 4X4位并行2进制乘法器(输出结果的最低4位)除法器divide和lpm_divide绝对值运算lpm_abs数值比较器宏模块名称功能描述lpm_compare 参数化比较器8mcomp 8位数值比较器8mcompb 8位数值比较器7485 4位数值比较器74518 8位恒等比较器74518b 8位恒等比较器74684 8位数值/恒等比较器74686 8位数值/恒等比较器74688 8位恒等比较器编码器模块名称功能描述74147 10线-3线BCD编码器74148 8线-3线8进制编码器74384 带三态输出的8线-3线优先权编码器译码器宏模块名称功能描述lpm_decode 参数化译码器16dmux 4位2进制-16线译码器16ndmux 4位2进制-16线译码器7442 1线-10线BCD-10进制译码器7443 余3码-10进制译码器7444 余3格雷码-10进制译码器7445 BCD码-10进制译码器7446 BCD码-7段译码器7447 BCD码-7段译码器7448 BCD码-7段译码器7449 BCD码-7段译码器74137 带地址锁存的3线-8线译码器74138 3线-8线译码器74139 双2线-4线译码器74145 BCD码-10进制译码器74154 4线-16线译码器74155 双2线-4线译码器/多路输出选择器74156 双2线-4线译码器/多路输出选择器74246 BCD码-7段译码器74247 BCD码-7段译码器74248 BCD码-7段译码器74445 BCD码-10进制译码器奇偶校验器宏模块名称功能描述74180 9位奇偶产生器/校验器74180b 9位奇偶产生器/校验器74280 9位奇偶产生器/校验器74280b 9位奇偶产生器/校验器LPM库单元列表模块分类宏单元简要说明门单元模块lpm_and 参数化与门lpm_bustri 参数化三态缓冲器lpm_clshift 参数化组合逻辑移位器lpm_constant 参数化常数产生器lpm_decode 参数化译码器lpm_inv 参数化反向器lpm_mux 参数化多路选择器busmux 参数化总线选择器mux 多路选择器lpm_or 参数化或门lpm_xor 参数化异或门算术运算模块lpm_abs 参数化绝对值运算lpm_add_sub 参数化的加/减法器lpm_compare 参数化比较器lpm_counter 参数化计数器lpm_mult 参数化乘法器存储器模块lpm_ff 参数化D触发器lpm_latch 参数化锁存器lpm_ram_dq 输入输出分开的参数化RAMlpm_ram_io 输入输出复用的参数化RAMlpm_rom 参数化ROMlpm_shitreg 参数化移位寄存器csfifo class="style8">参数化先进先出队列csdpram 参数化双口RAM其它功能模块pll 参数化锁相环电路。

第宏功能模块的应用

第宏功能模块的应用
图7.20 RAM的功能仿真结果
第34页/共75页
7.2 存储器设计
设计 FIFO(First-In First-Out)是一个先入先
出的双口缓冲储器器,FIFO存储器可以独立进 行输人输出,也可以看成是一种双端口存储器, 具有两个端口,但它与双端口存储器最大的不同 就是一个端口专门用于写入操作,而另一个端口 专门用于读取操作。而且,因为数据是按照写人 的顺序被读出的,因而没有地址引脚,这也是与 双端口存储器的不同之处。
为读出数据请求信号,clock为时
钟信号,q[7..0]为数据输出端,full
为存储器溢出指示信号,empty为
FIFO空指示信号,
usedw[5..0]为当前已使用的地址数指示,
原理图
第41页/共75页
图7.26 FIFO
7.2 存储器设计
设计
图7.26 完成端口连接的FIFO原
理图
第42页/共75页
设计
图7. 14 完成ROM的原理图
第26页/共75页
7.2 存储器设计
设计
进行编译和仿真,其功能仿真结果如图7. 15所示,
图7. 15 ROM的功能仿真结果
第27页/共75页
7.2 存储器设计
设计
RAM的创建过程与ROM基本相同,同样使用 “MegaWizard Plug-In Manager”工具进行定 制。进入图7. 6所示的对话框后,在左侧选择 “Memory Complier”项下的“RAM:1-PORT” 选项,器件和语言根据需要进行选择,路径取 为…\lpm_ram\ram.vhd(文件名为ram.vhd)。 设置对话框如图7.17所示 。
intended_device_family

QuartusII软件使用及设计流程PPT课件

QuartusII软件使用及设计流程PPT课件
Quartus II使用及设计流程
• QuartusⅡ是Altera公司推出的新一代开发软件,适合于大规模逻辑电 路设计。
• QuartusⅡ支持多种编辑输入法,包括图形编辑输入法,VHDL、 Verilog HDL和AHDL的文本编辑输入法,符号编辑输入法,以及内存 编辑输入法。
• QuartusⅡ与MATLAB和DSP Builder结合可以进行基于FPGA的DSP 系统开发,是DSP硬件系统实现的关键EDA工具,与SOPC Builder结合, 可实现SOPC系统开发。
第26页/共68页
第27页/共68页
第28页/共68页
第29页/共68页
第30页/共68页
第31页/共68页
(3)编辑输入信号并保存文件。在图1-22中单击 “Name”下方的“A”,即选中该行的波形。在本 例中将输入信号“A”设置为时钟信号,单击工具 栏中的 按钮,弹出“Clock”对话框,此时可以 修改信号的周期、相位和占空比。设置完后单击 “OK”按钮,输入信号“A”设置完毕。同理设置 其他输入信号“B”,最后单击保存文件按钮 , 根据提示完成保存工作,如图1-23所示。同时, 为了方便读者熟悉其他波形编辑工具的使用,在 图1-24中标注了其他波形编辑工具的功能。
第23页/共68页
1. 建立仿真文件
(1)建立矢 量波形文件。
File|New 选 择Other Files , 选择Vector Waveform File 。
第24页/共68页
第25页/共68页
(2)添加引脚或节点。 图1-16,左键双击 “Name”下方空白处, 弹出“Insert Node or Bus”对话框,如图1-17 所示。单击对话框 “Node Finder…”按钮后, 弹出“Node Finder”对话 框,如图1-18所示。

第2讲 QUARTUSⅡ开发软件 EDA课件-精选文档

第2讲 QUARTUSⅡ开发软件 EDA课件-精选文档

(1) 双击桌面上的Quartus Ⅱ 6.0快捷图标, 图2.5所示的“Quartus Ⅱ”窗口。
打开如
图2.5 “Quartus Ⅱ”窗口
第4 章
原理图与宏功能模块设计
(2) 选择如图2.6所示的“File”→“New Project Wizard…”命令,
打开如图2.7所示的“New Project Wizard:Introduction”对话框。
白项目,因此暂时没有 文件需要添加。
图2.9 “New Project Wizard:Add Files[page 2 of 5]”对话框
第4 章
原理图与宏功能模块设计
(5) 在如图 2.9所示的对话框 中单击“Next” 按钮,打开如图 2.10所示的 “New Project Wizard:Family & Device Settings [page 3 of 5]”对话框。
为“hsa.bdf”,并且将文件存盘于新建项目的文件夹中。
设计输入完成!
第4 章
原理图与宏功能模块设计
(21) 在主菜单中选择“Processing”→“Start Compilation”命 令,系统对设计进行编译,同时打开“Compilation ReportFlow Summary”窗体,“Status”视图中将显示编译的进程,界 面如图2.24所示。
图2.10 “New Project Wizard: Family & Device
Settings [page 3 of 5]”对话框
第4 章
原理图与宏功能模块设计
(6) 在如图2.10所示的对话 框中的“Family”下拉列表中选 择“FLEX10K”,在“Target device”区域中选择“Specific device selected in ‘Available devices’list”单选项。然后在对 话框下方的“Available devices” 列表中选择“EPF10K10LC844”,单击“Next”按钮,打开如 图2.11所示的“New Project Wizard:EDA Tool Settings [page 4 of 5]”对话框。

QuartusⅡ中宏功能模块的使用-精选文档

QuartusⅡ中宏功能模块的使用-精选文档
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

Quartus II教程

Quartus II教程

第3章 Altera Quartus II软件开发向导基于Altera Quartus II软件的设计方法有模块编辑法、文本编辑法、宏模块编辑法和包含前三种方法的混合编辑法。

宏模块设计法放在第6章讲述,本章通过实例简单介绍使用Quartus II软件的模块原理图编辑法、文本编辑法和包含前两种方法的混合编辑法。

3.1模块编辑及设计流程Quartus II软件的模块编辑器以原理图的形式和图标模块的形式来编辑输入文件。

每个模块文件包含设计中代表逻辑的框图和符号。

模块编辑器可以将框图、原理图或符号集中起来,用信号线、总线或管道连接起来形成设计,并在此基础上生成模块符号文件(.bdf)、AHDL Include文件(.inc)和HDL 文件。

3.1.1 原理图输入文件的建立在这里我们设计非常简单一个二输入的或门电路。

它只包含一个或门、两个输入引脚和一个输出引脚。

首先创建一个原理图形式的输入文件。

步骤如下:(1)打开模块编辑器单击【File】|【New】,弹出新建文件对话框,如图3.1所示。

图3.1 新建文件对话框选择文件类型【Block Diagram/Schematic File】,打开模块编辑器,如图3.2所示。

使用该编辑器可以编辑图标模块,也可以编辑原理图。

·217·图3.2 模块编辑器Quartus II提供了大量的常用的基本单元和宏功能模块,在模块编辑器中可以直接调用它们。

在模块编辑器要插入元件的地方单击鼠标左键,会出现小黑点,称为插入点。

然后鼠标左键,弹出【Symbol】对话框,如图3.3所示。

或者在工具栏中单击图标,也可打开该对话框。

图3.3 Symbol对话框在Symbol对话框左边的元件库【Libraries】中包含了Quartus II提供的元件。

它们存放在\altera\quartus60\libraries\的子目录下,分为primitives、others、megafunctions三个大类。

第7章 QuartusⅡ中的宏功能模块及应用

第7章 QuartusⅡ中的宏功能模块及应用
第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。 如下图所示 。

第2章QuartusII设计向导

第2章QuartusII设计向导
TSTEN1, CLR_CNT => CLR_CNT1, Load => Load1 ); U2 : REG1 PORT MAP( CLOCK => Load1, DATA =>
DTO1, Q => DOUT); U3 : CNT1 PORT MAP( CLOCK => FSIN, ACLR =>
CLR_CNT1, CLK_EN => TSTEN1, Q => DTO1 ); END struc;
第2章 Quartus II设计向导
在建立了文件夹后就可以将设计文件通过Quartus II的文本编辑器编辑并存盘,详细步骤如下:
1. 新建一个文件夹 首先利用Windows资源管理器新建一个文件夹。 假设本项设计的文件夹取名为ftest,在D盘中,路径为 D:\ftest。注意,文件夹名不能用中文。
第2章 Quartus II设计向导
2. 输入源程序 打开Quartus II,选择菜单“File”→“New”,在 New窗中的“Device Design Files”中选择编译文件的语 言类型,这里选“VHDL Files”(如图2-1所示)。然后在 VHDL文本编译窗中键入例2-1的程序,这是频率计项 目中的一个模块:测频计数器CNT1,文本编辑窗口如 图2-2所示。
第2章 Quartus II设计向导
END IF; END IF;
END PROCESS; Q <= CQI;
END behav;
第2章 Quartus II设计向导
【例2-2】测频时序控制器设计。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TESTCTL IS
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 宏功能模块实现该电路。

习题。

相关文档
最新文档