当前位置:文档之家› 如何能从Quartus II中调用Modelsim进行仿真

如何能从Quartus II中调用Modelsim进行仿真

如何能从Quartus II中调用Modelsim进行仿真
如何能从Quartus II中调用Modelsim进行仿真

如何从Quartus II中调用Modelsim进行仿真

--穆永强版本说明:Quartus II 11.0版本;ModelSim-Altera 6.6d版本。

一、设置第三方EDA工具

在Tools -> Options中设置ModelSim的安装路径,注意要设置到win32文件夹(64位软件对应的就是win64)。

在Assignments -> Settings中设置仿真工具为ModelSim。这样Quartus就能无缝调用ModelSim了。

二、编写Testbench

我们可以通过Quartus自动生成一个Testbench的模板,选择Processing -> Start -> Start Test Bench Template Writer,等待完成后打开刚才生成的

Testbench,默认是保存在simulation\modelsim文件夹下的.vt格式文件。

打开vt文件后可以看到Quartus已经为我们完成了一些基本工作,包括端口部分的代码和接口变量的声明,我们要做的就是在这个做好的模具里添加我们需要的测试代码。

一个最基本的Testbench包含三个部分,信号定义、模块接口和功能代码。

‘timescale 1ns/ 1ps表示仿真的单位时间为1ns,精度为1ps。想要进行仿真首先要规定时间单位,而且最好在Testbench里面统一规定时间单位,而不要在工程代码里定义,因为不同的模块如果时间单位不同可能会为仿真带来一些问题,而timescale本身对综合也就是实际电路没有影响。

其实Testbench本身可以看做一个模块或者设备(本例中的模块名为

add_vlg_tst),和你自己编写的模块进行通信。通过Testbench模块向待测模块输出信号作为激励,同时接收从待测模块输出的信号来查看结果。因此,在待测模块中的reg型信号在Testbench中就变成了wire,待测模块中的wire型信号在Testbench 中则对应为reg型。那么inout怎么办呢,inout型信号也要设成wire,同时要用一个reg型信号作为输出寄存器,同时设置一个三态门,由一个使能信号控制,如:assign inout_sig = out_en ? out_reg : 1’bz;

处理完接口和声明之后,需要自己设置一些激励信号,激励信号的容就是肯能会输

入到待测模块中的波形。下面我们就来写一个简单的测试程序。

【复位信号】

initial

begin

rst = 0;

#100 rst = 1;

end

initial开头的这个过程在Testbench中只执行一次,#100表示延时了100个时

间单位,我们之前已经通过timescale进行了设置,这里延时了100ns。这就有点类

似于C语言了,代码通过延时被顺序执行,rst在0时刻为低电平(也就是逻辑0),

100ns后变成高电平,从而形成了一个上电复位。

【时钟】

initial

begin

clk = 0;

while(1)

#10 clk = ~clk;

end

always模块中的代码会不断重复执行,利用这个特点,每10ns翻转一次clk,只是这样还不行,还要给clk一个初值,就是上面的initial语句。如此便可以生成一个周期为20ns,频率50MHz的方波信号,作为本例的系统时钟。

【输入信号】

initial

begin

a = 1;

b = 3;

#200 a = 2;

b = 0;

#200 a = 3;

b = 3;

end

注意这里a = 1和b = 3是同时发生的,也就是并行的,之后延时200ns,a = 2同时b = 0,如前面所说,想要实现顺序操作,就需要使用延时,如果两个语句间没有延时,就表示同时执行。还有一点,这个initial语句块和负责复位的initial语句块也是并行的,并且都是从0时刻开始。也就是说,0时刻后经过100ns rst_n复位,再经过100ns(从0时刻起),a = 2被执行。

至此,测试程序也完成了,让我们开始仿真吧

【输出信号】

initial

begin

$display($time,"clk=%d rst =%d led =%d", clk, rst, led);

modelsim使用 + 前仿真 + 后仿真 + verilog

Modelsim 6.0 使用教程 1. Modelsim简介 Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。 对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。 2.安装 同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。 ⑴.解压安装工具包开始安装,安装时选择Full product安装。当出现Install Hardware Security Key Driver时选择否。当出现Add Modelsim To Path选 择是。出现Modelsim License Wizard时选择Close。 ⑵.在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后 复制到该文件夹下。 ⑶.修改系统的环境变量。右键点击桌面我的电脑图标,属性->高级->环境变量-> (系统变量)新建。按下图所示内容填写,变量值内如果已经有别的路径了, 请用“;”将其与要填的路径分开。LM_LICENSE_FILE = c:\flexlm\license.dat

