逻辑综合——便捷命令 1. 获取感兴趣的对象123filter_collection [get_cells *] "ref_name=AN*" #找到以AN开头的单元名字get_cells -filter "ref_name = AN*" #找到以AN开头的单元名字get_cells -filter "dont_touch==true" # 按照属性过滤 2 2019-07-24 IC Synthesis IC Synthesis
逻辑综合——设置库 逻辑综合分成三步:综合=转化+优化+映射。 DC先通过read命令将RTL设计转化成布尔表达式,也就是GTECH格式,然后执行compile命令,按照设计约束进行逻辑综合和优化,并使用工艺库中的逻辑单元映射成门级网表 DC以时序为基础进行优化。DC内建STA工具,将设计分解成多条时序路径,通过计算路径延迟对它们进行约束和优化。 1. 目标库 target librar 2019-07-24 IC Synthesis IC Synthesis
SV——OOP技巧 1. 事务传递 在事务生成器中,每次新建transaction,随机化后发送给接收器,这样每次发送函数transmit(tr)发送的transaction都不同。避免了transmit程序需要多个cycle,后面的随机化将前面还没有发送完成的数据覆盖了。 下面这种写法是只创建一个transaction对象,对对象进行多次随机化,后面的随机化可能会覆盖前面没发送的数据。 12345 2019-07-23 Verification System Verilog IC SV Verification
SV——线程及线程间的通信(一) 实际硬件中,计算是并发进行的,在Verilog中通过initial、always、连续赋值来模拟,在测试平台中为了模拟、检验Verilog中的这些语句块,tb使用许多并发的线程。 1. 线程的定义和使用1.1 定义线程initial 、always、assign都是进程,初次之外还有: fork join 其内的语句并发,fork-join块执行完才执行后面的语句。 fork 2019-07-23 Verification System Verilog IC SV Verification
SV——线程及线程间的通信(二) 1. 旗语 semaphore 如果把进程执行看成“开车”这个行为,开车需要钥匙,旗语就类似于“钥匙”。一个线程执行要先申请钥匙(旗语),如果只有一个钥匙(旗语)并且被其他线程申请了,那么这个线程阻塞。当那个线程执行完了,返回钥匙(旗语),被阻塞的线程可以再申请钥匙(旗语)。 旗语可以用在多个进程共享资源的时候。 new方法创建一个或多个旗语 get获取一个或多个旗语,获取失败 2019-07-23 Verification System Verilog IC SV Verification
SV——SV与Verilog的不同 介绍SV语法中与Verilog不同的地方。 参考《Systemverilog验证——测试平台编写指南》 1. 过程语句相比于Verilog,SV从C中继承了一些方便的语法。 在for循环中可以定义变量,它的作用范围仅限于for循环。 initial 、always块中也可以定义变量。 可以用++、–自增运算符。 在begin、fork、module、function等标识符后放置符号,并在 2019-07-22 Verification System Verilog IC SV Verification
UVM UG中的一些细节点 c UG 1.1 Chapter3P42 在SV中不允许在class中使用concurrent assertion,但可以在interface中使用concurrent assertion进行协议检查。 P46 $format(inst_name,”master[%0d]”,i); //将字符串内容存在inst_name变量中。注意和$formatf区别。 2019-07-22 Verification UVM IC SV Verification UVM
UVM1.2与UVM1.1的不同 UVM-1.2在2014年5月发布,相比于之前的UVM-1.1改变了一些东西,这里分两部分,逐步总结UVM-1.2和UVM-1.1的不同。 1. UVM-1.2增加的内容2. UVM-1.2取消的内容2.1 取消在sequence中控制objection在1.1中可以通过raise_objection drop_objection 来控制tb的执行,而在1.2中取消了这种写法,改成了。 1se 2019-07-22 Verification UVM IC SV Verification UVM
UVM——控制打印信息 通过控制component打印信息的行为,提高日志的可读性。 uvm_component 直接继承自uvm_report_object,所以component继承了一些设置report的函数。 打印信息的宏有: `uvm_info(id,mess,verbosity). `uvm_warning(id,mess) `uvm_error(id,mess) `uvm_ 2019-07-22 Verification UVM IC SV Verification UVM
Verilog仿真原理 1. 电路与仿真1.1 电路是并行的1.2 仿真时串行的EDA工具是软件,在CPU中串行执行,所以仿真是串行的,也是顺序执行。 Verilog的并行性在仿真中是通过其语义(semantics)来实现的。语义就是Verilog的语言含义。比如@是等待事件,#10是延迟10个时间单位,块语句都是并行的。 2. Verilog仿真概念2.1 仿真时间仿真事件是仿真器维护的时间值,它用来模拟电路真实的运行 2019-07-22 Verification Simulation IC Verilog Simulation