modelsim(1) - 安装和使用 心得

最近一段时间使用modelsim,

一,安装

使用的时候,出现license验证不对。

由于经常换虚拟机,要注意首先MAC地址是否换了,如果换了,license要重新做!

其次/etc/hosts的IP地址要和ifconfig的IP地址一致。

如果仍然不行,就重启linux。

quartus破解在不同的linux操作系统处理不一样,centos是最稳定的操作系统,it can be installed correctly.

however ubuntu,fedora有些不一样,这个花了我不少时间,need to change the file vco in the questa directory. vco is the tcl script ,it will call the vsim

afte 里面设置了LD_LIBRARY_PATH, run vco!

二)仿真工具使用

1)如何查看已经仿真的波形

vsim -view xx.wlf -do wave.do

2)后仿如何将顶层文件和sdf文件关联,见下

vsim -L SmartFusion2 -L postlayout  -t 1ps -novopt -sdfmax /top_0=${PROJECT_DIR}/designer/top/top_ba.sdf postlayout.tb
add wave /tb/*
add log -r /*
vcd file power.vcd
vcd add -r /tb/top_0/*
run 500ns
vcd flush
echo "VCD file power.vcd was successfully exported under the project simulation/ directory"

3)后仿,带优化,但是要保留信号,以及生成database (shannon,但是似乎不成功!!!,只能供参考)

vsim -postsimdataflow -debugDB=test.dbg -wlf test.wlf \
         -L Smartfusion2 -L work -t ns -voptargs=+acc -c -pli ./pslse-master/pslse/afu_driver/src/afu_driver.sl +nowarnTSCALE work.top

add log -r /*

Recall the post-simulation debug database with the following:
dataset open <db_pathname.wlf>

shannon注:

vsim -postsimdataflow -debugdb=<db_pathname> -wlf <db_pathname>  -voptargs=+acc

By default, the Dataflow window is not available for post simulation debug operations.
You must use the -postsimdataflow to make Dataflow window available during post-sim
debug.
Specify the post-simulation database file name with the -debugdb=<db_pathname>
argument to the vsim command. If a database pathname is not specified, ModelSim
creates a database with the file name vsim.dbg in the current working directory. This
database contains dataflow connectivity information.
Specify the dataset that will contain the database with -wlf <db_pathname>. If a dataset
name is not specified, the default name will be vsim.wlf.
The debug database and the dataset that contains it should have the same base name
(db_pathname).
The add log -r /* command instructs ModelSim to save all signal values generated when
the simulation is run.
3. Run the simulation.

3)在modelsim的仿真中,反标的verilog文件中信号名不仅仅是verilog的定义的标识符(有任意字母,数字,$和_),还包括空格(是否因为信号命名是\开头?)。

所以出现仿真中找不到信号名,注意空格,如果修改verilog文件则也应包括空格  .

比如:

信号定义

wire  \wqueue_i/WRITE_QUEUE/mem_mem_0_4/A_ADDR_net[13]空格 ,....空格,

add wave -noupdate {/top/a0/\wqueue_i/WRITE_QUEUE/mem_mem_0_4/A_ADDR_net[13]空格}可以找到信号

add wave -noupdate {/top/a0/\wqueue_i/WRITE_QUEUE/mem_mem_0_4/A_ADDR_net[13]}就不能找到信号

4)在modelsim的object name中找信号(ctrl+F),对于数组的符号[],需要用正则表达\[, \]来表示

比如在反标文件中查找arrayA[1],需要输入arrayA\[1\]

5) 仿真的时候,memory can not show in the wave

6)function of add flow is usefull

三)Q&A

1)每次仿真会在仿真当前目录产生modelsim.ini,里面会调用系统的modelsim.ini.

如果出现如下错误,std库找不到

删除modlesim.ini,让其自动再产生一次

四,样本

上一篇:MySQL获取汉字的首字母


下一篇:一些上流的CSS3图片样式