数字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)begin
    if(!rst)
        count <=0;
    else
        count <= 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 begin
    clk <=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.log

verdi:
	verdi -sv -f filelist -ssf tb_counter.fsdb

clean:
	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.mfbz.cn/a/773487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BugkuCTF-Crypto(1-5)

题&#xff1a;抄错的字符 题目作者: Aman 题目描述:老师让小明抄写一段话&#xff0c;结果粗心的小明把部分数字抄成了字母&#xff0c;还因为强迫症把所有字母都换成大写。你能帮小明恢复并解开答案吗&#xff1a;QWIHBLGZZXJSXZNVBZW 分析&#xff1a; 数字和字符可能的转…

QTreeWidget的简单使用

使用 QTreeWidget 实现复杂树控件功能的详细教程_treewidget 加控件-CSDN博客 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTreeWidget> namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpu…

鸿蒙开发——网络连接,axios第三方库

1. 下载和安装ohpm 为啥要安装ohpm呢&#xff0c;因为axios是第三方库&#xff0c;不是鸿蒙官方提供的&#xff0c;所以不能直接引入 ohmp简介&#xff1a;作为鸿蒙生态三方库的包管理工具&#xff0c;支持OpenHarmony共享包的发布、安装和依赖管理。 链接&#xff1a;ohpm命…

Python函数缺省参数的 “ 坑 ” (与C++对比学习)

我们都知道Python函数的缺省参数可以降低我们调用函数的成本&#xff0c;但是一般我们的缺省参数都是不可变对象&#xff0c;如果是可变对象&#xff0c;我们对其多次调用会发生什么呢&#xff1f; def func(arr[]):arr.append(Hello)print(arr)func() func() func() 这貌似…

不花钱如何让网站启用HTTPS访问

在互联网的世界里&#xff0c;数据安全已经成为了每个网站和用户都不得不面对的问题。近期&#xff0c;网络信息泄露事件频发&#xff0c;让越来越多的网站开始重视起用户数据的安全性&#xff0c;因此启用HTTPS访问成为了一个网站必须要部署的。 HTTPS协议&#xff0c;作为HT…

RestTemplate、MockMVC、Swagger

rest代码风格 硬编码的部分在实际开发中都是会替换成枚举对象 SpringMVC会自动把json格式的post请求转化为对应接收的 对象 响应请求时&#xff0c;也会自动把 对象转化为 json格式的 RestTemplate 浏览器的地址栏只能提供get请求访问后端&#xff0c;如果要使用post方式发送…

免费开源(附代码地址)文生图提示词自动优化,还发现三个小窍门,人大度小满等机构出品!阶跃星辰万亿MoE+多模态大模型矩阵亮相

免费开源(附代码地址)文生图提示词自动优化,还发现三个小窍门,人大度小满等机构出品!阶跃星辰万亿MoE+多模态大模型矩阵亮相。 文生图也有自己的prompt优化工具了。 我们都知道,大模型输出的质量,很大程度上依赖于输入的prompt。尤其在文生图领域,对于prompt格外敏感。…

Python内存优化的实战技巧详解

概要 Python是一种高级编程语言,以其易读性和强大的功能而广受欢迎。然而,由于其动态类型和自动内存管理,Python在处理大量数据或高性能计算时,内存使用效率可能不如一些低级语言。本文将介绍几种Python内存优化的技巧,并提供相应的示例代码,帮助在开发中更高效地管理内…

高职人工智能专业实训课之“生成对抗网络(GAN)”

一、前言 生成对抗网络&#xff08;GAN&#xff09;作为人工智能领域的一项重要技术&#xff0c;已经在图像生成、风格迁移、数据增强等多个领域展现出巨大的潜力和应用价值。为了满足高职院校对GAN专业实训课程的需求&#xff0c;唯众人工智能教学实训凭借其前沿的教育技术平…

Redis深度解析:核心数据类型与键操作全攻略

文章目录 前言redis数据类型string1. 设置单个字符串数据2.设置多个字符串类型的数据3.字符串拼接值4.根据键获取字符串的值5.根据多个键获取多个值6.自增自减7.获取字符串的长度8.比特流操作key操作a.查找键b.设置键值的过期时间c.查看键的有效期d.设置key的有效期e.判断键是否…