Quartus ii 10.0教程(包含modelsim仿真)

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软件。

ModelSim的前后仿真(Quartus)

利用Quartus5.0实现功能仿真 1)打开一个工程文件。 2)打开Settings设置栏,选择Fitting Settings下的Simulator栏。在右边出现的设置栏中将 “Simulation Mode”的下拉菜单选择“Functional”,即可以实现软件下的功能仿真。(下拉菜单中有“Functional”、“Timing”和“Timing using Fast Timing Model”,分别代表可以在Quartus软件下实现功能仿真,时序仿真和快速时序仿真。最后一项一般不选,如果在Settings->Timing Requirement->More Settings下“Report Combined Fast/Slow Timing” 选项设为“On”,就可以选择最后一项。编译的报告里也会分别列出最快和最慢的时序报告。) 3)选择“Processing”菜单下的“Generate Functional Simulation Netlist”命令,否则将无法 启动仿真。 4)新建一个波形仿真文件,文件后缀名为.vwf。选择File菜单下的New->Other Files->Vector Waveform File。如下图所示,左边空白栏处是节点名的列表区,右边空白栏处是仿真波形的显示区。波形编辑窗口默认时间为1us,如果想改变仿真时间,可以选择Edit菜单下End Time,在弹出的对话框中选择需要的时间。将新建的波形仿真文件保存下来。

5)将需要仿真的信号加入波形编辑窗口。在列表区任一位置双击或者点击右键选择“Insert Node or Bus…”,弹出的对话框点击“Node Finder”按钮。在“Node Finder”界面中点击“List”按钮,有关信号的列表会出现在界面的左边,双击需要观察的信号加入至界面右边。如果工程中用到了很多信号,在左边列表中也会显示很多(Named编辑框默认的是*通配符),可以在Named编辑框中添加需要的信号名称实现模糊查找。界面中“Filter”下拉框中默认的是“Pins: all”,也就是说将要列出的信号都是IO管脚。如果需要观察一些内部信号,可以改变下拉框的参数,比如“Registers: Pre-Synthesis”。下图显示了仿真信号加入波形编辑窗口的情况。对于有些总线信号可以改变其显示的进制格式,比如二进制、八进制、十进制和十六进制。在列表中对应信号点击右键选择 “Properties”,弹出的对话框中选择“Radix”下拉框实现进制的转换。

modelsim完美教程

准备事项 1.ModelSim试用版下载 2.范例程序下载(史丹佛大学一门课的期末专题Implememtation of Viterbi Decoder:constrain length K=3, code rate R=1/2, register-exchange) 整个project共含7个Verilog程序:system.v (top-level) |-- clkgen.v |-- chip_core.v |-- controller.v |-- spu.v |-- acs4.v |-- acs1.v (或是另外一个Verilog的简单例子,可以从C:\ SynaptiCAD\ Examples\ TutorialFiles\ VeriLoggerBasicVerilo gSimulation\ add4.v and add4test.v) (或是另外一个VHDL的简单例子,可以从C:\ Modeltech_5.7e\ examples\ adder.vhd and testadder.vhd) ModelSim PE /LE /SE 差别在哪? 本篇文章内容主要在教导软件使用,以Verilog程序为范例。假设各位读者已经熟悉Verilog,废话不多说,让我们马上来见识一下ModelSim ... 快速上手四部曲:建立Project、引进HDL Files、Compile、模拟(Simulate/Loading and Run) 1.建立一个新的Project 1-1 第一次执行程序时,可以从[开始] \ [程序集] \ ModelSim SE \ ModelSim;或是执行ModelSim在桌面的快捷方式

ModelSim入门指导答辩

QUESTA-SIM(QuestaSim)10.2入门指南平台 软件:Questa-Sim 10.2 版本Starter Edition,也适用于高版本的ModelSim软件。内容 一. 设计流程 典型设计流程包括如下所示: (1)设计输入 设计的行为或结构描述 (2)RTL仿真(ModelSim) 功能仿真 验证逻辑模型(没有使用时间延迟) 可能要求编辑设计 (3)综合 把设计翻译成原始的目标工艺 最优化——合适的面积要求和性能要求 (4)布局和布线 映射设计到目标工艺里指定位置 指定的布线资源应被使用 (5)门级仿真(ModelSim) 时序仿真 验证设计一旦编程或配置将能在目标工艺里工作 可能要求编辑设计 (6)时序分析 (7)验证合乎性能规范 可能要求编辑设计 (8)版图设计 (9)仿真版图设计 (10)在板编程和测试器件 使用QuestaSi/ModelSim仿真的基本流程为: 图1.1 使用QuestaSim仿真的基本流程 2 开始 1.1 新建工程 打开QuestaSim后,其画面如图2.1所示。

