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

转载于:https://www.cnblogs.com/chengqi521/p/7927657.html

ModelSim 使用笔记1相关推荐

  1. Modelsim学习笔记

    Modelsim学习笔记 1. 仿真vivado中带有IP核的工程 1)首先需要将vivado中的IP核仿真好并添加初始化路径至modelsim的默认初始化文件中,需要注意的是ini文件在添加完IP核 ...

  2. ajax提交数据给谁,jquery ajax提交数据给后端

    大家好,今天铁柱兄给大家带一段jquery ajax提交数据给后端的教学. 初学javaweb的同学前端提交数据基本上都是用form表单提交,这玩意儿反正我是觉得不太好玩.而JavaScript aj ...

  3. RISCV学习笔记7.8(开源虚拟机篇)--AlmaLinux虚拟机安装modelsim

    上一期的教程我们安装了wine,这一期来教大家安装仿真软件modelsim哈. 1.软件下载 请参考:RISCV学习笔记6.5(软件篇)–ubuntu18.04虚拟机安装modelsim se 10. ...

  4. FPGA学习笔记(六)Modelsim单独仿真和Quartus联合仿真及signaltap使用

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  5. FPGA学习笔记(五)Testbench(测试平台)文件编写进行Modelsim仿真

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  6. [笔记]modelsim前仿后仿各种问题

    2013-12-16 14:09:58周一 http://hi.baidu.com/renmeman/item/fff4b3145c38e97f2a3e22de 1.我在ISE中启动modelsim时 ...

  7. FPGA学习笔记---Modelsim使用技巧总结

    在学习FPGA时,需要经常在modelsim软件中观察波形,而modelsim波形显示界面在默认设置下看起来不是很方便.现在就总结一下如何在modelsim波形显示界面改变默认显示. 首先看一下默认波 ...

  8. verilog学习笔记:简单的数据选择器modelsim仿真

    如图所示,画出框图,有sel.in_1.in_2三个输出入,sel为选通器.in为信号,sel为高电平时输出in_1,否则输出in_2; 利用if语句实现该过程,代码如下: module mux2_1 ...

  9. verilog学习笔记- 4)Modelsim 软件的安装、使用

    目录 Modelsim 的安装: 安装: Modelsim 的使用: 手动仿真: 建立 TestBench 仿真文件: 编译仿真文件: 配置仿真环境: 自动仿真: 选择 EDA 仿真工具: 编写 Te ...

最新文章

  1. BugkuCTF-Crypto题你喜欢下棋吗
  2. spfa算法_10行实现最短路算法——Dijkstra
  3. 三级网络-不单单是学知识
  4. 有关node.js学习笔记
  5. 【东软实训】SQL函数
  6. 为什么是 OnDraw(CDC* /*pDC*/) 而不是 OnDraw(CDC* pDC)
  7. 海外仓储系统有哪些功能?
  8. F#基础教程 ref类型
  9. C++编写Windows服务程序
  10. ChartDirector画2D,3D图,MFC画图
  11. Unity 获取直线与平面的交点
  12. 安装PostgreSQL客户端
  13. C#使用FFmpeg实现视频压缩优化的探索
  14. 自动统计文件夹下所有音频时长与个数
  15. 企业应用短信平台的现状分析
  16. CSR8670项目实战:BlueHeart心率监测耳机
  17. Android PC同步软件 类似 apple 的 itunes
  18. 如何使用远程桌面连接云服务器 (以阿里云为例)
  19. SQL和Oracle获取每周、每月、每年第一天和最后一天
  20. php 二维码白边,php生成缩略图自动填充白边例子

热门文章

  1. 省带宽、耗电小,腾讯游戏学院专家解析手游渲染架构
  2. 虚拟机磁盘扩容parted
  3. IO流文件的相对路径及获取系统路径方法
  4. RMAN的一些术语解释
  5. oracle行列转换总结
  6. C#中的依赖注入那些事儿
  7. 6_2 铁轨(UVa514)栈
  8. onkeyup,onkeydown和onkeypress
  9. linux文件属性权限相关
  10. HTML转PDF(C#---itextsharp)(转自别人的文章)