CN114004182A - 二元决策图的构造方法、等价性验证方法、存储介质 - Google Patents

二元决策图的构造方法、等价性验证方法、存储介质 Download PDF

Info

Publication number
CN114004182A
CN114004182A CN202111257397.9A CN202111257397A CN114004182A CN 114004182 A CN114004182 A CN 114004182A CN 202111257397 A CN202111257397 A CN 202111257397A CN 114004182 A CN114004182 A CN 114004182A
Authority
CN
China
Prior art keywords
binary decision
decision diagram
net
cone
iterative process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111257397.9A
Other languages
English (en)
Inventor
赵然
刘美华
张岩
黄国勇
金玉丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guowei Group Shenzhen Co ltd
Original Assignee
Guowei Group Shenzhen Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guowei Group Shenzhen Co ltd filed Critical Guowei Group Shenzhen Co ltd
Priority to CN202111257397.9A priority Critical patent/CN114004182A/zh
Publication of CN114004182A publication Critical patent/CN114004182A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种二元决策图的构造方法、等价性验证方法、存储介质。其中二元决策图的构造方法,包括:确定电路的锥顶和锥底;从锥顶的输入端口开始可生成二元决策图的迭代过程;当迭代过程进行到连线网部分时,若当前的连线网不是多驱动并且该连线网连接的端口数量大于等于3,则查找哈希表;如果没有找到,则继续可生成二元决策图的迭代过程以生成该连线网对应的局部二元决策图,并将该局部二元决策图存入哈希表中;之后在迭代过程中遍历到该连线网,则可以直接从哈希表中取出。本发明在生成BDD的过程中,减少了处理BDD图所消耗的时间和内存,使得电路的验证时间大幅缩短。

Description

