芯片验证系列——激励(stimulus)

news2024/9/21 0:38:59

对于芯片验证,主要的挑战在于:1.如何打出所有可能的激励灌给DUT;2.如何在各种可能得激励情况下,判断出不符合硬件描述的行为。本文单单聚焦于一些关于构造stimulus方面的想法吧,结合了红皮书, writing testbench和项目中的一点经验。

整篇文章的核心内容如下思维导图所示。

激励(stimulus)的主要原则就是要产生所有可能得测试场景,并且保证激励源最大的自由度。其中测试场景包括合法和非法的。按照这个主要原则,我们在产生激励时可以参考以下几点:

  • 接口类型:对于DUT来说,可以把所有的输入输出信号划分为不同的接口类型,根据该接口类型的特性构造对应的组件来产生激励。

  • 序列颗粒度:这个点包含在接口类型里。主要就是在产生激励时,最好能做到逐渐往上抽象。意思就是分层,在基本颗粒层上提供基本颗粒的生成方法,而在其上,更高颗粒层做更深入的封装,帮助更高层次的抽象。比如sequence可能由多个transaction和sequence拼接组成的。在越高的抽象级越不关注底层的时序而更重视数据的传输量。
  • 内部结构:激励不只是看interface上的信号就能做好的,还要结合DUT内部的结构和功能去分析,调节激励随机约束,从而有更大的概率打到有效的场景。

  • 组件交互:每个接口类型都对应自己的组件,但有时需要接口之间进行信息交互。

  • 可控性:在不同的层次上可以提供一些选项用于控制激励的行为。

 综上所述,在构造激励时,可以按照“接口类型>>内部结构>>组件交互>>可控性” 方向去分析。在接口类型内,可以按照“单一>>序列>>组合>>违例” 方向去分析。在内部结构里,可以按照“触发功能点>>资源瓶颈和争抢>>错误处理机制” 方向去分析。5点+443原则

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

储殷黄日涵教授《丁香花》唐磊推荐杨语莲,意味拜师赵本山有望吗

熟悉娱乐圈的人都知道,这个圈子包含有很多潜规则,尤其是一些女艺人,想要有所成就,不是有才华就可以的。就拿音乐人杨语莲来说,她是一个非常有才华的歌手,然而就因为不接受潜规则,至今仍是歌红人…

设计模式:单例模式

1、单例模式 单例模式是指在整个系统生命周期内,保证一个类只能产生一个实例,确保该类的唯一性。 为什么需要单例模式 单例模式是为了保证程序的线程安全。 线程安全: 在拥有共享数据的多条线程并行执行的程序中,线程安全的代…

cuda和pytarch的安装-参考官网的安装-较为通用

文章目录cuda 安装PyTorch 1.x版本安装cuda 安装 官网:cuda各个版本安装教程 选择相应版本点击版本前方链接就可以进入安装教程页面 例如:我想要为ubuntu系统安装一个11.7版本的cuda,则选择11.7版本的连接,然后进入安装教程页面…

深度学习之优化算法

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 目录 一、优化算法与深度学习 1、优化算法对于深度学习的意义 2、优化算法与深度学习的关系 3、优化算法在深度学习中的主要挑…

如何用Spring整合MyBatis和Junit

Spring整合MyBatis和Junit一. 整合MyBatis1. 目录:2. pom.xml:3. domain层:4. dao层:5. service层:AccountService接口类:AccountServiceImpl实现类:6. jdbc.properties配置文件:7. …

HBase基于HDFS上是如何完成增删改查功能的

HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成增删改查功能? 1.如何理解? 1.这句话有个更专业的说法:HDFS 采用数据流方式来访问文件,只支持单个客户端向一个文件追加数据. 2 上半句话,访问文件不外乎读和写&#xff0…

SecureCRT for mac的坑

最新macOS升级到13(原来是11,一直没升),升级之后输入法和SecureCRT挂了。 记录一下SecureCRT,备忘 1、第一个坑居然是下载 网上找破解版,想找个新一点的版本,发现都是收费的 收费也就罢了&…

三、优惠卷秒杀

