ModelSim 使用笔记1

 

ModelSim提供了简单仿真方式,还有一种要建立project,目前这种方式暂时够我用了。

总结了以下,做了一个简单的《modelsim quick start》。

简单方针模式下面,操作步骤如下(黄色字符部分为每个操作对应的script指令,打开modelsim软件,在script窗口输入这些指令即可):

1.新建library。“file->new->library"。选择library种类为“Create: a new library and a logical mapping to it”。

vlib newlib

vmap newlib newlib

2.compile所有的源程序。"compile->compile"在弹出对话框选择要编译的源文件即可。compile所有的源程序之后,会将这些编译后的文件全部添加到新建的Library中去。

VHDL程序使用:vcom -work newlib sourcecode.vdl

Verilog程序使用:vlog -work newlib sourcecode.v

(A:源文件编译的前后顺序,对结果没有影响. B:如果前面使用的newlib名字是work,则不许要在这里指定工作lib。)

3.loading module到simulator里面。点击work左侧“+”号,展开lib,双击我们要观察的module。此时,会有signal窗口弹出(窗口标题是vsim)。

vsim  lib_name.module_name

(ATT:可能会因为vopt的缘故使得一些不重要signal被modelsim自动忽略,需添加选项 -novopt,即,vsim -novopt module_name)

4.调整窗口,准备调试。“view->..."来打开想要观察的window。(如果wave,signals等窗口都在,就不用执行这一步了)

view signals source wave

5.添加要观察的signal到wave viewer里面。在对应的信号上右键“Add -> to wave -> all items in region"。

