当前位置: 首页 > news >正文

SV基础之连接设计和测试平台

SV的端口与测试平台

背景

绿皮书的第四章在近几年的工作中很少用到,不过对于其中讲的某些点也有一些简单的看法。

核心内容(3-5 个要点)

  1. 接口
  2. 时钟块
  3. 断言

我的理解

说实话,在读到绿皮书第4章的时候,我感到有点陌生,因为里面提到的很多用法在我过去的工作中都没怎么见过,比如modport、program在UVM为主流的验证环境中几乎绝迹。但有些内容在UVM验证环境中依然扮演着至关重要的角色。

interface

在UVM验证环境中一般会有一个interface.sv文件,其中罗列了所有TB需要和DUT连接的接口,然后通过在tb_top上连接的方式,将TB和DUT连接起来。

在使用SV的interface中一般有两种信号线:logic和wire。二者的区别和用法,我之前在[[SV数据类型一]]中提到过,除了之前提到的差异之外,绿皮书4.3.2中还提到了,logic类型的信号可以直接驱动,而wire信号需要用assign来驱动。

时钟块

时钟块在uvm的环境中相对比较常用,一般出现在interface中,然后在driver、monitor等需要打拍的组件中通过使用vif.cb来访问信号。

这样做可以消除竞争。如果我们仅用@(posedge clk)来处理信号很容易出现driver驱动信号变化的时候,monitor同时想要进行采样,两个行为同时在时在时钟上升沿发生的时候,monitor会采到变化后的值。但是实际电路是存在延时的,需要有setup time和hold time,时钟块的存在在某种程度上模拟了前仿中无法观察到的setup time和hold time。

断言

断言在整个验证过程中是非常有用的检查方法,虽然在[[SV断言入门一]]和[[SV断言入门二]]中简单介绍了断言的用法,但是断言的用法相当灵活,用简短的文字可能无法完全描述清楚,如果后续找到合适的例子,也会继续分享。各家其实也有通用的断言库,经过梳理后也是非常适合进行统一化、提升代码可读性的方法。

http://www.gsyq.cn/news/1647029.html

相关文章:

  • Claude Code 是什么
  • 如何下载沪深股票市场的行情数据,包括委托、成交、订单薄、沪深股票、etf、可转债、指数五档订单薄数据,买一到买五、卖一到卖五历史行情数据笔记
  • 基于YOLOv8的铁路障碍物检测:从数据准备到边缘部署全流程实践
  • MediaPipe BlazePose 33关键点实战:Python+OpenCV 实现深蹲计数与角度可视化
  • 吾爱大佬最新出品,牛批Plus!
  • Jenkins与SonarQube集成实战:5步构建代码质量自动化分析体系
  • MySQL 视图详解
  • 解锁B站评论区:如何用Python获取完整视频评论数据
  • Java程序设计(第3版)第四章——类加载
  • IDEA集成Git
  • ai-agent框架spring ai/alibaba原理源码分析(八)观测II spring ai观测 ChatClient
  • 机器学习项目的完整流程:从原始数据到模型预测
  • 小猿搜题 App 2021 版作弊检测机制解析:从图像识别到人工审核的 3 层防线
  • 单片机:串行接口之通信概念
  • 孜然导航系统单页配置教程
  • 6DoF运动追踪技术:从IMU到嵌入式实现
  • 如何用GEO系统解决网站流量下降?3种实战方案解析
  • 哈夫曼编码的原理和python实现(P124302064王酉辰,P124302070李佳乐)
  • 如何快速搭建企业级后台管理系统?Layui-Admin终极指南
  • Terraform 多环境管理完全指南:4种策略实现开发/测试/生产隔离部署
  • 数据分析收尾实战:基于助睿 BI 完成自媒体可视化探索与业务洞察分析
  • GB/T 7714-2015 参考文献格式:3个主流学术引擎(知网/万方/谷歌)自动导出对比与纠错
  • 可视化任务与分析(学习笔记)
  • Spring Boot Actuator 暴露 heapdump,内存里的密码可能全漏了
  • Spring Data Commons CVE-2018-1273漏洞剖析:SpEL表达式注入与RCE实战
  • 北京通州有哪些值得推荐的学画画的美术机构?
  • CloudFormation Stack 概念全解析:从资源集合到自动化编排的核心引擎
  • 万能密码漏洞:认证逻辑缺陷的深度剖析与防御实践
  • 2026年最新八字排盘应用推荐:天乙八字排盘、命枢、问真八字等怎么选?
  • 【JavaWeb】三大组件之——Servlet