文章目录

  • 前言
  • 一、窗口信号路径隐藏
  • 二、界面说明
  • 三、波形窗口的快捷键
  • 四、主窗口和源代码窗口的快捷键
  • 五、波形窗口颜色设置
  • 六、设置显示时间单位
  • 七、信号与信号值查找
  • 八、Modelsim打开错误
  • 九、自动仿真环境搭建
  • 十、参考文献
  • 十一、时间记录

前言

一些modelsim的使用问题,这些问题是学习和熟悉Modelsim环境的重大障碍,有时在开发过程中,处理这些问题会浪费大量时间,同时提升开发周期。故将这些问题补充与本文中,方便查找。很多也是我个人的踩坑记录。


一、窗口信号路径隐藏

可以通过以下步骤设置,默认是没有隐藏的:

  • 点击Tools — Window preference。
  • 将display signal path的数值改写成1,即可完成设置。

另外一种方法:点击该页面左下角的灰色原点即可隐藏路径名。但该法不能实现一劳永逸的目的,每次打开想隐藏都需要点下。

二、界面说明


最好每次仿真启动后,都重置下,不然起始时间段可能没有信号显示。

三、波形窗口的快捷键

关于鼠标:

  • Ctrl + 鼠标左键 + 从左上向右下拖拉:放大(选中区域)
  • Ctrl + 鼠标左键 + 从左下向右上拖拉:缩小(基本全局)
  • Ctrl + 鼠标左键 + 从右下向左上拖拉:缩放至满屏
  • 鼠标左键拖拉:可直接移动最近的光标
  • Ctrl + 鼠标左键 + 在滚动条上点击:滚动至顶部或底部(竖直滚动条上)、左端或右端(水平滚动条上)

关于键盘:

  • C/c:当前光标居中并放大
  • I/i/+:(Zoom in)放大
  • O/o/-:(Zoom out)缩小
  • F/f:(Zoom full)缩放至满屏
  • L/l:(Zoom last)缩放为上次
  • R/r:(Zoom range)缩放范围
  • 方向键:上下左右滚动(以行为单位)
  • 翻页键:上下滚动(以页为单位)
  • Ctrl + 左右方向键:左右滚动(以页为单位)
  • Tab:向前(右)查找下一个跳变沿(对应着选中的信号)
  • Shift + Tab:向后(左)查找下一个跳变沿
  • Ctrl + f:打开查找对话框

四、主窗口和源代码窗口的快捷键

很多快捷键,也可以使用Windows中的快捷键操作,就不列出来了,一些列出一些可能用到的:

  • Ctrl + f:查找
  • F3:查找下一个
  • F9:运行仿真
  • F10:继续执行仿真
  • F11:单步执行(进入)
  • F12:单步执行(跳过)

五、波形窗口颜色设置

Modelsim波形默认在黑色背景中显示绿色波形。看起来很吃力,为且制作文档时的,这种颜色打印效果并不好。为此,参考网上教程设置了下,结果非常的好。

  • 点击【Tools】->【Edit Preferences】菜单打开配置窗口。

    在左侧的Window List中选中Wave Windows选项,然后在中间的Wave Windows Color Scheme中选择一个需要修改颜色的位置,然后点击右侧的调色板中的对应颜色即可。

    设置波形背景窗口为白色:waveBackground -> 白色
    设置左侧信号名称背景窗口为白色:Background -> 白色
    设置左侧信号名称文字颜色为黑色:foreground -> 黑色
    设置时间指示颜色为黑色:timeColor–>黑色
    设置向量(多位宽信号)波形颜色为黑色:vectorColor -> 黑色
    设置所有逻辑波形(单bit信号)颜色为黑色:LOGIC_0和LOGIC_0 ->黑色
    设置波形中显示的文字颜色为黑色:textColor -> 黑色
    设置竖格颜色为灰色(GRAY70):gridColoR –>灰色
    设置左侧信号栏信号被选中时的框颜色:selectBackground –>红色
    设置左侧信号栏信号被选中时的字体颜色:selectForeground –>黑色
    设置移动轴的颜色:cursorColor –>红色