图2.1 QuestaSim画面 1. 创建工作目录E:/QuestaSim/, 在其路径下创建子文件夹/ip、/prj、/rtl、/tb, prj是QuestaSim工程主文件夹,ip是仿真模型目录,rtl 是代码目录,tb是testbench目录。 2. 选择File>New>Preject创建一个新工程。打开的Create Project对话框窗口,可以指定工程的名称、路径和缺省库名称。一般情况下,设定Default Library Name为work。指定的名称用于创建一个位于工程文件夹内的工作库子文件夹。该对话框如图2.2所示,此外还 允许通过修改初始化文件QuestaSim.ini文件来映射库设置。 图2.2 创建工程的对话框 2. 设置Project Name为BG0806,Project Location为E:/QuestaSim/prj, 勾选Copy Library Mappings ,点击OK。 3. 出现Add Items to the Project的对话框,如图2.3所示,

ModelSim-Altera_6.5仿真入门教程

平台 软件:ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition 内容 1 设计流程 使用ModelSim仿真的基本流程为: 图1.1 使用ModelSim仿真的基本流程 2 开始 2.1 新建工程 打开ModelSim后,其画面如图2.1所示。

图2.1 ModelSim画面 1. 选择File>New>Preject创建一个新工程。打开的Create Project对话框窗口,可以指定工程的名称、路径和缺省库名称。一般情况下,设定Default Library Name为work。指定的名称用于创建一个位于工程文件夹内的工作库子文件夹。该对话框如图 2.2所示,此外还允许通过选择.ini文件来映射库设置,或者将其直接拷贝至工程中。

图2.2 创建工程的对话框 2. 按照图2.3所示,设置Project Name为LED_FLOW,Project Location为D:/led_flow。 图2.3 输入工程信息 当单击OK按钮后,在主体窗口的下方将出现Project标签,如图2.4所示。 图2.4 Project标签

3. 之后,将出现Add Items to the Project的对话框,如图2.5所示。 图2.5 在工程中,添加新项目 2.2 在工程中,添加新项目 在Add Items to the Project对话框中,包括以下选项: ?Create New File——使用源文件编辑器创建一个新的Verilog、VHDL、TCL或文本文件?Add Existing File——添加一个已存在的文件 ?Create Simulation——创建指定源文件和仿真选项的仿真配置 ?Create New Folder——创建一个新的组织文件夹 1. 单击Create New File。打开图 2.6所示窗口。 图2.6 创建工程文件夹 2. 输入文件名称:LED_FLOW,然后选择文件类型为Verilog。

quartusII图形设计过程教程

Quartus II 的使用 (2) 1 工程建立 (2) 2 原理图的输入 (5) 3 文本编辑(verilog) (15) 4 波形仿真 (16)

Quartus II 的使用 在这里,首先用最简单的实例向读者展示使用Quartus II软件的全过程。进入WINDOWS XP后,双击Quartus II图标,屏幕如图1.1所示。 图 1.1 Quartus II 管理器 1.1 工程建立 使用New Project Wizard,可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称。还可以指定要在工程中使用的设计文件、其它源文件、用户库和EDA 工具,以及目标器件系列和器件(也可以让Quartus II 软件自动选择器件)。 建立工程的步骤如下:

(1)选择File菜单下New Project Wizard ,如图1.2所示。 图 1.2 建立项目的屏幕 (2)输入工作目录和项目名称,如图1.3所示。可以直接选择Finish,以下的设置过程可以在设计过程中完成。 图 1.3 项目目录和名称

(3)加入已有的设计文件到项目,可以直接选择Next,设计文件可以在设计过程中加入,如图1.4所示。 图 1.4 加入设计文件 (4)选择设计器件,如图1.5所示。 图 1.5 选择器件

(5)选择第三方EDA综合、仿真和时序分析工具,如图1.6所示。 图 1.6 选择EDA 工具 (6)建立项目完成,显示项目概要,如图1.7所示。 图 1.7 项目概要 1.2 原理图的输入 原理图输入的操作步骤如下:

