负的保持时间和建立时间 通常见到讲建立时间和保持时间,它们都是正的,那么负的建立时间(negative setup time) 和保持时间(negative hold up time) 是什么意思呢? negative setup time 当发生setup time violation的时候,是因为capture FF 的data比时钟沿来的慢,或者说capture FF 的时钟来得快了。如果要fix timi 2020-01-14 IC STA IC timing
如何成为高效的工程师 《how to be a star engineer》 —— Robert E.Kelley 作者跟踪了一些在Bell Lab工作的两种人的经历,一种是star performance people ,另一种是average performance people,发现这些人之所以star,不是因 2019-12-19 others others life
01-Verilog and SystemVerilog Gotchas gotcha 56 verifying asynchronous and synchronous reset ai time zero initial和always块在zero time时候的执行顺序是不确定的。在zero time时,复位(复位沿发生在检测复位的逻辑之前或之后)或者时钟上升沿(上升沿发生在always语句之前或之后)可能出现不确定的执行结果。 特别时tb和dut之间信号的先后问 2019-12-18 IC books IC Verilog and SystemVerilog Gotchas
SV——generate constructs 0. 介绍 generate构建是用来例化一个或者多个generate block;generate block可以是module item、一段语句或者嵌套的generate block。但不能有端口声明。 generate 调度是在elaboration阶段,而不是在simulation。generate scheme的结果在simulation之前就确定了。所有在gener 2019-10-22 Verification System Verilog IC SV Verification
SV——automatic 参考:IEEE 1800 6.21 Scope and lifetime 1. SV中变量存储 Variables declared outside a module, program, interface, checker, task, or function are local to the compilation unit and have a static lifetime (exis 2019-09-27 Verification System Verilog IC SV Verification
SV——extern virtual function 如果在class 中对virtual function使用了extern声明,如下: class base_test extends uvm_test; extern virtual function void build_phase(uvm_phase(phase); endclass 那么要在class之后定义这个virtual function的实体,如下: function void bu 2019-09-27 Verification System Verilog IC SV Verification
SV——override 0. 介绍SV中引入OPP,也会有类似于C++里的override和overload考虑。 1. override 重写重写有数据成员重写和方法重写,看下面例子 1234567891011121314151617// 来源 IEEE1800 8.14节class Packet; integer i = 1; function integer get(); get = i; 2019-09-27 Verification System Verilog IC SV Verification
SV——static static class property如果变量需要在不同的对象中共享,那么可以把这个变成定义成静态变量。 静态变量在声明对象句柄的时候就分配内存空间。 The static class properties can be used without creating an object of that type. 1234class Packet ;static integer fileID 2019-09-27 Verification System Verilog IC SV Verification
SV——声明和例化 1. class constructor —- newSV中通过new构造函数来创建对象,在创建对象的过程中,可以做一些初始化工作。 new函数没有返回值,他的返回类型就是赋值表达式中左值的类型。 如果没有自己定义new函数,那么SV会调用默认的new函数;一个派生类的new函数会先调用父类的new函数。 2. super The super keyword is used from wi 2019-09-27 Verification System Verilog IC SV Verification
SV——类型转换 0. 介绍在SV中类型转换有很多,在这里先将类型转换分成两种,静态类型转换和动态转换。 静态转换就是用cast operator——单引号(‘)。 动态转换用$cast。 1. 静态转换 static cast(’)语法如下: 12constant_cast ::= // from A.8.4(来自1800) casting_type ' ( constant_expression ) 2019-09-27 Verification System Verilog IC SV Verification