原创 ModelSim应用提高

2012-12-3 12:37 3063 10 12 分类: FPGA/CPLD 文集: ModelSim

一、ModelSim仿真基本流程



Step1 Collecting Files and Mapping Libraries



Providing stimulus to the design


Library (vlib&vmap commands)


Step2 Compiling the design



Compiling Verilog - vlog


Compiling VHDL - vcom


Compiling System C - sccom


Step3 Loading the design for simulation



Command vsim used to simulate the design


Add SDF file


Step4 Simulating the design



There are below basic simulator commands:add wave,force,bp,run...


Step5 Debug the design



There are below basic simulator commands: describe, drivers, examine, force, log, checkpoint, restore, show...


 


二、ModelSim SE 提取Altera库


        Mentor的ModelSim每个系列有好几个版,比如PE、SE以及OEM版。PE应该就是所谓专业版,SE在工程师中间用的最多的独立版,OEM就是Mentor针对各个EDA公司出的版本,比如针对Altera的叫AE。


        提取(调用)库一般有两种方法。我们知道ModelSim把库(library)分成两种即resource library(我一般称之为常用库或者自带库)和working library(工作库),那我说的两种方法就是把库提取成resource library或者working library。


        我有相应的日志介绍如何将Altera库提取成常用库,这里不介绍,而所谓的working library就是把所需的库当成source编译到你的work库中即可。


 


三、批处理仿真流程


        我也总结成两种方式,一种是手动通过GUI方式建立project,添加所需的source files,然后建立两个do文件,分别叫sim.do和wave.do(名字可以自己任意取),最后在GUI命令行执行“do sim.do”即可完成仿真。这种方式我也有相应的日志介绍。


      我称上面这种批处理为部分批处理方式,下面介绍一种完全批处理方式,即采用batch文件来完成仿真。


        学过dos系统的都知道bat文件跟exe文件一样为dos系统下的可执行文件,用文本创建一个batch文件,包含以下命令:


vsim -do sim.do (自动调用ModelSim GUI完成整个流程)


或者


vsim -c -do sim.do (命令行方式自动完成整个流程)


以上调用命令行方式执行batch命令后无法观察中间过程,若想查看中间信息,可以在batch文件最后增加一条pause命令。


 


        batch文件创建完之后,需要为仿真过程创建完整的do文件,不同流程可以创建不同的do文件,可以利用do文件调用do文件,比如前面的sim.do文件调用wave.do文件,这里我们继续沿用两个do文件,将sim.do文件最前面增加如下命令:


project new <绝对路径>


project open


project addfile


.


.


.


project compileall

 

文章评论2条评论)

登录后参与讨论

coyoo 2013-12-19 13:44

这个通过脚本是可以实现的,你看我自动化仿真相关博文就能找到答案

用户377235 2013-12-18 13:41

modelsim的波形图产生之后,我想观察所有信号的16进制形式,这又如何用脚本语言实现呢? 我每次都是手动的,好麻烦。
相关推荐阅读
coyoo 2024-12-10 13:28
Cyclone V GX FPGA设计TDC的优化问题
概述 通过前面的研究学习,已经可以在CycloneVGX器件中成功实现完整的TDC(或者说完整的TDL,即延时线),测试结果也比较满足,解决了超大BIN尺寸以及大量0尺寸BIN的问题,但是还是存在一些...
coyoo 2024-12-03 12:20
比较器检测模拟脉冲说明(四)
概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解...
coyoo 2024-11-16 13:54
不同ADC采样同一前端模拟信号时转换用时差异分析
概述 同一组前端模拟信号接入由不同型号ADC组成的模数转换电路时,采样后在FPGA中发现采样用时差异较大。本文主要分析这个时间差异形成的原因,并记录该差异产生对系统造成的影响。系统数字化简介 项目前端...
coyoo 2024-11-10 13:04
ALTERA Cyclone 10器件的使用-7:FPGA片内RAM资源利用率思考
概述 项目使用的FPGA目标器件为Cyclone 10 GX系列规模最大一颗料,由于功能升级增加了功能模块更多,发现器件片内RAM不够使用了。为了探索片内RAM使用的利用率问题,从代码RTL级与编译软...
coyoo 2024-11-10 12:30
转知乎:幽灵般的人体成像技术-PET
幽灵般的人体成像技术——PET - 知乎...
coyoo 2024-11-09 10:26
AD9633默认情况下调试记录(二)
概述 所谓默认情况,即如器件手册中图2所标示那样。对应AD9633的调试,除了涉及到ADC自身,还需要兼顾前端驱动器,系统中AD9633驱动器使用了差分运算放大器,这里不在赘述,笔者已有相关文章论述。...
我要评论
2
10
关闭 站长推荐上一条 /2 下一条