systemverilog

NamoAmitabha1287 天前
systemverilog·uvm
sequence.sv路科验证--deepseek`ifndef MY_SEQUENCE_SV_ `define MY_SEQUENCE_SV_`include "transaction_channel.sv" `include "transaction_formater.sv" `include "transaction_bus.sv" `include "sequencer_pkg.sv"
NamoAmitabha12813 天前
systemverilog·uvm
第2章:一个简单的UVM验证平台 —— 这是全书的精华!--deepseek第2章:一个简单的UVM验证平台 —— 这是全书的精华! 从一个最简单的driver开始,像搭积木一样,一步步加入sequencer、monitor、scoreboard、env,最后形成一个完整的平台。你之前看的博客代码,基本就是这一章的缩影。
NamoAmitabha12814 天前
systemverilog·uvm
书中2.2.4virtual interface,config_db机制---deepseek书中2.2.4加入virtual interface,config_db机制,引入这些机制是为什么?在config_db机制中,分为set和get两步操作。所谓set操作,读者可以简单地理解成是“寄信”,而get则相当于是“收信”,
NamoAmitabha12819 天前
systemverilog·uvm
UVM在时间维度上也做了规范,phase机制----deepseek讲解UVM在时间维度上也做了规范。phase机制明确划分了各个阶段所要完成的任务。其中比较重要的是run phase这一消耗仿真时间的task phase以及ojbection的概念。只有每个phase中所有raise的objection都被drop后才会执行下一个phase的任务。搭建空间与时间维度桥梁的也是Phase--build phase是在树状结构中自上而下执行,其他不消耗仿真时间的phase都是自下而上运行。run phase则自上而下启动同事运行。所有phase的顺序见上图;
NamoAmitabha12820 天前
systemverilog·uvm
SystemVerilog 中的 :: 作用域解析运算符详解--deepseek讲解class Factory; static bit use_err = 0;static function Component create_driver(string n, Component p); if (use_err) return new ErrDriver(n, p); else return new Driver(n, p); endfunction endclass
NamoAmitabha12822 天前
systemverilog
class基础+继承的专项训练定义一个类 Counter,要求:有一个成员变量 int count。构造函数 new() 把 count 初始化为0。
NamoAmitabha12822 天前
systemverilog
rand/randc/constraint 练习比喻:你测一个加法器,只测 1+1=2,那DUT的bug永远发现不了。验证的目标是用最少的测试,覆盖最多的场景。
Salt & Light1 个月前
学习·systemverilog·uvm
UVM 字段自动化 Field Automation:让打印、复制、比较自动化在验证环境中,transaction 对象往往包含大量字段:地址、数据、读写标志、突发长度、ID、用户自定义标志等等。当我们在调试时想要打印一个 transaction 的内容,或者需要比较两个 transaction 是否相等(比如 scoreboard 中比对 expected 和 actual),又或者需要复制一个 transaction 时,如果每个字段都手动编写逻辑,不仅代码冗长,而且极易遗漏,一旦新增字段,所有相关函数都要同步修改。
北方孤寂的灵魂2 个月前
verilog·systemverilog·sv·数字验证
关于AXI协议详解AXI(Advanced eXtensible Interface)是ARM推出的片上高速互联总线协议,属于AMBA总线体系,主流版本:
Salt & Light3 个月前
systemverilog
SV基础之连接设计和测试平台绿皮书的第四章在近几年的工作中很少用到,不过对于其中讲的某些点也有一些简单的看法。说实话,在读到绿皮书第4章的时候,我感到有点陌生,因为里面提到的很多用法在我过去的工作中都没怎么见过,比如modport、program在UVM为主流的验证环境中几乎绝迹。但有些内容在UVM验证环境中依然扮演着至关重要的角色。
fei_sun4 个月前
systemverilog
【SystemVerilog】连接设计和测试平台(待补充)第四章
fei_sun4 个月前
数据结构·systemverilog
【SystemVerilog验证】数据类型(待补充)第二章与Verilog相比,SystemVerilog提供了很多改进的数据结构SystemVerilog引进了一些新的数据类型,它们具有如下优点:
不会武功的火柴4 个月前
面向对象·fpga·systemverilog·ic验证
SystemVerilog语法(11)-面向对象编程下篇本文是 SystemVerilog OOP 教程的下篇,假设你已经掌握了类、对象、继承、静态成员等基础知识。 进阶篇将深入讲解多态、虚方法、类型转换、参数化类、运算符重载、深拷贝等 UVM 底层核心机制。 学完本文,你将理解 UVM 工厂、phase 机制、sequence 等核心组件的 OOP 原理。
Ether IC Verifier4 个月前
php·systemverilog·uvm·ic验证
SystemVerilog 数据类型详解## 概述SystemVerilog 提供了丰富的数据类型体系,涵盖从基本标量到复杂对象的各种需求。理解这些数据类型是编写高效、可维护代码的基础。
Ether IC Verifier4 个月前
systemverilog·ic验证·dpu
IC 验证工程师新手入门指南## 一、IC 验证工程师概述### 1.1 角色定位IC 验证工程师是芯片设计流程中的关键角色,负责确保设计的正确性和可靠性。验证工程师需要:
Nick.Q4 个月前
linux·ubuntu·systemverilog
Ubuntu 24.04 从零跑通 OpenTitan:IC 验证工程师实录(Verilator + VCS + Verdi)摘要:本文记录在 ThinkBook / Ubuntu 24.04 上搭建 lowRISC OpenTitan 的完整过程,涵盖 Verilator 软件仿真、VCS+UVM 块级 DV、Verdi 波形调试,并汇总 Ubuntu 24.04 下的依赖替换、Bazel、License 与覆盖率工具链等踩坑与解法。 环境:Ubuntu 24.04 LTS | 16GB RAM | OpenTitan @ 21f062eb | VCS/Verdi V-2023.12-SP2 | Verilator 4.210
不会武功的火柴4 个月前
嵌入式硬件·fpga开发·fpga·systemverilog·硬件描述语言·rtl·uvm验证
SystemVerilog语法(9)-验证基础与简单Testbench💡 常见误区:🧭 本文使用 【综合】 标识电路设计相关语法,使用 【验证】 标识测试与仿真专用语法。本章主要面向验证,大量语法不可综合。
谷公子的藏经阁6 个月前
ai·论文·systemverilog·uvm·dvcon
DVCon 2025 论文精华导读及下载链接—— 59篇最新芯片验证技术论文一站式速览每年的DVCon都是芯片验证圈的一场技术盛宴。今年美国圣何塞的大会上,来自全球各地的验证工程师们带来了59篇精彩的技术论文,涵盖了从AI辅助验证到形式化验证,从混合信号设计到安全验证的方方面面。本文整理了这59篇论文的核心内容,每篇用通俗易懂的语言为你解读,帮助你快速了解今年的技术热点。
高新打工人8 个月前
systemverilog
关于systemverilog中的随机化的使用在 SystemVerilog 中,有两种主要的随机化方法:类的 randomize() 方法 - 只能在 class 中使用
蓝天下的守望者8 个月前
systemverilog·uvm·vcs
SystemVerilog中 `timescale的使用问题在 SystemVerilog 中,`timescale 是一个编译器指令,用于定义仿真过程中的时间单位(Time Unit)和时间精度(Time Precision)。