当前位置: 首页 > 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将信号加入波形中。如下所示:

http://www.dtcms.com/a/134753.html

相关文章:

  • 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实现
  • LLM中的N-Gram、TF-IDF和Word embedding
  • 从“数据孤岛”到“万物互联”,PLC组网重构工控边界
  • STM32 HAL库 DAC生成正弦波
  • 返工成本高,如何优化验收流程
  • MyBatis SqlSessionFactory 批量执行实战
  • Transformer编程题目,结合RTX 3060显卡性能和市场主流技术
  • 【差分隐私相关概念】瑞丽差分隐私(RDP)命题10
  • 每日算法(双指针算法)(Day 1)
  • docker多架构镜像构建
  • 大模型面经 | 请你介绍一下ReAct(Reasoning and Acting)?