Quartus II和ModelSim联合仿真

上一篇 / 下一篇  2008-07-08 17:25:38

Quartus IIModelSim联合仿真

前言

随着设计者能力和要求的提高项目越来越复杂,单靠手工画波形来仿真已经不能达到测试要求,这时我们结合其它工具来完成设计。值得庆幸的是,Quartus II的第三方工具接口做的很好,我们很方便地就能将多个软件联合起来以达到项目开发的目的。本文主要通过一个简单的正弦函数发生器实例来介绍Quartus IIModelSim的联合仿真。

前期准备

1、安装Quartus IIModelSim软件,保证两个软件在单独使用情况下都能正常工作(本文中提到的软件版本为:Quartus II 6.1ModelSim6.1f,不同版本之间略有差异,但步骤基本相同)

2、打开Quartus II软件,选择菜单栏Tools->Options…

设置ModelSim的路径,例如我的是D:\Modeltech_6.1f\win32

实例演示

1、新建工程

File->New Project Wizard

设置新建工程所在的目录、工程名称及工程中顶层文件的名称,设置完成后点击next

直接进入下一步。

根据自己条件选择器件系列和型号,例如我的是cyclone EP1C12Q240C8

这里主要是设置第三方工具的,因为我们要用modelsim仿真,所以我们在EDA simulation tool里选择我们的仿真工具。

最后会把所有该工程的信息完整显示出来,确认无误后可点击完成。

2、设计输入

Quartus II中新建verilog文件,编辑内容如下图所示。

生成正弦波的原理是将正弦波幅值存入ROM,精度由ROM的数据宽度和深度决定(这里以WIDTH=8,DEPTH=64为例)

Quartus II中的MegaWizard Plug-In Manager生成一个ROM模块,名称为rom,并加入初始化文件。

3、编译

编译过程中会有一个EDA Netlist Writer的过程并在工程目录下创建一个simulation文件夹,里面又有一个modelsim文件夹,一会我们创建的testbench文件就会生成在这个文件夹里。

 

4、创建testbench文件

Processing->Start->Start Test Bench Template Write

打开刚才上面提到的simulation\modelsim文件夹下的top.vt文件并编辑,内容如下图所示。

5、设置仿真环境

Assignments->EDA Tool Settings

选择Simulation设置仿真环境

NativeLink settings中选择Compile test bench并点击后面的Test Benches

Test Benches中点击New

设置Test Bench属性

Test bench entity栏一定要填写刚刚我们创建的testbench文件的实体名即module top_vlg_tst();中的top_vlg_tst。然后在Test bench files中浏览添加testbench文件。

6ModelSim仿真

Tools->EDA Simulation Tool->Run EDA Gate Level Simulation

此时会自动启动ModelSim并进行仿真,改变输出信号输出格式为Analog,调整信号输出为无符号数形式并调整信号高度就可看到仿真结果了。

由于做的是后仿,所以有毛刺产生。

Quartus IIModelSim的联合仿真步骤基本如上所述,描述若有错误或不详之处可与作者联系。

祝大家好运!


image012

image012

image013

image013

image014

image014

image015

image015

image016

image016

image011

image011

image010

image010

image009

image009

image008

image008

image007

image007

image006

image006

image005

image005

image004

image004

image003

image003

image002

image002

image001

image001

TAG:

always @  RoyWong 引用 删除 onewrong   /   2008-07-24 13:59:42
如果需要不退出也可以,必须自己用vlog 命令编译修改后的testbench文件,同时你还必须在仿真选项中加载altera的库,其实你可以查看modelsim控制台的命令记录,重新执行几个命令就可以了,不过还不如退出后再进呢,也不费多少时间
always @  RoyWong 引用 删除 onewrong   /   2008-07-24 13:50:33
如果要修改testbench,必须退出Modelsim,因为Modelsim执行的是quartus生成的脚本文件
引用 删除 aa988   /   2008-07-23 17:02:44
若是仿真的过程中,发现testbench出现编写错误,那么每次修改后,是不是都要先退出modelsim,然后再在quartusii中启用第三方工具重新仿真啊
引用 删除 aa988   /   2008-07-23 17:02:07
若是仿真的过程中,发现testbench出现编写错误,那么每次修改后,是不是都要先推出modelsim,然后再在quartusii中启用第三方工具重新仿真啊
引用 删除 rungiw   /   2008-07-13 21:47:43
一个一个******!!
引用 删除 hqk2007   /   2008-07-11 10:51:18
always @  RoyWong 引用 删除 onewrong   /   2008-07-08 17:36:17
实在不好意思文中的图,按001~016s顺序,给大家带来不便,请多原谅。
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-05  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 1152
  • 日志数: 4
  • 建立时间: 2006-12-03
  • 更新时间: 2008-07-17

RSS订阅

Open Toolbar