前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vcs+verdi仿真Verilog代码

vcs+verdi仿真Verilog代码

作者头像
猫叔Rex
发布于 2024-05-21 07:10:01
发布于 2024-05-21 07:10:01
49800
代码可运行
举报
文章被收录于专栏:科学计算科学计算
运行总次数:0
代码可运行

我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。

源文件内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//adder.v
module adder(
 input          clk,
 input          rst,
 input   [9:0]  A,
 input   [9:0]  B,
 output reg [10:0] C
);

always @ ( posedge clk ) begin
    if(rst)
        C <= #`FFD 'b0;
    else
        C <= #`FFD A + B;
end

endmodule

我们再定义一个宏定义的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//macro_define.sv
`define FFD 1ns

我们需要再定义一个testbench文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//test.sv
module test;

reg clk;
reg rst;
reg [9:0] A;
reg [9:0] B;
wire [10:0] C;

initial begin
    rst = 1;
    A = 0;
    B = 0;
    #1us;
    rst = 0;
    #1us;
    A = 10'd100;
    B = 10'd200;
    #1us;
    A = 10'd300;
    B = 10'd400;
        #20us;
        $finish;
end

initial begin
    clk = 0;
    forever  #10ns clk <= ~clk;
end

adder add_inst(
    .clk(clk),
    .rst(rst),
    .A(A),
    .B(B),
    .C(C)
);

`ifdef DUMP_FSDB
    initial begin 
                $fsdbDumpfile("tb.fsdb");
        $fsdbDumpvars("+all");

        //string testname;
        //if($value$plusargs("TESTNAME=%s", testname)) begin
        //    $fsdbDumpfile({testname, "_sim_dir/", testname, ".fsdb"});
        //end else begin
        //    $fsdbDumpfile("tb.fsdb");
        //end
    end 
