一.GUI界面的仿真步骤

1.首先把你需要仿真的设计文本和仿真文本全部放在同一个文件夹下面,注意,文件夹路径不能包含中文。

我的设计文件:counter.v
`timescale 1ns / 1ns
module counter (count, clk, reset);
output [7:0] count;
input clk, reset;

reg [7:0] count;
parameter tpd_reset_to_count = 3;
parameter tpd_clk_to_count   = 2;

function [7:0] increment;
input [7:0] val;
reg [3:0] i;
reg carry;
  begin
    increment = val;
    carry = 1'b1;
    /* 
     * Exit this loop when carry == zero, OR all bits processed 
     */ 
    for (i = 4'b0; ((carry == 4'b1) && (i <= 7));  i = i+ 4'b1)
       begin
         increment = val ^ carry;
         carry = val & carry;
       end
  end       
endfunction

always @ (posedge clk or posedge reset)
  if (reset)
     count = #tpd_reset_to_count 8'h00;
  else
     count <= #tpd_clk_to_count increment(count);

/***************************************************************** 
Use the following block to make the design synthesizable.

always @ (posedge clk or posedge reset)
  if (reset)
     count = 8'h00;
  else
     count <= count + 8'h01;
******************************************************************/
endmodule

我的仿真文件:tcounter.v
`timescale 1ns / 1ns
module test_counter;

reg clk, reset;
wire [7:0] count;

counter dut (count, clk, reset);

initial // Clock generator
  begin
    clk = 0;
    forever #10 clk = !clk;
  end
  
initial    // Test stimulus
  begin
    reset = 0;
    #5 reset = 1;
    #4 reset = 0;
  end
  
initial
    $monitor($stime,, reset,, clk,,, count); 
    
endmodule

2.打开modelsim软件,选择“File > Change Directory”,把目录改为我们在步骤1所创建的文件夹下,如下图所示

3.选择“File > New > Library”,创建一个新的工作库,如下图所示:

4.选择“Compile > Compile”,编译我们的设计文件和仿真文件,如下图所示:
 

5.最关键的步骤来了,那些老教程就是缺少这步骤中的关键操作,而导致没有波形输出:可视化并加载我们的设计工程,如下图所示:
 
 

6.选择软件右下方的“sim”,再鼠标右击,选择“AddTo > Wave > All items in region”,添加观测信号给波形窗口,如下图所示:

7.选择软件左下方“wave”,运行仿真,如下图所示:
 

以上就是GUI界面的仿真步骤了。

二.脚本方式的仿真步骤

我个人是不喜欢上述的GUI界面的仿真步骤,太罗嗦了,我喜欢更简单直接的脚本方式的仿真步骤,几行指令即可完成仿真。

下面就是几条主要指令,具体实现,大家还是看modelsim自带英语文档吧。

vlib work      //建库

vmap work work   //映射

vlog counter.v tcounter.v      //编译文本,此指令需要建立project才能运行

vopt +acc test_counter -o testcounter_opt  //可视化module

vsim testcounter_opt   //加载工程

add wave *    //添加观测信号

run -all    //运行全部

附:http://bbs.eeworld.com.cn/thread-629360-1-1.html