二元决策图的构造方法、等价性验证方法、存储介质
技术领域
本发明涉及数字电路的等价性验证技术领域,尤其涉及一种二元决策图的构造方法。
背景技术
目前的组合电路的逻辑验证技术中最广泛的验证方法之一是基于BDD(BinaryDecision Diagram,二元决策图)的方法,其原理是证明两个设计电路产生的ROBDD(Reduced Ordered Binary Decision Diagram,规约有序二元决策图)是否同构,如果同构则说明两个设计电路是等价的。
BDD本身也是一种数据结构,能够用来描述大的布尔函数,也可以同时描述所有的选择情况,但是由于存在不可预料的存储器需求量,因此在处理特殊电路(如乘法电路)以及大规模集成电路时会遇到难以克服的困难。
对组合电路的逻辑验证的另一个验证方法是SAT(布尔可满足性验证),目前SAT的求解已经取得长足进步,可对很大的问题事例进行逻辑推理。因此基于布尔可满足性的建模在等价性验证中得到了更加广泛的应用。相较于BDD而言,SAT对的大规模集成电路支持更好,可以使用更少的内存得出等价的结果。
因而在需要使用BDD表述对应的电路时,如何生成BDD,避免生成BDD时内存占用多大,产生的节点过多的问题是业界亟待解决的技术问题。
发明内容
为了解决现有技术中生成BDD时占用内存较大的技术问题,本发明提出了二元决策图的构造方法、等价性验证方法、存储介质。
本发明提出的二元决策图的构造方法,包括:
步骤1,确定电路的锥顶和锥底;
步骤2,从锥顶的输入端口开始可生成二元决策图的迭代过程;
步骤3,当迭代过程进行到连线网部分时,若当前的连线网不是多驱动并且该连线网连接的端口数量大于等于3,则查找哈希表;
步骤4,如果没有在哈希表中找到当前的连线网,则继续可生成二元决策图的迭代过程以生成该连线网对应的局部二元决策图,并以连线网为索引将该局部二元决策图存入哈希表中;
步骤5,如果在哈希表中找到当前的连线网,则取出该连线网对应的局部二元决策图,添加到当前的二元决策图中,并基于更新后的二元决策图继续可生成二元决策图的迭代过程,直至当前的锥顶对应的所有锥底全部遍历完成;
步骤6,重复步骤2至5,直至所有锥顶遍历完成。
进一步去,将所述电路中的时序单元的输入作为锥顶,输出作为锥底;或者,将所述电路中的输入作为锥底,时序单元的输入作为锥顶;或者,将电路的输出作为锥顶,时序单元的输出作为锥底。
进一步,在确定当前的连线网是不是多驱动之前,先确定当前的连线网是不是为空,如果是,则确定该连线网为空锥底,结束可生成二元决策图的迭代过程;如果否,则执行确定连线网是不是多驱动的步骤。
进一步,如果确定当前的连线网为多驱动时,上报多驱动错误,并结束可生成二元决策图的迭代过程。
进一步,所述步骤4中,若当前的连线网的输入端口连接的是时序单元的输出端口时,则该连线网的输出端口连接的是锥底,则该连线网对应的局部二元决策图为锥底。
进一步,所述步骤4中,若当前的连线网连接的不是锥底,即连线网的输入端口连接的是逻辑单元的输出端口时,可生成二元决策图的迭代过程从此连线网所连接的逻辑单元继续向下遍历, 遍历所有连接的逻辑单元,直到遍历完该连线网对应的所有锥底时生成该连线网对应的局部二元决策图。
本发明提出的数字电路的等价性验证方法,采用了上述技术方案所述的二元决策图的构造方法。
本发明提出的计算机可读存储介质,用于存储计算机程序,所述计算机程序运行时执行上述技术方案所述的二元决策图的构造方法。
本发明生成BDD时,采用了哈希表配合BDD的生成过程,避免了现有技术中多次迭代同一个电路实例(如迭代同一部分逻辑单元)所造成的多余开销。由于现有技术中,电路和BDD节点之间没有对应关系,所以当BDD图的节点建立时,在不做等价性判断和化简时,并不能确定节点是否和之前建立的有重复。即使是对BDD图进行化简,其时间复杂度也远远大于哈希查找的o(1)。而本发明通过和部分BDD节点以及部分电路实例建立映射关系,在迭代电路时通过哈希表查找减少了处理BDD图的所消耗的时间和内存。
附图说明
下面结合实施例和附图对本发明进行详细说明,其中:
图1是本发明的二元决策图的构造流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
下面结合附图以及实施例对本发明的原理进行详细说明。
如图1所示,本发明的二元决策图的构造方法,需要先确定电路的锥顶和锥底,在具体实施例中,可以将电路中的时序单元的输入作为锥顶,输出作为锥底。或者将电路的输入作为锥底,时序单元的输入作为锥顶。或者将电路的输出作为锥顶,时序单元的输出作为锥底。
确定了锥顶以后,从一个锥顶的输入端口开始可生成二元决策图的迭代过程。这个可生成二元决策图的迭代过程与现有的生成二元决策图的迭代过程相同,但是本发明指定了锥顶和锥底。
当现有的可生成二元决策图的迭代过程进行到连线网部分时,即进行到net部分时,判断当前的连线网是不是多驱动,如果是多驱动,则上报多驱动错误,可生成二元决策图的迭代过程结束。
如果当前的连线网不是多驱动,判断这个连线网是不是多负载,也就是说改连线网连接的端口数量需要大于等于3,一个输入,至少两个输出,如果该连线网是多负载,则查找哈希表。
在该连线网第一次在可生成二元决策图的迭代过程中被遍历到时,在哈希表中找不到当前的连线网,则继续可生成二元决策图的迭代过程,以生成该连线网对应的局部二元决策图,局部二元决策图并不是单独生成的,而是在可生成二元决策图的迭代过程中生成电路对应的二元决策图时,会包含连线网对应的局部二元决策图,以连线网为索引,将该局部二元决策图存入到哈希表中。
在生成连线网对应的局部二元决策图时,分为两种情况。如果当前的连线网的输入端口连接的是时序单元的输出端口时,则该连线网的输出端口连接的是锥底,则该连线网对应的局部二元决策图为锥底。如果当前的连线网连接的不是锥底,即连线网的输入端口连接的是逻辑单元的输出端口时,可生成二元决策图的迭代过程从此连线网所连接的逻辑单元继续向下遍历, 遍历所有连接的逻辑单元,直到遍历完该连线网对应的所有锥底时生成该连线网对应的局部二元决策图,也就是在可生成二元决策图的迭代过程在生成整个二元决策图时,所生成的与该连线网对应的一个局部,本发明称之为局部二元决策图,局部二元决策图并非单独通过其他方式生成的,局部二元决策图就是对整个二元决策图的一个局部进行命名,并将对应的信息存入到哈希表中,以便在下次需要生成局部二元决策图时,直接从哈希表中读取,从而使得可生成二元决策图的迭代过程可以跳出这部分重复的迭代,直接继续之后的迭代,节约二元决策图的生成时间。
在可生成二元决策图的迭代过程中,如果该连线网不是第一次被遍历到,则当遍历到该连线网时,查找哈希表,可以在哈希表中找到该连线网对应的局部二元决策图,此时,直接从哈希表中取出该局部二元决策图,对当前的二元决策图进行更新,由于局部二元决策图是连线网连接的逻辑单元直至锥底的部分,因而可生成二元决策图的迭代过程会跳出连线网对应的部分的迭代过程,基于更新后的二元决策图继续其他没有被遍历的单元、连线的迭代过程,直到当前的锥顶对应的所有锥底都被遍历完成时,结束当前的锥顶的遍历。
重复上述步骤继续从下一个锥顶开始遍历,直到所有的锥顶开始的遍历过程完成。
上述过程中,在确定当前的连线网是不是多驱动之前,先确定当前的连线网是不是为空,如果是,则确定该连线网为空锥底,结束可生成二元决策图的迭代过程;如果否,则执行确定连线网是不是多驱动的步骤。
本发明还保护数字电路的等价性验证方法,该等价性验证方法采用了上述技术方案中的二元决策图的构造方法。同样的,本发明还保护计算机可读存储介质,该计算机可读存储介质所存储的计算机程序运行时执行上述技术方案的二元决策图的构造方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种二元决策图的构造方法,其特征在于,包括:
步骤1,确定电路的锥顶和锥底;
步骤2,从锥顶的输入端口开始可生成二元决策图的迭代过程;
步骤3,当迭代过程进行到连线网部分时,若当前的连线网不是多驱动并且该连线网连接的端口数量大于等于3,则查找哈希表;
步骤4,如果没有在哈希表中找到当前的连线网,则继续可生成二元决策图的迭代过程以生成该连线网对应的局部二元决策图,并以连线网为索引将该局部二元决策图存入哈希表中;
步骤5,如果在哈希表中找到当前的连线网,则取出该连线网对应的局部二元决策图,添加到当前的二元决策图中,并基于更新后的二元决策图继续可生成二元决策图的迭代过程,直至当前的锥顶对应的所有锥底全部遍历完成;
步骤6,重复步骤2至5,直至所有锥顶遍历完成。
2.如权利要求1所述的二元决策图的构造方法,其特征在于,将所述电路中的时序单元的输入作为锥顶,输出作为锥底;或者,将所述电路中的输入作为锥底,时序单元的输入作为锥顶;或者,将电路的输出作为锥顶,时序单元的输出作为锥底。
3.如权利要求1所述的二元决策图的构造方法,其特征在于,在确定当前的连线网是不是多驱动之前,先确定当前的连线网是不是为空,如果是,则确定该连线网为空锥底,结束可生成二元决策图的迭代过程;如果否,则执行确定连线网是不是多驱动的步骤。
4.如权利要求1所述的二元决策图的构造方法,其特征在于,如果确定当前的连线网为多驱动时,上报多驱动错误,并结束可生成二元决策图的迭代过程。
5.如权利要求1所述的二元决策图的构造方法,其特征在于,所述步骤4中,若当前的连线网的输入端口连接的是时序单元的输出端口时,则该连线网的输出端口连接的是锥底,则该连线网对应的局部二元决策图为锥底。
6.如权利要求5所述的二元决策图的构造方法,其特征在于,所述步骤4中,若当前的连线网的输入端口连接不是时序单元的输出端口时,可生成二元决策图的迭代过程从连线网连接的逻辑单元开始直到遍历完该连线网对应的所有锥底时所生成的二元决策图部分为该连线网对应的局部二元决策图。
7.一种数字电路的等价性验证方法,其特征在于,采用了如权利要求1至6任意一项所述的二元决策图的构造方法。
8.计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序运行时执行如权利要求1至6任意一项所述的二元决策图的构造方法。
CN202111257397.9A 2021-10-27 2021-10-27 二元决策图的构造方法、等价性验证方法、存储介质 Pending CN114004182A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111257397.9A CN114004182A (zh) 2021-10-27 2021-10-27 二元决策图的构造方法、等价性验证方法、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111257397.9A CN114004182A (zh) 2021-10-27 2021-10-27 二元决策图的构造方法、等价性验证方法、存储介质