下图为本人配置好的波形窗口,看着还是很舒服的:

六、设置显示时间单位

在波形窗口的时间单位可以进行更改:

  • 点击tools——>window preference。
  • 点击grid & timeline选项卡,在Time unirs选项卡处选择。
  • Time units可选的有:fs、ps、ns、us、ms、sec、min和hr。

七、信号与信号值查找

关于信号查找:(适合仿真信号很多时用)

  • 先在左侧信号栏处选中一个信号
  • 按下CTRL + F,即可输入待找的信号

关于信号的查找:

  • 点击某信号,可以选中
  • 在search框中输入待找信号值,注意和显示进制相对应
  • 按下右边的查找键,可找到该信号的搜索值

八、Modelsim打开错误

出现错误:Unable to checkout a viewer license necessary for use of the ModelSim graphical user interface.Vsim is closing。关闭后闪退。

出错原因:安装Modelsim后,复制了patch,且生成了LICENSE.TXT文件,但是没有配置环境变量。

解决:

  • 把MentorKG.exe、mgls.dll和patch_dll.bat(或patch64_dll.bat)一起拷贝到modelsim安装目录的win32(或win64)下。
  • 打开环境变量,在系统环境变量一栏处,设置环境变量MGLS_LICENSE_FILE,变量值为license放置的目录。
  • 右键快捷方式,以管理员身份运行,重新启动后,就没有这个错误了。

九、自动仿真环境搭建

使用bat批量命令处理文件,可快速启动仿真软件,此处对仿真环境进行配置。

% run_simulation.bat文件 %
@echo off
@cls
title FPGA Auto Simulation batch scriptecho ModelSim simulation
echo.
echo Press '1' to start simulation
echo.:input
set INPUT=
set /P INPUT=Type test number: %=%
if "%INPUT%"=="1" goto run1
goto end:run1
@cls
echo Start Simulation;
echo.
echo.
cd testbench
vsim -do "do compile.do"
goto clean_workspace:clean_workspacermdir /S /Q work
del vsim.wlf
del transcript.:end
# compile.do文件vlib work
vmap work work#library 之前添加库时已经编译,可不用再编译
#vlog  -work work ../../library/artix7/*.v#IP  相应的IP需要指定
#vlog  -work work ../../../source_code/ROM_IP/rom_controller.v#SourceCode 对源码编译
vlog  -work work ../design/vlg_design.v#Testbench 对测试脚本编译
vlog  -work work testbench_top.v #把testbeach.top添加到work中
vsim -voptargs=+acc work.testbench_top#Add signal into wave window
do wave.do#run -all

一些测试:


点击run -all开始仿真,可以把脚本中相应命令去掉,也能直接进入仿真了。


十、参考文献

  • Modelsim——工程建立和常用设置
  • modelsim 快捷键
  • 小梅哥FPGA:Modelsim修改波形显示颜色
  • modelsim 波形设置显示时间单位
  • 特权同学:modelsim自动仿真环境搭建

十一、时间记录

  • 2020年08月02日:窗口信号路径隐藏、界面说明、波形窗口的快捷键、主窗口和源代码窗口的快捷键。
  • 2020年08月03日:波形窗口颜色设置、设置显示时间单位
  • 2020年08月06日:信号与信号值查找
  • 2020年09月05日:解决Modelsim打开错误的问题
  • 2020年09月25日:自动仿真环境搭建

