systemverilog验证学习笔记(2)
真器就能够发布一个警告信息 bit [2:0] a;
unique if ((a==0) || (a==1)) y = in1; else if (a==2) y = in2;
else if (a==4) y = in3; // 值3、5、6、7会引起一个警告 priority if (a[2:1]==0) y = in1; // a是0或1 else if (a[2]==0) y = in2; // a是2或3 else y = in3; // 如果a为其他的值
unique case (a) 0, 1: y = in1; 2: y = in2; 4: y = in3; endcase // 值3、5、6、7会引起一个警告
类
Class trans; ………… Endclass
trans a;声明一个句柄(指针) a=new();//为一个trans对象分配空间 用户定义的new()函数 Class trans;
Logic [31:0] addr,crc,data[8]; Function new;
Addr=3; Foreach (data[i]) Data[i]=5; Endfunction Endclass
随机化
Class packet
Rand bit [31:0] a,b,c[8]; Randc bit[7:0] k; Constraint d{a>10; a<15;} endclass packet p; initial begin p=new();
assert (p.randomize()); transmit(p); end
指示通过引用传递的参数,参数声明需要以ref关键字开始
线程
always_comb过程来建模组合逻辑行为 在0时刻结束时自动触发一次
always_latch过程来建模锁存逻辑行为
always_ff过程可以用来建模可综合的时序逻辑行为 它仅能包含一个事件控制过程并且没有阻塞定时控制 always_comb过程提供了不同于正常always过程的功能:
? ? ?
具有一个推断的敏感列表
赋值语句左侧的变量不应该被任何其它进程写入。
在所有的initial和always块被启动以后,过程在时间0处被自动地触发一次,因此过程的输出与输入一致。
SystemVerilog的always_comb过程在下述几个方面上不同于Verilog-2001的always @*:
?
always_comb在时间0处自动执行,而always @*直到推断的敏感列表中的一个信号发生变化的时候才会执行。
?
always_comb敏感于一个函数内容内部的改变,而always @*仅敏感于一个函数自变量的改变。
?
在always_comb内部赋值左侧的变量(包括来自被调用函数内容中的变量)不应该被其它进程写入,而always @*则允许多个进程写入相同的变量。
?
always_comb中的语句不应该包含阻塞语句、具有阻塞定时或事件控制的语句,或者fork...join语句。
如果always_comb过程内的行为没有代表组合逻辑,例如推断出了锁存器,软件工具执行额外的检查来发布警告信息。
Fork……join所有并行语句执行完毕才执行后续
Fork…….join_none 执行块儿内语句的同时父线程后面的程序继续进行
Fork…..join_any当块内第一个语句完成后,父线程才继续执行。 停止单个线程
Parameter timeout=1000; Task check(trans tr); Fork begin Fork: check_stop Begin
Wait(tbus.cb.addr==tr.addr); $display(“……….”); End
#timeout $display(“……….”); Join_any
Disable check_stop; End Join_none
Endtask
事件 信箱 扩展的类
Class badtr extands transaction; Rand bit bad_crc;
Virtual function void calc_crc;
Super.calc_crc();//super调用基类里面的函数 ……….. Endfunction Endclass:badtr
回调
测试程序在不修改原始累得情况下注入新代码 可以用来 注入错误 放弃事务 延迟事务 将事务放入记分板 收集功能覆盖率等等
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




