systemVerilog——从功能描述到覆盖率

本文详细介绍了在FPGA开发中使用SystemVerilog进行功能覆盖的步骤,包括提取功能点(接口、内部和结构)、标记功能点、验证分层、优先级划分以及从随机测试到功能覆盖率的考量。通过理解设计接口、内部功能和架构极限,建立有效的功能覆盖率模型,以确保设计的全面验证。
摘要由CSDN通过智能技术生成

概述
要实现功能覆盖率的收敛,就需要按照以下步骤考虑:

哪些功能需要测试
明白在什么条件下需要测试对应的功能
为了测试这些功能,需要提供什么样的测试平台组件以便提供激励和监测
测试平台如何检查这些功能正常工作
由于功能覆盖率不是自动的过程,因此它需要将功能描述同设计实现对应起来。

提取功能点一般遵循从外部接口到内部功能再到边界情况的方法。

提取功能点 
提取接口功能点
对于要验证的设计的各个接口,可通过以下问题来获得接口功能点:

必须应用哪些传输?
什么样的取值范围?
什么样的传输顺序?
相关的传输带宽是多少?
设计能够承受哪些协议违规?
此接口与其他接口或内部设计结构之间的相关交互是什么?
接口上的事务是否需要与另一个接口的事务同步?
提取内部功能点
遵循设计的主要数据路径,可通过以下问题来获得内部功能点:

所有相关配置是什么?
可以对数据执行哪些可能的转换?
可能的转换顺序是什么?
触发转换的敏感数据值是什么?
影响每次转换的敏感值是什么?
转换后的数据应该在哪里结束?
数据序列如何受到影响?
存在哪些错误检测机制以及它们是如何触发的?
错误机制如何报告错误?
错误数据会导致什么?
提取结构功能点
        最后,基于对设计架构的详细了解,确定将设计推向极限的条件,可询问以下问题来获得基于体系结构的功能点:

我可以溢出或下溢缓冲区吗?如果是这样,会发生什么?
资源瓶颈在哪里?
可以同时发生对这些资源的多个请求吗?
数据转换路径是否可以影响或者阻止另外一个模块?
标记功能点
        功能点应被标记并有简短说明,根据需要验证的条件和预期结果来描述该功能࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值