(1)选择File 菜单下New ,新建图表/原理图文件,如图1.8 所示。 图 1.8 新建原理图文件 (2)在图1.9的空白处双击,屏幕如图1.10所示: (3)在图1.10的Symbol Name 输入编辑框中键入dff后,单击 ok按钮。此时可看到光标上粘着被选的符号,将其移到合 适的位置(参考图 1.11)单击鼠标左键,使其固定; (4)重复(2)、(3)步骤,给图中放一个input、not、output 符号,如图1.11所示;在图1.11中,将光标移到右侧input 右侧待连线处单击鼠标左键后,再移动到D触发器的左侧 单击鼠标左键,即可看到在input和D触发器之间有一条 线生成;

ModelSim软件仿真步骤教程

使用ModelSim模擬驗證HDL code 1.在模擬前先準備好我們要模擬的電路檔案(Verilog HDL,TestBench,…) 2. 打開ModelSim,新建一個Project,鍵入Project name 按OK。此處我們的library name 為default library name “work”不必更改。 3.然後再加入我們所要模擬的電路檔案(若尚未準備,可開啟新檔案再將code 鍵入)選Add Existing File,將我們已編輯好的檔案加入。 將我們所需要的檔案加入,按Browse選擇我們所需檔案count.v,

count_test.vt),按下OK。 再將先前所開啟的增加檔案的視窗關閉,按close。 4.按下compile all。

Compile成功沒有顯示出錯誤訊息, 則開始模擬波形 5.按下Simulation, 選擇檔案所在的Library (work), 點選TestBench的Module Name t_Gap_finder 按OK 6.承接上步驟將會跳出以下視窗,若要將所有訊號加入波型中觀察則選擇在 testbench的module name: count_tst按滑鼠右鍵選擇→ Add → Add to Wave。

7.在波型畫面按下Run All開始模擬 跑完後會跳出下面視窗選擇否則可觀察模擬波形,若按下是則會將ModelSim關閉。

