基于modelsim-SE的专业进阶仿真流程
基于modelsim-SE的专业进阶仿真流程
通过《基于modelsim-SE的简单仿真流程》和《调用altera IP核的仿真流程》是否感受到仿真流程中的繁琐步骤,特别是在modelsim创建工程之后的步骤:编译、添加仿真信号、开始仿真。这三个步骤涉及到一大堆的鼠标操作,涉及到一大堆的窗口操作,由于RTL仿真过程是一个反复迭代的过程,同时要求覆盖到100%的功能测试,由此也要覆盖到所有状态机和条件判断的所有情况,由此,RTL的功能仿真功能需要不断的修改RTL代码,每次修改RTL代码都需要进行编译、添加仿真信号、开始仿真,这要是用鼠标操作这得多累人。
由此,需要采用脚本的方式编写*do文件,将编译、添加仿真信号、开始仿真这三个步骤采用脚本的方式进行,只需在脚本执行窗口输入*.do文件,并执行就可以解决以上的问题。
编写测试操作脚本
编写测试操作脚本,需要对modelsim的脚本有所了解
|
脚本语言 |
说明 |
|
vlib work |
新建工作目录 |
|
vmap work work |
将新建库映射到当前工作目录 |
|
Vlog D:/***/*.v -cover bcesxf |
Vlog:编译文件,需要文件的所在地址及文件名; -cover bcesxf:覆盖分支条件表达式语句 |
|
vsim -novopt work.(待测试的模块名) |
Vsim:加载仿真 -novopt:不进行优化 |
|
add wave -decimal /(待测试的模块名)/* |
add wave:添加仿真信号; -decimal:表示十进制有符号表示; -unsigned:表示十进制无符号; -hex:表示十六进制表示; /(待测试的模块名)/:将待测试的模块添加到单斜杠里面; *:表示整理模块里面的所有信号,也可以将*替换为具体的信号; |
|
run 1ms |
run 进行仿真,后面带仿真时间长度; |
本实验在《调用altera IP核的仿真流程》的实验上进行修改,使用的RTL代码、创建工程的过程和《调用altera IP核的仿真流程》一致。将步骤编译、添加仿真信号、开始仿真采用脚本的方式进行操作,编写的脚本如下(带#号为注释,注释用#号),在将脚本文件编写完成后,需要将文件保存为.do的后缀,然后保存到工程所在的文件夹,不需要包含到modelsim工程中。
|
#Creat a work lib vlib work #Map the work lib to current lib vmap work work #Compile the source files # -cover bcesxf 覆盖分支条件表达式语句 vlog E:/jaran/modelsim/lab2/altera_mf.v -cover bcesxf vlog E:/jaran/modelsim/lab2/rom_tst.v -cover bcesxf vlog E:/jaran/modelsim/lab2/rom_top.v -cover bcesxf vlog E:/jaran/modelsim/lab2/rom.v -cover bcesxf vlog E:/jaran/modelsim/lab2/counter.v -cover bcesxf #Start simulation vsim -novopt work.rom_tst #add wave add wave -unsigned /rom_top_1/* # add wave -hex /rom_top_1/* # add wave -hex/rom_tst/* # add wave -hex/rom_tst/clk #set run time run 1ms |
编写、保存为rom.do文件,在脚本窗口输入do rom.do,然后按下回车键。

软件便进行编译、添加仿真信号、开始仿真。
仿真信号查看
仿真完成后,波形窗口产生相应的信号,如下所示。

将rom_data显示为模拟信号会得到如下的结果,与实验《调用altera IP核的仿真流程》一致。

采用脚本的方式,解决了仿真过程繁琐的操作过程,极大地加快了仿真的过程,该方式高效便捷专业,是采用modelsim进行仿真所要首推的方式。
每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

基于modelsim-SE的专业进阶仿真流程的更多相关文章
- 基于Modelsim的直方图统计算法仿真
一.前言 本篇主要针对牟新刚编著<基于FPGA的数字图像处理及应用>第六章第五节中直方图统计相关类容进行总结,包括代码实现及 基于Modelsim的仿真.书读百遍,其意自现. 2020-0 ...
- 基于Modelsim的视频捕获模拟仿真
一.前言 针对牟新刚编著的<基于FPGA的数字图像处理原理及应用>中第五章系统仿真中关于视频捕获模拟的例子进行补充和仿真验证,简言之,吊书袋子. 2020-02-27 21:09:05 二 ...
- 【仿真】【modelsim】:verilog功能仿真流程
一.编写verilog源文件,在diamond中编译.编写testbench文件.在diamond设置中将仿真工具设置为modelsim,运行仿真向导 二.自动进入modelsim, 编译全部 运行仿 ...
- 搭建Modelsim SE仿真环境-使用do文件仿真
本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera ...
- 基于modelsim-SE的简单仿真流程—下
基于modelsim-SE的简单仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile A ...
- 基于modelsim-SE的简单仿真流程—上
基于modelsim-SE的简单仿真流程 编写RTL功能代码 要进行功能仿真,首先得用需要仿真的模块,也就是RTL功能代码,简称待测试的模块,该模块也就是在设计下载到FPGA的电路.一个电路模块想要有 ...
- Modelsim se仿真Xilinx IPcore
Modelsim se仿真Xilinx IPcore 方法:先写好do文件常规框架,根据modelsim报错再添加ise IP核库仿真文件.注:记得添加并仿真glbl.v全局控制仿真文件到sim/is ...
- Modelsim SE 仿真 ALTERA FPGA IP
Modelsim SE 仿真 ALTERA FPGA IP 最近,有几个朋友问过我是不是有新版本的Modelsim altera,其原因是 Qii 升级为新版本的,但是没配套的modelsim,没办法 ...
- Modelsim SE自动化仿真——如何将.do文件中自定义的库链接到testbench顶层模块
我们用Modelsim SE进行仿真时,为了方便,一般会编写.do文件来启动当前仿真.关于.do文件的编写,一般网上都有成型的模板,我们只要稍微改几个参数,就可以符合我们的仿真需求了.但是如果仿真时需 ...
随机推荐
- 完美解决,浏览器下拉显示网址问题 | 完美解决,使用原生 scroll 写下拉刷新
在 web 开发过程中我们经常遇到,不想让用户下拉看到我的地址,也有时候在 div 中没有惯性滚动,就此也出了 iScroll 这种关于滚动条的框架,但是就为了一个体验去使用一个框架好像又不值得,今天 ...
- Asp.Net Core 项目实战之权限管理系统(5) 用户登录
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- iOS绘制收益柱状图
项目需求,参考了其他绘图demo,自己绘制出来了,不过代码改得有点乱,添加了很多变量,时间关系没用太合适的命名,逻辑处理也没进行优化. 看看效果图(虚线区域都是画的,其他区域添加的都是控件),附上源码 ...
- 【转载】保哥 釐清 CLR、.NET、C#、Visual Studio、ASP.NET 各版本之間的關係
我常常不仅仅逛 博客园,还会去找国外,特别是台湾的技术部落格,发现好的文章,我便会收录,今天我转载或者全文复制,在Google 博客园,一位叫保哥, 釐清 CLR..NET.C#.Visual Stu ...
- spring mvc 和spring security配置 spring-servlet.xml和spring-security.xml设置
spring-servlet.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...
- jdk jre jvm 三者之间关系
JDK JDK是java开发工具包,是Sun公司针对Java开发员的产品. JDK 中包含JRE,在JDK安装的目录下有一个叫jre的目录,里面有两个文件夹,bin/和lib,其中bin就是j ...
- 简单实用angular.js购物车功能
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- table 鼠标移上去改变单元格边框颜色。
表格定义了border-collapse:collapse;边框会合并为一个单一的边框.会忽略 border-spacing 和 empty-cells 属性. 用td:hover,显示不全
- iOS之数据解析时<null>的处理
在iOS开发过程中经常需要与服务器进行数据通讯,JSON就是一种常用的高效简洁的数据格式. 问题: 在项目中,一直遇到一个坑的问题,程序在获取某些数据之后莫名崩溃.原因是:由于服务器的数据库中有些字段 ...
- iOS xml文件的解析方式 XMLDictionary,GDataXMLNode,NSXMLParser
iOS9之后,默认网络请求是https,所有我们要设置一下网络安全,具体设置如下 1.第三方类库 XMLDictionary 下载地址: https://github.com/nicklockwood ...