`endif 

endmodule

再定义一个filelist文件:dut.f

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./macro_define.sv
./adder.v
./test.sv

最后就是需要一个Makefile文件了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/make
all: comp sim

comp:
        vcs -full64 -timescale=1ns/1ps -V -R -sverilog \
        -debug_access+all +vc +v2k -kdb \
        -l vcs.log \
        -f dut.f +define+DUMP_FSDB=1 \
        -top test 

sim:
        ./simv -l simv.log

clean:
        rm -rf *~  core  csrc  simv*  vc_hdrs.h  ucli.key  urg* *.log  novas.* *.fsdb* verdiLog  64* DVEfiles *.vpd

总的文件如下:

执行make all

image-20230507181735377

跑完后如下:

生成的文件如下:

用verdi打开波形:verdi -ssf tb.fsdb

可以看到波形如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 傅里叶的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
css实现强制不换行/自动换行/强制换行
强制不换行 div{ white-space:nowrap; } 自动换行 div{ word-wrap: break-word; word-break: normal; } 强制英文单词断行 div{ word-break:break-all; } word-wrap: css的 word-wrap 属性用来标明是否允许浏览器在单词内进行断句,这是为了防止当一个字符串太长而找不到它的自然断句点时产生溢出现象。 word-break: css的 word-break 属
deepcc
2018/05/16
7.8K0
css自动换行属性与保留空白属性冲突_css换行样式
提示:通过使用 word-break 属性,可以让浏览器实现在任意位置的换行。所有主流浏览器都支持 word-break 属性。
全栈程序员站长
2022/11/17
2K0
详解:34word-wrap
兄弟们,你们看着啊总结:核心:截断 word-wrap: break-word;也可以写成overflow-wrap: break-word;一样的哈, word-break: break-all;核心是:内容在宽度的邻界点就自动换行了哈(注意点,也就是说宽度邻界点那里放不下将要显示在这里的字符就换航了呀注意点来了,单词呢怎么说?也截断,放不下的汉子和单词都截断 效果:
贵哥的编程之路
2020/10/28
9140
详解:34word-wrap
word-wrap同word-break的区别
word-wrap: normal Default. Content exceeds the boundaries of its container. break-word Content wraps to next line, and a word-break occurs when necessary. 必要时会触发word-break。
全栈程序员站长
2022/07/05
4700
CSS3文本
1、text-overflow clip: 隐藏超出文本 ellipsis: 超出部分使用省略号 文字超出部分裁剪掉: overflow:hidden; text-overflow:clip; 文字超出部分用省略号代替: overflow:hidden; text-overflow:ellipsis; white-space: nowrap; // 强制不换行 2、文本换行 word-wrap word-wrap 属性允许长单词或 URL 地址换行到下一行 normal: 只在允许的断字点换行 break-
小胖
2018/06/27
4240
【CSS】:white-space、word-break、overflow-wrap
The white-space CSS property sets how white space inside an element is handled.
WEBJ2EE
2020/12/02
1.5K0
【CSS】:white-space、word-break、overflow-wrap
CSS相关
1. rem 默认字号 rem是相对html根元素来说的;浏览器默认的font-size为16px,也就是说默认 1rem为16px。 鉴于此,一些网页定义 根元素 font-size为10/16 = 0.675em,那么这个时候1rem为10px。 16px为继承值 而使用rem前,一般都需要加入一些js代码,通过判断屏幕宽度去计算根[html]的font-size,代码为: (function() { function autoRootFontSize() { doc
六个周
2022/10/28
1.6K0
css渲染(二) 文本
一、文本样式 首行缩进  text-indent   首行缩进是将段落的第一行缩进,这是常用的文本格式化效果。一般地,中文写作时开头空两格。[注意]该属性可以为负值;应用于: 块级元素(包括bloc
柴小智
2018/04/10
1.2K0
css渲染(二) 文本
CSS自动换行
word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自动换行。 它们的区别就在于: 1.word-break:break-all 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。 2.word-wrap:break-wo
Yiiven
2022/12/15
2.7K0
第92天:CSS3中颜色和文本属性
rgba是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha透明度。虽然它有的时候被描述为一个颜色空间
半指温柔乐
2018/09/11
9050
CSS3文本与字体
兼容性:IE5.5+、FireFox15+、Chrome4+、Safari3.1+、Opera15+
Leophen
2019/08/23
1.5K0
不同浏览器对于换行的处理
在一个容器中,如果设定了宽度,一般来说自动换行都是比较正常的,但是如果遇到了连续的英文字符,这个问题就会让人头疼。这不,我们部门的用户在测试的时候输入连续的字符,就出现了容器被撑大而样式变形的情况发生,怎么解决这个问题呢?
大江小浪
2018/07/24
1.4K0
解决WordPress 文章英文单词溢出/单词断词等问题
很多时候,WordPress中文主题都可能在开发的时候,漏掉了对文章对英文的排版优化,出现几种情况:
小唐同学.
2022/02/22
1.9K0
解决WordPress 文章英文单词溢出/单词断词等问题
CSS/CSS3常用Style
IE 9 及其之前的版本不支持 flex 属性。IE 10 需要前缀 -ms- 才支持该属性。
White feathe
2021/12/08
4100
CSS/CSS3常用Style
49个常用的CSS代码片段,建议整理收藏
text-shadow 为网页字体添加阴影,通过对text-shadow属性设置相关的属性值。
前端达人
2021/07/16
2.2K0
Css学习手册之基本篇
Css学习手册之基本篇 每次写前端都是一个痛苦的过程,总是静不下来,彻底的研究下前端的技术,导致每次套页面都是直接采用一些封装好的控件,而有时对这些样式不满意时,又得百度一下该怎么用,低效且不愉快,强制自己好好的学习下基本功 <!-- more --> I. 基本使用姿势 0. 几种css使用姿势 主要有下面三个使用姿势,其中优先级为 c > b > a a.直接引入css文件 b.在html中,直接写css: c.在标签中直接写css <!-- 方式 a --> <link rel="stylesheet
一灰灰blog
2018/04/18
1.9K0
Css学习手册之基本篇
CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins
前言                                   盒子模型作为CSS基础中的基础,曾一度以为掌握了IE和W3C标准下的块级盒子模型即可,但近日在学习行级盒子模型时发现原来当初是
^_^肥仔John
2018/01/18
1.1K0
CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins
【CSS】419- 彻底搞懂word-break、word-wrap、white-space
可以看到,nbsp; 和 </br> 可以正常发挥作用,而连续的空格会被缩减成一个(比如This和is之间的三个空格变成了一个),换行符也全都无效。句子超过一行后会自动换行,而长度超过一行的单个单词会超出边界。
pingan8787
2019/11/25
3.8K0
HTML中显示的文字自动换行
http://www.cnblogs.com/zjxbetter/articles/1323449.html
跟着阿笨一起玩NET
2018/09/20
14.6K0
HTML中显示的文字自动换行
css 强制不换行
强制不换行  div{ white-space:nowrap; } 自动换行 div{  word-wrap: break-word;  word-break: normal;  } 强制英文单词断行 div{ word-break:break-all; } CSS设置不转行: overflow:hidden 隐藏 white-space:normal 默认  pre 换行和其他空白字符都将受到保护 nowrap 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象 设置强行换行: word-b
deepcc
2018/05/16
2.1K0
相关推荐
css实现强制不换行/自动换行/强制换行
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档