原创 ModelSim应用提高

2012-12-3 12:37 3087 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

 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

coyoo 2013-12-19 13:44

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

用户377235 2013-12-18 13:41

modelsim的波形图产生之后,我想观察所有信号的16进制形式,这又如何用脚本语言实现呢? 我每次都是手动的,好麻烦。
相关推荐阅读
coyoo 2025-01-16 13:07
PET探测器
记录下PET探测器的知识点。所谓探测器,即探测出核医学里的核辐射。人体代谢等反应发生的湮没产生了伽马光子,该伽马光子的能量很强,当前很难直接探测(尽管还存在直接探测的探测器)。所以,更多的时候是间接探...
coyoo 2024-12-25 14:13
ALTERA Cyclone 10器件的使用-8:特定的上电顺序
概述 Intel 要求用户为其10代FPGA器件使用特定的上电和掉电顺序,这就要求用户在进行FPGA硬件设计的时候必须选择恰当的FPGA供电方案,并合理控制完整的供电上电顺序。经过在Cyclone 1...
coyoo 2024-12-22 11:46
AD9218子板在新处理板上表现的问题
概述 新的数据处理板融合了数字和数据处理功能模块,计划采用ADI的4通道串行ADC芯片代替之前的并行ADC。由于初次使用,所以初次设计时预留了AD9218的子板的插槽。 在调试AD9633功能的同时并...
coyoo 2024-12-14 17:15
在Cyclone 10 GX器件上实现高精度TDC探索
概述 Cyclone 10 GX器件的ALM结构与Cyclone V类似,所以在Cyclone 10 GX器件上实现TDC功能理论上是可以完全参考甚至移植自Cyclone V系列的成功案例。但是,现实...
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读出测试系统需要解...
我要评论
2
10
关闭 站长推荐上一条 /3 下一条