文章目录优惠卷秒杀1.redis实现分布式ID2.优惠券秒杀下单3.超卖问题4.lua脚本5.分布式锁6.redis stream消息队列实现异步秒杀7.redis消息队列list实现消息队列PubSub实现消息队列stream实现消息队列stream的消息队列-消费者组学习黑马点评项目整理总结:https://www.bilibili.co…

腾达Tenda路由器中继wifi步骤

前提: 你有一个信号比较弱,但能上网的wifi(暂时叫它1号wifi),并知道其密码你有一个有中继功能的路由器,比如Tenda某型号路由器,插上电,这个路由器的wifi暂时叫它2号wifi 长按下拉菜…

数据库面试题总结

文章目录一、索引相关(1)什么是索引?(2)索引是个什么样的数据结构呢?(3)为什么使用索引?(4)主键和索引的区别?(5)说一说索引的底层实现&#x…

educoder数据结构 排序 第2关:实现快速排序

本文已收录于专栏 🌲《educoder数据结构与算法》🌲 任务描述 本关要求通过补全快速排序私有函数QSort__来供函数QuickSort调用,以此来实现快速排序的功能。 相关知识 快速排序的基本过程是:从待排序记录中任选一个记录&#…

MS-Model【2】:nnFormer

文章目录前言1. Abstract & Introduction1.1. Abstract1.2. Introduction1.3. Related work2. Method2.1. Overview2.2. Encoder2.2.1. Components2.2.2. The embedding layer2.2.3. Local Volume-based Multi-head Self-attention (LV-MSA)2.2.4. The down-sampling layer…

【通信原理(含matlab程序)】实验五:二进制数字调制与解调

💥💥💞💞欢迎来到本博客❤️❤️💥💥 本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~ &#x…

Arduino的45种传感器测试(初级)

前言 说是Arduino的传感器,实际只要明白接口通信方式,其他开发板也可以使用。这一篇的测试是对一些开关和led等的测试,只使用了3.3v / 5v电源和万用表就可完成。 震动开关 实物图和原理图如下 原理:中心有一个金属线的空心黑…

Java多线程-Thread的Object类介绍【wait】【notify】【sleep】

Thread和Object类详解 方法概览 Thread wait、notify、notifyAll方法详解 作用 阻塞阶段 使用了wait方法之后,线程就会进入阻塞阶段,只有发生以下四种情况中的其中一个,线程才会被唤醒 另一个线程调用了这个线程的notify方法&#xff0…

Python数据可视化之直方图和密度图

Python数据可视化之直方图和密度图 提示:前言 Python数据可视化之直方图和密度图 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录Python数据可视化之直方图和密度图前言一、导入包二、选择数据集三、直…

k8s之平滑升级

写在前面 通过POD 应用就有了存在的形式,通过deployment 保证了POD在一定的数量,通过service 可以实现一定数量的POD以负载均衡的方式对外提供服务。但,如果是程序开发了新功能,需要上线,该怎么办呢?对此k…

jvm相关,jvm内存模型,java程序运行流程及jvm各个分区的作用、对象的组成(针对hotspot虚拟机)--学习笔记

java程序运行时的运行模型 在jdk1.8之前的元空间,称为永久代并将元空间挪到了堆直接使用本地内存,不再占用堆空间 jvm内存结构划分 堆(方法区)和元空间是线程共有的,其他部分是线程私有的 每创建一个线程都会创建一个…

MYSQL中常见的知识问题(二)

1、B树和B树的区别,MYSQL为啥使用B树。 1.1、B树 目的:为了存储设备或者磁盘设计的一种平衡查找树。 定义(M阶B树):a、树中的每个节点最多有m个孩子。 b、除了根节点和叶子节点外,其他节点最少含有m/2(取上…

08-网络管理-iptables基础(四表五链、禁止ping、防火墙规则添加/删除、自建链使用、SNAT\DNAT模式、FTP服务器防火墙规则)待发布

文章目录1. 概述1.1 四表1.2 五链1.3 四表五链的关系1.4 使用流程2. 语法和操作1.1 语法1.2 常用操作命令1.3 基本匹配条件1.4 基本动作1.5 常用命令示例- 设置默认值- 禁止80端口访问- 查看防火墙规则- 保存规则- 允许ssh- 禁止ping- 删除规则- 清除规则(不包括默认…