Quartusii基本操作

更新时间:2024-03-06 02:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

QuartusII的基本操作

Altera公司开发的功能最强大的PLD编译工具

一、建立工程.

1、「File」→「New Project Wizard」开始新工程的建立设置。『NEXT』

2、指定project的路径,和project的名称,顶层文件的名称(一般与工程名相同)。 3、指定project中要include 的文件。 4、选择project中要使用的一些EDA TOOLS。 5、选择所使用的器件的家族“family” 和具体型号。 6、『finish』 完成工程的设置。

二、输入文件. 在工程中新建设计文件:图形文件“Block Diagram/Schematic File”,Verilog语言文 件“VerilogHDL File”

1、完成工程文件的输入,若为顶层文件,则文件名应该保存为与工程名相同。 2、编译设置:「Assignment」→「Compiler Settings Wizard」→「Next」 3、根据编译窗口的提示修改错误。

4、编译后会生成编译报告“Compilation Report”会分成如下几项: (1) Analysis&Synthesis语法检查,把大电路转成较小的元件 (2) Fitter 器件资源利用情况,引脚分配情况等 (3) Assembler 连线各元件 (4) Timing Analyzer 时间分析

三、仿真. 完成工程文件的编译、综合、时间、分析后就可以建立波形仿真文件进行功能仿真

1、建立仿真文件

「File」→「New」→「Other Files」→「Vector Waveform File」→「OK」 2、选择输入输出引脚

Edit→「Insert Node or Bus」→「Node Finder」,在「Filter」处选择「Pins:all」,再

按下「 >>」将所有选中的引脚添加到“Seleted Nodes”框,点「OK」→「OK」完成引脚添加。可通过右键 修改引脚的显示方式、属性、初始值等参数。 3、仿真时间、栅格的设置

Edit→『End Time』 设置仿真结束的时间, 『Grid Size』设置每个栅格表示的时间。仿真时间是 以建立仿真文件时给出的结束时间为准,仿真设置“Wizards”中设定的End Time没用。

4、仿真编译设置

『Assignments』→『Wizards』→『Simulator Settings Wizard』→选择当前要仿真得文件

仿真文件做好后还要将其设置为当前仿真文件,才可以开始仿真。因为有时一个工程需要建立多个 仿真文件,这就需要通过设置确定仿哪个文件了。在选择仿真类型“Type of simulation”时,“ timing”代表考虑延时,“functional”表示功能型的仿真。 5、先编译后仿真

『Processing』→『Start Compilation&Simulation』 6、仿真结束后会生成仿真报告“Simulation Report”

仿真结果并不是出现 在所建立得仿真文件中,在仿真报告中有独立的仿真结果。 仿真的结果总是与当前的工程文件相对应,工程文件改变后要重新仿真后才有意义。

四、将工程模块化,利用图形设计文件建立更大的工程

模块工程文件(“Block Diagram/Schematic File”或“Verilog HDL File”)编译仿真成功后就可以 将其模块化,然后在更高层次将各个模块级联起来,构成更大得工程。 1、模块化

『File』→『Creat/Updata』→『Creat Symbol Files for Current File』 然后编译器会自动将当前工程完整得编译一遍,然后生产图形模块,放在存放当前工程的文件夹里。 2、更大的工程 (1)建立工程文件

「File」→「New」→「Device Design Files」→「Block Diagram/Schematic File」→「OK」 (2)输入元件

右键→『Insert』→『Symbol』→可以在库文件中选,也可以通过“浏览”将已经建立图新模块的 工程加载进来。

(3)连线

五:下面举一个简单的例子:3—8线译码器的仿真 VHDL代码:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY Decoder IS PORT(a,b,c,ena:IN BIT;

y:OUT BIT_VECTOR(7 DOWNTO 0)); END Decoder;

ARCHITECTURE one OF Decoder IS BEGIN

PROCESS(a,b,c,ena)

VARIABLE cba:BIT_VECTOR(2 DOWNTO 0); BEGIN cba:=(c&b&a);

IF(ena='1') THEN y<=\ ELSE CASE(cba) IS

WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS=>NULL; END CASE; END IF;

END PROCESS; END one;

编译通过后的波形仿真:

(本人)

一,没有建立工程,用VHDL或VerilogHDL编好程序后编译不能通过。要知道老外开发的软件总喜欢project的。

下面是建了工程,编译不能通过或者仿真时没有关联: 1.建了工程文件夹,但其中放了未知的文件;

