基于Quartus II+ModelSim SE的后仿真(Verilog版)

一、Quartus 中的相关设置

  1. 在Quartus中建立名为counter的工程,设置仿真工具为ModelSim(Verilog),这一步您可以在New Project Wizard中指定(如图1所示),也可以在后面的Assignments->EDA Tool Settings中设置
  2. 设置完以后,在 Quartus 中进行全编译,这里使用 counter.v作为例子,这样在工程目录下会生成 simulation 文件夹,内部ModelSim文件夹中有三个文件分别是counter.vo(布局布线后的仿真模型文件),counter_modelsim.xrf(好像是实例化的元件),counter_v.sdo(标准延时输出文件)。到这里可以关闭Quartus II了!

二、ModelSim 中手工添加 Altera的仿真库

在您的ModelSim安装目录中建立两个文件夹,一个是用于存放公用的库我给它取名altera_base_v;另一个是用于存放您要用到的特定的器件库,我用到的是cyclone系列所以命名为cyclone_v。我是这样建的:

注意要在altera_base_v和cyclone_v两个目录下分别新建一个 _info ,否则在对库文件进行编译的时候会提示找不到_info文件。

  1. 现在可以启动您的ModelSim SE了。从主菜执行File->New->Library 命令,出现对话框如图3所示,选中a new library and a logical mapping to it,在Library Name填写altera_base_v,Library Physical Name填。填写如图3所示:

图3                                     图4

  1. 点击OK,如图4所示,可以看到altera_base_v这样一个库名,不过这时库里面还是空的。如果要修改库文件映射的名称或者路径,在相应的库上右击,如图4中的altera_base_v,选择Edit,就可以进行相应的修改,注意修改后的结果不能立即生效,立即点击Compile->Compile…Compile>Compile…会出错。可以右击Update就可以使修改生效。
  2. 从主菜单工具栏中执行 Compile->Compile…命令,弹出一个对话框,点中 Library 下拉菜单,由 work改为 altera_base_v,点中查找范围下拉菜单,指向 Quartus II 安装目录\quartus\eda\sim_lib,对图 5 中的220model.v、altera_mf.v和altera_primitives.v三个文件进行编译。

图5

  1. 现在开始编译您要用到的器件库,我要用的是 cycloneii 系列的 FGPA 我就只编译 cycloneii 相关的.v 文件就好了。重复1至3的步骤,并编译cycloneii_atoms.v  。

图6

  1. 编译结束后,点击Done按钮。这样虽然编译了仿真时所需的Altera库文件。为了在每次新建工程的时候不需要重新编译Altera的仿真库,需要修改Modelsim的安装目录下的modelsim.ini文件。

第一步 选中modelsim.ini文件,右键单击属性,将只读属性去掉。

第二步 用写字板或其它工具打开modelsim.ini文件,在[Library]这个位置下面添加如下2行,如图7所示:

图7

第三步  保存文件,关闭文件后,再将只读属性打开。 最后在左侧面板位置点鼠标右键->Refresh一下。

三、现在开始建立您的 ModelSim 工程了。

1.    在ModelSim 中新建一个工程工程目录可以直接使用 Quartus生成的 “Quartus工程所在目录\simulation\modelsim”,把 counter.v 还有测试文件 counter_tb.v一起 Copy 到这个文件夹中。

2. 点击ModelSim面板中的File->New->Project…选项,新建一个工程,点击 Add new file to project 将counter.v , coumter_tb.v , 和 counter.vo三个文件添加到工程中去,这三个文件是后仿真所需要的。

4.    编译上述的三个文件,如果正确会在命令窗口出现如图8的提示信息

图8

  1. 点击工具栏的 simulate->start simulate,启动仿真设置页面如下。选中上面的选项卡中的 Design 再点击 work 左边的“+”,选中文件 counter_tb.v,如图 9 所示。把 Enable optimization 前面的勾去掉。选中Libraries加载刚才建的库如图11所示。

图9

  1. 选中选项中的DSF,在SDF File中,点Browse...找到ModelSim中的工程目录,找counter_v.sdo加入。其中作用域 Apply Region 即为顶层模块的例化名称,这里是 u1 。如图10:

图10

  1. 然后点击 OK,准备运行,若有问题会在命令窗口中显示响应警告信息。选择View> Wave,出现波形窗口,点击Run-all , Break,得到仿真波形。需要注意的是,当不小心修改了 .v 文件时,由于 .vo文件未能实时更新,会造成仿真无法进行,这是需要打开Quartus重新综合,在Modelsim下对最新的 .vo 文件重新进行编译,就可以了。仿真结果如图11:

图11

可以发现,后仿真的信号数量比功能仿真要多得多,并且从波形输出中也可以看到明显的由器件本身带来的延时。图12是信号的局部放大图。

图12

附录:

/***** 顶层文件 : counter.v *****/

module counter(

clk,

dout

);

input clk;

output [7:0]dout;

reg [7:0] cnt;

initial

cnt = 8'd0;

always @ (posedge clk)

begin

