UVM
文章平均质量分 80
+徐火火+
这个作者很懒,什么都没留下…
展开
-
uvm源码解读-sequence,sequencer,driver三者之间的握手关系1
(6)注意这里有几个变量,第一个变量是lock_arb_size,第二个变量是m_lock_arb_size变量,m_lock_arb_size这个变量在每次进行m_update_lists()任务的时候会加一次,在一开始的时候会将这两个值相当,随后去等执行m_update_lists()任务。其中m_num_last_reqs这个变量是通过set_num_last_reqs任务实现的,也就是说m_last_req_buffer的buf含量最大是1024个。原创 2023-09-20 00:59:38 · 519 阅读 · 1 评论 -
UVM核心知识点-1
UVM核心知识点原创 2022-06-10 21:19:15 · 919 阅读 · 0 评论 -
UVM知识点总结-寄存器模型
UVM中的寄存器模型寄存器模型的优势:在没有寄存器模型之前,只能启动 sequence 通过前门(FRONTDOOR)访问的方式来读取寄存器,局限较大,在 scoreboard(或者其他 component )中难以控制。而有了寄存器模型之后,scoreboard 只与寄存器模型打交道,无论是发送读的指令还是获取读操作的返回值,都可以由寄存器模型完成。有了寄存器模型后,可以在任何耗费时间的phase中使用寄存器模型以前门访问或后门(BACKDOOR)访问的方式来读取寄存器的值,同时还能在某些不耗费时间的原创 2022-04-05 13:23:15 · 9143 阅读 · 0 评论 -
UVM知识点总结-sequence
sequence及相关组件基本的点(1)uvm_sequence_item可以在uvm_sequece的任何阶段进行创建(2)sequence一旦活动起来就必须挂载在一个sequencer,通过这种方式,sequence可以获取所挂载的sequencer的实例的句柄,由于sequencer是组件,那么sequence就可以通过sequencer的句柄间接的获得sequencer的一些成员变量,而这些成员变量一方面可以是sequencer自己的,也可以是通过config_db从顶层进行配置的。(3)s原创 2022-04-05 13:21:19 · 2924 阅读 · 0 评论 -
UVM知识点总结-UVM中的通信机制
UVM中的通信TLM0 概述:TLM,事务级建模,transaction level是相对于DUT中各个模块之间的信号级别的通信来说的。 仅仅组件可以例化端口,transaction不能例化端口,因为transaction是继承与object.(1)put/get/peek;transport/master/slave(前三种是方法,还对应着try和can)(2)port/export/import (3)blocking/nonblocking port之间的连接:(1)这三种端口按照控制流..原创 2022-03-14 20:28:28 · 2850 阅读 · 0 评论 -
UVM知识点总结-config+phase+覆盖+打印
基础的点type_id::create函数:如果一个component在实例化时,其parent被设置为null(也就是通过type_id::create创建对象,此时第二个参数为null),那么这个component的parent将被系统设置为系统中唯一的uvm_root的实例uvm_top。针对component进行type_id::create时需要注意以下几种情况:例子:(1)如果创建了类A和类B,并且在A中实例化一个B(b),那么在A中对b进行create时,实际上parent_phase实际原创 2022-03-13 11:52:36 · 2205 阅读 · 0 评论