Modelsim:从入门到熟悉的踩坑和问题总结相关推荐

  1. Swift入门第一天(踩坑)

    今天在Xcode中创建一个Playground文件时,默认的是import Cocoa,系统会提示No such module"Cocoa". 原因很简单:在建立新的File文件的 ...

  2. 分布式深度学习最佳入门(踩坑)指南

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Lyon@知乎(已授权) 来源丨https://zhuanla ...

  3. Next.js踩坑入门系列(七) —— 其他相关知识

    Next.js踩坑入门系列 (一) Hello Next.js (二) 添加Antd && CSS (三) 目录重构&&再谈路由 (四) Next.js中期填坑 (五) ...

  4. 我的物联网开发入门和踩坑历程

    我的M5Stack物联网开发入门和踩坑历程:基于M5STACK和ONENET 开发准备 M5STACK简介 环境配置 UIflow环境 ESP-IDF环境 方法一 方法二(更推荐) 感知模块 网络连接 ...

  5. CMT2380/HC32L110入门踩坑记录

    CMT2380/HC32L110入门踩坑记录 写在前面 1.空白工程启动文件的问题 2.RTC时钟问题 3.UART格式化输出的问题 4.SysTick进行延时 5.SW调试卡住或运行后卡住 6.pr ...

  6. iOS 入门开发踩坑实录

    其实人生也没有什么道理可讲,但是我们不必丧气,还是要期待,人生有奇遇. 前言 苹果开发者:iOS Developer 最近因为工作需要要开始搞iOS了,简单记录下我收集和学习的过程. 学习资料准备 组 ...

  7. 微信小程序入门踩坑记(妥妥的干货,新手快快看过来)

    初次上手微信小程序,各种踩坑各种百度,草草扫过官网的文字,呃....表示记不住不想看,然后看了一本入门基础, 诺,就这本啦(链接:https://pan.baidu.com/s/15hKlDNpowU ...

  8. 全志哪吒D1-H Tina Linux Ubuntu 22.04入门踩坑日记

    哪吒D1-H Tina Linux入门踩坑日记 系统环境 源码编译 mklibs-readelf的C++标准问题 m4的SIGSTKSZ问题 libfakeroot的_STAT_VER问题 read_ ...

  9. 安卓 Native+Flutter 应用开发入门资料、亲身实战及踩坑记录

    安卓 Native+Flutter 应用开发实战及踩坑记录,练手入门项目:FluLearn 入门资料 第三方共享包检索(国内).第三方共享包检索(国外) Flutter开发环境搭建(中文版).Flut ...

最新文章

  1. 计算机考试题选择,(计算机考试题选择.doc
  2. 前端学习(2559):双向数据和单向数据不冲突
  3. 【Python】 基础语法
  4. 呼伦贝尔学院计算机宿舍,2020年呼伦贝尔学院新生宿舍环境条件,大一新生男生女生宿舍内部图片【多图】...
  5. 一次多线程臭虫经验——异步日志c++化时
  6. 微信小程序(mpvue)—解决视频播放bug的一种方式
  7. 三维曲面图像绘制(光照控制)
  8. 3802.消灭数组-AcWing题库
  9. SD卡无法格式化怎么办的解决方法
  10. 如何用abaqus建造8号槽钢并分析槽钢的受力
  11. 运行spark及hadoop版本不一致解决方法
  12. cad画直角命令_给CAD图形进行倒直角的方法步骤
  13. 通过光纤收发器指示灯判断网络状态
  14. ASO商店优化为什么成为必争之地,其优势有哪些?
  15. 如何快速查询学术会议
  16. 使用神经网络(ICNet)对航拍图片(遥感图像)进行图像语义分割+膨胀预测后处理优化(数据集+代码+最终训练模型)
  17. React项目创建报错解决方案npm ERR! code 1 npm ERR! path E:\Node1\untitled5\node_modules\fibers npm ERR! command
  18. 沼跃鱼早已看穿了一切
  19. TEMPORARY表空间和文件(转)
  20. 医学影像dcm格式转jpg运行慢解决方案

热门文章

  1. Nifty Gateway与区块链
  2. 【AC军团周报(第二周)第二篇】线段树从入门到入土【2】
  3. java html 转word_Java Html转Word
  4. 基础复习十五、网络编程(2)
  5. mysql5.5.8编译安装_Mysql应用linux下mysql 5.5.8 源码编译安装
  6. dnf跨6显示正在连接服务器,DNF全跨区实行新服务器计划!听说跨1和跨6影响最大?...
  7. 如何使用 JavaScript 过滤 HTML 表格(在 HTML 表格上搜索)
  8. Android-高级-UI-进阶之路-(七)-SVG-基础使用-+-绘制中国地图
  9. 第9章:群体类和群体数据的组织
  10. 使用pmap查看进程内存