if(cnt == 8'd255)

cnt = 8'd0;

else

cnt = cnt + 8'd1;

end

assign dout = cnt;

endmodule

/***** test bentch : counter_tb.v *********/

`timescale 1ns/1ns

module counter_tb;

reg clk;

wire [7:0] dout;

always

#10 clk = ~clk;

initial

clk = 0;

counter u1(.clk(clk),.dout(dout));

endmodule

转载于:https://www.cnblogs.com/iversonblog/p/3577457.html

基于Quartus II+ModelSim SE的后仿真(Verilog版)相关推荐

  1. (筆記) 如何使用ModelSim作前仿真與後仿真? (SOC) (Quartus II) (ModelSim)

    Abstract 本文介紹使用ModelSim做前仿真,並搭配Quartus II與ModelSim作後仿真. Introduction 使用環境:Quartus II 8.1 + ModelSim- ...

  2. 基于Quartus II 软件(VHDL)设计

    目录 一,基于 Quartus II 的数字系统设计流程 二,Quartus II 软件使用介绍 1. 建立工程 2. 设计输入 3. 编译 4. 时序仿真 quartus ii 安装请参考: Qua ...

  3. Quartus调用Modelsim SE避免重复编译Altera器件库的方法

    最近用Quartus 15.0配合Modelsim SE 10.4的64位版本,简直就是闪电一般的仿真速度.但是众所周知,SE版本最大的问题就是每次由Quartus自动调用时,都要重新编译所使用的器件 ...

  4. 基于Quartus II软件的FPGA综合实验——多功能数字钟

    有很多自制元器件,内部电路附在文章中 文章目录 前言 一.设计要求 二.设计原理 三.设计过程 1.数码管扫描模块 2.计时模块 3.闹钟模块 4.闹钟响铃模块 5.数码管显示模块 6.整点报时功能 ...

  5. 基于Quartus II软件FPGA与PC之间的串行通信系统开发(9000+字)

    1.简介与仿真结论 随着集成电路技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域.电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与 ...

  6. 计算机组成与体系结构乘法指令设计,基于Quartus II的计算机组成与体系结构综合实验教程...

    基于Quartus II的计算机组成与体系结构综合实验教程 语音 编辑 锁定 讨论 上传视频 <基于Quartus II的计算机组成与体系结构综合实验教程>是2011年科学出版出版的图书, ...

  7. Quartus 与modelsim se联合仿真

    ** 1.首先下载并安装两个软件 ** modelsim se是从下面网址下载并破解的(未使用altera-modelsim,这两个是不一样的) http://www.xue51.com/ 至于qua ...

  8. Modelsim 后仿真操作步骤之二——用Modelsim单独进行后仿真

    后仿就是时序仿真,因为时序仿真是在综合之后故称后仿真.现将综合到后仿的简单步骤细列如下(并附图): 一,综合(所用工具是quartus) 1,建立工程,其他不变,只是在选择仿真工具时留意下图红圈处. ...

  9. 基于Quartus II的在线调试方法

    细算一下,发现Altera在Quartus II工具中居然提供了五种不同的在线调试方法.这里的在线调试是指协助或不借助于外部工具的FPGA板级调试.这些方法调试形式上稍有不同,互有优劣,目的都是为了帮 ...

最新文章

  1. Hadoop YARN学习之Hadoop框架演进历史简述
  2. Andorid SQLite数据库开发基础教程(3)
  3. 教你一步一步用C语言实现sift算法、上
  4. Javascript操作DOM常用API总结
  5. 用CSS3 vh 简单实现DIV全屏居中
  6. 禁止html文件控件手动输入的方法
  7. 制作透明的图标ICO
  8. [转载] 重新抛出异常与 public Throwable fillInStackTrace()
  9. 常用的自动化运维工具
  10. 天锐绿盾加密软件支持什么操作系统?
  11. 史上最最详细的win10虚拟机安装教程,手把手从头到尾
  12. 学了C语言想装x能干点啥?手把手教你写个聊天软件来玩玩
  13. java GUI mysql实现的薪资工资管理系统项目源码附带视频指导教程
  14. java.lang.NumberFormatException: For input string: 解决方案
  15. 三分钟了解http和https
  16. spark集群环境下Lost task 0.0 in stage 10.0 (TID 17, 10.28.23.202): java.io.FileNotFoundException
  17. 服务器维修模板,中国直辖市服务器维修及数据恢复模板.doc
  18. 水库水位库容监测系统方案
  19. 《刷新》读书笔记(一)
  20. 如何将多个excel表格合并成一个_多个PDF如何合并成一个?就用这个PDF在线工具!...

热门文章

  1. 一生只有一个配偶的动物,如果一方死亡了,另一方会怎么办?
  2. 好的程序员在通过单行道时会查看两边
  3. P1 Human Pose Estimation人体姿态综述估计调研
  4. PAT乙级1088 三人行 (20分)
  5. sql运算符_SQL LIKE运算符概述
  6. SQL Server 2017的逐步安装
  7. 使用PowerShell和Windows任务计划程序备份Linux SQL Server数据库
  8. Python3 找不到库
  9. 调用拷贝构造函数的场景
  10. [luogu3244 SHOI2016] 黑暗前的幻想乡(容斥原理+矩阵树定理)