
数字、FPGA验证
文章平均质量分 86
经典IP验证flow及方法分享
love混世_魔王
SOC数字设计、验证工程师,码龄10年
展开
-
关于时钟模块完备性验证方法第八章-功能覆盖率
通过以上几个章节,我们介绍了关于时钟模块完备性验证的多个自动化checker,通过在testbench中添加以上自动化checker,可以自动检查出各种违例,假如说我们准备好了这些自动化checker,那么接下来就需要我们产生丰富的测试激励来对系统时钟进行验证。通常情况下代码覆盖率可以作为验证质量的一个衡量标准,但是很多时候,考虑到项目周期短,验证人员分配不足等各种先天因素的影响,我们很难把代码覆盖率收集到某个高度。原创 2023-12-22 09:17:02 · 1228 阅读 · 0 评论 -
关于时钟模块完备性验证方法第一章
随着集成电路的规模越来越大,系统中所需要的时钟系统也越来越复杂,如何保证时钟验证的完备性一直是众多验证工程师追求的目标,本文就系统中时钟模块的验证完备性进行探讨,包括时钟门控、时钟频率、时钟占空比、时钟glitch、时钟相位、以及参考模型等。原创 2023-12-16 18:44:17 · 2358 阅读 · 0 评论 -
关于时钟模块完备性验证方法第四章
之所以要进行时钟相位检查,是因为设计中经常会出现一些时钟具有固定相位关系的情况,比如说两个时钟同相位或者反相位,又或者两个时钟差一个高频时钟的相位等等。原创 2023-12-19 08:31:33 · 1404 阅读 · 1 评论 -
关于时钟模块完备性验证方法第三章
之所以要进行时钟占空比检查,因为中后端对时钟建模的时候会要求时钟的最小脉冲宽度,当我们RTL产生时钟的时候,大部分情况会按照要求进行建模,但是也有可能出现时间产生的时钟与spec中定义的不一致,导致与中端generate的时钟不一致,影响最终的timing,另外对于复杂的时钟方案中,比如在时钟切换时,可能会在时钟切换时刻引入占空比不符合要求的情况,类似glitch这种,因此在验证时钟完备性时一定要进行占空比的检查。提示:以下是本篇文章正文内容,下面案例可供参考。原创 2023-12-18 14:38:41 · 887 阅读 · 1 评论 -
关于时钟模块完备性验证方法第五章
只所以要进行时钟strobe检查,是因为很多时候设计中有下图时序的要求,这种场景一般在两个频率不同的时钟域内进行数据交互的时候会用到,比如AHB到APB域的数据交互,都需要利用clk_strobe来指示数据的有效性。原创 2023-12-20 08:59:18 · 1549 阅读 · 1 评论 -
关于时钟模块完备性验证方法第二章
众所周知,时钟模块为整个SOC系统中各个模块提供相应的时钟,在大部分情况下,各个模块的时钟频率各不相同,这也是为了更好的管理芯片的功耗问题,当系统需要跑到高频阶段时,软件可以通过配置分频控制字将时钟切换到高频,同理当芯片需要进行相对低的功耗时,就需要把各个模块的频率切换到低频去工作。因此,在系统工作过程中,软件会频繁切换相关模块的时钟频率。关于时钟无毛刺切换设计,我已在其他篇文章中做了详细介绍,这里我们主要介绍如何验证时钟切换过程中频率是否符合要求的问题。原创 2023-12-18 13:56:11 · 731 阅读 · 1 评论 -
关于时钟模块完备性验证方法第六章
之所以要进行时钟glitch检查,是因为实际工程中我们遇到这样的问题,有些时钟设计,比如在频率切换过程中,有的时钟设计并非无毛刺切换设计,但是这又是设计允许的,也有些设计虽然是无毛刺切换,但是切换过程中频率并不规整,但是频率也是可以接受的,这就导致前面章节中我们介绍的频率自动化检查的checker无法cover所有的需求,只能waive掉这些特殊的时钟,但是又担心waive掉后,系统运行过程中有可能漏掉一些不满足最小脉冲要求的情况,即我们常说的glitch。原创 2023-12-21 09:13:01 · 877 阅读 · 0 评论 -
关于时钟模块完备性验证方法第七章
仅仅是借用Verilog语法进行简单的设计,便能在实战中发挥不可想像的作用,通过实时检测系统时钟是否发生不定态问题,该方法同样适用于EDA后仿真验证。通过模块的层次化调用,便于继承和优化修改。大大提高了验证效率。原创 2023-12-22 09:00:10 · 1306 阅读 · 0 评论