设计码完代码后,有时候想简单调试一下基本的通路,此时还没有验证资源进来,可以仿照modesim仿真的方法,创建一个.v/.sv的顶层,里面例化dut,里面加预期激励;
下面是vcs/xrun两种仿真工具最简单的demo,spi_slv.v是待测dut,tb_top.sv为顶层top,例化dut, 里面添加对应的激励;
1.vcsdemo:
步骤一:c bash下设置工具对应的环境变量(如果已经设置好,则忽略)
setenvnovas_home $envdir/apps/synopsys/verdi/2017.03
setenvverdi_home $envdir/apps/synopsys/verdi/2017.03
setenvld_library_path$verdi_home/share/pli/lib/linux64:$verdi_home/share/pli/ius/linux64/boot:$ld_library_path
步骤二:编译运行对应的.v/.sv 文件 + dumpfsdb所需要的pli
vcs -full64 -r spi_master.v tb_top.sv +time_scale=1ns -debug_pp -ldflags -rdynamic-p ${novas_home}/share/pli/vcs/linux64/novas.tab
步骤三:例化顶层,添加fsdb dump 的系统函数, 添加激励
moduletb_top;
wire sdo;
wire sdi;
wiresclk;
wirecs;
spi_slv m_spi(
.cs(cs),
.sdo(sdi),
.sdi(sdo),
.sclk(sclk)
);
initial begin
#10000;// simulation time
//todo add code here
$finish();
end
initial begin
$fsdbdumpfile(test.fsdb);
$fsdbdumpvars(0,tb_top);
end
endmodule
步骤四:打开波形: verdi -f filelist.f -ssf test.fsdb
波形效果如下
2. xrun demo:
步骤一:设置运行xrun工具对应的环境变量
略
步骤二:编译运行对应的.v/.sv 文件 + dump shm 波形
xrun-sv -c -elaborate spi_master.v tb_top.sv -access rwc && xrun -r -input wave_dump.tcl
wave_dump.tcl 文件:
database-open waves -into test.shm -default -event
probetb_top -all -dynamic -depth all -tasks -functions -all -memories -variablestb_top
run
exit
步骤三:例化顶层,添加激励
moduletb_top;
wiresdo;
wiresdi;
wire sclk;
wirecs;
spi_slv m_spi(
.cs(cs),
.sdo(sdi),
.sdi(sdo),
.sclk(sclk)
);
initial begin
#10000;
//todo add code here
$finish();
end
endmodule
步骤四:打开波形: simvision test.shm
波形效果如下:
Miso Robotics推出Flippy 2厨房机器人
常用的功率半导体器件
人工智能驱动的应用程序,为体育健儿带来健康保障
8位MCU TM52F1363在电陶炉中的应用
自动断路器的使用注意事项
VCS/XRUN如何创建一个非UVM的简单仿真环境?
诺顿运算放大器的典型应用电路
昕诺飞智能互连道路照明系统及LED路灯已突破两万套
音圈模组加持的阿尔法蛋AI词典笔X10
无线MCU调试技巧汇总
地面雷达数据处理系统设计
TTL与CMOS的区别
PSO位置同步输出在激光振镜加工中的应用
华为为墨西哥打造智能电网AMI解决方案
基于LTCR3589设计的带I2C八输出电源稳压方案
如何用指针式万用表测量103瓷片电容
中国石墨烯芯片最新新闻
现代Enduro全时四驱,搭载2.0升发动机,仅售10万,还买哈弗H6?
财付通扣钱人工客服电话
云算力崛起,抹茶交易所的“云玩家”们