一种跨时钟域异步电路的功能验证方法、系统和计算机可读存储介质技术方案

技术编号:33704571 阅读:28 留言:0更新日期:2022-06-06 08:23
本发明专利技术提供一种跨时钟域异步电路的功能验证方法、系统和计算机可读存储介质,其中的方法包括:使用硬件描述语言对跨时钟异步电路的设计代码进行描述;开发软件工具对所述设计代码进行分析和处理,以实现对跨时钟异步电路中出现和/或消失的亚稳态现象的功能仿真;使用经过分析和处理后的设计代码进行测试用例的功能验证,进而发现跨时钟异步电路中存在的设计问题。本发明专利技术通过对异步电路设计代码的处理,实现了对异步电路设计异常的仿真,在降低验证成本的同时提高了验证效率。验证成本的同时提高了验证效率。验证成本的同时提高了验证效率。

【技术实现步骤摘要】
一种跨时钟域异步电路的功能验证方法、系统和计算机可读存储介质


[0001]本专利技术涉及计算机
,尤其涉及芯片数字电路设计部分的跨时钟域异步电路的功能验证方法、系统和计算机可读存储介质。

技术介绍

[0002]在芯片数字电路设计中,如果设计部分存在跨时钟域异步电路设计,那这部分的设计就需要重点关注,设计者通常会采用一些特殊方法规避电路在运行过程中进入亚稳态而导致的功能错误。然而如果设计人员未能注意到设计中存在跨时钟域问题,或者采用了错误的规避方法,那么就无法避免电路进入亚稳态而导致功能错误。
[0003]由于在现有的功能仿真阶段,电路的时序信息是不考虑的,因而这种错误的异步电路设计无法在普通的功能验证中被发现。虽然后续的时序仿真,可以发现跨时钟域异步电路设计问题,但是由于现在的设计越来越大,时序仿真的时间成本太过巨大,只能跑少量的测试用例;另外综合布线过程中,可能还会引入不合理的时序约束,从而导致某些跨时钟域异步电路设计问题被掩盖。

技术实现思路