8.觀察波形圖是否與功能符合,若與設計不符則修改設計並重複執行Step 4到 Step 8 Testbench語法 `timescale 1 ps/ 1 ps 前面的1ps代表程式中最小的時間單位 後面的1ps代表運算的精準度

Quartus_II使用教程-完整实例

Quartus Ⅱ入门教程 (一个Verilog 程序得编译与功能仿真) Quartus Ⅱ 就是Altera 公司推出得专业EDA 工具,支持原理图输入、硬件描述语言得输入等多种输入方式。硬件描述语言得输入方式就是利用类似高级程序得设计方法来设计出数字系统。接下来我们对这种智能得EDA 工具进行初步得学习。使大家以后得数字系统设计更加容易上手。 第一步:打开软件 快捷工具栏:提供设置(setting),编译(pile)等快捷方式,方便用户使用,用户也可以在菜单栏得下拉菜单找到相应得选项。● 菜单栏:软件所有功能得控制选项都可以在其下拉菜单中找到。 ● 信息栏:编译或者综合整个过程得详细信息显示窗口,包括编译通过信息与报错信息。 第二步:新建工程( Project Wizard ) 1 工程名称: 快捷工具栏 菜单栏 所建工程得保存路径 工作区 资源管理窗口 任务管理窗口

dqgxo 。 2添加已有文件(没有已有文件得直接跳过next ) 3 选择芯片型号(我们选择MAX3000A 系列下得EPM3256AQC208-10芯片) (注:如果不下载到开发板上进行测试,这一步可以不用设置) 工程名称 顶层模块名(芯片级设计为实体名),要求与工程名称相同 如果有已经存在得文 件就在该过程中添加, 软件将直接将用户所添加得文件添加到工程中。

4 选择仿真,综合工具(第一次实验全部利用quartus 做,三项都选None,然后next) 5 工程建立完成(点finish ) 所选得芯片得系列型号 快速搜索所需得芯片 选择芯片 选择第三方综合工具,如果使用Quartus 内部综合工具则选择none 选择第三方仿真工具,如果使用Quartus 内部仿真工具则选择none 选择时序分析仪

Modelsim 仿真步骤总结

Modelsim 仿真步骤总结 Modelsim 仿真主要有以下三个方面:各版本的方法大体一致。(1)建立库并映射库到物理目录; (2)编译源代码(包括testbench); (3)执行仿真; 下面具体演示每一步的操作方法及流程,为力求简洁,其中有多种操方法的只介绍一种。 一)建立库的演示: 步骤为——启动modelsim>点击file菜单>(Change Directory)>new>(project)>library.注括号内的步骤非必须。 1.1)启动modelsim; (1.2)点击file菜单,此时若需更改路径,可以点击其中的Change Directory.(注modelsim会自动默认路径。我们也可以在1.1步骤之前建立一个文件夹用于modelsim的工程,再将路径更改到我们新建的文件夹路径。)

(1.3)点击file子菜单中的new,选择project用于新建立一个modelsim工程。(虽然此步非必须,但是建立一个新工程有益 于接下来整个仿真文件的管理。)

1.4)点击file子菜单new,再点击new下的library,用于建立 一个库。(仔细观察1.3步,新建工程的同时亦可建立库)。 至此,modelsim仿真第一大步建立库的工作完毕。

二)编译源代码(包括testbench): 大家都已知道在quartus中编译源代码的方法,这里说明一下在modelsim中编译源代码及testbench的方法。 步骤为——建立一个新工程(同时建立库)后,会自动提示你四个选项。如图: 选create new file后提示对话框,(也可以在有源文件的情况下选择add existing file到工程中。例如我们用quartus写好文件后,可以用此方法将quartus中的文件添加到modelsim工程中来)让你命名你即将创建的新文件,完毕后,会自动出现一个空白的编辑窗口,在那里输入源代码和testbench。(提示:这样编写完后点保存,便可以直接保存到上面设臵好的work库中。比起另一种方法,不建工程直接建库,再通过菜单栏source添加源

QUARTUSⅡ10波形仿真(ModelSim)入门教程

QUARTUSⅡ10仿真(ModelSim)入门教程平台 软件:ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition 内容 1 设计流程 使用ModelSim仿真的基本流程为: 图1.1 使用ModelSim仿真的基本流程 2 开始 2.1 新建工程 打开ModelSim后,其画面如图2.1所示。 图2.1 ModelSim画面

1. 选择File>New>Preject创建一个新工程。打开的Create Project对话框窗口,可以指定工程的名称、路径和缺省库名称。一般情况下,设定Default Library Name为work。指定的名称用于创建一个位于工程文件夹内的工作库子文件夹。该对话框如图 2. 2所示,此外还允许通过选择.ini文件来映射库设置,或者将其直接拷贝至工程中。 图2.2 创建工程的对话框 2. 按照图2.3所示,设置Project Name为LED_FLOW,Project Location为D:/led_flow。 图2.3 输入工程信息 当单击OK按钮后,在主体窗口的下方将出现Create Project标签,如图2.4所示。 图2.4 Project标签 3. 之后,将出现Add Items to the Project的对话框,如图2.5所示。 图2.5 在工程中,添加新项目 2.2 在工程中,添加新项目 在Add Items to the Project对话框中,包括以下选项:

?Create New File——使用源文件编辑器创建一个新的Verilog、VHDL、TCL或文本文件 ?Add Existing File——添加一个已存在的文件 ?Create Simulation——创建指定源文件和仿真选项的仿真配置 ?Create New Folder——创建一个新的组织文件夹 1. 单击Create New File。打开图 2.6所示窗口。 图2.6 创建工程文件夹 2. 输入文件名称:LED_FLOW,然后选择文件类型为Verilog。 图2.7 输入工程文件信息 3. 单击OK,关闭本对话框。新的工程文件将会在工程窗口显示。单击Close,以关闭Add Items to the Project。 图2.8 新的设计文件LED_FLOW.v 4. 双击打开LED_FLOW.v文件(注意:若是Verilog文件已经关联了其他的文本编辑器,则双击后在关联的文本编辑器中打开)。 图2.9 LED_FLOW代码输入窗口 在LED_FLOW.v输入下面的测试平台代码:

QuartusII教程(完整版)

Quartus II 的使用 (1) 1 工程建立 (1) 2 原理图的输入 (4) 3 文本编辑(verilog) (14) 4 波形仿真 (17)

Quartus II 的使用 在这里,首先用最简单的实例向读者展示使用Quartus II软件的全过程。进入WINDOWS XP后,双击Quartus II图标,屏幕如图1.1所示。 图 1.1 Quartus II 管理器 1.1 工程建立 使用New Project Wizard,可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称。还可以指定要在工程中使用的设计文件、其它源文件、用户库和EDA 工具,以及目标器件系列和器件(也可以让Quartus II 软件自动选择器件)。 建立工程的步骤如下:

(1)选择File菜单下New Project Wizard ,如图1.2所示。 图 1.2 建立项目的屏幕 (2)输入工作目录和项目名称,如图1.3所示。可以直接选择Finish,以下的设置过程可以在设计过程中完成。 图 1.3 项目目录和名称

(3)加入已有的设计文件到项目,可以直接选择Next,设计文件可以在设计过程中加入,如图1.4所示。 图 1.4 加入设计文件 (4)选择设计器件,如图1.5所示。 图 1.5 选择器件

(5)选择第三方EDA综合、仿真和时序分析工具,如图1.6所示。 图 1.6 选择EDA 工具 (6)建立项目完成,显示项目概要,如图1.7所示。 图 1.7 项目概要 1.2 原理图的输入 原理图输入的操作步骤如下:

(1)选择File 菜单下New ,新建图表/原理图文件,如图1.8 所示。 图 1.8 新建原理图文件 (2)在图1.9的空白处双击,屏幕如图1.10所示: (3)在图1.10的Symbol Name 输入编辑框中键入dff后,单击ok按钮。此时可看到光标上粘着被选的符号,将其移到合适的位置(参考图 1.11)单击鼠标左键,使其固定;(4)重复(2)、(3)步骤,给图中放一个input、not、output 符号,如图1.11所示;在图1.11中,将光标移到右侧input 右侧待连线处单击鼠标左键后,再移动到D触发器的左侧单击鼠标左键,即可看到在input和D触发器之间有一条线生成;

FPGA入门及Quartus II使用教程(内部资料)

FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。 可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。并且可以通过软件仿真,我们可以事先验证设计的正确性。 第一章FPGA的基本开发流程 下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。 下图是一个典型的基于Quartus II的FPGA开发整体流程框图。

1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管 理。 2、建立顶层图。可以这样理解,顶层图是一个容器,将整个工程的各个模块包 容在里边,编译的时候就将这些模块整合在一起。也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。 3、采用ALTERA公司提供的LPM功能模块。Quartus软件环境包含了大量的常 用功能模块,比如计数器、累加器、比较器等等。 4、自己建立模块。由于有些设计中现有的模块功能不能满足具体设计的要求, 那就只能自己设计。使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。 5、将顶层图的各个功能模块连线起来。这个过程类似电路图设计,把各个芯片 连起来,组成电路系统。 6、系统的功能原理图至此已经基本出炉了,下一步就是选择芯片字载体,分配 引脚,设置编译选项等等。 7、编译。这个过程类似软件开发里德编译,但是实际上这个过程比软件的编译 复杂的多,因为它最终要实现硬件里边的物理结构,包含了优化逻辑的组合,综合逻辑以及布线等步骤。 8、编译后会生成2个文件,一个是*.sof文件,一个是*.pof文件,前者可以通过 JTAG方式下载到FPGA内部,可以进行调试,但断电后数据丢失;后者通过AS或者PS方式下载到FPGA的配置芯片里边(EEPROM或者FLASH),重新上电后FPGA会通过配置将数据读出。 9、对于复杂的设计,工程编译好了,我们可以通过Quartus软件或者其他仿真 软件来对设计进行反复仿真和验证,直到满足要求。(主要是时序仿真)。 第二章基于Quartus II的实例 一、建立工程 首先,打开Quartus II软件。

modelsim仿真必会教程

Modelsim功能仿真新手教程 By wangjun850725@https://www.doczj.com/doc/435523267.html, 操作系统:win7 软件版本:modelsim6.5se 本文只针对初学者,让他们少走点弯路,modelsim软件本身感觉还是比较难以使用的。本人才疏学浅,但有颗助人的心。大神请跳过,不要鄙视我。 如有错误,请不吝指点。 QQ群:41143927 建立工程 省略N字,这没有什么好说的。几乎所有的软件都是以工程为基础的。 添加设计文件 因为我已经编辑好了文件,所以直接添加已经存在的。没有人会用modelsim自带的编辑器来写程序(要是没有选择,我宁愿用记事本,如果你用了,我佩服你)。 编译文件 没有什么好说的,添加进去的文件全部编译就好了。 如果你看编译后的文件后面还有一个问号,你不爽,鼠标右键更新下就好了 开始仿真 Modelsim se版本是可以手动描绘激励波形的,但这种方法太笨,太烦,修改起来很不方便,所以直接放弃。

Simulate里有个start simulate,点开 这里有几点要说明下 1.要点开work库,找到你testbench对应的那个模块 2.Resolution选不选关系不大,如果你设计文件指定了仿真时间的话 3.Optimization,要把这个勾去掉,不然会优化掉很多信号,这里也坑了我很久。 功能仿真只要这么多,如果做后仿,library里要添加已经编译好的器件库,SDF里要添加.vo,.sdo文件 观察波形 添加信号到波形窗口的方法有很多,刚学手动添加,后来肯定是要在脚本里指定的,下面会有 首先要把设计中的信号添加到wave窗口里。

鼠标左键按住不放,将对应的模块拖到wave窗口里,这是最简单的办法。 如果设计的模块多了,每个模块的信号不能很好的被区分,就可以在每个模块的中间插入一个Divider,信号旁边右键就可以看到,最好给起个名字 如果你的模块层次非常的多,信号的路径名字就会占据本来就不大的屏幕时很不爽的。 菜单Wave‐>Wave preference‐>Display signal path里面改成1就可以了 运行仿真 在Transcript窗口里输入 Run 1ms 搞定,波形神马的就出现了。你要做的工作就是看波形是否是你想要的。

QuartusII入门详细教程实例讲解

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区为信息栏:编译或者综合整个过程的详细信息显示窗口,包括编译通过信息和报错信息。

modelsim新手入门仿真教程

Modelsim新手入门仿真教程 1.打开modelsim软件,新建一个library。 2.library命名 3.新建一个工程。

3.出现下面界面,点击close。 4.新建一个verilog文件 键入主程序。下面以二分之一分频器为例。

文件代码: module half_clk(reset,clk_in,clk_out); input clk_in,reset; output clk_out; reg clk_out; always@(negedge clk_in) begin if(!reset) clk_out=0; else clk_out=~clk_out; end endmodule 编辑完成后,点击保存。

文件名要与module后面的名称相同。 5.再新建一个测试文件,步骤同上面新建的主程序文件,文件名后缀改为.vt 程序代码如下: `timescale 1ns/100ps `define clk_cycle 50 module top; reg clk,reset; wire clk_out; always #`clk_cycle clk=~clk; initial