Publications (1)

Publication Number Publication Date
CN114004182A true CN114004182A (zh) 2022-02-01

Family

ID=79924400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111257397.9A Pending CN114004182A (zh) 2021-10-27 2021-10-27 二元决策图的构造方法、等价性验证方法、存储介质

Country Status (1)

Country Link
CN (1) CN114004182A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116822422A (zh) * 2023-08-31 2023-09-29 芯行纪科技有限公司 数字逻辑电路的分析优化方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116822422A (zh) * 2023-08-31 2023-09-29 芯行纪科技有限公司 数字逻辑电路的分析优化方法及相关设备
CN116822422B (zh) * 2023-08-31 2023-11-07 芯行纪科技有限公司 数字逻辑电路的分析优化方法及相关设备

Similar Documents

Publication Publication Date Title
US5243538A (en) Comparison and verification system for logic circuits and method thereof
US6075932A (en) Method and apparatus for estimating internal power consumption of an electronic circuit represented as netlist
US5930148A (en) Method and system for verifying a digital circuit design including dynamic circuit cells that utilize diverse circuit techniques
US8589837B1 (en) Constructing inductive counterexamples in a multi-algorithm verification framework
Mishchenko Fast computation of symmetries in Boolean functions
US20030229871A1 (en) Method of generating timing constraint model of logic circuit, program for generating timing constraint model of logic circuit, and timing-driven layout method of using the timing constraint model
CN111914500A (zh) 一种快速单磁通量子rsfq电路布局方法和装置
CN114004182A (zh) 二元决策图的构造方法、等价性验证方法、存储介质
CN111400169B (zh) 一种自动化生成用于测试软硬件的网表文件的方法及系统
US10303833B1 (en) Parallelizing timing-based operations for circuit designs
US10360342B2 (en) Method, system, and storage medium for engineering change order scheme in circuit design
US20200285791A1 (en) Circuit design method and associated computer program product
CN110110463B (zh) 可改善时序的集成电路逻辑连接优化方法、系统及介质
CN104615510B (zh) 基于可编程器件的双模冗余容错方法
CN114861574A (zh) 一种应用于层次化物理设计的逻辑简化方法
CN107315863B (zh) 布局优化方法及装置、终端及存储介质
JP5338919B2 (ja) 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置
US10606979B1 (en) Verifying equivalence of design latency
US10049174B2 (en) Exact delay synthesis
US10242150B1 (en) Circuit design implementation using control-set based merging and module-based replication
CN112733474B (zh) 基于与门反相器图的网表级电路面积优化方法及存储介质
Hong et al. Channel Based SOC Feedthrough Insertion Methodology
JP2004280279A (ja) トップダウン設計装置およびトップダウン設計プログラム
CN114398847A (zh) 多输出实例的cnf生成方法、等价性验证方法、存储介质
CN114492256B (zh) 集成电路数字后端eco方法、系统及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Zhao Ran

Inventor after: Liu Meihua

Inventor after: Zhang Yan

Inventor after: Huang Guoyong

Inventor after: Jin Yufeng

Inventor after: Bai Geng

Inventor before: Zhao Ran

Inventor before: Liu Meihua

Inventor before: Zhang Yan

Inventor before: Huang Guoyong

Inventor before: Jin Yufeng

CB03 Change of inventor or designer information