杂项学习
mermaid: true网络速率与交换容量说明1. 112G 以太网 112G(Gigabit)以太网指的是网络接口或链路的物理传输速率为 112 Gbps(千兆位每秒)。 适用于高性能数据中心、主干网互联或存储网络,能满足大规模数据传输需求。 2. 1.6T 交换容量 1.6T(Terabit)通常指交换设备的总交换容量或总吞吐量为 1.6 Tbps(太比特每秒)。 表示该交换机在全线速转发情况下,理论上能够处理的最大数据流量上限。 该指标越高,设备能够支持的并发数据流越多,网络性能越强。 3. 400G 以太网 聚合方式:8 × 50Gbps(PAM4)或 4 × 100Gbps(NRZ) 计算示例: 8 × 50Gbps = 400Gbps 4 × 100Gbps = 400Gbps 实现方式: 使用 QSFP-DD / OSFP 模块 基于 PAM4 调制,每通道约 53.125GBd 4. 800G 以太网 聚合方式:8 × 100Gbps(PAM4) 计算示例: 8 × 100Gbps ...
VCS 模式配置与使用指南
目录 简介 模式文件语法 基本结构 配置选项详解 错误和警告处理 常用模式示例 通用代码模式 IC设计验证专用模式 工具与脚本 如何调用PAT模式文件 注释检查脚本 最佳实践 完整示例 简介VCS(版本控制系统)模式文件是一种定义如何识别和处理代码中特定模式的配置文件。这些模式可用于代码审查、文档生成、质量检查和IC设计验证等自动化任务。本指南详细介绍VCS配置模式的语法和使用方法。 模式文件语法基本结构VCS模式文件使用类似Perl的语法结构,主要由一个%PATTERNS_DEF哈希/字典结构组成: 1234567891011%PATTERNS_DEF = ( Modes => { ModeName1 => { 配置选项 }, ModeName2 => { 配置选项 }, // ... }, Errors => { 错误模式定义 }, Warnings => {...
IC 验证学习笔记
一、UVM验证1 常见组件1.1 sequencer uvm_sequencer 是一个参数化类,其参数是 my_transaction。 在 sequencer 的帮助下,sequence 产生的 transaction 才能最终送给 driver。 sqr 和 drv 相连接:drv.seq_item_port.connect(sqr.seq_item_export) 将 sqr 的 trans 传递给 drv。 1.2 driver uvm_driver 是一个参数化类,定义 driver 时需指明参数 transaction。 uvm_driver 具有两个参数:request / response。默认情况下二者类型一致,一般指定为用户定义的 transaction 类型;它们也是 uvm_driver 自带 seq_item_port 的参数类型。 环境中 driver 组件的变量值会保持至仿真结束(与 phase 执行相关)。 注意 get_next_item() 是阻塞的:一直等待 trans 到来(get_next_item → item...
测试点分解
测试点分解:验证与确认过程的关键环节0. 引言:验证 (Verification) vs. 确认 (Validation)在深入测试点分解之前,理解验证(Verification)和确认(Validation)的区别至关重要: 验证 (Verification):关注于“我们是否正确地构建了产品?”(Did we build the product right?)。它确保设计符合其规范和技术要求。测试点分解主要服务于验证过程,通过将规范细化为可衡量的测试项,来检查设计实现的正确性。 **确认 (Validation)**:关注于“我们是否构建了正确的产品?”(Did we build the right product?)。它确保最终产品满足用户的需求和预期用途。虽然测试点分解直接服务于验证,但其基础是来自用户需求和系统规范,因此也间接支持了确认过程,确保了构建的功能是用户所需要的。 测试点分解是连接高级需求(可能涉及确认)与低级设计实现检查(验证)的桥梁。 1. 测试点分解概述测试点分解是将设计规范(Specification)中的高级需求转化为具体、可衡量的验证目标(测试...
gvim 热键图
热键图1 热键图2 热键图3
gvim UVM Snippets
点击查看代码 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819...
UVM 与 SystemVerilog
verilog 面向对象编程基础本节汇总 verilog(SV)面向对象编程(OOP)的核心概念,面向 UVM 学习或工程使用的入门读者。 说明:本文代码片段相互独立,便于单独阅读与复制。 1. 动物类与对象 class 用来定义类,new() 用来创建对象。 类变量保存“句柄”,对象实例分配在堆上。 flowchart TD H1["栈区 句柄 c1"] -->|指向| O1["堆区 对象 Cat#1"] H2["栈区 句柄 c2"] -->|指向| O2["堆区 对象 Cat#2"] O1 -->|动态类型| C["类 Cat"] O2 -->|动态类型| C C -->|继承自| B["类 Animal"] B --> M1["方法 eat"] C --> M2["重写 eat"] 123456789101112...