一种嵌入式的逻辑优化验证流程框架及验证方法技术

技术编号:35825722 阅读:15 留言:0更新日期:2022-12-03 13:52
本发明专利技术属于芯片验证的技术领域,公开一种嵌入式的逻辑优化验证流程框架及验证方法,包括:逻辑优化框架和验证框架;在所述逻辑优化框架中包括:保存逻辑优化前网表数据节点、保存逻辑优化后网表数据节点、标记优化关键点的节点;还包括所述优化前网表数据节点、优化后网表数据节点和优化关键点在并联后作为所述验证框架的输入。本发明专利技术按照上述流程,既完成了逻辑优化的操作,又高效的验证了优化操作的正确性,同时在出现问题时能够输出问题的关键点,以方便查找并确定问题原因,整个框架并不限定拓扑排序的方法,不限定功能对比数据的方式方法,强调整个逻辑优化及验证框架的创新。强调整个逻辑优化及验证框架的创新。强调整个逻辑优化及验证框架的创新。

【技术实现步骤摘要】
一种嵌入式的逻辑优化验证流程框架及验证方法


[0001]本专利技术公开一种嵌入式的逻辑优化验证流程框架及验证方法,属于芯片验证的


技术介绍

[0002]在芯片设计的
,逻辑优化是逻辑综合、逻辑仿真、形式验证等工具研发流程中的重要步骤,根据优化的方向和目标,实现对用户设计综合结果的改进,以满足用户的综合要求。逻辑优化分为组合逻辑优化、存储器优化、数据通路优化等,每种优化又可以细分为常数优化、表达式优化、功耗优化、面积优化等等。
[0003]对于上述逻辑优化中的每一个优化,都需要对优化前后的设计进行验证,保证优化的正确执行,验证方式分为逻辑仿真、形式验证两种,现有的逻辑验证工具有仿真工具和形式验证工具,如Synopsys的Vcs工具、Cadence的Lec工具等,其都需要逻辑优化流程将优化前后的设计以verilog形式输出到文件,并将输出的文件作为Vcs或Lec等验证工具的输入,通过检查验证工具的输出结果判断逻辑优化是否是正确的。
[0004]现有技术中,所述验证的框架分别介绍如下:
[0005]首先是逻辑仿真,首先根据设计构造测试激励文件,将优化前的设计和激励文件通过仿真工具生成波形数据,再将优化后的设计和激励文件通过仿真工具生成波形数据,对比两个波形数据,若一致则认为验证通过,否则验证失败。如图1所示。
[0006]其次是形式验证,区别于上述逻辑仿真,本验证不需要编写测试激励文件,其将优化前的设计作为golden文件,也就是标准文件,优化后的设计作为被测文件,形式验证工具通过读取两个文件,梳理出两个文件中的所有关键节点,通常将输出端口及内部的时序器件作为关键节点,检查两个文件中的关键节点是否一一对应,以及每对关键点逻辑功能是否一致,若检查通过则验证成功,否则验证失败。如图2所述。
[0007]通过上述分析,逻辑优化是逻辑综合等工具开发过程中的流程步骤,验证工具如逻辑仿真、形式验证等都是独立于综合工具的第三方工具,若需要对逻辑优化接口的正确性进行验证,需要将逻辑优化前后的设计数据输出成verilog/vhdl等形式的设计网表,再通过上述验证工具读取设计网表并测试两个设计是否功能一致。
[0008]对于逻辑优化的验证,需要将优化前的设计网表作为golden标准,优化后的设计网表作为待测设计,通过第三方工具验证优化前后设计功能是否一致。传统逻辑优化流程的验证示意图如图3所示。
[0009]现有逻辑的优化流程本身不具备验证的功能,而逻辑优化本身包含的优化点又非常多,每个点优化完都需要相应的功能验证,因此存在大量的输出及验证操作,带来的问题是逻辑优化流程开发过程中的验证效率是非常低的,同时由于验证和逻辑优化相互分离,一旦验证不通过需要调试时,很难快速定位出问题的关键点,可见,现有技术通过借助第三方工具进行功能验证具有执行效率低,debug困难的问题。
[0010]所述执行效率低的原因是:验证前需要将逻辑优化过程的中间结果输出到文件,
再通过第三方验证工具读取文件才能进行验证,并且验证需要对整个设计进行对比才能确保功能正确。
[0011]所述Debug困难包括:一是因为当逻辑优化流程出现问题时,需要定位是优化过程中哪一步出现问题,因此需要重复执行附图3记载的流程,直到找到导致问题的步骤,过程繁琐;二是因为当第三方工具报出存在功能不一致或不等价的点时,需要分析复杂的逻辑电路查找具体问题,由于逻辑电路的结构复杂、数据量大等,通常难以直观的确定导致问题发生的关键点,查找问题的时间较长,实际问题点的定位比较困难。
[0012]综上,基于现有技术所述逻辑优化流程的痛点,本
亟需一种提高逻辑优化流程开发及调试验证的效率、快速定位问题关键点的流程框架及流程方法。

技术实现思路