使用AES加密数据传输的iOS客户端实现方案

在现代应用开发中&#xff0c;确保数据传输的安全性是至关重要的。本文将介绍如何在iOS客户端中使用AES加密数据传输&#xff0c;并与服务器端保持加密解密的一致性。本文不会包含服务器端代码&#xff0c;但会解释其实现原理。 加密与解密的基本原理 AES&#xff08;Advance…

java+springboot+Mysql“友书”综合书籍平台系统24489-计算机毕业设计项目选题推荐(附源码)

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;“友书”综合书籍平台当然也不能排除在外。“友书”综合书籍平台系统是以实际运用为开发背景&#xff0c;运用软件工程原…

AI产品经理能力模型的重点素质:人文素养和灵魂境界

在AI产品经理的能力模型中&#xff0c;我最想提的差异化关键点&#xff0c;就是“人文素养和灵魂境界”。 1 为什么“人文素养和灵魂境界”非常重要&#xff1f; 一、“人文素养和灵魂境界”如何影响AI产品设计&#xff1f; 例1&#xff1a;面对一个具体的AI场景&#xff0…

NLP入门——前馈词袋分类模型的搭建、训练与预测

模型的搭建 线性层 >>> import torch >>> from torch import nn >>> class DBG(nn.Module): ... def forward(self,x): ... print(x.size()) ... return x ... >>> tmod nn.Sequential(nn.Linear(3,4),DB…

30斤用什么快递便宜?大件物品怎么寄划算省钱?

大学生小李最近因为毕业要搬家&#xff0c;不得不把一堆书籍、衣服和一些生活用品寄回家。作为一个精打细算的“穷学生”&#xff0c;小李可是不愿意在快递费上花冤枉钱的。于是&#xff0c;他开始研究各种寄快递省钱的方法&#xff0c;今天我们就来看看小李是怎么操作的。一、…

基于Wireshark和TiWsPC(Wireshark Packet Converter)的Zigbee抓包

前言 介绍几种Zigbee抓包方式&#xff1a; 1. Ubiqua 使用教程网上非常多也非常清晰&#xff1b; 但是Ubiqua是收费软件&#xff0c;较贵&#xff1b; 我安装过了&#xff0c;费好多事&#xff0c;没安装成功。 2. Killerbee套件 https://github.com/riverloopsec/killerbe…

phpcms 升级php8.3.8

windows 2008 server 不支持php8.3.8,需升级为windows 2012 1.下载php8.3.8 PHP8.3.9 For Windows: Binaries and sources Releases 2.配置php.ini (1.)在php目录下找到php.ini-development文件&#xff0c;把它复制一份&#xff0c;改名为php.ini (2.)修改php安装目录 根…

【设计模式】装饰器模式(定义 | 特点 | Demo入门讲解)

文章目录 定义装饰模式的结构 快速入门 | Demo顶层抽象DataSource数据源接⼝具体实现类引入BASE**64**编码装饰器客户端Client 定义 所谓装饰器模式其实就是在原有的功能上做一个增强&#xff01;&#xff01; 换句话说&#xff1a;以前你妈妈揍你的时候用的巴掌&#xff0c;但…

Windows 安装hadoop 3.4

目录 安装 下载 设置环境变量 配置 修改&#xff1a;hadoop-env.cmd 修改&#xff1a;core-sit.xml 修改&#xff1a;hdfs-site.xml 修改&#xff1a;mapred-site.xml 修改&#xff1a;yarn-site.xml 运行 格式化HDFS文件系统 启动&#xff1a;hadoop 启动&#xf…

开源大模型和闭源大模型,打法有何区别?

现阶段&#xff0c;各个公司都有自己的大模型产品&#xff0c;有的甚至不止一个。除了小部分开源外&#xff0c;大部分都选择了闭源。那么&#xff0c;头部开源模型厂商选择开源是出于怎样的初衷和考虑&#xff1f;未来大模型将如何发展&#xff1f;我们来看看本文的分享。 在对…