1、事物级组件间一般用fifo作为通信通道
2、sv中,参数或局部参数优先于宏,这样可以减少编译的次数
3、验证方案从设计规范来,验证方案有一个问题清单,列举所有验证过程需要回答的问题,和说明如何被回答的机制的描述。此外还有一个checklist,列举所有需要回答的问题,它也是测试平台的功能规范
4、systemC不适合构建低层次验证平台
5、激励生成方式:随机、定向、定向随机,运行方式:自由运行、受控制运行、独立运行、同步运行
定向/定向随机激励:一般由特定发生器 ,以便在DUT上执行一个特定的功能或运行一个特殊的情节 。
6、Master:发出请求并接收响应。主器件引发行为,依据响应来确定其下一阶段的动作
Slave:接受请求并返回响应
7、has-a:当一个对象是另一个对象的引用(reference)或指针(pointer)时,这两个对象就通过HAS-A关联 。eg:A有一个B
is-a:由继承产生的对象通过IS-A构成。继承对象就认为是子类,或者是父对象的一个特殊版本 。eg:primates is-a Mammalia
systemverilog中解释如下图:
8、验证架构组件尽量选用小的、带有定义好的接口的组件来实现,会变的简单起来,若能达到复用这些组件,则实现了进一步简单
9、事务:面向硬件: 在一个设计中发生在两个时间点的所有事件,另一种说法:两个实体间单向转移的控制或数据。
面向软件:一个事务就是一个函数的调用。
10、参考模型构建相比DUT要:执行更快、成本更低,所以=>事务级,
11、生产者/消费者模型:
put():指数据方向,由producer发出put指令,数据从produce->consumer
产生器调用消耗器中的一个函数称作put。Put函数的目的就是将数据从发生器的范围传送到consumer的范围。发生器以实际参数的形式给put函数提供数据。Put函数在consumer的范围内运行,因此一旦调用put(),其参数中的数据就传送到consumer的范围。
get():仍然指数据方向,但也还是producer发出get指令,数据从consumer->producer,但实际工作上producer是consumer。