Quartus ii 10.0教程(包含modelsim仿真)
- 格式:docx
- 大小:1.01 MB
- 文档页数:20
方法1:在quartus ii 11.0环境下,编辑生成并修改quartus生成的test bench文件,采用手动设置激励形成波形(有很多缺陷)。
具体步骤:1.新建工程在test目录下创建工程fulladder然后直接finish;2.编写VHDL:New一个VHDL FILE,输入代码:library ieee;use ieee.std_logic_1164.all;ENTITY fulladder IS PORT( a,b,cin : IN STD_LOGIC;s,cout: OUT STD_LOGIC);END fulladder;ARCHITECTURE fulladder OF fulladder ISBEGIN s<= a XOR b XOR cin;cout <=(a AND b) OR (a AND cin) OR (b AND cin);END fulladder;保存在test目录下,文件名为默认fulladder。
3. 在Quartes II 11.0界面菜单栏中选择 Tools-->options选项卡中选中EDA tool options,在该选项卡中下面的ModelSim-Altera一项指定安装路径为(如d:/Altera/11.0/modelsim_ae/win32aloem)4.在Quartes II 11.0界面菜单栏中选择Assignments->Settings。
选中该界面下EDA Tool settings中的Simulation一项;Tool name中选择ModelSim-Altera;Format for output netlist中选择开发语言的类型VHDL或其它,如图:然后点击APPLY应用和OK。
5.设置完成后,编译工程:在Quartus II 11.0界面菜单栏中选择菜单栏选择Processing-->start Compilation,等待编译,无错后会在test目录下生成simulation目录,执行下一步。
Quartus II 与 ModelSim 功能仿真与后仿真扫盲本文主要描述了如何在QUARTUS II 中输入程序文件,生成网表及标准延时文件,然后通过MODELSIM进行功能仿真与后仿真的过程,主要为图解,含全部代码及仿真波形。
工具:Quartus II 5.0 sp1ModelSim SE 6.1b芯片:MAX II :EMP570T100I5语言:Verilog HDL程序功能:太简单了,自己看源程序吧源程序:module sim(reset,clk_in,clk_o1,clk_o2);input reset,clk_in;output clk_o1,clk_o2;clk_o2;regassign clk_o1 = clk_in;reset or posedge clk_in) //always @(negedgebeginif(!reset)0;=clk_o2else~clk_o2;clk_o2=endendmodule测试程序:`timescale 1ns/1nsmodule testsim;reset,clk_in;regwire clk_o1,clk_o2;simaa(.reset(reset),.clk_in(clk_in),.clk_o1(clk_o1), .clk_o2(clk_o2));aa(reset,clk_in,clk_o1,clk_o2);//simalways~clk_in;=#5000 clk_ininitialbeginclk_in0;=reset = 0;#10000;reset = 1;$stop;#1000000endendmodule测试程序注意:例化时,最好用名称关联的方法进行例化,我曾试过用位置关联的方法,但后仿真不正常。
不知道是不是Modelsim在语法上的要求。
一、 程序输入与网表、延时文件的生成,相关库文件的拷贝在建立QII源文件时,选择modelsim作为仿真工具,这个不详说了。
1.撰写testbench激励文件:单击Quartus中的菜单‘Processing’->‘start’->‘Start Test Bench Template Writer’,如图一所示,自动生成激励模板(*.vt)。
打开该模板,并填写完整,保存,编译。
Testbench 常用语:●clk<= not clk after 10 ns;●process beginwait for 10 ns; clk<='1';wait for 10 ns; clk<='0';end process;●en <= '0' after 0 ns,'1' after 50 ns,'0' after 850 ns,'1' after 900 ns;2. Modelsim和Quartus的连接。
单击Quartus中的菜单‘Tools’->‘options’,如图二所示。
随后出现图三所示的窗口,点击左边菜单树下的‘Eda Tool Options’,再将原先modelsim的启动路径拷贝到‘Modelsim’的空白处,或单击右侧的‘。
’选择启动路径。
最后点击Ok,连接生效。
图二图三3. 设置编译信息。
单击Quartus中的菜单‘Assignment’->‘Settings’,如图四所示。
随后进入图五所示的Settings 界面,点击左侧菜单树‘EDA Tool Settings’下的‘Simulation’,右边的窗口出现Simulation 界面,并进行如图五的设置。
其中点中‘Compile test bench’左边的圈圈后,再点击右侧的按钮‘Test Benches。
’进入图六所示的界面,点击右上按钮‘New’进入图七所示的‘New Test Bench Settings’界面,填入相关信息:激励文件名(1),激励文件实体名(2),激励文件中的例化名(3),最大仿真时间(4),和激励文件的具体路劲(5)。
Quartus II 直接调用modelsim se 进行前仿真和后仿真Modelsim的独立版本仿真速度比Quartus自带的Modelsim-Altera快,且Modelsim的独立版本支持Verilog和VHDL语言的混合仿真,因此Modelsim-Altera尽管可以直接从Quartus 官方下载,但不少人仍然会选用独立版本的Modelsim进行设计仿真。
使用Modelsim-Altera非常方便,安装后Quartus已经做好了与Modelsim-Altera的链接。
如果使用独立版本的Modelsim,则需要自己手动配置才能将独立版本Modelsim与Quartus 链接使用。
以下以使用Quartus II 11.1sp2和modelsim se 10.0a进行工程的前仿真后后仿真为例进行介绍。
即在Quartus进行设置,直接通过Quartus II的菜单调用modelsim se运行前仿真和后仿真。
当然也可参照网上的介绍,编译modelsim的Altera库,在modelsim se中直接建立工程并运行仿真。
本文介绍通过在Quartus中进行设置,通过Quartus菜单直接调用运行modelsim se的仿真,配置好后就如同Altera官方的Modelsim-Altera版本一样使用简便。
第一步:配置modelsim se路径Tools->Options打开Options对话框,选General->EDA Tool Options,设置Modelsim路径,可直接填入或浏览Modelsim路径,如下图所示:第二步:设置testbenchAssignments->Settings,打开Settings对话框,EDA Tool Settings->Simulation设置Tool name选Modelsim,Format for output netlist选择所用语言,Time scale需仿真时间精度。
1.启动 QuartusII6.0,在 D:\exam 下新建工程 count。
2.执行 Project 菜单下的 Add/Remove Files in Project... 命令,将 D:\exam 下的 count.v 文件加到工程中来。
3.执行 Assignments 菜单下的 Device... 命令,启动器件设置对话框。
如果所用的实验板为 MC570 则选中 EPM570T100C5 器件,如果是 MC240 实验板,则选中 EPM240T100C5 器件。
4.点击对话框上的“Device & Pin Options...”按钮,在随后弹出的对话框上,进入 Unused Pins 页,将 Reserve all unused pins 设为 As input tri-stated,点击“确定”按钮。
5.在左侧的 Category 窗口里,展开 EDA Tool Setings 组,选中 Simulation 项,对话框的左侧将弹出有关于 Simulation 的设置项。
在 Tool name 一栏,选择 ModelSim;Format for output netlist 一栏,选择 Verilog;Time scale 一栏,选择 1ns。
点击“OK”按钮。
6.在 Assignments 菜单下,点击 Pins 命令。
在 Pin Planner 中,按下图所示,分配管脚。
7.在 Project Navigator 窗口中,将页面切换到文件管理页(中间的),选中 Device Design Files 组中的 count.v 文件,点击右键,在弹出菜单中点击 Set as Top-level Entity 命令,将该文件设为顶层设计文件。
在 Processing 菜单下,点击 Start Compilation 命令,待编译完成后,退出 QuartusII6.0。
将 D:\exam\simulation\modelsim 下的 count_v.sdo 文件复制到 D:\exam 下。
当我们使用QuartusII,但是大多数朋友都习惯用Modelsim SE来做仿真,由于Quaruts有很多本身器件的特色,所以造成了在仿真上的麻烦,当然网路上也有一些讲解,但是都是不太系统,特别是对初学者来说,使用的时候还是感到一头雾水。
本文的目的就是一个如何在Quartus 使用Quartus 和Modelsim 仿真的例子。
2.建立QuartusII 工程。
这里目的只是建立一个很简单很简单的QuartusII 的工程,逻辑采用原理图方式绘制。
里面就是一个简单的DFF,输入信号:datain , clkdataout3.Quartus II 内部时序仿真在Quartus 内部使用时序仿真,很简单,如果不知道如何使用请参考帮助文件帮助文件的你可以点击 Help-> Tutorial 。
里面有很详细的如何创建一个Wave仿真文件的教程这里就不罗嗦了。
关于如何仿真这里也不废话了。
我们进入核心问题。
4.Modelsim SE的仿真4.1 生成TestBench 文件由于我们上面已经制作了一个时序仿真文件 *.vwf .Quartus II 提供了把这样文件转换成Testbench 的功能。
具体的操作如下:在工程菜单里面双击*.vwf 文件,是之打开成为当前激活文件。
然后点击菜单 Files-> Export会直接打开一个输出框:我们后面会使用Verilog文件进行仿真,所以这里把后缀名*;.vt 改成为*.VOk 就生成了 TestBeanch 文件。
4.2 设置启动Modelsim如何在Quartus II 里面使用Modelsim. 只需要在 Assignment->setting里面选择如下的选项,在进行整个工程进行编译的时候会自动调用系统的Modelsim SE .在编译最后会调用Modelsim .点击Work 你可以看见关于Altera 的库文件都编译进来了。
下面是重点:新建一个工程文件。
Q U A R T U S-I I10.1调用m o d e l s i m仿真-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANQUARTUS II 10.1调用ModelSim-Altera仿真的过程(以上软件在六维空间上面都有,只有QUARTUS需要破解,破解方法在另外一篇文章中详述)。
我是个菜鸟,刚接触这个QUARTUS仿真,以前的版本都是直接利用自带的仿真软件,建立一个波形文件vector wavefile(后来发现这个文件可以在QUARTUS里面直接转化成TESTBENCH文件),现在10.0以后不支持直接这么仿真了,而是建议用外部的仿真器仿真(不知道我理解的对不对)。
害的我费了老大的劲,关键是我是初级的水平,能不能整点容易的。
废话少说,主要是发泄一下我的积怨。
(本文参考“Quartus?II 调用 ModelSim 仿真?”一文)1.建立工程文件,这个我就不多说了。
网上有很多,不过在这里,我想提示一下就是工程文件名称要跟顶层实体名称一致(如果只有一个文件的话,那么工程名要跟MODUEL(Verilog HDL),ENTITY(VHDL)后面的名称一致,还有一个就是这里要跟文件名一致,这个文件是顶层文件),这个名称一致的问题至关重要,在后面还有很多地方要一致,就是大家记住一句话,所有的MODUEL和ENTITY的名称要和文件名一致,我就是后面TESTBENCH中的MODUEL名称和文件名称不一致导致我出错好久。
2.建立Verilog文件(此处为顶层文件),文件名要和项目名一致,且和MODUEL名一致。
文件如下:在保存之前:保存之后,是自动添加到项目中的,只要文件名一致:3.设置仿真器:Assignments---settings---这里tool name:Format for output netlist:用哪个选哪个,后面的不用改(这个是综合的时候用的,用于生成网表文件),还有个东西就是TESTBENCH在后面讲。
Quartus II调用ModelSim仿真下面是基于在Altera Quartus II下如何调用ModelSim进行仿真的一个实例。
不能否认,Quartus II(我用的7.0)无法像ISE那样方便的直接调用ModelSim,而是需要额外的做一些工作。
这确实给我们的仿真调试带来了一些不便。
特权同学也是在摸索了好久以后才彻底搞定这个问题,下面分享下,力求明白易懂,让大家少走一些弯路。
1、打开Quartus II,新建一个工程,工程代码如下(只是做一个简单的二分频电路):module modelsim_test(clk,rst_n,div);input clk; //系统时钟input rst_n; //复位信号,低有效output div; //2分频信号reg div;always @ (posedge clk or negedge rst_n)if(!rst_n) div <= 1'b0;else div <= ~div;endmodule2、进入菜单栏的AssignmentsÆEDA Tool Settings,进入如下界面:双击“EDA tools”下的“Simulation”选项,弹出如下界面:点击Tool name最右侧的下拉条,选择“ModelSim”,在弹出的界面做如下设置:3、以上设置完成,重新编译工程。
打开工程目录,看到多了一个“simulation”文件夹,再打开该文件夹下的“modelsim”文件夹。
看到有三个文件,其中.vo文件就是我们的代码布局布线信息。
仿真还需要几个文件,我们把它们都拷贝到该目录下。
4、打开“C:\altera\70\quartus\eda\sim_lib”(具体quartus软件安装文件的根目录视您的实际情况而定,大体路径都一样),因为我们用的是MAX II器件,所以把“maxii_atoms.v”拷贝到3中提到的目录下,这个文件是仿真元件库。
目录1 quartus II 基本操作 (3)(1)新建工程 (3)(2)文件的组织形式 (7)(3)给工程添加一个文件 (7)(4)文件的编译 (10)2Modelsim的基本使用 (12)(1)测试平台testbench (12)(2)在modelsim中编写测试文件和用户设计的模块 (12)(3)基本仿真流程 (14)1,creat the working design library (14)2,compile the design uints (15)3,optimize the design (16)4,load the design (17)5,run the simulation (18)(4)modelsim 工程 (20)1,create a new project (20)2,add objects to the project (21)3,compile the design (21)4,optimize for design visibility (22)5,load the design (22)(5)使用多个库进行仿真 (22)1,建立实验环境 (22)2,新建工程 (23)3,关联其他库 (24)3 quartus II 和modelsim 的联合使用 (27)(1)ip核的使用 (27)(2)从quartus II调用modelsim进行仿真 (34)1,基本设置 (34)2,仿真 (39)(3)modelsim 直接仿真quartus II的IP核。
(39)1,脚本记录文件 (40)2,仿真需要的库 (51)3,关联库并仿真 (52)我所使用的是quartus II verison 11.1,使用的语言是verilog HDL,打开软件界面如下图所示:1 quartus II 基本操作(1)新建工程选择file菜单下的new project wizard,会弹出如下图所示界面:点击next,来到下面的页面:第一栏要输入的是工程的存储路径,我输入的是:G:/code/verilog test/20150411_basic_tool/t1第二栏是工程的名字:basic_tool第三栏里会自动填入和工程名字一样的字符,默认工程中顶层模块的名字和工程名相同,顶层模块在工程的编写过程中是可以更改的,这个先不用管它。
Quartus II+Modelsim各种仿真验证CrazyBingo2012-3-2参考无双oo前辈的博文:/oomusou/archive/2009/01/30/modelsim_pre_post_simulate. html参考book:《Altera FPGA/CPLD设计初级篇》第二版一、FPGA的设计验证流程图1:FPGA/CPLD设计完整流程图2:FPGA/CPLD设计简要流程图3:Quartus II中编译步步为营二、仿真步骤各种概念与步骤1)前仿真前仿真,即功能仿真,用专用放着工具对设计进行功能仿真,验证电路功能是否符合设计要求。
通过功能仿真能即使发现设计中的错误,加快设计进度,提高设计的可靠性。
2)综合后的仿真把综合生成的标准延时反标注到综合仿真模型去,可估计门延时带来的影响,但是只能估计门延时,不能估计线延时,仿真结果和部先后的实际情况还有一定的差距,并不十分准确。
由于目前综合工具比较成熟,一般省去此环节的仿真。
而且在Quartus II中,直接进行下一步仿真。
3)布局布线后的仿真即时序仿真。
布局布线后生成的仿真延时文件最全,不仅包括门延时,还包括布线延时,所以最为准确,能较好的反映芯片的实际工作情况。
一般来说,布局布线必须进行,以此确保设计的可靠性和稳定性,发现时序违规(Timing Violation)。
4)板级仿真在有些高速设计的情况下,还需要使用第三方板级验证工具进行仿真与测试,入MentorTau、Forte Design-Timing Designer、Mentor Hyperlynx、Mentor ICX、Cadence SPECCTRAQuest、Synopsys HSPICE。
这些工具通过设计的IBIS和HSPICE等模型的仿真,能较好的分析高速设计信号的完整性、电磁干扰(EMI)等电路特性。
5)在线仿真在加载配置目标板之后,设计者在必要情况下要进行的一个步骤,就是在线仿真调试,利用Quartus II自带SignalTap I I在线逻辑分析仪进行分析,通过JTAG 口,在线、实时读取FPGA内部信号。
如何在modelsim中对quartus中产生的核进行仿真
1.使用lpm生成文件,其中要选择modelsim的testbench仿真文件要选择
2.工程文件所在的目录不可以使用汉字或带有空格的目录名
3.打开modelsim,将目录选在工程所在目录
4.在modelsim中的FILE中点击load,选中tcl批处理文件,点击即可。
5.仿真结束后,即可使用matlab对各输入输出文件进行信号生成、分析,具体实例见FFT文件夹
6.在FFT文件中生成的数据是帧结构的,也就是说,在做fft显示时,要注意与fft的点数相结合,这样显示的才是一个完整的周期,具体操作如下
a)打开quartus,建立工程,生成FFT核
b)
c)点击step3
d)
e)
f)
g)
h)
i)
j)输入数据产生
k)经过FPGA的FFT程序后数据的检验
(L)分析结果显示。
一、Quartus 2中仿真环境设置1、设置仿真软件modelsim-altera路径:tools->options->general->eda tool options,弹出对话框:Modelsim-altera:C:\altera\11.0\modelsim_ase\win32aloem(说明:C:\altera\11.0\modelsim_ase\win32aloem为modelsim安装路径)点击:ok2、Assignments->settings->EDA tools settings->simulation,弹出对话框:Tool name:modelsim—altera;Format for output netlist:verilog hdl;设置好后,点击apply和ok;3.测试平台设计(自动生成测试平台模板文件)先将Con_Motor.v文件设置为顶层文件;Processing->start->start test bench template writer,如图:生成的testbench文件路径:项目\simulation\modelsim\顶层文件名.vt,即testbench文件与顶层文件名相同;该例为Con_Motor.vt。
(1)向设计工程添加测试平台文件Con_Motor.vt;(2)打开Con_Motor.vt文件后:先用双斜杠//屏蔽掉@eachvec语句,即//屏蔽掉@eachvec语句;(把@eachvec注释掉才能得到一段很长的波形,不然仿真时间就非常短,如果在它之前有在这个always过程块里规定时钟信号的翻转的话,这个时钟信号也不会翻转。
总之,注释掉它。
)添加激励信号clk和command,修改后的测试平台文件如下:`timescale 1ns/ 1nsmodule Con_Motor_vlg_tst();// constants// general purpose registersreg eachvec;// test vector input registersreg CLK;reg Command;// wireswire CP;// assign statements (if any)Con_Motor i1 (// port map - connection between master ports and signals/registers.CLK(CLK),.CP(CP),.Command(Command));initialbegin// code that executes only once// insert code here --> beginCLK =0;Command =0;#5 Command =1;// --> end$display("Running testbench");endalways// optional sensitivity list// @(event1 or event2 or .... eventn)begin// code executes for every event on sensitivity list// insert code here --> begin#1 CLK <= ~CLK;//@eachvec;// --> endendendmodule(1)向仿真工程添加测试平台文件:Assignments->settings->simulation->compile test bench ,如图:单击“test benches..”,如图:单击“new”,如图:Test bench name:测试平台名,即.vt的文件名;Top level module in test bench:test bench中顶层模块名,即testbench中的待测模块名;注意:Top level module in test bench 必须和testbench中的待测模块名一致;Test bench files栏的File name项:测试平台文件名,和Test bench name相同,即.vt的文件名,单击...进行浏览,找到.vt文件,该.vt文件的浏览图:单击open打开;单击ADD添加后,图:单击ok后,如图:单击“ok”后,如图:单击apply,再单击ok,完成测试平台向仿真工程的添加。
Quartus ii 10.0教程 说明 本文的部分章节,来源于本人翻译的Terasic DE2-115的英文入门文档。
平台 硬件:艾米电子EP2C8-2010增强版套件 软件:Quartus II 10.0 + ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition
内容 典型的CAD流程 开始 新建工程 录入Verilog设计 编译设计 引脚分配 仿真设计电路 编程及配置到FPGA器件 测试设计电路
典型的CAD流程 计算机辅助设计(CAD)软件,使得运用可编程逻辑器件实现所需逻辑电路,变得容易。比如现场可编程门阵列(FPGA)。典型的FPGA CAD设计流程如图1所示。 图1 典型的FPGA CAD设计流程
CAD流程包含以下步骤: 设计输入——所需电路可通过原理图方式或硬件描述语言方式(如Verilog或VHDL)进行设计。 综合——输入的设计被综合进入由逻辑元素(LEs,FPGA芯片提供)组成的电路中。 功能仿真——综合电路被测试以验证其功能是否正确,次仿真不考虑时序因素。 布局布线——CAD Fitter工具决定网表中定义的LEs如何布置成FPGA芯片中的实际LEs。 时序分析——分析已布局布线电路中的不同路径的传播延迟,用以指示所需电路的性能。 时序仿真——测试已布局布线电路,验证其是否在功能和时序上都正确。 编程及配置——设计的电路,通过编程配置开关,被实现到一个物理的FPGA芯片。配置开关用于配置LEs和建立所需线路连接。
本指南介绍Quartus II软件的基本特征。展示如何使用Verilog硬件描述语言来设计和实现电路。使用GUI来实现Quartus II指令。通过本份指南,读者将学习到: 新建工程 使用Verilog代码录入设计 将综合的电路布局到Altera FPGA 分配电路的输入输出到FPGA上的指定引脚 仿真设计电路 编程配置艾米电子EP2C8核心板上的FPGA芯片
1. 开始 在Quartus II中设计的每个逻辑电路或子电路,叫做一个工程。软件每次运行一个工程,并将所有信息保存在单一文件夹中。欲开始一个新的逻辑电路设计,第一步就是新建一个文件夹来保存文件。为了保存本指南的设计文件,在D盘新建introtutorial文件夹。指南者运行的范例为一个简单的双路灯控电路。 打开Quartus II软件,将看到类似于图2的画面。该显示画面包括若干窗口,用户可使用鼠标选择,以访问Quartus II软件的相关功能。Quartus II提供的大多数命令都可用菜单形式来访问。例如,在图2中,在File标签下点击左键,可打开如图3所示的菜单。用左键单击Exit可退出Quartus II软件。 图2 Quartus II主体显示
图3 File菜单一例
对于有些命令,需要连续访问两个或以上的菜单才可以使用。
1.1 Quartus II在线帮助 Quartus II软件提供了容易理解的在线文档,可解答许多在使用软件时遇到的问题。用户可通过选择Help>Search来快速访问帮助话题,在打开的对话框中,可以输入关键字。另外一个方法是,内容感应帮助,以快速查找指定话题的文档。在大多数的应用中,按住键盘上的F1键将打开一个显示该应用的可用命令的帮助窗口。
2 新建工程 按如下步骤新建工程: 1. 选择File>New Project Wizard,以打开图4所示窗口,可通过Don't show me this introduction again跳过此窗口步骤。单击Next,出现图5所示窗口。
图4 引导的任务显示
图5 创建新的工程
2. 选择工作文件夹introtutorial,也可以使用您自己设定的文件夹。工程必须有一个名字,通常情况下,与顶层设计实体的名字相同。如图5所示,选择light作为工程名和顶层实体名。单击Next。因为还没有创建introtutorial文件夹,Quartus II弹出一个对话框,询问是否新建所需文件夹,如图6所示。单击Yes,将会引出图7所示的窗口。
图6 创建新的工程文件夹与否?
图7 添加用户指定设计文件
3. 如果没有已存在的设计文件,单击Next,将会打开如图8所示的画面。
图8 选择器件家族和指定的器件
4. 艾米电子EP2C8核心板采用的器件为Cyclone II EP2C8Q208C8。此处选择Cyclone II器件家族,器件为PQFP封装,有208个引脚,速度等级为8。单击Next,出现图9所示画面。 图9 指定第三方EDA工具
5. 用户可指定一些第三方EDA工具。持续Simulation选用ModelSim-Altera,格式为Verilog HDL。单击Next,出现图10所示窗口。
6. 设置一览如图10所示。单击Finish,返回Quartus II主体窗口。标题栏将显示light工程,如图11所示。
图10 工程设置一览
图11 Quartus II显示已建工程
3 使用Verilog代码设计输入 作为一个设计范例,我们将采用双路的灯控电路,如图12所示。此灯可由两个按键中的任一按键来控制,x1和x2,按键的闭合相应的逻辑值为1。真值表也同时在图中给出。注意输入x1和x2是异或的关系,但是我们仍然用门来显示。
图12 灯控电路
所需电路,如图13所示,使用Verilog代码来描述。注意,Verilog模块叫做light,这个图5所示的名称是一致的。此代码的编辑可以使用任何可存储ASCII码的文本编辑器,或者使用Quartus II自带的编辑器。当然,文件的名称可以任意取;而和顶层Verilog模块的名称一致,是一个设计惯例。文件名称必须带.v扩展名,用以指示此文件为Verilog文件。所有,我们使用light.v这个名称。
图13 图12所示电路的Verilog代码
3.1 使用Quartus II 文本编辑器 本节将展示如何使用Quartus II文本编辑器。如果你喜欢使用其他文本编辑器来创建Verilog源文件,可以逃过此节。选择File>New打开图14所示窗口,选择Verilog HDL File,并单击OK。这将打开文本编辑器窗口。第一步是指定所创建的文件的名称。选择File>Save As,打开图15所示的对话框。选择存储类型为Verilog HDL File,填写名称为light.v。单击Save,打开图16所示窗口。输入图13所示的代码。使用Ctrl+s保存该文件。 图14 选择新建的文件类型
图15 命名文件
图16 文本编辑器窗口
3.1.1 使用Verilog模板 对于设计者来说,Verilog的语法有时很难被记住。为了解决问题,文本编辑器提供了Verilog模板集。这些模板提供了不同类型的Verilog表达的范例,譬如module声明、always块和设置语句的陈述。可以通过Edit>Insert Template>Verilog HDL来浏览这些模板,以熟悉这些资源,这是相当值得的。
3.3 添加设计文件到工程中 正如图7所讨论的那样,我们可以告诉Quartus II软件,哪些文件是当前工程的一部分。要查看当前的light工程中已包含的文件列表,选择Assignment>Setting>File,这将打开图17所示画面。另外一个可用的方法是选择标签Project>Add/Remove Files in Project。 使用Quartus II文本编辑器创建文件时,勾上Add file to current project选项,所创建文件即自动加入到工程文件列表。如果使用的不是Quartus II自带的文本编辑器,那么图17,列表中就没有所创建的文件,此时必须手动添加文件到工程文件列表中。欲添加文件到工程文件列表中,单击图17中的File Name:的按钮,弹出图18所示对话框,选择light.v,单击Open。再次查看图17画面,此时所添加的文件就已经在文件列表了。需要注意的是,在大多数案例中,Quartus II软件可根据各个实体自动找到正确的文件,即使某些文件没有被认真地添加到工程中。 然而,对于包含许多文件的复杂工程,按照上述方法,添加指定所需文件到工程中,是一个很好的设计惯例。 图17 设置窗口 图18 选择文件
4 编译设计电路 在light.v中Verilog代码,要经过几个Quartus II工具的处理:分析代码、综合电路以及生成目标芯片的实现内容。这些应用程序被聚集在一起,且被称作编译器。
选择Processing>Start Compilation运行编译器,或者单击 按钮运行。在编译过程中,Quartus II的左边会显示不同阶段的进度。编译成功(或不成功)后,会弹出一个对话框。
单击OK确认。Qartus II会显示图19所示画面的编译报告。当编译成功后,也可以通过 按钮手动打开编译报告。