Quartus II开发软件中的宏模块--存储器宏模块
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文件的放置路径
qutartus Ⅱ集成开发工具
习
题
3.8 采用Quartus II软件的宏功能模块lpm_counter设计 一个模为60的加法计数器,进行编译和仿真,查看仿真结果。 3.9 采用Quartus II软件的宏功能模块lpm_rom,用查表 的方式设计一个实现两个8位无符号数加法的电路,并进行 编译和仿真。 3.10 先利用LPM_ROM设计4位×4位和8位×8位乘法器各 一个,然后用Verilog语言分别设计4位×4位和8位×8位乘 法器,比较两类乘法器的运行速度和资源耗用情况。 3.11 用数字锁相环实现分频,假定输入时钟频率为10MHz, 想要得到6MHz的时钟信号,试用altpll宏功能模块实现该电 路。
1995)和大多数Verilog-2001标准(IEEE13642001),还支持VHDL1987标准(IEEE标准10761987)和VHDL1993标准(IEEE标准1076-1993)。
3. 优化布局布线
Setting对话框的Fitter Settings页指定控制时序驱动 编译和编译速度的选择,如下图所示。
3.1.5 生成测试文件
( ) 生 成 测 试 文 件 并 存 盘
1
(2)对测试文件进行设置
3.1.6 设置仿真软件的路径
3.1.7 Quartus自动调用Modelsim进行仿真
3.1.8 将二分频器生成一个元件符号
3.2 Modelsim 图形界面仿真 Modelsim 工作界面
(1)启动Modelsim,转换工作目录
数据线、地址线宽度设置
控制端口设置
添加.mif文件
如下图所示是基于ROM实现的4位×4位的无符号数 乘法器电路图,其参数设置为: LPM_WIDTH=8 LPM_WIDTHAD=8 LPM_FILE=mult_rom.mif
QuartusII软件概述
QuartusII软件概述QuartusII软件是Altera公司最新版本的EDA开发软件,支持APEX系列、Cyclone系列、Stratix系列和Excalibur系列等新型系列器件的开发。
含有工作组计算、集成逻辑分析仪、EDA工具集成、多过程支持、增强重编译和IP集成等特性。
支持百万门级的设计,支持高速I/O设计,具有更强的设计能力和更快的编译速度。
QuartusII开发软件为可编程片上系统(SOPC)设计提供了一个完整的设计环境。
无论是使用个人电脑、NUIX或Linux 工作站,QuartusII都提供了方便设计、快速编译处理以及编程功能。
QuartusII输入的设计过程可分为创建工程、输入文件、项目编译、项目校验和编程下载等几个步骤。
1文本输入的设计过程现通过一个简单设计实例说明QuartusII的基本文本设计过程。
例:用硬件描述语言VHDL设计一个2 输入与非门,设计放d:\ nand2_lab1目录下,工程文件名为nand2_lab1 。
先打开“我的电脑”,在D盘新建名为“nand2_lab1”文件夹。
1、创建工程文件利用QuartusII软件创建工程向导(New Project Wizard)创建一个新工程。
步骤如下:1)打开QuartusII6.0软件界面,在“文件”菜单下选择“New Project Wizard”,点击“next”后弹出如图1.1对话框图1.1 New Project Wizard对话框第一页点选第一行右侧的“…”选择工程目录为“d:\ nand2_lab1”,在第二行输入项目名称: nand2_lab1,第三行默认把项目名设为顶层文件名,点击“next”,2)新建项目向导第二页,如图1.2,该窗口可为项目添加已经编辑好的程序文件,默认为空,点击“next”,图1.2 New Project Wizard对话框第二页3)新建项目向导第三页,如图1.3,该窗口可以选择FPGA硬件信息,在Family下拉框内选择“FLEX10K”,在Avaliable devices窗口选择芯片型号为:EPF10K20RC208-4,其它选项默认。
3 Quartus II集成开发工具
第三章 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中调用宏模块中文介绍
quartus -->tool -->MegaWizard Plug-In Manager 就可以进入了置于参数设置要看是什么模块了,你根据自己的需求选择就是了quarts 最后会自动生成一个你命名的这个模块文件verilog语言就是"你为这个模块起的名字.v"你可以在工程里面找到它打开看看你只需在你的工程里面例化它就可以了就像你例化自定义模块一样。
Gate FunctionLPM_and : 可编程的按位做与运算的与门LPM_bustri :可编程的三态门(可单向,也可双向)enabletr(高电平有效)使能tridata => resultenabledt(高电平有效)使能data => tridataLPM_clshift : 可编程的组合逻辑移位器。
方向和距离是可以编程的。
LPM_constant: 可编程常数生成器LPM_decode : 可编程译码器LPM_inv : 可编程反向器(位数可控)LPM_mux : 可编程多路选择器(sel选择哪路输出)busmus : 可编程2路选择器(LPM_mux的特殊情况)mux : 可编程多路选择器,只有一位输出结果(LPM_mux的宽度为1) LPM_or : 可编程的按位做或运算的或门LPM_xor : 可编程的按位做异或运算的异或门Arithmetic FuntionsLMP_abs : 求绝对值(如果data = 1000000,overflow=1)LPM_add_sub : 可编程加减法器(可以由管脚决定)LPM_compare : 可编程的比较器(可以设定各种输出)LPM_counter : 可编程计数器LPM_mult : 可编程乘法器LPM_divide : 可编程除法器divide : 可编程除法器(与LPM_divide没有什么区别)Parallel_add : 可编程多路并行加法器altmult_accum : 可编程乘加器altaccumulate : 可编程累加器altmemmult :Storage FunctionsLPM_ff : 可编程的触发器(D触发器或T触发器)LPM_latch : 可编程的锁存器(gate=0锁存)LPM_ram_dq : 可编程的同步或异步单端口RAM(两套地址线).LPM_ram_dp : 可编程的简单双端口和真正双端口RAM().LPM_ram_io : 可编程的RAM(地址线一套,数据线为双向的IO)LPM_rom : 可编程的ROMLPM_shiftreg : 可编程的移位寄存器Custom Parameterized Functions csfifo : 可编程的FIFOcsdpram : 可编程的双口RAM。
QuartusII及其原理图设计
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位一 组数据全部转换结束后,输出才变化一次。
QuartusⅡ中宏功能模块的使用
1/23/2020
西安邮电学院计算机系
16
完
1/23/2020
西安邮电学院计算机系
17
1 选择菜单Tools MegaWizard Plug-In Manager(图1),或直接在原理 图设计文件的Symbol对话框中点击MegaWizard Plug-In Manager(图2),则弹出 对话框(图3) 。
图1
图2
1/23/2020
西安邮电学院计算机系
3
QuartusⅡ中宏功能模块的使用
特别是针对一些与Altera器件底层结构相关的特性,必须通过Megafunction实现,例 如一些存储器模块(DPRAM、SPRAM、FIFO、CAM等),DSP模块,LVDS驱动器,PLL,高 速串行收发器(SERDERS),DDR输入/输出(DDIO)等。另外一些诸如乘法器、计数器、 加法器、滤波器等电路虽然也可以直接用代码描述,然后用通用逻辑资源实现,但是 这种描述方法不但费时费力,在速度和面积上与Megafunction的实现结果仍然有较大 的差距。
选择新建一个宏功能实例,进入下一步(图4)。
图3
Hale Waihona Puke 1/23/2020西安邮电学院计算机系
4
QuartusⅡ中宏功能模块的使用
这里列举了可供调用的宏功能模块
数学运算功能类,包括代码纠正、 浮点加/减/乘法器、计数器、平方根 等功能模块。
逻辑门类功能类,包括与/或/非门 常数发生器、反相器模块等。
I/O接口功能类,包括数据收发器 锁相环、I/O缓冲模块等。
选择双口RAM
选择器件
选择输出语言
在工程目录下设 置例化的文件名
图5
1/23/2020
第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开发软件中的宏模块--存储器宏模块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宏功能模块介绍
-----------------------------------------------------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 参数化锁相环电路。
第宏功能模块的应用
第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
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Ⅱ中的宏功能模块及应用
第7章 QuartusⅡ中的宏功能模块及 应用
Altera宏功能模块是复杂或更高级构建模块,可在 QuartusⅡ设计文件中,与逻辑门或触发器等基本单元一起 使用。 QuartusⅡ7.2开发软件提供的各种宏功能模块,如计数 器、乘法器、存储器、寄存器、锁存器等。
8)单击“Finish”按钮,则原理图编辑窗口中出现了 刚才定制的计数器的图形,添加输入输出端口后,如下图 所示。
参数化四位加法计数器原理图
第七章 结束
lpm_counter元件选择窗口
3)弹出宏功能模块定制管理器对话框2: 对lpm_counter元件的各种参数进行选择,定制适合设计需要的 模块,NEXT。
4)弹出定制lpm_counter元件对话框3: 在“How wide should the ‘q’ output bus be?”此处输入“4”位; 并选择“Up only”(为双边沿有效 ),NEXT。
1 宏功能模块与LPM函数
Altera提供的可参数化宏功能模块和LPM函数均为Altera
器件结构做了优化使用宏功能模块能节省时间,不需要用 户对逻辑进行编码,只需调用合适的宏功能模块即可; 使用宏功能模块方便快捷,通过设置参数便可方便地 将宏功能模块伸缩为不同的大小。
使用宏功能模块能优化设计,可参数化宏功能模块和 LPM函数能更有效地对设计文件进行逻辑综合和器件实现。
2 知识产权IP核
IP核是指将一些在数字电路中常用但比较复杂的功 能块,如FIR滤波器,SDRAM控制器,PCI接口等设计 成可修改参数的模块,让其他用户可以直接调用这些模 块。
3 宏功能模块定制管理器
QuartusII软件的使用
Q u a r t u s I I软件的使用入门4.1Quartus II 简介Quautus II是Altera 公司的综合性PLD开发软件,支持原理图、VHDL、Verilog-HDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整的PLD设计流程。
它支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对EDA第三方工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
在本教程中使用的Quartus II的版本为5.0 。
4.1.1 设计工作流程用户首先对所做项目进行设计,明确设计目的、设计要求。
然后利用原理图输入方式或文本输入方式进行设计输入。
输入完成后进行编译,若编译过程中发现错误,则应检查设计输入以修改错误,直至没有错误产生。
编译完成后进行仿真,检查是否达到了设计要求,若未达到要求,需重新检查设计输入及编译过程,不断迭代、收敛直至满足设计要求。
最后将设计配置到目标器件中进行硬件验证与测试。
4.1.2 Quartus II 的图形用户界面Quartus II 的图形用户界面如图所示,从图中可以看出共有以下几个子窗口。
编辑输入窗口项目导航窗口状态窗口消息窗口图Quartus II软件的图形用户界面1.Project navigator 项目导航窗口项目导航窗口包括3个可以切换的标签:Hierarchy标签用于层次显示,提供了逻辑单元、寄存器、存储器使用等信息;File和Design Units 提供了工程文件和设计单元的列表。
2.编辑输入窗口设计输入的主窗口,无论原理图还是硬件描述语言编译、仿真的报告都显示在这里。
3.Status窗口状态窗口,用以显示各系统运行阶段的进度。
4.Message窗口消息窗口,实时提供系统消息、警告和错误等信息。
Quartus-II开发软件中的宏模块
[转]Quartus II开发软件中的宏模块1Quartus 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 带三态输出的多端口寄存器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位透明读回锁存器Quartus II开发软件中的宏模块2计数器宏模块名称功能描述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位通用移位寄存器/锁存器。
QuartusII介绍
可编程逻辑篇1 QuartusⅡ6.0基本知识1.1 软件介绍QuartusⅡ可编程片上系统开发软件是Altera可编程片上系统Chip)而研制的软件。
该软件是Altera(PLD)开发软件MUX+PLUSⅡ的换代产品。
支持开发普通的PLD,也可用于开发SOPC版本是QuartusⅡ6.0。
Quartus正版软件是注册型软件,需要向Altera申请使用许可,申请使用许可时,需要C盘的般用户不能直接向Altera公司申请使用许可,需要通发SOPC实验教学仪器的厂家向Altera公司注册。
司也免费提供试用版,但试用版有使用时间限持编译、仿真、文件下载等功能。
正常安装QuartusⅡ6.0的步骤如下①执行install装入光盘,进入到QUARTUSII6.0文件夹,用鼠标左键双击install图标,将出现如图所示窗口。
用鼠标左键单击该按钮,将进入安装过程。
②文件更新进入光盘QUARTUSII6.0下的Crack6.0文件夹,复制sys_cpt.dll文件。
进入硬盘中QUARTUSII6.0软件安装路径,将文件盘的altera\quartus6.0\win文件夹中,把原有的用新文件覆盖。
③软件注册用写字板打开使用许可文件xxxx.dat,将其中的为本机的网卡地址。
运行Quartus II6.0,将出现如图所示界面。
运行QUARTUS II 运行QUARTUS II指定有效的许可文件指定有效的许可文件执行自动WEB 许可申请执行自动WEB 许可申请如图所示窗口。
1.2 主界面介绍主菜单主菜单常用工具条常用工具条专用工具条专用工具条项目管理窗口项目管理窗口信息管理窗口信息管理窗口文件窗口文件窗口⑴主菜单主菜单包含File、Edit、View、Project、Assignments、Processing、Tools、Windows 和Help共九大类。
①FileFile菜单如图所示。
该菜单中的命令主要是对项目和文件进行打开和关闭操作。
FPGA设计基础 QuartusⅡ中宏功能模块使用
选择读写模式按字节读写
图6 2019/3/20 西安邮电学院计算机系 7
QuartusⅡ中宏功能模块的使用
选择存储深度
选择字宽
选择例化时调用 的资-M4K资源/ 逻辑资源(LC)
图7
2019/3/20
西安邮电学院计算机系
8
QuartusⅡ中宏功能模块的使用
选择异步 读写时钟
图8 西安邮电学院计算机系
必须首先学会面对的一种结果----被拒绝
仍然感谢这次机会,因为被拒绝是面试后的两种结果之一。 被拒绝是招聘单位对我们综合考虑的结果,因为我们最关心的 是自己什么地方与用人要求不一致,而不仅仅是面试中的表现。 不要欺骗自己,说“我本来就不想去”等等。 认真考虑是否有必要再做努力。 以具体的形式感谢招聘单位的接纳,如邮件、短信 考虑怎样使自己的知识能力更适应工作需要 把走进工作岗位当作职业生涯的重要的第一步,认真思考如何 为以后的发展开好头。
2019/3/20
9
QuartusⅡ中宏功能模块的使用
选择读出端是 否加D触发器
图9 西安邮电学院计算机系
2019/3/20
10
QuartusⅡ中宏功能模块的使用
选择存储空间初始 化方式及初始值
图 10 西安邮电学院计算机系
2019/3/20
11
QuartusⅡ中宏功能模块的使用
仿真与综合相关信息
该向导工具帮助用户建立或修改包含自定义宏功能模 块变量的设计文件,这些设计文件可以在用户的设计 中进行实例化。
2019/3/20
西安邮电学院计算机系
2
QuartusⅡ中宏功能模块的使用
在QuartusⅡ软件中使用MegaWizard Plug-In Manager对宏功能模块进行实例 化的步骤如下: 1 选择菜单Tools MegaWizard Plug-In Manager(图1),或直接在原理 图设计文件的Symbol对话框中点击MegaWizard Plug-In Manager(图2),则弹出 对话框(图3) 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74298 带存储功能的四2输入多路复用器
74352 带反相输出的双4线-1线数据选择器/多路复用器
74353 带三态反相输出的双4线-1线数据选择器/多路复用器
74354 带三态输出的8线-1线数据选择器/多路复用器
74356 带三态输出的8线-1线数据选择器/多路复用器
74390 双10进制计数器
74393 双4位加法计数器,异步清零
74490 双4位10进制计数器
74568 10进制加/减计数器,同步读取,同步和异步清零
74569 2进制加/减计数器,同步读取,同步和异步清零
74590 8位2进制计数器,带三态输出寄存器
74592 8位2进制计数器,带输入寄存器
74670 带三态输出的4位寄存器
74821 带三态输出的10位总线接口触发器
74821b 带三态输出的10位D触发器
74822 带三态反相输出的10位总线接口触发器
74822b 带三态反相输出的10位D触发器
74823 带三态输出的9位总线接口触发器
74823b 带三态输出的9位D触发器
74151 8线-1线多路复用器
74151b 8线-1线多路复用器
74153 双4线-1线多路复用器
74157 四2线-1线多路复用器
74158 带反相输出的四2线-1线多路复用器
74251 带三态输出的8线-1线数据选择器
74253 带三态输出的双4线-1线数据选择器
74257 带三态输出的四数器,同步读取,同步清零
74168 同步4位10进制加/减计数器
74169 同步4位2进制加/减计数器
74176 可预置10进制计数器
74177 可预置2进制计数器
74190 4位10进制加/减计数器,异步读取
74191 4位2进制加/减计数器,异步读取
74166 带时钟禁止端的8位移位寄存器
74178 4位移位寄存器
74179 带清零端的4位移位寄存器
74194 带并行读入端的4位双向移位寄存器
74195 4位并行移位寄存器
74198 8位双向移位寄存器
74199 8位双向移位寄存器
74295 带三态输出端的4位左右移位寄存器
Quartus II开发软件中的宏模块--时序电路宏模块
触发器
宏模块名称 功能描述
lpm_ff 参数化D或T触发器
lpm_dff 参数化D触发器和移位寄存器
lpm_tff 参数化T触发器
enadff 带使能端的D触发器
expdff 用扩展电路实现的D触发器
7470 带预置和清零端的与门JK触发器
7494 带异步预置和异步清零端的4位移位寄存器
7495 4位并行移位寄存器
7496 5位移位寄存器
7499 带JK串入串出端的4位移位寄存器
74164 串入并出移位寄存器
74164b 串入并出移位寄存器
74165 并行读入8位移位寄存器
74165b 并行读入8位移位寄存器
74697 同步2进制加/减计数器,带输出寄存器,多重三态输出,异步清零
74698 同步10进制加/减计数器,带输出寄存器,多重三态输出,同步清零
74699 同步2进制加/减计数器,带输出寄存器,多重三态输出,同步清零
分频器
宏模块名称 功能描述
Freqdiv 2,4,8,16分频器
74845 带三态输出的8位总线接口D锁存器
74846 带三态输出的8位总线接口D反相锁存器
74990 8位透明读回锁存器
计数器
宏模块名称 功能描述
lpm_conter 参数化计数器(仅限FLEX系列器件)
gray4 格雷码计数器
unicnt 通用4位加/减计数器,可异步设置、读取、清零和级联的左/右移位寄存器
74398 带存储功能的四2输入多路复用器
74399 带存储功能的四2输入多路复用器
移位寄存器
宏模块名称 功能描述
lpm_clshift 参数化组合逻辑移位器
lpm_shiftreg 参数化移位寄存器
barrelst 8位桶形移位器
barrlstb 8位桶形移位器
7491 串入串出移位寄存器
8mcompb 8位数值比较器
74671 带强制清零和三态输出端的4位通用移位寄存器/锁存器
Quartus II开发软件中的宏模块--运算电路宏模块
Quartus II开发软件中的宏模块--运算电路宏模块
加法器和减法器
宏模块名称 功能描述
lpm_add_sub 参数化加法器/减法器
8fadd 8位全加器
RAM宏模块
宏模块名称 功能描述
csdpram 参数化循环共享双端口RAM
lpm_ram_dp 参数化双端口RAM
lpm_ram_dq 参数化RAM,输入/输出端分离
lpm_ram_io 参数化RAM,输入/输出端公用一个端口
FIFO宏模块
宏模块名称 功能描述
74116 带清零端的双4位锁存器
74259 带清零端、可设定地址的锁存器
74279 4路SR(非)锁存器
74373 带三态输出的8进制透明D锁存器
74373b 带三态输出的8进制透明D锁存器
74375 4位双稳态锁存器
74549 8位二级流水线锁存器
74604 带三态输出的8进制2输入多路锁存器
lpm_mult 参数化乘法器
mult2 2位带符号数乘法器
mult24 2X4位并行2进制乘法器
mult4 4位并行2进制乘法器
mult4b 4位并行2进制乘法器
tmult4 4X4位并行2进制乘法器
7497 同步6位速率乘法器
74261 2位并行2进制乘法器
宏模块名称 功能描述
lpm_latch 参数化锁存器
explatch 用扩展电路实现的锁存器
Inpltch 用扩展电路实现的输入锁存器
nandltch 用扩展电路实现的SR(非)与非门锁存器
norltch 用扩展电路实现的SR或非门锁存器
7475 4位双稳态锁存器
7477 4位双稳态锁存器
csfifo 参数化循环共享FIFO
dcfifo 参数化双时钟FIFO
scfifo 参数化单时钟FIFO
lpm_fifo 参数化单时钟FIFO
lpm_fifo_dc 参数化双时钟FIFO
ROM的设计
lpm_rom
Quartus II开发软件中的宏模块--时序电路宏模块
74109 带预置和清零端的双JK触发器
74112 带预置和清零端的双JK时钟下降沿触发器
74113 带预置端的双JK时钟下降沿触发器
74114 带异步预置、公共清零和公共时钟端的双JK时钟下降沿触发器
74171 带清零端的4D触发器
74172 带三态输出的多端口寄存器
74173 4位D型寄存器
74299 8位通用移位/存储寄存器
74350 带三态输出端的4位移位寄存器
74395 带三态输出端的4位可级联移位寄存器
74589 带输入锁存和三态输出端的8位移位寄存器
74594 带输入锁存的8位移位寄存器
74595 带输入锁存和三态输出端的8位移位寄存器
74597 带输入寄存器的8位移位寄存器
8faddb 8位全加器
7480 门控全加器
7482 2位2进制全加器
7483 带快速进位的4位2进制全加器
74183 双进位存储全加器
74283 带快速进位的4位全加器
74385 带清零端的4位加法器/减法器
乘法器
宏模块名称 功能描述
74374b 带三态输出和输出使能端的8进制D触发器
74376 带公共时钟和公共清零端4JK触发器
74377 带使能端的8进制D触发器
74377b 带使能端的8进制D触发器
74378 带使能端的16进制D触发器
74379 带使能端的4D触发器
74396 8进制存储寄存器
74548 带三态输出的8位两级流水线寄存器
74668 同步10进制加/减计数器
74669 同步4位2进制加/减计数器
74690 同步10进制计数器,带输出寄存器,多重三态输出,异步清零
74691 同步2进制计数器,带输出寄存器,多重三态输出,异步清零
74693 同步2进制计数器,带输出寄存器,多重三态输出,同步清零
74696 同步10进制加/减计数器,带输出寄存器,多重三态输出,异步清零
74284 4X4位并行2进制乘法器(输出结果的最高4位)
74285 4X4位并行2进制乘法器(输出结果的最低4位)
除法器
divide和lpm_divide
绝对值运算
lpm_abs
数值比较器
宏模块名称 功能描述
lpm_compare 参数化比较器
8mcomp 8位数值比较器
7456 双时钟5,10分频器
7457 双时钟5,6,10分频器
多路复用器
宏模块名称 功能描述
lpm_mux 参数化多路复用器
2lmux 2线-1线多路复用器
16lmux 16线-1线多路复用器
2X8mux 8位总线的2线-1线多路复用器
8lmux 8线-1线多路复用器