begin clk=0; reset=1; #10 reset=0; #110 reset=1; #100000 $stop; end half_clk m0( .reset(reset), .clk_in(clk), .clk_out(clk_out)); Endmodule 6.添加文件,编译文件 先右键点击左边空白处,选择add to project→existing File 选择刚刚新建的两个文件。按ctrl键可以同时选择两个,选择打开,下一步点击ok

Quartus_II简明教程

Quartus II简明教程 Altera公司的Quartus II设计软件是用来进行SOPC(System-on-a-programmable-chip)设计的综合的设计环境。本教程适用于Quartus II软件的新用户,介绍使用Quartus II软件的进行FPGA设计的基本方法。需要注意,本教程并不是Quartus II软件的详尽的参考手册。 本教程包含的主要内容: 1、典型的FPGA设计流程; 2、开始 3、新建project 4、设计输入 5、编译 6、引脚分配 7、仿真 8、编程、配置FPGA器件 9、板级调试

1、 典型的FPGA 设计流程 计算机辅助设计(Computer Aided Design ,CAD )软件的使用使得使用可编程逻辑器件(Programmable Logic Device ,PLD)器件(比如Field Programmable Gate Array ,FPGA)进行数字逻辑电路设计变得非常容易。使用CAD 软件进行FPGA 设计的典型流程如图1所示。 图1 FPGA 设计的典型设计流程 Quartus II 软件支持以上设计流程的所有阶段。本教程介绍Quartus II 软件的基本特征。 2、 开始 在Quartus II 软件中设计的每个电路或者子电路都叫做项目(Project )。Quartus II 软件每次只能打开一个Project ,并且一个Project 的所有信息都必须保存在同一个文件夹。为了开始一个新逻辑电路的设计,首先第一步就是新建一个文件夹来保存此Project 的文件。为了保存本教程的设计项目Project ,新建文件夹D:\introtutorial 。本教程运行的例子是一个简单两路开关控制电路。 启动Quartus II 软件,会打开如图2所示启动画面。启动画面中包含了使用Quartus II 软件所需要的

