2018年3月6日

verilog编译器指示语句

摘要: 1. translate_off/translate_on 当verilog中有些语句不需要DC综合(例如只用于仿真的initial),可以用translate_off/on来屏蔽,用法如下: //synopsys translate_off initial begin ... end //syno 阅读全文

posted @ 2018-03-06 14:44 lybinger 阅读(748) 评论(0) 推荐(0)

2018年1月11日

关闭assertion的方式

摘要: 1. disable ... iff() 2. 可以在top level,用$assertoff(1, assert_property_name); $asserton(1, assert_property_name);的方式关闭或打开对应的assert。 阅读全文

posted @ 2018-01-11 13:55 lybinger 阅读(1276) 评论(0) 推荐(0)

2018年1月2日

function coverage

摘要: 收集function coverage,首先创建一个clas: class component_cover extends uvm_component; 在component_class中定义covergroup: covergroup GROUP_NAME; endgroup 在new phase 阅读全文

posted @ 2018-01-02 11:30 lybinger 阅读(504) 评论(0) 推荐(0)

2017年12月18日

uvm pool event

摘要: uvm_event_pool的定义为: typedef uvm_object_string_pool #(uvm_event) uvm_event_pool; uvm_event_pool可以通过get来获取event变量,如果该变量没有被create,则会先create。 get函数原型: vir 阅读全文

posted @ 2017-12-18 15:00 lybinger 阅读(1538) 评论(0) 推荐(0)

2017年12月11日

verilog文件操作

摘要: integer file_Id; initial begin file_Id = $fopen("$FILE__NAME"); $fdisplay(file_Id, "DISPLAY"); $fclose(file_Id); end 阅读全文

posted @ 2017-12-11 14:02 lybinger 阅读(510) 评论(0) 推荐(0)

2017年12月6日

shell中查询程序执行结果

摘要: alias check_status 'if ("$?" != 0) goto _TERMINATE_' $?保存的是上一个程序的运行状态,正常状态为0. 阅读全文

posted @ 2017-12-06 17:41 lybinger 阅读(727) 评论(0) 推荐(0)

2017年11月30日

关于pcie 3.0的128B/130B编码

摘要: 128B/130B是指在128bit前面加上2bit的sync header来组成130bit的block.sync header可以用来指示该block为data block(10b)或Order set block(01b)。注意sync header只是data block的alignment 阅读全文

posted @ 2017-11-30 16:23 lybinger 阅读(6701) 评论(0) 推荐(0)

2017年11月28日

generate

摘要: genvar i; generate for(i=0; i<NUM; i++) begin:GEN_BLK ... end endgenerate 这一段在编译后将会生成NUM个名称为GEN_BLK[0]~[NUM-1]的模块,该模块内的内容可以通过GEN_BLK[0]~[NUM-1]来索引。 如果 阅读全文

posted @ 2017-11-28 16:18 lybinger 阅读(600) 评论(0) 推荐(1)

参数化类

摘要: class stack #(type T=int); local T item[]; task push(T a);... endtask task pop(ref T a);... endtask endclass stack#(real) rs; class D1 #(type P=real) 阅读全文

posted @ 2017-11-28 15:12 lybinger 阅读(212) 评论(0) 推荐(0)

2017年11月27日

system verilog如何释放内存

摘要: system verilog会自动释放内存。当离开动态变量所在的作用域后,变量所占据的内存会被自动释放。 对于class类型的object,可以通过赋值null来主动释放内存。 阅读全文

posted @ 2017-11-27 16:49 lybinger 阅读(623) 评论(0) 推荐(0)

导航