![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
systemverilog
文章平均质量分 82
Holden_Liu
这个作者很懒,什么都没留下…
展开
-
systemverilog : constraint slove... before 详解
总的来看,使用->或者if-else时,参数的概率分布会变得复杂且不易理解,尤其涉及到多条件蕴含时,某些参数的概率分布很难做出预期,因此更加需要后续的功能覆盖率加以分析,找出不合理的约束。转载 2022-09-16 21:14:57 · 1621 阅读 · 0 评论 -
Systemverilog 作用域解析运算符 ::
Systemverilog作为面向对象的编程语言,很多特性参看Java,CPP。????C++:作用域解析运算符 ::作用域解析运算符(Class scope resolution operator) :: : 用于显式的对标识符identifier的命名空间namespace做出解析。Systemverilog中的形式:class_type :: { class_type :: } identifier常见归类如下:1.package SEASONS_PKG; typedef enum {原创 2021-08-01 17:30:05 · 5430 阅读 · 0 评论 -
dump glitch 毛刺分析 及 异步复位同步释放
接上一篇:????interface clocking block使用 及 verdi capture delta cycleGlitch: a transition that occurs on a signal before the signal settles to its intended value.Glitch一般由竞争导致,有些glitch的时间宽度为0,这种glitch需要加上+fsdb+glitch=0dump才可以在波形上查看到。nWave上View -> Display Gl原创 2021-04-03 16:55:36 · 5525 阅读 · 1 评论 -
interface clocking block使用 及 verdi capture delta cycle
clocking blockInput (or inout) signals are sampled at the designated clock event. If an input skew is specified, then the signal is sampled at skew time units before the clock event. Similarly, output (or inout) signals are driven skew simulation time uni原创 2021-04-02 14:41:59 · 6301 阅读 · 1 评论 -
Verilog PLI已死( 可能), SystemVerilog DPI当立
Verilog PLI已死( 可能), SystemVerilog DPI当立SNUG San Jose 2004作者: Stuart Sutherland 译者: 韦和民摘要在古老的英格兰, 当一个君主死掉以后, 一个继承者会立即得到王位. 因此就有了这样的歌谣, “ The king is dead—long live the king!” . 随着新的SystemVerilog 直接编程接口(DPI)的出现, Verilog编 程 语 言 接 口 (PLI)看来也有了继承者。 那么是不是老转载 2021-02-15 15:19:48 · 3355 阅读 · 1 评论 -
仿真器VCS solver 对包含 function 约束的求解
+ntb_solver_mode=1|21: 在第一次对每个类调用randomize()期间,求解器在分析约束方面花费了更多的预处理时间。对这个类的后续调用randomize()非常快。2: 求解器只做最少的预处理,并分析对randomize()的每次调用中的约束。默认是2。所以使用VCS时,如果对某一个class多次randomize, 适用+ntb_solver_mode=1+ntb_solver_debug=trace_all trace所有randomize时solv...原创 2021-01-16 14:59:16 · 4996 阅读 · 0 评论 -
Systemverilog interface class
An interface class has nothing to do with the interface construct. It represents the same concept as an interface in Java (a lot of SystemVerilog's object oriented programming constructs are pretty similar similar to Java's). What does an interface clas...转载 2020-12-14 11:53:07 · 2284 阅读 · 1 评论 -
OOP三个基本特征
封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程(OOP)语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 继承现有类 + 扩展通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超...转载 2020-10-10 15:33:23 · 3590 阅读 · 1 评论 -
Systemverilog 语法相关
简化数据 define RTL 层级路径 `define TB_TOP top`define RTL_WRAPPER `TB_TOP.ip_core`define IP_ENGINE_TOP `RTL_WRAPPER.u_ips_engine_top// Register// generate// for(i=0;i<4;i...原创 2020-03-22 22:17:24 · 1836 阅读 · 0 评论 -
Systemverilog randsequence 中的 rand join 使用方法
参考:https://wenku.baidu.com/view/83697a2d27d3240c8447ef60.html?from=searchhttps://blog.csdn.net/qq_41935964/article/details/84947126IEEE STANDARD FOR SYSTEMVERILOGrand join:交叉产生序列,S1 和 S2两个...原创 2020-03-09 15:44:24 · 1822 阅读 · 0 评论 -
$fscanf $sscanf $fgets $readmemh 等系统函数使用
<1.txt> 内容 111 222 333444 555 666<2.txt> 内容a: 111 222b: 333 444program test;string txt1,txt2;int fh_1,fh_2;string line_s;int val1,val2,val3;int val_q[$];initial...原创 2019-10-30 18:36:48 · 2536 阅读 · 0 评论 -
systemverilog assertion在 ##m延迟 和 [*m]连续重复 中使用变量代替常量
property Delay; @(posedge clk) trigger |-> ##delay outputendproperty##delay 只能是常量,比如##2,如果是变量编译报错。可以如下写:property delay;int number; @(posedge clk) (trigger,number=delay) ##1 (1,num...原创 2019-04-04 16:20:26 · 2959 阅读 · 2 评论 -
systemverilog 宏定义 `define 用法。
#将宏定义转化成字符串`define stringfy(x) `"x`"string s;s = `stringfy(`macro);#此时宏`macor不可以有输入,否则报错。原创 2019-06-11 11:50:43 · 18698 阅读 · 0 评论 -
$timeformat $time
5、$timeformat语法$timeformat[( Units, Precision, Suffix, MinFieldWidth )];规则Unit 是 0 到-15 之间的整数值,表示打印的时间的单位:0 表示秒,-3 表示毫秒,-6 表示微秒。-9 表示毫微秒; -12 表示微微秒; -15 表示毫微微秒;中间值也可以使用:例如-10表示100ps单位。 Precisi...原创 2019-07-25 15:02:30 · 6907 阅读 · 0 评论 -
assertion 语句
property on2off_delay_3; @(posedge clock) disable iff (fw_clk_mode || clk_on2off_delay==10) $fell(gated_clk) -> (($past(delay_cnt),(11)) == 16'h1);endpropertyassert property(on2off_delay_3...原创 2019-07-29 18:53:12 · 1220 阅读 · 0 评论 -
【转载】SystemVerilog中有关class类的基础知识
1class中的变量、宏定义等称为类的属性,函数和任务称为类的方法2声明对象时可以指定input/output/inout/ref3复制对象,复制的是句柄而不是对象的内容。类的每个对象,对于属性、方法等都有自己的副本4? 1 2 3 4 5 6 <code>class c;...转载 2019-08-11 12:57:35 · 6023 阅读 · 2 评论 -
systemverilog OOP 单例模式 Singleton object UVM_TOP
UVM 源码中有使用到singleton object, 即单实例。 比如class:uvm_root, 有且只有一个实例。OOP中的设计模式有很多,单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。link:https://www.runoob.com/design-pattern/design-pattern-tutorial.htmlSingle...原创 2019-08-11 14:28:05 · 2194 阅读 · 0 评论 -
systemverilog $fscanf
在systemverilog中读取如下文件file.txt内容addr12345678dataaa55aa55attricececece并把这些键值对存储在一个hash数组h_array[string]中.在读入后,再遍历一次数组,通过打印检测是否读取成功。相关代码如下:program file_read;integer file;strin...转载 2019-08-28 16:42:43 · 5978 阅读 · 0 评论 -
SystemVerilog——字符串类型
传统的Veriog仅仅支持文字表述上的字符串, 而SystemVerilog将字符串作为了内建的数据类型。类似C++的std::string类型,SystemVerilog字符串类型支持很多操作和函数。SytemVerilog字符串类型支持的操作和方法:一些有用的系统任务 SytemVerilog字符串类型支持的操作和方法 操作 ...转载 2019-09-11 10:04:38 · 23601 阅读 · 0 评论 -
systemverilog std::randomize()
要随机产生一个4bit的 -1 ~ -7的数:val = $urandom_range(-1,-7);要随机产生一个4bit的 0 ~ -7的数:val = $urandom_range(-0,-7); // 这样写错误需要写成std::randomize(val) with { val inside {0,[9:15]};};参考:https://www.cnblogs...原创 2019-10-14 17:58:38 · 17633 阅读 · 0 评论