add wave -r /*

add signal_name 添加单个信号到wave窗口

6.点击run快捷按钮或者是,simulate->run,开始仿真

run 500(运行500单位时间)

run @ 3000(特定时刻观察)

run -all (运行,直到testbench定义的stop时间)

7.可以使用breakbutton来终止run,“simulate->break”

break

8.设置断点,直接单击要设置断点行的左侧 (不是所有行都可以设置断点,不同版本软件下自行实验)。

当程序停止在设置的断点上时,通过以下方法查看变量值:

1)在signal window里面直接看变量的值

2)在source window里面,鼠标指针停留在变量上面时,会自动显示该变量的值(不确定是否全部版本都有)。

3)在source window里面,右键examine。

4)使用examine命令。在script窗口输入“examine var”

9.wave观察

观察一个数组时,可以选择用二进制,十进制,十六进制,还可以设置有符号无符号。

还可以把它转化为analog方式,如调试一个供da使用sine输出,可以选择用analog方式来查看dout。

Extra topic:compile the ISE standard lib for modelsim SE:

1. use the ISE native tools.(Preferred)
$ise_install_path/ise/bin/lin64/compxlibgui(compxlib is available for cmdline only)
ATT: u'd better run it as root.

2. Copy compiled libs from modelsim XE.

3. compile the library in modelsim.
cd $modelsim_install_path/
mkdir ise_lib
cd ise_lib
mkdir unisim_ver
vlib unisim_ver
vmap unisim_ver unisim_ver
vlog -work unisim_ver $ise_install_path/ise/verilog/src/unisim/*.v
(source code for VHDL is in another dir)

Do such for all libs.

u need to modify the modelsim.ini before using the lib:

$ise_install_path/ise/modelsim.ini

add the flowing context(before[vcom]):

unisim = $MODEL_TECH/../ise/unisim
simprim = $MODEL_TECH/../ise/simprim
xilinxcorelib = $MODEL_TECH/../ise/xilinxcorelib
cpld = $MODEL_TECH/../ise/cpld
secureip = $MODEL_TECH/../ise/secureip
unimacro = $MODEL_TECH/../ise/unimacro
cpld_ver = $MODEL_TECH/../ise/cpld_ver
simprims_ver = $MODEL_TECH/../ise/simprims_ver
uni9000_ver = $MODEL_TECH/../ise/uni9000_ver
unimacro_ver = $MODEL_TECH/../ise/unimacro_ver
unisims_ver = $MODEL_TECH/../ise/unisims_ver
xilinxcorelib_ver = $MODEL_TECH/../ise/xilinxcorelib_ver

=========================分割线=================================

其他一些零碎:

1.在当前工作目录下,会产生一个名为transcript的文本文件,里面记录了你在modelsim中的所有操作。

——————
无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的
 
转载:https://www.cnblogs.com/pied/archive/2012/03/22/2396621.html

ModelSim 使用笔记1的更多相关文章

  1. Modelsim使用笔记(一个完成工程的仿真)

    这学期在玩Altera的板子,不不, 现在应该叫intel PSG.在QuartusII13.0上老喜欢用modelsim_ae做仿真,小工程用起来也方便,但是我做IIC配置摄像头的时序仿真时,就显得 ...

  2. lattice 与 modelsim 仿真 笔记

    对于 lattice  Diamond 与 modelsim 的联合仿真,我总结了一句话,那就是—— 难者不会,会者不难.  也许刚开始 觉得 摸不着 头脑,但是 一旦学会 感觉还是很简单和直观的. ...

  3. 易懂的modelsim学习笔记

    1. 建一个总文件夹,如cnt2. 为源代码,测试台文件,仿真各建一文件夹.如src,tb,sim3. 编写源代码,testbench.如cnt.v,tb_cnt.v文件,同时文件名里的模块名与文件名 ...

  4. 基于脚本的modelsim自动化仿真笔记

    这里记录一下基于脚本的modelsim自动化仿真的一些知识和模板,以后忘记了可以到这里查找.转载请标明出处:http://www.cnblogs.com/IClearner/ . 一.基本介绍 这里介 ...

  5. [笔记]Modelsim系列01:编译Altera库的方法

    意义:一劳永逸,不用每次对那些包含Quartus II生成文件的工程进行功能仿真时,都需要重新编译一堆东西.节约时间成本. 版本:ModelSim SE 6.5d 打开Modelsim软件,默认会打开 ...

  6. Lattice 的 Framebuffer IP核使用调试笔记之IP核生成与参数设置

    本文由远航路上ing 原创,转载请标明出处. 这节笔记记录IP核的生成以及参数设置. 先再IP库里下载安装Framebuffer 的ipcore 并安装完毕. 一.IP核的生成: 1.先点击IP核则右 ...

  7. VCS使用学习笔记(0)——写在前面的话

    由于毕业设计做的是数字IC相关,虽然不是纯设计,但是也有设计相关.有设计就要有仿真验证,我就趁此机会来学习一下VCS的使用吧.当然,这里只是学习其简单的逻辑仿真功能,从波形仿真到覆盖率等,基本上不涉其 ...

  8. 搭建Modelsim SE仿真环境-使用do文件仿真

    本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera ...

  9. Modelsim SE 破解教程

    第一步:打开我们提供的破解工具包. 第二步:拷贝crack.bat和MentorKG.exe到"C:\modeltech64_10.2c\win64"路径下,如果你的电脑为32位, ...

随机推荐

  1. 某考试 T2 orzcyr

    非常nice的一道行列式的题目. 考虑如果没有路径不相交这个限制的话,那么这个题就是一个行列式:设 a[i][j] 为从编号第i小的源点到编号第j小的汇点的路径条数,那么矩阵a[][]的行列式就是的答 ...

  2. python3开发进阶-Django框架的中间件的五种用法和逻辑过程

    阅读目录 什么是中间件 中间件的执行流程 中间件的逻辑过程 一.什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围 ...

  3. Python中xPath技术和BeautifulSoup的使用

    xpath基本知识 XPath语法:使用路径表达式来选取XML或HTML文档中的节点或节点集 路径表达式 nodename:表示选取此节点的所有子节点 /    : 表示从根节点选取 //   :选择 ...

  4. C语言实现汉诺塔问题

    代码如下: #include <stdio.h> #include <stdlib.h> void move(int n,char x,char y,char z) { ) { ...

  5. Java杂谈2——引用与跟搜索算法

    Java中的引用 Java“引用”的概念源于C++,原本的定义相当有限:一个引用(Reference)代表的内存通常用于指向另一块内存区域的起始地址.通过引用类型保存的起始地址,可以找到这个引用所指向 ...

  6. 安装CentOS 6停在selinux-policy-targeted卡住的问题解决

    在刚开始安装时,设置swap分区.设置swap分区.设置swap分区 参考: http://tieba.baidu.com/p/3817971339 http://blog.csdn.net/zhan ...

  7. Echart学习

    制表,展示好帮手,自己看官方文档吧,有示例和入门指导 参考:1.http://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8% ...

  8. 关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写

    TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:TFileStream: 文件流TStringStream: 字符串流TMemoryStream: 内存流 ...

  9. D3.js系列——动态效果和Update、Enter、Exit的理解

    一.动态效果 D3 支持制作动态的图表.有时候,图表的变化需要缓慢的发生,以便于让用户看清楚变化的过程,也能给用户不小的友好感. 1.什么是动态效果 前面制作的图表是一蹴而就地出现,然后绘制完成后不再 ...

  10. Python中调用其他程序的方式

    前言 在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程, 可以使用win32 ...