lab0查看class中实例:方法一:打开local窗口,会显示实例名和**@类名(实例类型)@创建该类型对象的次数**。要在创建对象实例后设置断点,不让仿真结束,不然就看不到了。方法二:view→class browser→class instances(会打开一个class instances窗口)→transcript窗口,仿真语句后加上“ -classdebug”,回车→sim窗口点击实例
转载
2024-04-29 17:10:08
62阅读
一、硬件 对于许多TI的芯片来说,引脚复用的配置是在Control Module(配置模块)的寄存器里配置的,(这个和三星的CPU有点不同,三星的一般在GPIO的寄存器中配置)。所以当你需要配置这些寄存器的时候,请到数据手册的Control Module的Pad Control Registers查找。 TI的CPU芯片手册有两种:一种是datasheet(DS
文章目录一、对寄存器模型的操作是怎么反映到总线上?二、怎么保证寄存器模型与DUT的寄存器保持一致 ?1.预测更新1.1.1 自动预测(auto predication)1.1.2 显示预测2.mirror( )更新三、使用寄存器模型的优点?1.提高了 sequence 的复用性2.提供了后门访问方式 ?寄存器模型的基础知识可以看:UVM寄存器模型 ?这篇文章随着工作年限的增加,会持续更新…寄存器
转载
2024-06-20 10:25:23
283阅读
变量存储器 V变量存储器是最常用的存储器。可以用它存储程序执行过程中控制逻辑操作的中间结果,也可以用它来保存与工序或任务相关的数据。并且可以按位、字节、字或双字来存取变量存储区存储区中的数据。不同型号的CPU的V存储区的大小不一样。标志存储器(位存储器) MM存储区在功能和用法上与V存储区类似,但是M存储区很小,只有32个字节。M存储区有一点特殊,对于MBO-MB13这14个字节可设置成保存在
转载
2024-05-01 23:58:10
334阅读
1.前面使用过uvm_driver,uvm_env 当做树根。但在实际应用的UV
原创
2023-07-31 17:36:35
269阅读
0. 引言 在UVM支持的寄存器操作中,有get、update、mirror、write等等一些方法,在这里整理一下他们的用法。在寄存器模型中专门有个值来尽可能与DUT中寄存器的值保持一致,叫镜像值(mirrorred value)。寄存器模型中还有一个值叫期望值(respected value),这个值保存我们希望写入寄存器的值。比如希望向DUT某个寄存器写入'h1,用set函数设
转载
2024-07-14 08:18:10
234阅读
创建如下所示的目录结构:2.在tb的文件下:顶层的testbench如下:在tb中,第24行的代码将uvm宏相关的内容include进来,第26行的代码把uvm_pkg包导入进来,然后将agent相关的包(ahb_pkg/sram_pkg),testcase相关的包(uvm_ahb_sram_test_pkg)以及env相关的包(uvm_ahb_sram_env_pkg)都导入进来,在第38行和3
转载
2024-05-16 21:02:12
76阅读
1.比之前多一组控制端口,改变DUT 行为:2. transaction 如下:3.drive
原创
2023-07-31 17:29:15
78阅读
1.为7.1.1的DUT建立寄存器模型。只有一个寄存器invert。首先从uvm_reg
原创
2023-07-31 17:29:07
199阅读
1.实际DUT中,有些寄存器会同时即发出两个
原创
2023-07-31 17:31:34
174阅读
前门访问:指的是通过模拟cpu在总线上发出读指令,进行读写操作。在 这个过程中,仿真时间($time函数得到的时间)是一直往前走的。有了寄存器模型后,可以在任何耗费时间的phase中使用寄存器模型以前门访问或后门(BACKDOOR)访问的方式来读取寄存器的值。后门访问:从广义上来说,所有不通过DUT的总线而对DUT内部的寄存器或者存储器进行存取的操 作都是后门访问操作。不通过总线进行读写操作,而是
1.某个寄存器有三个域,低两位是fieldA,接着3位是fieldB,接着4位是fie
原创
2023-07-31 17:29:20
114阅读
在之前的文章中,我们已经了解寄存器模型的相关概念以及如何访问寄存器。本文中将给出一个完整的例子,理解下如何写一个完成的寄存器模型、如何把寄存器模型集成到环境中以及如何进行读写操作。RTL设计下面的设计具可以通过APB接口可访问的寄存器和字段。该设计本质上为一个可以通过写入某些控制寄存器来配置的红绿灯控制器。CTL寄存器包含启动模块的字段,以及将其配置为黄闪或红闪模式字段。状态寄存器是只读的,该
1.上一节,没有考虑总线的重用。集成到芯片时,芯片都有自己的配置总线,经过仲
原创
2023-07-31 17:35:07
260阅读
一.GPIO的寄存器32位配置寄存器:GPIOx_CRL,GPIOx_CRH32位数据寄存器:GPIOx_IDR,GPIOx_ODR32位置位/复位寄存器:GPIOx_BSRR16位复位寄存器:GPIOx_BRR32位锁定寄存器:GPIOx_LCKR GPIOx_CRL :端口配置低寄存器 (控制P0--P7端口)一个IO位占4
转载
2023-12-24 11:43:39
625阅读
0. 引言 在UVM支持的寄存器操作中,有get、update、mirror、write等等一些方法,在这里整理一下他们的用法。在寄存器模型中专门有个值来尽可能与DUT中寄存器的值保持一致,叫镜像值(mirrorred value)。寄存器模型中还有一个值叫期望值(desired value),这个值保存我们希望写入寄存器的值。1.
1.两级寄存器模型:2.加入一个用时,lock后要reset。2)一般将具有同一基地址的寄存器作为整体加入一个uvm_reg_block中。
原创
2023-07-31 17:31:43
127阅读
寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。8086系统,有14个通用寄存器:AH+AL=AX(accumulator,累加寄存器) BH+BL=BX(base,基址寄存器) CH+CL=CX(count,计数寄存器) DH+DL=DX(data,数据寄存器) ,以上的AX、BX、CX、DX为16位通用寄存器,分别由两个 8位寄存器组成,两个8
转载
2024-10-12 21:56:25
31阅读
在8086的EU和BIU两部分中包含有一些工作寄存器,这些寄存器用来存放计算过程中的各种信息,如操作数地址、操作数及运算的中间结果等。微处理器从寄存器中存取数据比从存储器中存取数据要快的多,因此,在计算过程中,合理利用寄存器保存操作数、中间结果或其它信息,能提高程序的运行效率。根据这些寄存器所起的作用,8086寄存器组可以分为通用寄存器、专用寄存器
参考资料(1) UVM通信篇之六:同步通信元件(上) - 路科验证的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) -(2) 《Practical UVM Step by Step with IEEE》1.同步的方法1.1 sv与uvm中同步的方法(1) 在sv中,用于同步的方法有event, semaphore和mailbox;(2) 在UVM中,用于同