modelsim独立仿真教程相关推荐

  1. modelsim独立仿真vivado工程

    由于现有笔记本带不动vivado自带的仿真工具,所以只能退而求其次,尝试用modelsim来仿真vivado工程.碰到这种软件问题,期间心酸,懂者自懂.故在此分享经验,以防不时之需,毕竟好记性不如烂笔 ...

  2. modelsim 独立仿真vivado fifo IP核

    1.前言 vivado内自带仿真器,或者可以通过vivado启动第三方仿真工具,联合仿真.但是很多时候,我们希望脱离vivado,利用modelsim或者vcs等第三方仿真工具,高效地仿真.本文介绍如 ...

  3. 【懒人专用】Python实现Modelsim独立仿真Vivado工程的自动化脚本

    引言 有两种方法可以使用 Modelsim 对 Vivado 工程进行仿真,即级联仿真和独立仿真.        级联仿真就是通过设置使 Vivado 调出 Modelsim 仿真界面并启动仿真,这种 ...

  4. Modelsim独立仿真DDR4

    前言 DDR4 MIG可以使用vivado自带的仿真器作仿真:也可以使用vivado软件打开modelsim的方式,使用modelsim仿真.如果,独立使用modelsim对DDR4 MIG进行仿真, ...

  5. modelsim独立仿真与联合仿真生成覆盖率流程(随笔)

    modelsim 覆盖率统计 无脚本 生成modelsim工程文件,代码编译成功 全选代码按这个设置 到library界面,打开work,选择写好的TB文件,选择仿真和覆盖率统计 进入仿真界面,点击左 ...

  6. Modelsim独立仿真

    一.Modelsim建立工程仿真 创建一个工程和工程库; 加载设计文件(包括你编写好的testbench): 编译源文件: 运行仿真,并查看结果: 进行工程调试. 1. 开始菜单启动Modelsim ...

  7. modelsim 自动化 独立仿真vivado ip核工程

    1.简述 自动化的独立仿真提高FPGA的仿真效率,加快FPGA开发.初学时使用Altera的FPGA,独立仿真带ip核的工程时,还能自己添加IP核的仿真文件实现.但是后来转到xilinx,好像没有办法 ...

  8. modelsim仿真系列之基于ISE的IP核的独立仿真(二)

    第一步 编译Xilinx的IP核 在开始菜单Xilinx文件夹中选择Simulation Library Compilation这个工具:仿真器编译工具,如下图1所示, 图1: 打开仿真器编译工具后, ...

  9. 超详细 quartus 新建工程 及 quartus 和 modelsim 联合仿真 以及 modelsim 的简易教程

    文章目录 一.新建工程 1. 新建工程 2. 添加源文件以及ip核并编译 添加代码文件 添加IP核 编译 3. 自动生成testbench文件并添加路径到工程中 生成testbench文件 添加tes ...

最新文章

  1. 与空连接相关的几条命令
  2. B+树索引和哈希索引的区别——我在想全文搜索引擎为啥不用hash索引而非得使用B+呢?...
  3. python queue 调试_python:如何创建用于调试的持久内存结构
  4. linux学习笔记-不定时更新
  5. php要掌握的内容,入门PHPer需要掌握的哪些内容?
  6. 测试过程中常用的linux命令之【查找指定的文件内容】
  7. vscode python第三方库检测_VSCode中使用Pylint检查python代码
  8. c#调用本地命令并截取Output
  9. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_13-webpack研究-webpack入门程序...
  10. 第六届蓝桥杯A组C/C++ 第三题 奇妙的数字
  11. 自回归移动平均模型(ARMA)-平稳序列
  12. 旧电脑再次起飞 分享一次联想Thinkpad X230黑苹果的完整过程
  13. redis配置文件下载
  14. 一文读懂运放偏置电流和输入失调电流
  15. CSS3 文字边框 -webkit-text-stroke
  16. win10无需密码退出天擎
  17. linux如何查找交换机网址,亚美am8网址-官网首页
  18. 线性规划第一阶段入基变量和出基变量选择的细节讨论
  19. ArrayList线程不安全与Vector线程安全
  20. iperf使用与交叉编译

热门文章

  1. C语言栈的运用:后缀表达式(逆波兰表达式)计算器
  2. 深度学习框架DeepLearning4J(DL4J)的安装及配置
  3. PO/POJO/BO/DTO/VO的区别【转】
  4. Rtools is required to build R packages but is not currently installed
  5. 使用java发邮件,附jar包
  6. MATLAB对数图拟合,求助,MATLAB中对数分布拟合问题
  7. 海康LED显示屏网络协议对接
  8. 探索优傲机器人|UR3在汽车零部件行业工件孔洞干燥作业的应用
  9. abb机器人负载配置设定_ABB机器人【-配置设定】大全---人手一份-建议永久收藏!...
  10. Android Studio模拟器打不开Emulator: emulator: ERROR: x86_64 emulation currently requires hardware accelera