[0013]针对现有技术的不足,本专利技术公开一种嵌入式的逻辑优化验证流程框架。
[0014]本专利技术还公开一种实现上述流程框架的验证方法。
[0015]本专利技术整体解决逻辑优化流程开发及调试过程中验证效率低、debug调试困难的问题,提高逻辑优化流程开发及调试的便利性、增强工具的可靠性。
[0016]本专利技术详细的技术方案如下:
[0017]一种嵌入式的逻辑优化验证流程框架,其特征在于,包括:逻辑优化框架和验证框架;
[0018]在所述逻辑优化框架中包括:保存逻辑优化前网表数据节点、保存逻辑优化后网表数据节点、标记优化关键点的节点,在附图中成为标记优化点;所述优化关键点是指在逻辑优化过程中优化修改过的关键点,在附图中也称为优化点;还包括所述优化前网表数据节点、优化后网表数据节点和优化关键点在并联后作为所述验证框架的输入;
[0019]所述验证框架包括:优化关键点拓扑排序模块、优化前后数据对比模块;
[0020]所述优化关键点拓扑排序模块,用于按照逻辑连接关系,使距离逻辑优化框架的输入端口近的优化关键点靠前,距离输入端口远的优化关键点靠后的排序规则,排序完成后将排序结果存储在顺序容器中;
[0021]所述优化前后数据对比模块,用于按照所述排序规则依次取出优化关键点,基于优化前网表和优化后网表分别构建每个优化关键点对应功能的对比数据,根据数据对比结果执行:
[0022]优化前后网表中的关键点是不变的,即关键点一一对应,但是关键点的功能不是对比得出的,每个关键点的功能依赖于所在的网表,需要基于优化前后的网表分别单独分析,举例如下:
[0023]优化前关键点对应功能数据的表达:关键点A=a+b+c

b;
[0024]优化后关键点对应功能数据的表达:关键点A=a+c;
[0025]由上可知,优化前后关键点A一一对应,但是,表面上虽然优化前后所述关键点功能表达式发生变化:优化前的功能数据为a+b+c

b,优化后的功能为a+c,但是优化前后所述关键点功能数据的表达都是相同的,即a+b+c

b=a+c,即为数据对比一致,因此,在数据对比时,需要基于优化前后的网表分别构建出关键点A的功能数据(可以为表达式、真值表、BDD数据等),以此进行对比;
[0026]另一种结果:
[0027]优化前关键点对应功能数据的表达:关键点A=a+b+c

b;
[0028]优化后关键点对应功能数据的表达:关键点A=a+b;
[0029]即,优化前的功能数据对比不一致;
[0030]当对比数据一致时:进一步判断是否对所有优化关键点进行了对比,如全部对比完成,则清除所有优化关键点标记,本轮优化完成,直接退出;如未全部对比完成,则返回继续按照所述排序规则依次取出优化关键点进行对比,直至对所有优化关键点对比完成;
[0031]当对比数据不一致时:输出优化关键点名称、输出对比数据信息,结束退出。输出优化关键点名称是用户设计中的信号名,因此通过输出优化关键点名称以确定设计中哪里不等价,所述对比数据信息包括:优化前后的网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种嵌入式的逻辑优化验证流程框架,其特征在于,包括:逻辑优化框架和验证框架;在所述逻辑优化框架中包括:保存逻辑优化前网表数据节点、保存逻辑优化后网表数据节点、标记优化关键点的节点;还包括所述优化前网表数据节点、优化后网表数据节点和优化关键点在并联后作为所述验证框架的输入;所述验证框架包括:优化关键点拓扑排序模块、优化前后数据对比模块;所述优化关键点拓扑排序模块,用于按照逻辑连接关系,使距离逻辑优化框架的输入端口近的优化关键点靠前,距离输入端口远的优化关键点靠后的排序规则,排序完成后将排序结果存储在顺序容器中;所述优化前后数据对比模块,用于按照所述排序规则依次取出优化关键点,基于优化前网表和优化后网表分别构建每个优化关键点对应功能的对比数据,根据数据对比结果执行:当对比数据一致时:进一步判断是否对所有优化关键点进行了对比,如全部对比完成,则清除所有优化关键点标记,本轮优化完成,直接退出;如未全部对比完成,则返回继续按照所述排序规则依次取出优化关键点进行对比,直至对所有优化关键点对比完成;当对比数据不一致时:输出优化关键点名称、输出对比数据信息,结束退出。2.根据权利要求1所述一种嵌入式的逻辑优化验证流程框架,其特征在于,所述构建关键点对应的功能对比数据,包括但不限于构建逻辑表达式数据、真值表数据、BDD二分决策树数据。3.根据权利要求1所述一种嵌入式的逻辑优化验证流程框架,其特征在于,在单次优化完成后,判断是否还有下一步的优化步骤:如果有,则直接返回至逻辑优化框架中和验证框架中,直至所有优化步骤全部完成,结束退出。4.一种实现如权利要求1
‑<...

【专利技术属性】
技术研发人员:刘奎唐兴达
申请(专利权)人:山东启芯软件科技有限公司
类型:发明
国别省市:

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

1