2.将几个工程文件放在一个文件夹中,即便是空文件夹,也不行。

二,1.编译文本文件失败,应该通过对话框中的ERROR和WARING来查找程序语法和逻辑错误,对初学者来说,拼写错误,漏掉括号,关键字和标点错误等根据提示是可以很快解决的。值得庆幸的是,可以忽略警告,不管有多少。编译Block文件也类似,不过对于粗线和细线需要注意,如果需要可以将线删掉再连接再编译。此外,文件注意保存。

2.仿真时对于输入输出量的设置可以通过NODE,在波形文件下,Edit→「Insert Node or Bus」→「Node Finder」,在「Filter」处选择「Pins:all」,再按下「 >>」将所有选中的引脚添加到“Seleted Nodes”框,点「OK」→「OK」完成引脚添加。可通过右键 修改引脚的显示方式、属性、初始值等参数。 「 <<」全部删除,「 <」选中部分删除,「 >」选中部分添加。

3.仿真时间设置:Edit→『End Time』 设置仿真结束的时间, 『Grid Size』设置每个栅格表示的时间。仿真时间是以建立仿真文件时给出的结束时间为准,仿真设置“Wizards”中设定的End Time没用。TIMING 中设置的时间也可以改变栅格世间。如果图形不便于观看,看以对波形放大和缩小。 三,几个具体问题:

1.Quartus中仿真时出现no simulation input file assignment specify 解决方法

翻译成中文就是仿真文件没有被指定,要仿真的话先要建一个仿真文件:

file -> new -> 选择Other file选项卡 -> Vector Waveform File 然后把输入输出端口加进去,再设置输入的信号,保存,就可以仿真了。

如果你之前已经建立过了,就打开assignments->settings->simulator settings

看里面的有个文本框 simulation input 里面是否为空,为空的话就要找到你所建立的Vector Waveform File 文件,是以*.VMF结尾的,如果没找到,你又以为你建立了Vector Waveform File ,很可能粗心的你还没保存Vector Waveform File ,保存了才会在project里面找到。

找到之后进行仿真,如果是functional simulation,要做processing>generate functional simulation netlist..不然会出现 Error:

Run

Generate

Functional

Simulation

Netlist

(quartus_map

bmg_control

--generate_functional_sim_netlist) to generate functional simulation netlist for top level entity bmg_control before running the Simulator (quartus_sim)之类的错误。最后在进行仿真,就可以看到波形 另外,.VWF文件名一定要和project 文件名一致。

2.Error: Node instance \

这里b是个顶层文件,要是b包含的底层文件有些不能编译通过,一样会出现上面的问题,如果b包含的底层文件都能编译通过,最后编译工程出现上面的问题解决办法如下: 方法一:在Assignments Settings的Files里指定该文件路径。就是说把没有实例化的程序b添加进来然后编译工程即可。

方法二:在Assignments Settings的Libraries里指定该文件的存放目录 QUARTUS 编译中 instantiates undefined entity 问题

因为是从原先的调试用工程下边拷过来的顶层文件,而没有加入底层文件。于是将实例的.vhd文件拷到现在的工程下边,在quantus的工具栏的file->open,打开该.vhd文件,然后在project->add current file to project,重新编译即通过。

3.底层文件编译,仿真后,想对整个系统仿真(所有底层文件),按照图形输入法将各个底层文件

生成的symbol连接好后编译,却出现“Error: Node instance \(t20us为一个20us减法计数器),请教是什么原因啊?还有,底层文件编译仿真好后,如果想对整个系统仿真只能采用对顶层文件的原理图输入法么?能不能还是采用文本编译啊?

把你要编译的文件设成顶层文件即可!

顶层文件可以采用文本(如Verilog HDL语言)工程编译,只要把底层文件和顶层文件放在同一个文件夹中,在顶层文件中 直接调用就可以了。

忘了说了,不同版本的软件编译同一个文件也有差异。例如,我在QUARTUS9.1上仿真好的文件拿到9.0版本上不能编译。这个时候可以将源程序拷贝到新建的文本编辑框中。不要嫌麻烦,真的!

应该明白,QUARTUS 只是对顶层文件进行仿真,个人认为,要仿真top文件时将top文件中子文件或Block模块添加到project 中仿真应该可以通过。

接触一个软件,多点几下,多尝试一下,不懂得可以到网上或图书馆查一下资料,对深入学习是很有帮助的。

本文来源:https://www.bwwdw.com/article/mnba.html

Top