摘要: DFT: 设计和验证工作完成之后,我们就得到了一个实现了特定功能的RTL设计。这里我们可以说功能设计的部分已经完成,那接下来的流程中一个很重要的方面就是保证之前实现的功能不能被改变。 逻辑综合(logic synthesis)完成后执行的形式验证(formal verification)就是保证逻辑 阅读全文
posted @ 2018-07-13 17:46 liheng369 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-05-09 20:40 liheng369 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 所需处理的内容如下: Python正则表达脚本: 兼容Python2、或3,运行结果如下: ’ 附录: print: print ("the length of (%s) is %d" % ('runoob',len('runoob'))) 格式化操作符辅助指令: 在 Python 中 print 阅读全文
posted @ 2018-05-03 19:52 liheng369 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1.生成随机数: $unrandom_range(0, 7) 2.phase执行: 3. rand_mode(), constraint_mode() rand_mode = 0:关闭随机,1:开启随机 虽然该变量的rand_mode已经关闭,相当于该变量取的是default值,但simulator 阅读全文
posted @ 2018-04-24 17:53 liheng369 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: Useful SystemVerilog System Tasks $sscanf 将字符串按照某个模板格式进行扫描,其字符串格式和C语言中的printf()函数类似 $sformat是$sscanf的反函数。将字符串按照给定的格式填入相应的参数args中 $display就是Verilog的pri 阅读全文
posted @ 2018-03-29 09:51 liheng369 阅读(10203) 评论(0) 推荐(0) 编辑
摘要: 数组的定义: An array is a collection of variables, all of the sametype, and accessed using the same name plus one or more indices. 合并数组和非合并数组:packed array, 阅读全文
posted @ 2018-03-20 17:49 liheng369 阅读(1874) 评论(0) 推荐(0) 编辑
摘要: 转载 在UVM中经常可以看到$cast的身影,这是SV的build-in task之一,当然它还有function的版本,这里不讨论。 说到这,不得不提到“类型转换”这个术语,SV和很多其他语言一样,都支持特定类型间的相互转换。SV类型转换分两种方法,一种叫静态类型转换,另一种称之为动态类型转换。静 阅读全文
posted @ 2018-03-20 15:06 liheng369 阅读(2405) 评论(0) 推荐(0) 编辑
摘要: post sim中,会进行动态仿真。 在跨时钟域设计中,经常用打2及或3级节拍的方式,进行同步采样,避免glitch。 但是,仿真工具并不知道这些DFF是用来同步的。所以在枚举路径,检测时序的时候,会报setup hold time错误。 因此,在post sim中,发现这些violation后,需 阅读全文
posted @ 2018-03-20 14:47 liheng369 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 1.光标移动: k h l j H:页头 M L:页尾 gg:头 G:尾 crtl u ctrl b ctrl d ctrl f gf:文件跳转 ctrl o:回来 b:前一单词头 e:后一单词尾 ():句子首位 {}:段落首位 ngg:跳转到行 n|:跳转到列 n+:上一n行(shift) n-: 阅读全文
posted @ 2018-03-16 17:21 liheng369 阅读(173) 评论(0) 推荐(0) 编辑
摘要: CSMA/CD: 载波侦听(CS):指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据。如果有,则暂时不要发送数据,以免发生碰撞。 总线上并没有什么“载波”。因此, “载波侦听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。 碰撞检测(CD):就是计算机边发送数据边检测信 阅读全文
posted @ 2018-03-16 14:52 liheng369 阅读(287) 评论(0) 推荐(0) 编辑