modelsim仿真遇到的一些问题

时间:2024-03-13 12:50:14

modelsim仿真遇到的一些问题

最近两年从FPGA转到IC设计之后,开发系统也是一直在linux上,以前FPGA开发使用的windows上的一些工具都比较生疏了。最近重下载了modelsim,写了个工程调试了一下,当中遇到了不少bug,经过朋友帮助以及网上搜索资料,在不断尝试后,总算跑通了。

        下面记录的是modelsim的仿真步骤,遇到的一些问题,以及写的一个do文件。


modelsim仿真步骤如下:

step1: 新建库。modelsim10.1上左上角菜单的File -> New -> Library。打开


modelsim仿真遇到的一些问题

,Name下填写work名字,一般取名work或者work1,work2……可任意。两个name下名字一致。这里取名work5。

step2: 新建工程。File -> New ->Project。

modelsim仿真遇到的一些问题

工程名取新建工程的名字,可任意。Locantion填写工程路径,Library是step1上的名称。

step3: 新建完工程后,会要你添加或者创建文本。

modelsim仿真遇到的一些问题

这里选择add existing file,选择写好的rtl文件和testbench里面的sim文件。(个人习惯用其他文本编辑器先写好代码,然后在此处添加)

step4: 编译。直接选择任一问价,compile all。这个主要是排除语法错误。

step5: 添加完毕后,在主界面窗口选择要仿真的文件,

modelsim仿真遇到的一些问题

右键选择

simulate without Optimazation。不选择的话,可能后面看波形时候,没法添加端口。

step6: 添加要看的端口到wave窗口。

step7: 菜单栏 Simulate -> Start Simulation.仿真即可。退出时候,Transcript输入 quit -sim即可。


遇到的一些问题:

①: 没法添加端口到wave上,step5有说明,不要优化。

②: Error: (vsim-3601) Iteration limit reached at time 0 ns. 

    modelsim仿真遇到的一些问题

Simulatin -> Run options,将default run的时间不要设置为0。

查看一下tb文件,timescale 是1ns/1ps,不要弄为1ps/1ps, altera自己生成的tb模板是1ps/1ps。


do 文件:

do文件类似于linux下的批量处理文件,用脚本控制软件的操作,对于重复的开发,可以明显地提高速度。

do文件相当于把step里面的步骤描述一次。参考如下:

vlib work5

vmap work work5

vlog adder_top.v adder_top_sim.v

vsim -novopt work5.adder_top_sim -t 1ns

view wave

delete wave *


add wave sim:/adder_top_sim/*

run 2000

上面的 -novopt就是不要优化,vmap work work5就是把工程跑的work映射到我们创建的work5上。