摘要: 搭建UVM流程: 定义interface。Interface是连接DUT和验证平台的桥梁,根据DUT的输入输出参数定义interface,在top_tb里连接interface和DUT。 加入transaction。transaction是一个数据包,transaction由sequence产生,通 阅读全文
posted @ 2024-11-20 10:23 漫不经心的 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 在 UVM (Universal Verification Methodology) 中,new 函数通常用于创建对象或组件,并进行初始化。对于大多数 uvm_object 和 uvm_component 类,new 函数会使用 string name 参数来指定对象的名称。parent 参数 主要 阅读全文
posted @ 2024-11-19 11:42 漫不经心的 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 在 UVM (Universal Verification Methodology) 中,new 函数是构造对象的关键函数之一,它用于创建和初始化 UVM 对象或组件。UVM 中的 new 函数不仅用于创建对象,还通常涉及到对象的初始化和设置属性(如名字)。new 函数的使用方式有一定的规范,特别是 阅读全文
posted @ 2024-11-19 11:42 漫不经心的 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 在 SystemVerilog 中,virtual task 是一种用于设计面向对象的验证环境的功能。它允许在基类中声明一个任务,但不提供具体的实现,而是由继承该类的子类来实现具体的功能。这种机制支持多态性,使得不同的子类可以对同一个虚拟任务提供不同的实现,从而提高代码的可重用性和灵活性。 1. 虚 阅读全文
posted @ 2024-11-19 11:24 漫不经心的 阅读(4) 评论(0) 推荐(0) 编辑
摘要: SystemVerilog(简称 SV)是硬件描述语言(HDL)Verilog 的扩展,旨在增强语言的表达能力,特别是在硬件设计与验证方面。它包括了许多新特性,既支持硬件描述,又提供了强大的功能来支持硬件验证。SystemVerilog 的语法和 Verilog 类似,但在许多方面提供了更为丰富的特 阅读全文
posted @ 2024-11-19 09:45 漫不经心的 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 在 SystemVerilog (SV) 中,接口可以作为模块的端口传递,也可以在任务和函数中传递作为参数。通过接口传递参数使得多个模块可以共享相同的信号集,减少冗余代码,提高设计的可重用性。 以下是一些例子,展示了如何在 模块 和 任务/函数 中使用接口作为参数传递。 1. 接口作为模块的端口传递 阅读全文
posted @ 2024-11-18 14:52 漫不经心的 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 在 SystemVerilog 中,如果你希望限制接口的某些部分在特定条件下可用或不可用,可以利用 约束(constraint)、任务(task)、函数(function)以及 接口内的访问控制 来实现。这种限制通常是基于设计需求或者验证需求,常见的应用场景包括:限制某些信号在某些情况下的访问,或者 阅读全文
posted @ 2024-11-18 14:50 漫不经心的 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 在 SystemVerilog (SV) 中,接口(interface)是一种用于组织和传递多个信号的机制,它帮助减少模块间连接信号的冗余,并提高设计的可读性和可维护性。接口使得多个模块之间的信号传递更加模块化,减少了重复代码的编写。 接口不仅仅是信号的集合,还可以包含函数、任务和约束。通过接口,多 阅读全文
posted @ 2024-11-18 14:48 漫不经心的 阅读(8) 评论(0) 推荐(0) 编辑