数字IC验证——PSS可移植测试用例

news2025/1/11 7:58:24

PSS是Accellera组织定义的测试用例生成规范,其思想是定义一个抽象模型,EDA工具可以从中生成适用于每个设计层次结构和每个验证平台的测试,即PSS定义了统一的测试场景,而场景的使用可以横跨不同验证层次和配置。
这种特性决定了PSS本身是不可执行的,用户需要EDA工具分析抽象模型从而生成实现。

一、概述

1.1 技术特征

  • 垂直复用性:不同验证层次,包括模块级、子系统级、以及系统级验证(软件仿真/EMU/FPGA/硅后测试)
  • 水平复用性:不同验证项目跨平台使用
  • 不同验证环境,例如cache子系统验证、pcie子系统验证等

1.2 技术生态

商用PSS工具

  1. Synopsys VCPS

二、具体实现

2.1 架构层次

导入
导入
DSL
解析器
C++
testcase

输入

测试用例的描述文件,分为两种格式,分别是DSL格式(Domain Specific Language,领域特定语言)和C++语言格式。

输出

输出就是不同验证层次下的测试用例。

2.2 设计流程

  1. 验证计划制定
  2. 根据功能点搭建PSS模型,模型中主要包括对测试场景或行为进行描述的action、不同action之间的组合调度、约束信息以及覆盖率组信息
  3. 随后将PSS模型基于PSS解析器生成用于特定平台的测试用例。
    此外也可以通过PSS模型中的覆盖率组收集基于图形的覆盖率,对该类覆盖率的分析可以发现现有测试约束以及配置中可能存在的缺陷或漏洞,从而得知当前生成的case是否满足验证计划中要求的全部测试场景。
  4. case生成完成后进入动态仿真阶段。

在这里插入图片描述
注意,PSS模型构建的工作主要分为两部分,其一是利用PSS做测试场景建模,其二是采用PSS测试场景并为之提供映射测试单元动作的接口语言实现。由于PSS调用了验证人员提供的接口库,确保了在特定场景下的随机性,因此通常先利用PSS实现测试场景描述,再利用PSS测试场景来生成更为详尽且针对DUT随机性更强、覆盖更全的测试代码。

2.3 举例说明

以PCIe控制器的模块级、子系统、系统级验证举例说明。

PSS模型构建——跨层次验证测试用例生成

模块级验证关注单一功能的测试场景,例如PCIe控制的AXI总线接口组件的读写功能、ATU地址转换、TL层模块的cfg/mem报文等;
子系统验证关注多个模块间的协调组合场景,例如AXI slave接口事务到ATU地址转换单元再到不同的TLP事务之间的组合;
而在系统级验证,除了多个模块单元间的协调组合,还会加入多个子系统之间的调度与协调,例如PCIe控制器接入到SoC后,与中断控制器中断路由、与DDR的数据读写交互等。
因此从验证流程来讲,验证层次越高,验证场景越复杂,但大多会涵盖底层级验证中的测试场景。

三、PSS标准

action的特征

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

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

相关文章

docker笔记8:Docker网络

1.是什么 1.1 docker不启动,默认网络情况 ens33 lo virbr0 在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡:它还有一个固定的默认IP地址192.168.122…

快速掌握STM32工程创建