[0004]鉴于此,本专利技术实施例提供了一种跨时钟域异步电路的功能验证方法、系统和计算机可读存储介质,以消除或改善现有的跨时钟域异步电路验证技术中存在的缺陷。具体地,本专利技术使用软件工具对硬件描述语言描述的设计代码进行处理,实现了对异步电路设计异常的仿真,在降低验证成本的同时提高了验证效率。
[0005]本专利技术的第一方面提供了一种跨时钟域异步电路的功能验证方法,包括:
[0006]使用硬件描述语言对跨时钟异步电路的设计代码进行描述;
[0007]开发软件工具对所述设计代码进行分析和处理,以实现对跨时钟异步电路中出现和/或消失的亚稳态现象的功能仿真;
[0008]使用经过分析和处理后的设计代码进行测试用例的功能验证,进而发现跨时钟异步电路中存在的设计问题。
[0009]可选地,硬件描述语言为Verilog HDL或VHDL。
[0010]可选地,开发软件工具对上述设计代码进行分析和处理,以实现对跨时钟异步电路中出现和/或消失的亚稳态现象的功能仿真具体包括:
[0011]分析计代码中与寄存器相关的描述代码,提取影响该描述代码中一个或多个赋值结果的所有输入变量;
[0012]插入功能代码,所述插入功能代码用于监测所述输入变量的变化时间,如果监测到的变化时间与寄存器锁存时钟沿的时间差值小于一定范围,则将寄存器的输出变为X状态,模拟出寄存器输出发生亚稳态的现象。
[0013]可选地,所述将寄存器的输出变为X状态包括:仅将所述寄存器的输出中发生变化
的比特位设为X状态,未发生变化的比特位不设为X状态。
[0014]可选地,所述将寄存器的输出变为X状态包括:X状态的维持时间可以是一个固定的时间,也可以是持续到下一个寄存器锁存时钟沿的时间。
[0015]可选地,所述功能代码中的部分代码由module程序模块实现。
[0016]本专利技术的第二方面提供了一种跨时钟域异步电路的功能验证系统,包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,具体地,所述系统包括:
[0017]电路描述模块,通过硬件描述语言对跨时钟异步电路的设计代码进行描述;
[0018]软件仿真模块,用于开发软件工具对所述设计代码进行分析和处理,以实现对跨时钟异步电路中出现和/或消失的亚稳态现象的功能仿真;
[0019]功能验证模块,对经过分析和处理后的设计代码进行测试用例的功能验证,进而发现跨时钟异步电路中存在的设计问题。
[0020]可选地,电路描述模块使用Verilog HDL或VHDL作为硬件描述语言。
[0021]可选地,软件仿真模块具体包括:
[0022]代码分析模块,分析设计代码中与寄存器相关的描述代码,提取影响该描述代码中一个或多个赋值结果的所有输入变量;
[0023]代码处理模块,插入功能代码,所述插入功能代码用于监测所述输入变量的变化时间,如果监测到的变化时间与寄存器锁存时钟沿的时间差值小于一定范围,则将所述寄存器的输出中发生变化的比特位设为X状态,未发生变化的比特位不设为X状态;X状态的维持时间可以是一个固定的时间,也可以是持续到下一个寄存器锁存时钟沿的时间;进而模拟出寄存器输出发生亚稳态的现象。
[0024]本专利技术的第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述跨时钟域异步电路的功能验证方法。
[0025]本专利技术通过对跨时钟域异步电路设计代码的处理,实现了对跨时钟异步电路设计过程中可能存在的亚稳态现象的功能仿真,能够解决普通的功能验证无法发现跨时钟域异步电路设计问题;同时避免了现有的时序仿真存在的时间成本高,测试用例不全面等问题。
[0026]本专利技术的附加优点、目的,以及特征将在下面的描述中部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本专利技术的实践而获知。本专利技术的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构及方法步骤实现并获得。
[0027]本领域技术人员将会理解的是,能够用本专利技术实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本专利技术能够实现的上述和其他目的。
附图说明
[0028]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的限定。
[0029]图1为跨时钟域异步电路设计中出现亚稳态的原理示意图。
[0030]图2为现有的消除亚稳态的设计方法示意图。
[0031]图3为本专利技术跨时钟域异步电路的功能验证方法流程图。
[0032]图4为本专利技术实施例中数字电路的Verilog HDL原始设计代码。
[0033]图5为本专利技术实施例中部分修改后的代码及module程序模块。
[0034]图6为本专利技术实施例中修改后的Verilog HDL设计代码。
具体实施方式
[0035]为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本专利技术做进一步详细说明,本专利技术的示意性实施方式及其说明用于解释本专利技术,但并不作为对本专利技术的限定。在此,还需要说明的是,为了避免因不必要的细节而模糊了本专利技术,在附图中仅仅示出了与根据本专利技术的方案密切相关的结构和/或处理步骤,而省略了与本专利技术关系不大的其他细节。
[0036]应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
[0037]为方便理解,在介绍本专利技术实施例之前,首先简单描述下跨时钟域(Clock Domain Crossing,CDC)异步电路出现的亚稳态现象和通常用来消除亚稳态的设计方法。
[0038]在数字电路设计中常存在跨时钟域设计的问题,图1示出了跨时钟域异步电路设计中出现亚稳态现象的基本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨时钟域异步电路的功能验证方法,其特征在于,包括:使用硬件描述语言对跨时钟异步电路的设计代码进行描述;开发软件工具对所述设计代码进行分析和处理,以实现对跨时钟异步电路中出现和/或消失的亚稳态现象的功能仿真;使用经过分析和处理后的设计代码进行测试用例的功能验证,进而发现跨时钟异步电路中存在的设计问题。2.根据权利要求1所述的方法,其特征在于:所述硬件描述语言为Verilog HDL或VHDL。3.根据权利要求1或2所述的方法,其特征在于,所述开发软件工具对上述设计代码进行分析和处理,以实现对跨时钟异步电路中出现和/或消失的亚稳态现象的功能仿真具体包括:分析所述设计代码中与寄存器相关的描述代码,提取影响该描述代码中一个或多个赋值结果的所有输入变量;插入功能代码,所述功能代码用于监测所述输入变量的变化时间,如果监测到的变化时间与寄存器锁存时钟沿的时间差值小于一定范围,则将寄存器的输出变为X状态,进而模拟出寄存器输出发生亚稳态的现象。4.根据权利要求3所述的方法,其特征在于,所述将寄存器的输出变为X状态包括:仅将所述寄存器的输出中发生变化的比特位设为X状态,未发生变化的比特位不设为X状态。5.根据权利要求3所述的方法,其特征在于,所述将寄存器的输出变为X状态包括:X状态的维持时间可以是一个固定的时间,也可以是持续到下一个寄存器锁存时钟沿的时间。6.根据权利要求1所述的方法,其特征在于:所述功能代码中的部分代码由module程序模...

【专利技术属性】
技术研发人员:邱莉榕王伟
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1