问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

模电仿真实验的源文件是什么

发布网友 发布时间:2022-12-27 18:10

我来回答

1个回答

热心网友 时间:2023-10-20 19:43

新手期的时候一般都是仿真自己写出来的代码,没有包含IP核的仿真。(想必接触脚本的至少应该已经知道怎么写源代码和测试文件了)
先说明一下我的文件结构

总共就两个文件夹,rtl里放的是我们设计的源代码,也就是.v文件;
sim里放的有测试文件、bat后缀文件、modelsim脚本文件(也就是下面说的.do文件,下图中是tcl文件)。如下图,我是以一个计数器为例。

总共可归结为三种文件,文件一般包含有do文件,bat文件,以及自己设计的v文件(包括源代码和测试文件等)。
其中的do文件就是操纵modelsim的脚本文件,这个文件的后缀一般都是写成do,实际上也可以是别的字母任意定义(别人是这么说,当然v是不能作为后缀的),我试过sh、b和tcl的后缀,是可行的。以下脚本文件以tcl后缀为例。
而bat文件就是windows系统的脚本文件,内容只有一行代码。
modelsim -do sim.sh //sim.sh就是我们的modelsim脚本文件。
复制
我们只需要在Windows下双击就可以自动打开进行仿真。
作用就是在modelsim下运行sim.sh
v文件不用多说,自然是测试文件以及设计的verilog源代码。
下面开始进行简单的脚本设计(附带注释):

transcript on
if {[file exists dyq_work]} {
vdel -lib dyq_work -all
}
#上面的意思是如果已有dyq_work这个库,就把它全部删了
#新建dyq_work库,这是modelsim必须要做的事,作用就是把自己的源代码编译
#进这个库中。
vlib dyq_work
#将dyq_work映射到work中,因为操作的时候modelsim是默认对work进行的,
#所以如果不这样modelsim就找不到这个库。
vmap work dyq_work
#编译源代码和测试文件,这样写就是默认编译进了dyq_work中了
vlog ../sim/*.v
vlog ../rtl/*.v
#运行仿真下面这个ps是设置仿真器达到的精度为ps,tb_counter是测试文件顶层命名。
vsim -t ps -novopt +notimingchecks work.tb_counter
#vsim -t ps -voptargs="+acc" work.tb_counter
#下面将信号显示调整为十进制无符号形式
radix unsigned
#添加测试文件中包含的reg和wire的所有波形
add wave *
#添加测试文件中例化的模块内部的cnt信号的波形(counter_u1是指在测试文
#件中例化的模块名称,这个要根据自己实际进行修改,比如例化一个pll
#pll pll0(....);
#那么这段就应当改为tb_counter/pll0/*,意思就是把pll0模块的所有引脚拉
#出来看),像这两行代码就是把cnt和ena这两个信号拉出来看。
add wave -position insertpoint sim:/tb_counter/counter_u1/cnt
add wave -position insertpoint sim:/tb_counter/counter_u1/ena
#运行
run -all
复制

写完之后就可以双击bat文件自动打开仿真了。
这里需要注意一下,如果你在10.7以及之后的版本进行的,会有这个报错
** Error (suppressible): (vsim-12110) All optimizations are disabled because the -novopt option is in effect. This will cause your simulation to run very slowly. If you are using this switch to preserve visibility for Debug or PLI features, please see the User’s Manual section on Preserving Object Visibility with vopt. -novopt option is now deprecated and will be removed in future releases.
这是说-novopt在后面的版本不能使用了,这时候就需要将脚本代码sim.sh进行修改一下
把这行代码修改一下

vsim -t ps -novopt +notimingchecks work.tb_counter
复制
修改为下面这样就可以进行仿真了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 晚安的意思是什么、、? tcl电视里的大文件哪些可以删除 cfd++提示tcl文件找不到 给她发晚安,她回ok是是什么意思,求解答,感谢 迅达热水器e1故障解决方法 吉林省公主岭市高铁站有轮椅服务吗 小黄车拆掉锁会定位吗 具子息不孤之命的意思 具子息不孤之命是什么意思 博鑫青年城的章在韩村乡可以业主自己去盖吗? 博鑫珠宝真实吗 第五人格如何得到封号技能软件 如何让手机助手帮我打第五人格 如何向第五人格小助手要东西 世界上有梦魇之月吗? 迷你世界梦魇之月怎么画 OPPO手机如何连接天猫精灵 云翘   [yún qiào]什么意思?近义词和反义词是什么?英文翻译是什么? 广州有哪些大型的企业或著名企业 济南钢铁焦化厂人工煤气成份是什么? 智能电视怎么看cctv tcl电视怎么看文件夹 有没有免费开源的Java编写的论坛系统 云计算开发与传统开发有什么区别? 家用跑步机功率多大 泡咖啡的方法? 咖啡酸片怎样可以快速融化开 excel中如何将数字改为正常显示? 网易引入《极客战记》,受国内八大顶尖中学力推 上海凡恩凡服装有mlb版权 福特是好车吗 福特的车颜值、动力、配置都还不错,为什么销量不太好? 打游戏的时候自动回复的经典句子模板 如何才能用快剪辑剪辑视频 幼儿园早点环节教研名称有哪些 ps怎么处理图片 安卓手机怎么把360通讯录备份 360优化大师如何恢复通讯录 大家买findx5pro用什么蓝牙耳机 室外凉亭厂家批发大概要多少钱 防腐木凉亭厂家哪家好?株洲防腐木凉亭厂家品牌价格详情