FPGA入门:第一个工程实例_第1页
FPGA入门:第一个工程实例_第2页
FPGA入门:第一个工程实例_第3页
FPGA入门:第一个工程实例_第4页
FPGA入门:第一个工程实例_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、exO.vo画 画已龙tj modelsi.已::0 v. sduexO.vt丄 _j exOexO.vtexOvhdexOvIg 亡)db亡I in creme ntal_db simulationmodelsim图 5.29 测试脚本文件我们可以在Quartus II中打开这个文件,并且将其重新编辑如图5.30所示。33434L424344465L525354图 5.30 测试脚本代码/ assign statements (if any)ElexQ IL (33434L424344465L525354图 5.30 测试脚本代码/ assign statements (if any)Ele

4、xQ IL (/ pert map - ccnnecticn between master perts and signals/registers.key_Lef t (k:已y_Lef t f.key_right 已f.二已(二已d_Light)日二n二t二己丄 begn key_Left = L; key_right = L;#ioKo; key_Left = L;key_ric?:t = 0; #1000; key_Left = 0;key_right = L;#ioKo;key_Left = 0; key_ric?it = 0;#1000;3tcp;endendrnciduletime

5、scale L ns/ L mcid jle exO_vLg_tst ();/ test vectcx inpjit 工已gisters工已g 1已 Left;reg key_right;/ wireswire 二已d_Lig?it; 代码讲解L27: timescale用于申明仿真时间的单位和精度,“/”前面的1ns表示时间基本单位,“/”后面的1ps则仿真进度。应用示例见L46的讲解。L2&L59:进行模块的申明,模块名为exO_vlg_tst,与RTL级设计不同,这里无需罗列输入输出信号名。L46: “#1000”则表示仿真时间过了 1000ns。如果写成“999.999”则表示仿真时间

6、过了999.999ns,精确到ps,即此处的小数点后3位。L30/L31:两个按键的信号申明,设计文件的input信号,其实是测试脚本的output信号,因此是 reg 型。测试脚本中可以对其进行赋值。L33: LED指示灯的信号申明,设计文件的output信号,其实是测试脚本的input信号,因此是 wire 型。测试脚本中无法对其进行赋值。L36-41 :对设计文件(被测试的对象)的例化申明,主要是将其接口引出到该测试脚本文件中。L43-57:编写一段顺序执行的按键值模拟赋值程序。每隔1000ns分别给两个按键信号输出不同的组合值。在该测试脚本中,通过对key_left和key_right

7、两个激励信号的不同赋值,我们可以观察 led_light 信号的变化,以此验证原设计代码是否达到设计要求。完成测试脚本编写,我们接着需要打开菜单栏的AssigementTSettings选项,选择CategoryEDA Tool SettingTSimulation,在右边的相关属性中做如图5.31所示的设置,在选中Comple test bench后,我们要点击后面的Test Benches.按钮去选择刚才创建的测试脚本。图 5.31 Simulation 设置窗口如图5.32所示,首先弹出上面的Test Benches窗口,然后我们可以点击New.按钮,接 着便弹出下面的窗口。在此窗口中,

8、我们根据实际情况输入 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-Al

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论