X模块1 AHB VIP及TB框架实现

本文介绍了C++编程中头文件的包含方式,包括尖括号和双引号的区别,以及在不同情况下的使用建议。同时,讲解了UVM中的sequence和transaction的概念,它们在验证过程中的作用,以及如何自定义继承。最后,讨论了package与interface的区别,package主要用于封装类和方法,而interface则涉及硬件层面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1-package abc;//记住要写分号

  endpackage

2-#include叫做“文件包含命令”,用来引入对应的头文件。(头文件是包含函数声明,类的声明的文件。(问题:是否包括宏定义存疑----宏定义一般是单独放一个文件,全局可见) ) 

简单的理解:就是将头文件的内容插入到该命令的所在位置, 从而把头文件的内容和当前的源文件连接成一个源文件。 既:复制-粘贴。

#include有两种用法:

①#include<stdio.h>→使用尖括号< >,编译器会从系统路径下查找头文件;

②#include"stdio.h" →使用双引号" ",编译器首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。

总的来说,双引号" "的查找路径比尖括号< >的大。

应用:对于标准头文件一般来说使用尖括号、双引号都可以成功的引入;

而我自己编写的文件在当前项目路径下,用的是双引号" ",不能使用尖括号,只能用双引号,

在以后的编写过程中,推荐大家用尖括号引入标准头文件,使用双引号来引入自定义头文件(自己编写的头文件),这样就很容易区分头文件的区别。

3-自定义的sequence/transaction都继承于uvm_sequence_item

   uvm库里的uvm_sequence继承于uvm_sequence_item,uvm_sequence_item继承于uvm_transaction

https://blog.youkuaiyun.com/Holden_Liu/article/details/111740898?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-0-111740898-blog-124935052.pc_relevant_recovery_v2&spm=1001.2101.3001.4242.1&utm_relevant_index=2

UVM设计模式 (七)命令模式、三种sequence启动方式、start_item/finish_item、中介模式、virtual sequence

4-package里面没有interface的sv文件,因为package是封装软件的类、方法、类型,而interface是硬件世界。

5-configration、sequence属于uvm_object

参数类型transaction在sequencer和driver之间传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值