1、1QuartusII介绍及原理图设计介绍及原理图设计2QUARTUS II 软件介绍软件介绍1、版本下载地址:、版本下载地址:ftp:/ftp.altera/outgoing/release/91_quartus_windows.exe (2.77GB)2、破解下载地址:、破解下载地址:down.qiannao/space/file/sniper1987/share/2019/4/25/Crack_Altera_6.0-002d9.1.rar/.page Crack_Altera_6.0-9.1.rar 3 3、安装和破解详细说明地址:、安装和破解详细说明地址:cns/crazybingo/a
2、rchive/2019/05/14/1735341.html 3QUARTUS II 安装注意事项安装注意事项1 1、需要、需要5GB5GB空间空间2 2、需要关闭杀毒软件(所以最好是断网安装)、需要关闭杀毒软件(所以最好是断网安装)3 3、安装过程中选择路径中最好不要有中文,下、安装过程中选择路径中最好不要有中文,下划线等划线等4QUARTUS II 设计开发流程设计开发流程5QUARTUS II 文件格式介绍文件格式介绍6QUARTUS II 图表和原理图编辑器图表和原理图编辑器1 1、图表模块编辑是主要的顶层设计的主要方法、图表模块编辑是主要的顶层设计的主要方法2 2、原理图编辑是传统的
3、设计输入方法、原理图编辑是传统的设计输入方法3 3、用户可以利用加入、用户可以利用加入QUARTUS II提供的提供的LPMs,宏功,宏功能等函数以及用户自己的库函数来设计能等函数以及用户自己的库函数来设计4、提供、提供“智能智能”的模块链接和映射的模块链接和映射7QUARTUS II 图表模块设计流程图表模块设计流程8QUARTUS II 新建项目新建项目1 1、新建项目:、新建项目:File-New Project Wizard,选择项,选择项目路径,输入项目名称:目路径,输入项目名称:Example,以及顶层文件,以及顶层文件名:名:Example其余选项采用默其余选项采用默认选项,可直
4、接认选项,可直接点点finish,若有原,若有原始文件,点始文件,点next添加文件添加文件9QUARTUS II 新建项目新建项目10QUARTUS II 新建文件新建文件1 1、新建项目:、新建项目:File-New,在项目,在项目Example中新建中新建文件,因新建项目时顶层文件名为文件,因新建项目时顶层文件名为Example,所以,所以主文件名为主文件名为Example11QUARTUS II 新建文件新建文件(1)(1)、Block Diagram/Schematic File,原理图输入,原理图输入方式,易于理解,文件存放后缀为方式,易于理解,文件存放后缀为.bdf.bdf(2)
5、(2)、Verilog HDL文件文件,主要用于用,主要用于用verilog HDL语言编写程序实现功能,文件存放后缀为语言编写程序实现功能,文件存放后缀为.v(3)(3)、Vector Waveform File,仿真文件,主要用于,仿真文件,主要用于进行软件仿真,文件存放后缀为进行软件仿真,文件存放后缀为.vwf(4)(4)、Memory Initialization File,配置文件,主要,配置文件,主要用于存储器部件用于存储器部件rom,ram数据的写入,文件存放后数据的写入,文件存放后缀为缀为.mif12QUARTUS II 原理图设计例子原理图设计例子2 2、调用调用Quartu
6、s内部元件,可在工作区直接双击,内部元件,可在工作区直接双击,再输入所需的元件名即可,例如调用元件库中的再输入所需的元件名即可,例如调用元件库中的3-8译码器,只要输入译码器,只要输入74138即可即可13QUARTUS II 原理图设计例子原理图设计例子14QUARTUS II 原理图设计例子原理图设计例子15QUARTUS II 原理图设计例子原理图设计例子3 3、编译文件:文件建立完毕,点击右上角的紫红色编译文件:文件建立完毕,点击右上角的紫红色按钮按钮Start Compilation进行编译进行编译16QUARTUS II 原理图设计例子原理图设计例子17QUARTUS II 原理图
7、设计例子原理图设计例子18QUARTUS II 原理图设计例子原理图设计例子4 4、进行软件仿真进行软件仿真Example.vwf:左侧右键:左侧右键-Insert Node or Bus(或直接双击),在对话框中选择(或直接双击),在对话框中选择Node Finder,导入输入输出端,导入输入输出端双击双击19QUARTUS II 原理图设计例子原理图设计例子20QUARTUS II 原理图设计例子原理图设计例子21QUARTUS II 原理图设计例子原理图设计例子22QUARTUS II 原理图设计例子原理图设计例子23QUARTUS II 原理图设计例子原理图设计例子24QUARTUS
8、II 原理图设计例子原理图设计例子5 5、在仿真文件中设置输入值,点右上角的蓝色按钮在仿真文件中设置输入值,点右上角的蓝色按钮Start Simulation进行仿真,设置如下进行仿真,设置如下双击设置时双击设置时间点间点25QUARTUS II 原理图设计例子原理图设计例子26QUARTUS II 原理图设计例子原理图设计例子27QUARTUS II 原理图设计例子原理图设计例子28QUARTUS II 原理图设计例子原理图设计例子29QUARTUS II 原理图设计例子原理图设计例子30QUARTUS II 原理图设计例子原理图设计例子最终设置最终设置31QUARTUS II 原理图设计例
9、子原理图设计例子32QUARTUS II 原理图设计例子原理图设计例子33QUARTUS II Functional Simulation功能仿真功能仿真功能仿真:验证综合电路逻辑运算单元的正确性,功能仿真:验证综合电路逻辑运算单元的正确性,不考虑器件的时延,算是理想状态下的仿真,不考虑器件的时延,算是理想状态下的仿真,Quartus II程序默认程序默认timing simulation34QUARTUS II Functional Simulation功能仿真功能仿真35QUARTUS II Functional Simulation功能仿真功能仿真36QUARTUS II Functio
10、nal Simulation功能仿真功能仿真37QUARTUS II Timing Simulation功能仿真功能仿真时序仿真:通过功能仿真验证设计文件的正确性,时序仿真:通过功能仿真验证设计文件的正确性,就压考虑综合电路遇到的时延问题。时序仿真同时就压考虑综合电路遇到的时延问题。时序仿真同时验证电路的逻辑和时序正确性。验证电路的逻辑和时序正确性。38QUARTUS II 习题一习题一1-1 基于基于Quartus II软件,用软件,用D触发器设计一个触发器设计一个2分频电路,分频电路,并做波形仿真,在此基础上,设计一个并做波形仿真,在此基础上,设计一个4分频和分频和8分频电路,分频电路,做
11、波形仿真。做波形仿真。选择菜单选择菜单File-Create/Update-Create Symbol Files for Current File将二分频生成一个元件符号,以供调用,可用来将二分频生成一个元件符号,以供调用,可用来生成生成4分频,分频,8分频,当然也可以直接将分频,当然也可以直接将2分频的输出信号作分频的输出信号作为下一个分频器的输入信号为下一个分频器的输入信号39编译注意编译注意要设置正确的工作文件要设置正确的工作文件为为Top-Level40编译注意编译注意要设置正确和工作文件要设置正确和工作文件匹配的匹配的vwf文件文件41QUARTUS II 习题一习题一1-2 基于
12、基于Quartus II软件,用软件,用7490设计一个能计时(设计一个能计时(12小小时)、计分(时)、计分(60分)和计秒(分)和计秒(60秒)的简单数字钟电路。设秒)的简单数字钟电路。设计过程如下:计过程如下:(1)先用)先用Quartus II的原理图输入方式,用的原理图输入方式,用7490连接成包连接成包含进位输出的模含进位输出的模60的计数器,并进行仿真,如果功能正确,的计数器,并进行仿真,如果功能正确,则将其生成一个部件;则将其生成一个部件;(2)将)将7490连接成模连接成模12的计数器,进行仿真,如果功能正的计数器,进行仿真,如果功能正确,也将其生成一个部件;确,也将其生成一
13、个部件;(3)将以上两个部件连接成为简单的数字钟电路,能计时、)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,计满计分和计秒,计满12小时后系统清小时后系统清0重新开始计时。重新开始计时。(4)在实现上述功能的基础上可以进一步增加其它功能,)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能,能随意调整小时、分钟信号,增加整点报时比如校时功能,能随意调整小时、分钟信号,增加整点报时功能等。功能等。42编译注意编译注意注意总线的画法和定义注意总线的画法和定义要查找器件的资料,确保管脚定义,及其管脚工作状态要查找器件的资料,确保管脚定义,及其管脚工作状态注意同步清零和异步清零
14、的方法注意同步清零和异步清零的方法43QUARTUS II 习题一习题一1-3 基于基于Quartus II软件,用部分积右移方式设计实现一个软件,用部分积右移方式设计实现一个4位二进制乘法器,选择合适的器件,画出电路连接位二进制乘法器,选择合适的器件,画出电路连接44计数计数HHHH保持保持LHH保持保持LHHDCBADCBALHLLLLLQDQCQBQADCBACPETEPLDRD输出输出预置数据输入预置数据输入时钟时钟使能使能预置预置清零清零1-4 基于基于Quartus II软件,用软件,用74161设计一个模设计一个模99的计的计数器,个位和十位都采用数器,个位和十位都采用8421B
15、CD码的编码方式设计,分码的编码方式设计,分别用置别用置0和置和置1两种方法实现,完成原理图设计输入、编译、两种方法实现,完成原理图设计输入、编译、仿真和下载整个过程。仿真和下载整个过程。QUARTUS II 习题一习题一45QUARTUS II 习题一习题一1-5 基于基于Quartus II软件,用软件,用7490设计一个模设计一个模71计数器,计数器,个位和十位都采用个位和十位都采用8421BCD码的编码方式设计,完成原理码的编码方式设计,完成原理图设计输入、编译、仿真和下载整个过程。图设计输入、编译、仿真和下载整个过程。1-6 基于基于Quartus II,用,用74283(4位二进制
16、全加器)设计位二进制全加器)设计实现一个实现一个8位全加器,并进行综合和仿真,查看综合结果和位全加器,并进行综合和仿真,查看综合结果和仿真结果。仿真结果。46QUARTUS II 习题一习题一1-7 基于基于Quartus II,用,用74194(4位双向移位寄存器)设位双向移位寄存器)设计一个计一个“00011101”序列产生器电路,进行编译和仿真,序列产生器电路,进行编译和仿真,查看仿真结果。查看仿真结果。1-8 基于基于Quartus II软件,用软件,用D触发器和适当的门电路实现触发器和适当的门电路实现一个输出长度为一个输出长度为15的的m序列产生器,进行编译和仿真,查看序列产生器,进
17、行编译和仿真,查看仿真结果。仿真结果。47QUARTUS II 习题一习题一1-9 用用D触发器构成按循环码触发器构成按循环码(000-001-011-111-101-100-000)规律工作的六进制同步计数器。规律工作的六进制同步计数器。1-10 用用74194、74273、D触发器等器件组成触发器等器件组成8位串入并位串入并出的转换电路,要求在转换过程中数据不变,只有当出的转换电路,要求在转换过程中数据不变,只有当8位一位一组数据全部转换结束后,输出才变化一次。组数据全部转换结束后,输出才变化一次。48QUARTUS II 习题一习题一1-9 用用D触发器构成按循环码触发器构成按循环码(0
18、00-001-011-111-101-100-000)规律工作的六进制同步计数器。规律工作的六进制同步计数器。1-10 用用74194、74273、D触发器等器件组成触发器等器件组成8位串入并位串入并出的转换电路,要求在转换过程中数据不变,只有当出的转换电路,要求在转换过程中数据不变,只有当8位一位一组数据全部转换结束后,输出才变化一次。组数据全部转换结束后,输出才变化一次。49QUARTUS II 习题一习题一1-11 设计一个运算电路,实现两个二位二进制数的平方和设计一个运算电路,实现两个二位二进制数的平方和。1-12 用双用双2线线4线译码器线译码器74LS139扩展成扩展成3线线8线译
19、码器线译码器。1-13 用用74LS283设计四位二进制加减计算器设计四位二进制加减计算器 1-14 用用74LS283完成四位二进制乘法运算完成四位二进制乘法运算1-15 用用74LS290级联实现模级联实现模87计数器计数器 50QUARTUS II 习题一习题一1-16 用用74LS161及门电路产生序列信号发生器及门电路产生序列信号发生器 1-17 用用74LS161及及74LS138产生节拍发生器产生节拍发生器 1-18 用移位寄存器设计序列信号发生器用移位寄存器设计序列信号发生器 1-19 用用D触发器设计只有八个状态的四级约翰逊计数器触发器设计只有八个状态的四级约翰逊计数器 1-
20、20 用用JK触发器设计同步五进制加法计数器触发器设计同步五进制加法计数器51QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计u 乘法器模块乘法器模块u 计数器模块计数器模块u 锁相环模块锁相环模块u 存储器模块存储器模块u 其他模块其他模块52QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计 Megafunction库是库是Altera提供的参数化提供的参数化模块库。从功能上看,可以把模块库。从功能上看,可以把Megafunction库中的元器件分为:库中的元器件分为:u 算术运算模块(算术运算模块(arithmetic)u 逻辑门模块(逻辑门模块(gates
21、)u 储存模块(储存模块(storage)u IO模块(模块(I/O)53QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计算数运算模块库算数运算模块库 54QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计参数化乘法器参数化乘法器lpm_mult宏功能模块的基本参数表宏功能模块的基本参数表lpm_mult55QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计(1)调用)调用lpm_mult56QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计(2)lpm_mult参数设置参数设置输入输出位宽设置输入输出位宽设置乘法器类型设置乘法器类型设
22、置57QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计8位有符号乘法器电路位有符号乘法器电路58QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计计数器模块计数器模块计数器输出端口宽度和计数方向设置计数器输出端口宽度和计数方向设置 59QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计计数器模和控制端口设置计数器模和控制端口设置 60QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计更多控制端口设置更多控制端口设置61QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计模模24方向可控计数器电路方向可控计数器电路lpm_co
23、unter计数器功能仿真波形计数器功能仿真波形62QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计 参数化锁相环宏模块参数化锁相环宏模块altpll以输入时钟信号作为参考信以输入时钟信号作为参考信号实现锁相,从而输出若干个同步倍频或者分频的片内号实现锁相,从而输出若干个同步倍频或者分频的片内时钟信号。与直接来自片外的时钟相比,片内时钟可以时钟信号。与直接来自片外的时钟相比,片内时钟可以减少时钟延迟,减小片外干扰,还可改善时钟的建立时减少时钟延迟,减小片外干扰,还可改善时钟的建立时间和保持时间,是系统稳定工作的保证。不同系列的芯间和保持时间,是系统稳定工作的保证。不同系列的芯片对
24、锁相环的支持程度不同,但是基本的参数设置大致片对锁相环的支持程度不同,但是基本的参数设置大致相同,下面便举例说明相同,下面便举例说明altpll的应用。的应用。锁相环模块63QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计(1)输入)输入altpll宏功能模块宏功能模块选择芯片和设置参考时钟选择芯片和设置参考时钟 64QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计锁相环控制信号设置锁相环控制信号设置 65QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计输入时钟设置输入时钟设置 66QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计
25、(2)编译和仿真)编译和仿真锁相环电路锁相环电路功能仿真波形功能仿真波形67QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计 ROM(Read Only Memory,只读存储器)是存储器的,只读存储器)是存储器的一种,利用一种,利用FPGA可以实现可以实现ROM的功能,但其不是真正意义的功能,但其不是真正意义上的上的ROM,因为,因为FPGA器件在掉电后,其内部的所有信息都器件在掉电后,其内部的所有信息都会丢失,再次工作时需要重新配置。会丢失,再次工作时需要重新配置。Quartus II提供的参数化提供的参数化ROM是是lpm_rom,下面用一,下面用一个乘法器的例子来说明它
26、的使用方法,这个例子使用个乘法器的例子来说明它的使用方法,这个例子使用lpm_rom构成一个构成一个4位位4位的无符号数乘法器,利用查表位的无符号数乘法器,利用查表方法完成乘法功能。方法完成乘法功能。存储器模块存储器模块68QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计数据线、地址线宽度设置数据线、地址线宽度设置 69QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计控制端口设置控制端口设置 70QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计添加添加.mif文件文件71QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计 如下图所示
27、就是基于如下图所示就是基于ROM实现的实现的4位位4位的无符号位的无符号数乘法器电路图,其参数设置为:数乘法器电路图,其参数设置为:LPM_WIDTH=8LPM_WIDTHAD=8LPM_FILE=mult_rom.mif72QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计73QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计其他模块其他模块 Maxplus2库主要由库主要由74系列数字集成电路组成,包括系列数字集成电路组成,包括时序电路宏模块和运算电路宏模块两大类,其中时序电时序电路宏模块和运算电路宏模块两大类,其中时序电路宏模块包括触发器、锁存器、计数器、分频
28、器、多路路宏模块包括触发器、锁存器、计数器、分频器、多路复用器和移位寄存器,运算电路宏模块包括逻辑预算模复用器和移位寄存器,运算电路宏模块包括逻辑预算模块、加法器、减法器、乘法器、绝对值运算器、数值比块、加法器、减法器、乘法器、绝对值运算器、数值比较器、编译码器和奇偶校验器。较器、编译码器和奇偶校验器。对于这些小规模的集成电路,在数字电路课程中有详细对于这些小规模的集成电路,在数字电路课程中有详细的介绍。他们的调入方法和的介绍。他们的调入方法和Megafunction库中的宏模库中的宏模块是一样的,只是端口和参数无法设置。块是一样的,只是端口和参数无法设置。74QUARTUS II 基于基于L
29、PM宏单元库的设计宏单元库的设计计数器计数器74161设计举例设计举例 模模10计数器计数器75QUARTUS II 基于基于LPM宏单元库的设计宏单元库的设计模模10计数器仿真波形计数器仿真波形76习题习题1 采用采用Quartus II软件的宏功能模块软件的宏功能模块lpm_counter设计一设计一个模为个模为60的加法计数器,进行编译和仿真,查看仿真结果。的加法计数器,进行编译和仿真,查看仿真结果。2 采用采用Quartus II软件的宏功能模块软件的宏功能模块lpm_rom,用查表的,用查表的方式设计一个实现两个方式设计一个实现两个8位无符号数加法的电路,并进行编位无符号数加法的电路,并进行编译和仿真。译和仿真。3 先利用先利用LPM_ROM设计设计4位位4位和位和8位位8位乘法器各一位乘法器各一个,个,然后用然后用Verilog语言分别设计语言分别设计4位位4位和位和8位位8位乘法位乘法器,比较两类乘法器的运行速度和资源耗用情况器,比较两类乘法器的运行速度和资源耗用情况。4 用数字锁相环实现分频,假定输入时钟频率为用数字锁相环实现分频,假定输入时钟频率为10MHz,想,想要得到要得到6MHz的时钟信号,试用的时钟信号,试用altpll宏功能模块实现该电路。宏功能模块实现该电路。