Quartus+ModelSim-Altera 联合仿真(Verilog版)

Quartus+ModelSim-Altera联合仿真(Verilog版) 作者:L.xiang (注:默认Next/OK/Finish) Step1:新建工程New Project Wizard...设置路径+工程名+entity名(project、entity必须同名); Step2:选择器件:Cyclone II EP2C5F26C8(例如);

Step3:Simulation设置:ModelSim-Altera+Verilog HDL; Step4:新建文件,选Verilog HDL File; Step5:输入代码,并保存为led(.v文件); Step6:调试,修改直到没有Error为止(工程目录下同时自动生成了simulation文件);

Step7:生成Test Bench文件(.vt):Processing->Start->Start Test Bench Template Writer; Step8:工程目录下C:\altera\text\led1\simulation\modelsim打开led.vt文件,并复制“led_vlg_tst”;

Step9:设置Simulation:Assignments+Settings; Step10:Simulation->仿真扫描时间Time scale:100ps(或其它值),Comple test bench-> Tset Benchse...; Step11:点击New...;

Step12:粘贴Test bench name:led_vlg_tst(Step8中已复制),Top level module in test bench:led_vlg_tst(必须和.vt文件里的module名一致); Step13:添加Test bench files:simulation/modelsim/led.vt,并点击Add; Step14:点击,即启动ModelSim进入仿真;

