当前位置: 首页 > news >正文

数字IC设计-VCS和Verdi的使用

#学习记录#

前言:本文以一个简单的计数器来说明vcs和verdi的使用

1 代码文件

1.1 计数器代码

//Engineer:Mr-pn-junction
module counter(input    clk,input    rst,output reg [5:0] count);
always@(posedge clk or negedge rst)beginif(!rst)count <=0;elsecount <= count +1;end
endmodule

1.2 testbench

//Engineer:Mr-pn-junction
module tb_counter();reg clk;
reg rst;
wire [5:0] count;
counter u_counter(.clk(clk),.rst(rst),.count(count));
always #5 clk= ~clk;
initial beginclk <=0;rst<=0;#20;rst <= 1;#50;if(count !=5)$display("Failure1:the counter should be 5 but it is %d",count);else$display("You gotta the right result");$finish;end`ifdef FSDB
initial begin$fsdbDumpfile("tb_counter.fsdb");$fsdbDumpvars;
end
`endif
endmodule

1.3 Makefile

#Makefile 
run:vcs -R -full64 +v2k -fsdb +define+FSDB -sverilog counter.v tb_counter.v -timescale=1ns/1ns -l run.logverdi:verdi -sv -f filelist -ssf tb_counter.fsdbclean:rm -rf verdilog *.log *.fsdb csrc ucli.key simv* *.conf *.rc

1.4 filelist

./counter.v
./tb_counter.v

2 vcs编译

命令行:make run。如下所示:

3 verdi查看波形

命令行:make verdi。点击信号,然后快捷键Ctrl+w将信号加入波形中。如下所示:

相关文章:

  • RFID 赋能部队智能物联网仓储建设:打造信息化高效解决方案
  • 电磁兼容概述-标准梳理
  • 在IDEA里面建立maven项目(便于java web使用)
  • 什么是时间复杂度和空间复杂度?
  • 抖音ai无人直播间助手场控软件
  • Java实时监控常用指令、工具
  • 大数据学习笔记
  • 软件定义网络(SDN):重塑未来网络的革命性架构
  • SQL学习-关联查询(应用于多表查询)
  • rk3588 驱动开发(一)字符设备开发
  • 《 Reinforcement Learning for Education: Opportunities and Challenges》全文阅读
  • 每日文献(十三)——Part one
  • kylin系统软件移植部署过程中遇到的问题及解决方案
  • WINUI——Background小结
  • Kotlin 与 Jetpack Compose 参数设计完全指南
  • Endnote 21显示字段设置与修改详细解析(附Endnote Click)
  • 性能优化实践
  • 关于flowable工作流的研究与初步使用
  • ​​​​​​​今日github AI科技工具汇总(20250415更新)
  • MODBUS RTU time_out实现
  • 全国党委和政府秘书长会议在京召开,蔡奇出席并讲话
  • 美媒称特朗普考虑大幅下调对华关税、降幅或超一半,外交部回应
  • 嫦娥五号月球样品将借给这些国家机构
  • 俄罗斯戏剧《大师与玛格丽特》来沪,剧长8小时一天内演完
  • “低头捡星光”,艺术创作直面三江源生态保护
  • 七大外贸省市,靠什么撑起一季度的出口?