UVM
April ending
坚持
每天一个知识点打卡上传
展开
-
随机化句柄数组
随机句柄数组的功能是在调用其所在的随机函数时,随机函数会随机化数组中的每一个句柄所指向的对象。因此随机句柄数组的声明一定要添加rand来表明其随机化的属性,同时在调用随机函数之前要保证句柄数组的每一个句柄元素都非悬空,这要保证在随机化之前为每一个句柄元素构建对象。如果要产生多个随即对象,则需要建立随机句柄数组。和整数数组不同,随机句柄数组需要在随机化之前分配所有的句柄元素,因为求解器是不会创建对象的。使用动态数组可以按照需要分配最大数量的元素,再使用约束减小数组的大小。在随机化时,动态句柄数组的大小可以原创 2020-07-23 19:38:18 · 1158 阅读 · 1 评论 -
uvm的config机制举例
为了增强uvm环境的可复用性,通过外部的参数配置,在环境在创建组件之前就已经实现资源的配置。这些都是通过uvm机制中的uvm_config_db配置类实现的。可以实现:传递virtual interface到验证环境中 传递变量值,如int型变量,string,enum型变量 可传递句柄(object),内含多种变量类型,多个组件变量,打包传递//声明ifinterface uvm_config_if; logic [31:0] addr; logic [31:0] data;.原创 2020-05-11 13:25:34 · 932 阅读 · 0 评论 -
UVM中域的自动化的声明及copy/compare/print函数举例及仿真
factory机制有对域的自动化的声明,声明之后对于pkg中的一些函数无需定义即可直接使用,包括copy(),compare(),print(),增加代码的可重用性。 typedef enum {WRITE, READ, IDLE} op_t; //枚举类型声明 class trans extends uvm_object; bit[31:0] addr; bit[31:0] data; op_t op; string name; `uvm_objec.原创 2020-05-10 18:26:22 · 4660 阅读 · 0 评论 -
UVM中组件实例的创建与覆盖
uvm中创建object或者component都要通过工厂机制-factory创建,采用factory机制可以更方便修改实例类型,增加实例创建的可配置性,一定程度上避免了代码冗余,不过uvm看似代码量骤增,多数都是固定格式代码风格,在sv基础上只要记住流程可迅速上手。原创 2020-05-10 16:36:29 · 831 阅读 · 1 评论