最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

FPGA入门:第一个工程实例之功能仿真平台搭建

来源:动视网 责编:小OO 时间:2025-10-01 18:32:50
文档

FPGA入门:第一个工程实例之功能仿真平台搭建

FPGA入门:第一个工程实例之功能仿真平台搭建本文节选自同学的图书《FPGA/CPLD边练边学——快速入门Verilog/VHDL》书中代码请访问网盘:http://pan.baidu.com/s/1bndF0bt简单的补充了一些理论知识,下面我们就以当前的实例工程为例来建立一个仿真环境。这个仿真环境的最终主角当然是ModelSim(Altera-ModelSim),但在此之前,我们还是需要把ModelSim工作所需的各种接口以及相关文件的关系梳理清楚。回到我们的QuartusII工具中,
推荐度:
导读FPGA入门:第一个工程实例之功能仿真平台搭建本文节选自同学的图书《FPGA/CPLD边练边学——快速入门Verilog/VHDL》书中代码请访问网盘:http://pan.baidu.com/s/1bndF0bt简单的补充了一些理论知识,下面我们就以当前的实例工程为例来建立一个仿真环境。这个仿真环境的最终主角当然是ModelSim(Altera-ModelSim),但在此之前,我们还是需要把ModelSim工作所需的各种接口以及相关文件的关系梳理清楚。回到我们的QuartusII工具中,
FPGA入门:第一个工程实例之功能仿真平台搭建

本文节选自同学的图书《FPGA/CPLD边练边学——快速入门Verilog/VHDL》

书中代码请访问网盘:http://pan.baidu.com/s/1bndF0bt

    简单的补充了一些理论知识,下面我们就以当前的实例工程为例来建立一个仿真环境。这个仿真环境的最终主角当然是ModelSim(Altera-ModelSim),但在此之前,我们还是需要把ModelSim工作所需的各种接口以及相关文件的关系梳理清楚。

    回到我们的Quartus II工具中,在前面创建工程向导中,我们其实已经设置了Simulation工具为ModelSim-Altera,但是我们还需要做更详细的配置。首先我们可以点击菜单栏的ProcessingStartStart Test Bench Template Writer,随后弹出提示“Test Bench Template Writer was successful”,那么我们就已经创建了一个Verilog测试脚本,在此脚本中,我们可以设计一些测试激励输入并且观察相应输出,借此我们就能够验证原工程的设计代码是否符合要求。

    如图5.29,我们打开工程路径下的/simulation/modelsim文件夹,可以看到一个名为ex0.vt的测试脚本文件创建了。

图5.29 测试脚本文件

我们可以在Quartus II中打开这个文件,并且将其重新编辑如图5.30所示。

图5.30 测试脚本代码

★代码讲解

L27:timescale用于申明仿真时间的单位和精度,“/”前面的1ns表示时间基本单位,“/”后面的1ps则仿真进度。应用示例见L46的讲解。

L28/L59:进行模块的申明,模块名为ex0_vlg_tst,与RTL级设计不同,这里无需罗列输入输出信号名。

L46:“#1000”则表示仿真时间过了1000ns。如果写成“999.999”则表示仿真时间过了999.999ns,精确到ps,即此处的小数点后3位。

L30/L31:两个按键的信号申明,设计文件的input信号,其实是测试脚本的output信号,因此是reg型。测试脚本中可以对其进行赋值。

L33:LED指示灯的信号申明,设计文件的output信号,其实是测试脚本的input信号,因此是wire型。测试脚本中无法对其进行赋值。

L36-41:对设计文件(被测试的对象)的例化申明,主要是将其接口引出到该测试脚本文件中。

L43-57:编写一段顺序执行的按键值模拟赋值程序。每隔1000ns分别给两个按键信号输出不同的组合值。

    在该测试脚本中,通过对key_left和key_right两个激励信号的不同赋值,我们可以观察led_light信号的变化,以此验证原设计代码是否达到设计要求。

    完成测试脚本编写,我们接着需要打开菜单栏的AssigementSettings选项,选择CategoryEDA Tool SettingSimulation,在右边的相关属性中做如图5.31所示的设置,在选中Comple test bench后,我们要点击后面的Test Benches…按钮去选择刚才创建的测试脚本。

图5.31 Simulation设置窗口

    如图5.32所示,首先弹出上面的Test Benches窗口,然后我们可以点击New…按钮,接着便弹出下面的窗口。在此窗口中,我们根据实际情况输入Test bench name和Top level module in test bench的名称,接着还要在在Test bench and simulation files下面选择测试脚本文件,然后Add添加到最下面的列表中。完成后点击OK,如图5.33,我们便可看到Test Benches窗口的列表中出现了刚才添加的测试脚本相关信息,接着点击OK完成设置。

图5.32 测试脚本设置

图5.33 完成新测试脚本添加

    回到Setting中也点击OK完成所有相关设置。我们还需要打开菜单栏的ToolsOptions配置页面,如图5.34所示,我们选择Category下的GeneralEDA Tool Options,然后设置ModelSim-Altera软件安装路径(请根据实际安装时的路径进行设置)。当Quartus II调用ModelSim-Altera软件进行仿真时,会通过这里所设置的路径来查找并启动ModelSim-Altera。

图5.34 ModelSim-Altera调用路径设置

本文节选自同学的图书《FPGA/CPLD边练边学——快速入门Verilog/VHDL》

书中代码请访问网盘:http://pan.baidu.com/s/1bndF0bt

文档

FPGA入门:第一个工程实例之功能仿真平台搭建

FPGA入门:第一个工程实例之功能仿真平台搭建本文节选自同学的图书《FPGA/CPLD边练边学——快速入门Verilog/VHDL》书中代码请访问网盘:http://pan.baidu.com/s/1bndF0bt简单的补充了一些理论知识,下面我们就以当前的实例工程为例来建立一个仿真环境。这个仿真环境的最终主角当然是ModelSim(Altera-ModelSim),但在此之前,我们还是需要把ModelSim工作所需的各种接口以及相关文件的关系梳理清楚。回到我们的QuartusII工具中,
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top