彻底掌握Quartus
- 格式:doc
- 大小:28.50 KB
- 文档页数:8
【转】彻底掌握Quartus——基础篇彻底掌握Quartus——基础篇版权声明:本⽂为博主原创⽂章,遵循版权协议,转载请附上原⽂出处链接和本声明。
本⽂链接:=============================================================你可以在上⾯搜索到quartus的下载链接,然后在百度能找到。
不建议⽤quartus13以前的版本(旧版带的USB blaster驱动可能在WIN8、WIN10上⾯安装不了),还有quartus13及以后的版本都把IDE和器件包分成两部分,记得下载器件包。
此外,quartus13.0sp1是最后⼀个⽀持cyclone II的版本。
接下来,介绍Quartus 13最基础的⽇常使⽤⽅法。
如何新建⼯程就不说了,但是要注意,⼯程⽬录和⼯程名不要有中⽂和空格,还有,要有⼀个设计⽂件(如,.v、.vhd、.bsf⽂件)的名称要跟⼯程名⼀样,不然会有警告。
⼀、新建⼯程,New个设计⽂件,会出现下图所⽰。
上⾯那么多种⽂件有什么卵⽤?1、AHDL⽂件,⽤于编写Altera发明的AHDL语⾔,此语⾔已经被淘汰,可以不管它。
2、Block Diagram/Schematic⽂件,原理图⽂件,跟AD、PADS、Cadence等电路图设计软件的⽤法差不多。
3、EDIF⽂件,⽹表⽂件。
4、Qsys system⽂件,⽤于设计软核,Qsys前⾝是NIOS。
5、State Machine⽂件,状态机⽂件。
6、System Verilog⽂件,⽤于系统级验证。
7、Tcl script⽂件,TCL脚本⽂件。
8和9、常⽤的HDL⽂件(包括verilog和VHDL)10是⼗六进制⽂件,11是MIF⽂件,⽤于ROM或RAM的初始化。
12、Probe⽂件,⽤于观察FPGA内部某⼀信号,⼀般⽤Signaltap13、逻辑分析仪接⼝⽂件,暂时不知道有什么⽤。
14、VWF⽂件,⽤于调⽤quartus⾃带的仿真⼯具QSIM15、AHDL头⽂件,可以不管它。
Quartus的使用方法——从建工程到电路板下载全过程以模4计数器为例:1)打开Quartus,界面如下:2)创建工程,点击File—>New Project Wizard跳过第一个默认的界面,直接进入第二个:注意工程文件名与顶层实体名相同,这在写VHD文件时尤其要注意,在定义entity时名字必须与工程名一致,否则会报错。
下一步需要向工程里添加文件和库,我们现在不需要,暂时直接跳过。
3)选择器件这个器件的选择不能臆想,其实仔细看电板上的芯片就可以看到相应的型号。
一定要根据实际情况选择,否则仿真时会出现问题。
当然如果创建工程时没有选择也没有关系,到时候可以在device里面选择或者更改。
下一步基本上也是默认,直接next。
4)信息确认点击finish即可创建工程,如果发现信息需要修改,可以点击back。
5)创建设计文件点击File—>New,选择Block Diagram/Schematic File,单击OK。
弹出空白的编辑界面6)在空白处双击,在弹出的原件对话框中的Name里直接输入74161,或者可以根据上面的library属性图一级级的查找。
如果熟悉的话还是直接输入器件名称快。
单击OK,或者直接输入enter即可选中原件,然后在适当位置单击鼠标即可安置原件。
7)连接好的电路图如下注意这里有一个命名技巧:注意到右上角的输出线比其他线要粗,这是Bus line表示单向总线,而一般的细线叫Line。
选中该output,单击右键,在properties中的General中根据提示命名,比如这里的q[1..0]。
表明有两根线分别是q[0]和q[1]。
当然需指定这个总线在电路中是哪几根线,上图中是指从74161到与非门的输出线,所以要分别选中,并为之赋予相应的名字。
如果省略这一步,将会提示该q[1..0]没有指定,编译都不通过。
8)保存文件File—>save,注意文件名与工程名要相同,即不改变默认名即可。
Quartus II入门详细教程实例讲解写在前面:1.本教程适合以前没有接触过QuartusII开发软件的新手,本教程是基础的入门,后续的学习还得大家自己努力。
2.本教程非常详细手把手带大家入门,网上现存的很多教程,有的过于跳跃,难以跟上;有的遇到错误,但教程没有指出,导致我们不知道怎么做。
3.本教程首先通过简单的仿真实验带大家入门。
VHDL源代码会附在文档最后。
4.本教程使用Quartus II 9.1版本进行演示,其他版本的操作差别不是太大,也可以进行学习。
目录一、Quartus II开发软件基本介绍1.1 Quartus Ⅱ简介Quartus Ⅱ是Altera公司推出的专业EDA工具,支持原理图输入、硬件描述语言的输入等多种输入方式。
硬件描述语言的输入方式是利用类似高级程序的设计方法来设计出数字系统。
1.2 Quartus Ⅱ开发流程使用Quartus II 软件进行开发的流程如图1.2.1所示。
需注意的是,Quartus II还可以使用命令行模式的TCL批处理脚本进行自动流程控制。
图1.2.1 Quartus Ⅱ开发流程二、用3-8译码器的设计介绍QuartusⅡ的基本使用方法(VHDL仿真)1.1打开软件双击桌面安装好的QuartusⅡ 9.1图标,打开软件,主页面如图1所示。
图1在图1中,1区为菜单栏:软件所有功能的控制选项都可以在其下拉菜单中找到。
2区为快捷工具栏:提供设置(setting),编译(compile)等快捷方式,方便用户使用,用户也可以在菜单栏的下拉菜单找到相应的选项。
3区为资源管理窗口。
4区为编译及综合的进度栏:编译和综合的时候该窗口可以显示进度,当显示100%是表示编译或者综合通过。
5区为工作区。
6区为信息栏:编译或者综合整个过程的详细信息显示窗口,包括编译通过信息和报错信息。
2.2新建工程运行菜单命令“File->New Project Wizard”,打开新工程向导,首先出现如图2所示的工程向导介绍对话框。
Quartus软件操作Quartus的学习以及了解DE2,通过简单step by step例子的引导。
本实验通过几个简单的例子向大家介绍FPGA开发软件QuartusII的使用流程以及文本输入和图形输入法的设计步骤。
1.Quartus II 的文本编辑输入法Quartus II 的文本编辑输入法设计电路时, 首先要建立设计项目实验步骤:第1步:打开QuartusII。
第2步:新建一个空项目。
执行File->New Project Wizard命令,进入新建项目向导。
如下图所示,填入项目的名称,默认项目保存路径在Quartus安装下,也可修改为其他地址,视具体情况而定。
第3步:执行Next,进入向导的下一页进行项目内文件的添加操作,如果没有文件需要添加进项目,则直接按Next按钮既可。
第4步:指定CPLD/FPGA器件,如下图所示,选择芯片系列为“CycloneII”,型号为“EP2C35F672C6N”。
选择型号时,可直接在列表框中查找,也可通过指定封装方式(Package)为“FBGA”、引脚数(Pin count)为“672”以及速度等级(Speed grade)为“6”这3个参数值来进行筛选。
第5步:向导的后面几步不做更改,直接按Next即可,最后按Finish结束向导。
到此即完成了一个项目的新建工作。
第6步:新建一个VHDL文件。
由于之前建立的项目还是一个空项目,所以接着需要为项目新建文件。
执行File->New命令,在“Device Design Files”选项页中选择“VHDL File”,然后点击OK按钮。
这时自动新建一个名为Vhdl1.vhd的文档,执行File->Save As命令,将文档另存为and2gate.vhd文件,结果如图所示。
第7步:代码输入。
在and2gate.vhd代码编辑窗口内输入以下代码:library ieee;use ieee.std_logic_1164.all;entity and2gate isport(a,b:in std_logic;y:out std_logic);end and2gate;architecture behav_and2gate of and2gate isbeginy<=a and b;end behav_and2gate;第8步:代码的语法检查和编译。
Quartus使用的简易流程简介Quartus是一种集成电路设计工具,广泛应用于数字电路和逻辑设计。
本文将介绍Quartus的使用流程,包括安装、项目创建、设计与仿真、编译、下载与调试等步骤。
安装1.下载Quartus软件包并解压缩。
2.运行安装程序,并按照提示完成安装过程。
项目创建1.打开Quartus软件。
2.在欢迎界面点击“New Project”创建新项目。
3.设置项目名称和存放位置。
4.选择适当的目标设备和波特率设置。
5.点击“Next”进入下一步。
6.添加需要的源文件和约束文件。
7.点击“Finish”完成项目创建。
设计与仿真1.双击项目中的设计文件以打开编辑器。
2.使用编辑器进行设计与编码。
3.选择合适的仿真工具,如ModelSim。
4.配置仿真工具的设置。
5.运行仿真,检查设计的正确性。
编译1.点击“Compile Design”按钮开始编译设计。
2.等待编译完成。
下载与调试1.连接开发板或FPGA设备到计算机。
2.点击“Assignments”菜单,选择“Device”。
3.配置下载设置,包括设备和下载文件。
4.点击“Start”按钮开始下载。
5.下载完成后,进行调试和验证设计功能。
总结本文介绍了Quartus使用的简易流程,包括安装、项目创建、设计与仿真、编译、下载与调试等步骤。
希望通过这些简要的步骤能够帮助您更好地使用Quartus 进行集成电路设计。
如果您有其他疑问,请参考Quartus的官方文档或寻求相关的帮助。
Quartus Ⅱ入门教程(一个Verilog 程序的编译和功能仿真)Quartus Ⅱ 是Altera 公司推出的专业EDA 工具,支持原理图输入、硬件描述语言的输入等多种输入方式。
硬件描述语言的输入方式是利用类似高级程序的设计方法来设计出数字系统。
接下来我们对这种智能的EDA 工具进行初步的学习。
使大家以后的数字系统设计更加容易上手。
●快捷工具栏:提供设置(setting ),编译(compile)等快捷方式,方便用户使用,用户也可以在菜单栏的下拉菜单找到相应的选项。
● 菜单栏:软件所有功能的控制选项都可以在其下拉菜单中找到。
●信息栏:编译或者综合整个过程的详细信息显示窗口,包括编译通过信息和报错信息。
第二步:新建工程(file>new Project Wizard1 工程名称:2添加已有文件(没有已有文件的直接跳过next )3 选择芯片型号(我们选择MAX3000A 系列下的EPM3256AQC208-10芯片) (注:如果不下载到开发板上进行测试,这一步可以不用设置)4 选择仿真,综合工具(第一次实验全部利用quartus 做,三项都选None ,然后next )5 工程建立完成(点finish )第三步:添加文件(file>new> VHDL file),新建完成之后要先保存。
第四步:编写程序以实现一个与门和或门为例,Verilog描述源文件如下:module test(a,b,out1,out2);input a,b;Output out1,out2;assign out1=a&b;assign out2=a | b;endmodule然后保存源文件;第五步:检查语法(点击工具栏的这个按钮(start Analysis & synthesis))点击确定完成语法检查第六步:(锁定引脚,点击工具栏的(pin planner ))(注:如果不下载到开发板上进行测试,引脚可以不用分配)双击location各个端口的输入输出第七步:整体编译(工具栏的按钮(start Complilation))第八步:功能仿真(直接利用quratus进行功能仿真)1将仿真类型设置为功能仿真(Assignments>setting>Simulator Settings>下拉>Function)2 建立一个波形文件:(new>Vector Waveform File )然后导入引脚(双击Name 下面空白区域>Node Finder>list>点击):接下来设置激励信号(单击>选择>Timing>Multiplied by 1)设置b 信号源的时候类同设置a 信号源,最后一步改为然后要先生成仿真需要的网表(工具栏processing>Generate Functional Simulation Netlist)接下来开始仿真(仿真前要将波形文件保存,点击工具栏开始仿真):实用标准文案文档观察波形,刚好符合我们的逻辑。
彻底掌握Quartus你可以在EETOP的论坛上面搜索到quartus的下载链接,然后在百度能找到破解方法。
不建议用quartus13以前的版本(旧版带的USB blaster驱动可能在WIN8、WIN10上面安装不了),还有quartus13及以后的版本都把IDE和器件包分成两部分,记得下载器件包。
此外,quartus13.0sp1是最后一个支持cyclone II的版本。
接下来,介绍Quartus 13最基础的日常使用方法。
如何新建工程就不说了,但是要注意,工程目录和工程名不要有中文和空格,还有,要有一个设计文件(如,.v、.vhd、.bsf 文件)的名称要跟工程名一样,不然会有警告。
一、新建工程,New个设计文件,会出现下图所示。
上面那么多种文件有什么卵用?1、AHDL文件,用于编写Altera发明的AHDL语言,此语言已经被淘汰,可以不管它。
2、Block Diagram/Schematic文件,原理图文件,跟AD、PADS、Cadence等电路图设计软件的用法差不多。
3、EDIF文件,网表文件。
4、Qsys system文件,用于设计软核,Qsys前身是NIOS。
5、State Machine文件,状态机文件。
6、System Verilog文件,用于系统级验证。
7、Tcl script文件,TCL脚本文件。
8和9、常用的HDL文件(包括verilog和VHDL)10是十六进制文件,11是MIF文件,用于ROM或RAM的初始化。
12、Probe文件,用于观察FPGA内部某一信号,一般用Signaltap13、逻辑分析仪接口文件,暂时不知道有什么用。
14、VWF文件,用于调用quartus自带的仿真工具QSIM15、AHDL头文件,可以不管它。
16、原理图的Symbol文件,用于编辑原理图Symbol,跟你用电路图设计软件时,画原理图库差不多。
17、JTAG链描述文件,给一个或多个芯片下载代码时用的。
18、Synopsys约束文件,时序约束用的SDC文件。
19、txt文件。
就算quartus支持那么多种文件,但常用的没几个,一般是原理图.bdf文件或者纯文本的.v或.vhd文件,就算后面需要用逻辑分析仪或者时序约束,也是可以用quartus自动给你生成的。
特别要注意一下,不同类型的文件,名字最好不一样。
比如,已经有了test.v,就不要用弄test.vwf,不然你双击test的原理图Symbol的时候,会问你要打开test.v还是test.vwf,让你浪费不必要时间。
我一般是除了.v或.vhd文件用test之外,vwf就用test_vwf.vwf,bdf就用test_top.bdf。
二、如何把HDL 文件,转成原理图Symbol先选中你要转的HDL文件。
白色衬底(左边)是被选中的HDL文件,右边是没有选中的,然后在菜单栏File下面。
点Create Symbol Files for Current File,即可把HDL转成原理图Symbol了,然后新建一个.bdf的原理图文件。
双击红圈位置,在libraries->Project下,已经生成了原理图Symbol了,点OK,可以调用了。
(我的机子是高分屏,Symbol显示有点问题,是quartus对高分屏支持得不好)。
如果你觉得原理图的symbol不够大,可以按住Ctrl键,滑动鼠标滚轮,可以使symbol放大/缩小。
再来对照一下,原理图Symbol和.vhd文件的实体entity bin2bcd isport(clk_50M: in std_logic;add : in std_logic;sub : in std_logic;bcdout1:out std_logic_vector(3 downto 0));end bin2bcd;这是一一对应,输入在左,输出在右,有多个输入的时候,也会按顺序排列,如果不方便连线,可以改一下引脚的顺序,再保存,生成Symbol,再update。
右击Symbol,就可以update了,update时,会出现下面的对话框。
懂点英语的,都能看懂上面三个选择。
1、只update选中的symbol,2、update所有关联(名字一样)的symbol,3、update全部symbol。
一般选第一个。
quartus13有个bug,生成的symbol的实例名可能会重名,而报警告。
这时,可以右击symbol,选properties。
把上图的inst改成其它名字就可以了。
三、在刚才调用symbol的位置,还可以调用其它IP核。
在Name下面输入input,可以调用输入端口,output就是输出端口了,这些都是quartus自带的一些symbol,把primitives下面的折叠全部打开,你会发现有很多东西,如:与或非门、各种触发器等。
当然,还有其它东西,自己去挖掘吧。
特别要说明两个symbol,VCC代表高电平,GND代表低电平,可用于使能或者其它用途。
也是在刚才那个对话框,下面有MegaWizard,用来调用quartus自带的IP核,也叫宏功能模块(LPM),有部分是免费,部分是收费,还有部分需要联网下载的。
MegaWizard的使用方法也很简单,写上IP核的名字,一步步next到finish 就可以了,调用也是在上面那个对话框里调用。
其中,原理图symbol之间的连线要注意一下位宽,不然会出错。
也可以使用网络标号,先把线引出来,选中线,再输入网格标号就可以了,但是要注意一下格式,如:qout是8位,网络标号就要写成qout[7..0]。
也有些特殊用法,如下图所示:这里,引出64位宽的fre信号,而在另一个symbol则只连了[63..32]这几个脚,这是合法的,空出来的引脚,没用的话,可以不管。
四、编写好你的设计文件之后,就可以编译(也可以叫综合)了。
因为综合很慢,所以先分析一下设计文件有无语法错误之类的,再综合。
综合的时候,要注意,哪个是顶层文件。
比如你弄一个流水灯,在led_top.bdf里面,有分频模块fre_div的symbol和流水灯控制模块led_ctrl的symbol的话,那么led_top.bdf就是顶层文件,因为它调用了你所有的设计文件。
你可以先选中led_top.bdf,再用快捷键Ctrl+Shift+J,把它设置为顶层文件,不然综合出来有很多警告,甚至出错。
上图所示,蓝圈就是分析设计文件了,而红圈就是综合。
综合之后,就会生成report,告诉你,你设计出来的电路占用哪些资源。
懂点英文和FPGA的内部结构的,都能看懂上图。
现在解释一下:1、电路占用了62个LE。
2、电路占用了43个组合电路。
3、电路占用了55个专用的寄存器。
4、整个电路占用了55个寄存器。
5、电路使用了31个引脚,我的FPGA是EP2C8Q208C8N,一共有208个引脚,其中138个引脚是可用的。
6、电路使用了0个虚拟引脚,虚拟引脚是前期设计时,预先分配的,可以解决引脚不够用导致无法综合的问题。
7、电路使用的内存为0 bit,这里memory是指FPGA内部的存储单元,包括ROM和RAM,其中RAM指的是块RAM 而不是分布式RAM,因为分布式RAM是用LE实现的。
8、电路使用了0个PLL,我这芯片一共有2个PLL,PLL 是固核(也可以认为是硬核,硬核和固核的分界线并不是很明确),可以配置一下就调用,某些FPGA会有4个或更多的PLL固核。
五、接下来看看,你综合出来是个什么电路。
在菜单栏的Tools下面,点击查看RTL图、状态机图(前提是综合出来有状态机)或者工艺映射表(Technology Map)其中RTL图和工艺映射表,都可以表示你设计出来的电路,区别在于,RTL图抽象层次更高一些,而工艺映射表更接近于门级。
某些时候,RTL并不能完全表示出电路的正确性,因为综合出来,有部分细节出错,在RTL图看不出来,这里得用工艺映射表。
六、用Assignment Editor锁管脚。
在Value下面输入23,就可以把clk锁定在23号引脚了。
如下图所示。
七、锁完之后,保存好,还要再综合一次,这样的综合出来的电路才是你需要的。
如果不想综合两次,那就要用TCL脚本来锁管脚了。
新建一个TCL脚本文件。
输入如下代码:set_location_assignmentPIN_23 -to clk这样就可以把clk锁定在23号引脚了。
如果你的引脚是按键,就要加上拉电阻(不然会容易烧坏IO口),输入如下代码:set_location_assignmentPIN_208 -toswitch_inputset_instance_assignment -nameWEAK_PULL_UP_RESISTOR ON -to switch_input这样就把switch_input这个锁在208号引脚,同时给208号引脚加了上拉电阻。
保存好你的TCL脚本,然后在菜单栏的tools下,点TCL scripts,点Run,运行一下你的TCL脚本。
这样,就只需要综合一次了。
八、接好你的JTAG就可以用Programmer下载代码了,由于此步骤太简单了,省略。
其中sof文件,是直接JTAG下载的,断电就没了;pof文件是AS下载,断电可保存。
但是AS下载需要额外加点电路,而且对电路要求高,有点问题都无法下载,而且工业上的板子也只有JTAG下载口(节省PCB面积),这样就得用JTAG间接下载,断电可保存。
在菜单栏的file下,转换编程文件:选择jic格式,配置芯片的型号(我这里是EPCQ16),然后改一下jic的名字,默认是output_file。
先点一下SOF Data然后add file,把你的SOF 文件添加进去。
然后点generate即可生成jic文件。
最后在programmer,添加这个jic文件,就可以下载代码了。
下载完之后,FPGA并不直接运行代码,需要先断电,再上电,FPGA才正常工作。