STM32 工程创建-- 使用Keil uVision5 软件 晓理紫 1 准备库函数库 STM32F10x_StdPeriph_Lib_V3.5.0 VX 搜索“晓丽紫”关注回复STM32F10x即可下载 2、创建一个目录用来存放工程 STM32Study STM32Study/study1 存放本次工程目录 3、打开Keil uVision5 创建工程 4、选择型号(根据…

租服务器训练深度学习模型

一、选择租哪个 推荐用AutoDL(便宜、功能强大、gug少、有时时客服解决问题) AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL 二、注册、登录 学生可以认证,享受会员价 服务器需要登录后先充值,先充个10元,接下来试试看。每次都是开机…

Web framework-Gin(二)

一、Gin 1、Ajax AJAX 即“Asynchronous Javascript And XML”(异步 JavaScript和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服…

AppleID切换验证手机

第一步:登录个人信息页面 https://appleid.apple.com/account/manage/section/security 第二步:选择账户安全 第三步:验证新手机号即可

供应链 | 顶会CIKM论文精读:面向大规模三维装箱问题的数据驱动树形搜索算法

论文解读:丁建辉,李明哲,赵艳蓉,孙楚天 编者按 本次解读的文章发表于CCF-B类会议30th ACM International Conference on Information and Knowledge Management。摘要总结如下: 3维装箱问题(3D-BPP&#…

2023第二届陇剑杯网络安全大赛 预选赛Writeup

题目附件 链接:https://pan.baidu.com/s/1J20VusdMjit4coWAi5lnnQ 提取码:6emq 文章目录 HWhard_web_1hard_web_2hard_web_3 SSsevrer save_1sevrer save_2sevrer save_3sevrer save_4sevrer save_5sevrer save_6sevrer save_7sevrer save_8 WSWireshar…

46、TCP的“三次握手”

在上一节中,TCP首部常用的几个选项,有些选项的参数就是在通信双方在建立TCP连接的时候进行确定和协商的。所以在学习过TCP报文首部之后,下面我们开始学习TCP的连接建立。 TCP的一个特点是提供可靠的传输机制,还有一个特点就是TCP…

字符型注入([SWPUCTF 2021 新生赛]easy_sql)

拿到题目,查看源码,可知是要输入参数wllm。 输入参数/?wllm1,得到会显 继续输入参数/?wllm1,报错,确定为字符型漏洞 1.查看字段列表,发现在字段4报错,确定为3列 ?wllm-1 order by 3-- ?wl…

基于JavaScript粒子流动效果

这是一个HTML文件,主要包含了一些CSS样式和JavaScript代码,用于创建一个动画效果。 在CSS部分,定义了一些基本的样式,包括页面的背景颜色、位置、大小等。特别的,定义了两种球形元素(.ball_A 和 .ball_B&am…

静态路由配置实验:构建多路由器网络拓扑实现不同业务网段互通

文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. 配置 IP 地址2. 按照需求配置静态路由,实现连接 PC 的业务网段互通 摘要: 本实验旨在通过配置网络设备的IP地址和静态路由,实现不同业务网段之间的互通。通过构建一组具有…

nginx-基于range做断点续传

nginx默认开启了range断点续传,只要再请求时载请求头上添加header,range,nginx就可以根据range范围返回相应的字节。

zabbix配置钉钉告警

钉钉告警python脚本 cat python20 #!/usr/bin/python3 #coding:utf-8 import requests,json,sys,os,datetime # 机器人的Webhook地址 webhook"钉钉" usersys.argv[1] textsys.argv[3] data{"msgtype": "text","text": {"conten…

Leetcode 2431.最小偶倍数

给你一个正整数 n ,返回 2 和 n 的最小公倍数(正整数)。 示例 1: 输入:n 5 输出:10 解释:5 和 2 的最小公倍数是 10 。示例 2: 输入:n 6 输出:6 解释&#…

docker 笔记10:Docker轻量级可视化工具Portainer

1. 是什么 Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。 2.安装 https://docs.portainer.io/v/ce-2.9/start/install/server/docker/linux 步骤 docker命令安装 docker run -d …

【postgresql 基础入门】数据库服务的管理

数据库服务管理 ​专栏内容: postgresql内核源码分析手写数据库toadb并发编程 ​开源贡献: toadb开源库 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤&#xff…

第一章:绪论

1.1 系统架构概述 架构是体现在组件中的一个系统的基本组织、它们彼此的关系与环境的关系以及指导它的设计和发展的原则。 系统是组织起来完成某一特定功能火一组功能的组件集。系统这个术语包括了单独的应用程序、传统意义上的系统、子系统、系统之系统、产品线、整个企业及…

三层交换实验:实现不同VLAN间的互通与路由配置

文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. PC 配置 IP 地址2. PC2 属于 Vlan10,PC3 属于 Vlan20,在三层交换机上配置 Vlanif 三层接口实现 Vlan10 和 Vlan20 三层互通3. 测试在 PC3 上 Ping PC4 ,可以 Ping 通 PC4…

吴恩达《面向开发者的提示词工程》

Ref: 【中英字幕 | P01 Introduction】2023吴恩达新课《面向开发者的提示词工程》_哔哩哔哩_bilibili 对应的笔记 ChatGPT Prompt - 知乎 本课程主要介绍指令微调LLM的最佳实践 在大型语言模型或LLM的开发中,大体上有两种类型的LLM,我将其…

kotlin协程广播管道BroadcastChannel,订阅管道openSubscription

kotlin协程广播管道BroadcastChannel&#xff0c;订阅管道openSubscription import kotlinx.coroutines.* import kotlinx.coroutines.channels.*fun main(args: Array<String>) {//广播消息//也可以把普通Channel转换成广播Channel//val channel Channel<Int>()/…