modelsim激活教程

有用+1 已投票 1 收藏+1 已收藏 Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP 核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。 工具/原料 ?PC机 ?ModelSim6.4a ?破解软件modelsim_crack.exe 步骤/方法1

安装ModelSim6.4a,安装一般软件的安装步骤,一路next就行了2 下载破解软件modelsim_crack,并解压破解软件modelsim_crack.exe到任何位置

1. 3 运行破解软件modelsim_crack.exe,会在软件文件夹下生产License.txt 2. 4

把License.txt后缀名改为.dat,然后放到modelsim安装文件夹下,比如我的安装路径是D:\Program Files (x86)\modelsim\modelsim_ae 3. 5 打开pc机的高级系统设置窗口,并找到环境变量设置窗口

4. 6 添加新的用户环境变量和系统环境变量 变量名:LM_LICENSE_FILE 变量值:D:\Program Files (x86)\modelsim\modelsim_ae\License.DAT 这值是你License.DAT的存放位置

5.7 至此破解完成,运行程序即可

Quartus_II_9.0_使用初级教程

Quartus Ⅱ 9.0 使用教程(初级) Quartus Ⅱ 是Altera 公司推出的专业EDA 工具,支持原理图输入、硬件描述语言的输入等多种输入方式。硬件描述语言的输入方式是利用类似高级程序的设计方法来设计出数字系统。接下来我们对这种智能的EDA 工具进行初步的学习。使大家以后的数字系统设计更加容易上手。 第一步:打开软件 ● 快捷工具栏:提供设置(setting ),编译( compile )等快捷方式,方便用户使用,用户也可以在菜单栏的下拉菜单找到相应的选项。 ● 菜单栏:软件所有功能的控制选项都可以在其下拉菜单中找到。 ● 编译及综合的进度栏:编译和综合的时候该窗口可以显示进度,当 显示100%是表示编译或者综合通过。 ● 信息栏:编译或者综合整个过程的详细信息显示窗口,包括编译通过信息和报错信息。

第二步:新建工程(file>new Project Wizard ) 1 工程名称: 2添加已有文件(没有已有文件的直接跳过next )

3 选择芯片型号(我们选择MAX3000A 系列下的EPM3256AQC208-10芯片) 4 选择仿真,综合工具(第一次实验全部利用quartus 做,三项都选None ,然后next )

5 工程建立完成(点finish) 第三步:添加文件(file>new> VHDL file),新建完成之后要先保存。

第四步:编写程序 3-8译码器的VHDL描述源文件如下: library ieee; use ieee.std_logic_1164.all; entity decoder3_8 is port( A:in std_logic_vector(2 downto 0); EN:in std_logic; Y:out std_logic_vector(7 downto 0)); end decoder3_8; architecture example_1 of decoder3_8 is signal sel:std_logic_vector(3 downto 0); begin sel<=A & EN; with sel select Y <= "11111110" when "0001", "11111101" when "0011", "11111011" when "0101", "11110111" when "0111", "11101111" when "1001", "11011111" when "1011",

相关主题
文本预览
相关文档 最新文档