EDA中什么情况下可以直接对顶层文件进行编译?

EDA中什么情况下可以直接对顶层文件进行编译?,第1张

QuartusII 是Altera公司开发的功能最强大的PLD编译工具,全面取代MAX+PLUS

使用步骤:

一、建立工程.

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)连线

module eda_top(clk, rst_n, din, dout)

input clk

input rst_n

input din

output dout

module1_name instance1(

.clk(clk),

.rst_n(rst_n),

.din(din),

.dout(dout1)

)

module2_name instance2(

.clk(clk),

.rst_n(rst_n),

.din(dout1),

.dout(dout2)

)

assign dout = dout2

endmodule


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8216773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存