CN117391007B - 一种获取仿真节点真值表的方法、电子设备及存储介质 - Google Patents
一种获取仿真节点真值表的方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117391007B CN117391007B CN202311378447.8A CN202311378447A CN117391007B CN 117391007 B CN117391007 B CN 117391007B CN 202311378447 A CN202311378447 A CN 202311378447A CN 117391007 B CN117391007 B CN 117391007B
- Authority
- CN
- China
- Prior art keywords
- matrix
- node
- chain
- variable
- logic
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 41
- 239000011159 matrix material Substances 0.000 claims abstract description 195
- 230000017105 transposition Effects 0.000 claims abstract description 23
- 239000013598 vector Substances 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 19
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- XDDAORKBJWWYJS-UHFFFAOYSA-N glyphosate Chemical compound OC(=O)CNCP(O)(O)=O XDDAORKBJWWYJS-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及EDA技术领域,特别是涉及一种获取仿真节点真值表的方法、电子设备及存储介质,其根据每个仿真节点的矩阵链,获取矩阵链中的变量链及其前置的第一个变量X0,当变量链中不存在与X0相同的变量时,通过单位换位矩阵将X0与中间矩阵进行交换;否则,先将变量链中与X0相同的变量交换到变量链的前端,然后再将X0与中间矩阵进行交换,最后降幂,依次类推,进而得到按照指定顺序排列的目标矩阵连,进而根据目标矩阵连得到真值表,本发明计算过程自动化,不需要用户参与,提高了计算效率。
Description
技术领域
本发明涉及EDA技术领域,特别是涉及一种获取仿真节点真值表的方法、电子设备及存储介质。
背景技术
逻辑综合在电子设计自动化(EDA electronic design automation)中发挥着重要作用,自该领域出现以来,已经对优化逻辑网络进行了广泛的研究。逻辑综合的经典方法包括代数方法和布尔方法。布尔方法使用布尔逻辑来提高优化质量,其中电路仿真技术用于减少各种布尔计算所需的时间。因此,逻辑电路仿真在逻辑综合中起着至关重要的作用,例如,对于SAT扫描和布尔重替换。通过使用结构哈希、仿真和SAT查询的技术,SAT扫描通过将图顶点从输入合并到输出来简化逻辑网络。在布尔重替换中,一个节点的功能是用逻辑网络中的其他节点(称为除数)来表示的。通常使用窗口仿真技术来计算布尔网络中每个节点的真值表,以确定哪些节点具有等效功能。
仿真向量是分配给网络的每个主输入(PI)的布尔值的集合。逻辑电路仿真是通过按拓扑顺序访问节点并使用其输入值计算输出值来完成的。节点的仿真信号是节点在每个仿真向量下生成的一组有序值。如果一组仿真向量涵盖了所有可能的值分配组合,则它是穷尽的,这需要k个PI的2k个仿真向量。通过仿真穷举模式集生成的仿真信号也称为真值表,它们完整的表达了布尔网络中节点所代表的布尔函数。仿真可以在整个布尔网络中全局进行,也可以在一个小窗口中本地进行。在前一种情况下,仿真向量集可能是非穷尽的,因为216个仿真向量已经很难处理了,但布尔网络PI的数量通常大于16个。要使用一组详尽的模式,仿真必须限制在少于16个叶子节点的窗口内。
目前计算仿真节点的真值表时,一般根据用户指示对矩阵链进行计算,包括但不限于先后顺序,该计算过程繁琐,由于用户需要参与进来,导致该计算过程的计算效率低。
发明内容
针对上述技术问题,本发明采用的技术方案为:一种获取仿真节点真值表的方法,所述方法包括如下步骤:
S1000,获取第i个仿真节点的矩阵链,包括多个节点的逻辑矩阵和仿真电路输入节点的变量。
S2000,获取矩阵链尾部的由N个连续变量构成的变量链,其中N大于等于1。
S3000,当反向遍历矩阵链时,当变量链前不存在变量时,通过换位矩阵对候选矩阵链的变量链中的所有变量进行排序,得到目标矩阵链;否则,执行以下步骤:
S3100,遍历矩阵链,得到在变量链前的第一个变量X0。
S3200,根据变量链中是否存在与X0相同的变量X0′,获取候选矩阵链,包括:
S3210,若存在,执行以下步骤:
S3211,将变量链中靠近X0一端的首个变量V0通过换位矩阵交换为X0′,得到初级候选变量链。
S3212,获取X0和初级候选变量链之间的第一中间矩阵,根据单位换位矩阵交换X0和第一中间矩阵,得到具有相同变量的次级候选变量链。
S3213,根据降幂矩阵对次级候选变量链中的相同变量进行降幂,得到候选矩阵链。
S3220,否则,获取X0和变量链间的第二中间矩阵,根据单位换位矩阵交换X0和第二中间矩阵,得到候选矩阵链。
S4000,将所述目标矩阵链中在变量链前的所有矩阵相乘,得到规范型矩阵。
S5000,根据所述规范型矩阵得到第i个仿真节点的真值表。
此外,本发明还提供了一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述方法。
此外,本发明还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
本发明提供了一种获取仿真节点真值表的方法,其根据每个仿真节点的矩阵链,获取矩阵链中的变量链及其前置的第一个变量X0,根据变量链中是否存在与X0相同的变量对矩阵链进行相应的处理,进而得到真值表。在计算的过程中不需要用户参与,由计算机自动执行整个计算过程,计算过程自动化,提高了计算效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种获取仿真节点真值表的方法流程图;
图2为本发明实施例提供的包括多个节点的逻辑电路的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了一种获取仿真节点真值表的方法,所述方法包括如下步骤:
S1000获取第i个仿真节点的矩阵链,包括多个节点的逻辑矩阵和仿真电路输入节点的变量。
可选的,节点为输入节点或内部节点,其中,内部节点包括输出节点和逻辑电路内部的节点,内部节点包括逻辑电路中的最小电路单元或功能模块,现有技术中其他用户划分电路的方法均落入本发明的保护范围之内。其中,最小电路单元为仅包括一个逻辑运算符的电路。
其中,逻辑电路为待仿真的电路模块。
其中,仿真节点为逻辑电路实际的输出节点。可选的,输出节点为最小电路单元且最小电路单元的输出为逻辑电路的输出。可选的,输出节点为大节点,大节点是以作为输出节点的最小电路单元为根节点的树形结构,树形结构是以作为输出节点的最小电路单元为根节点,以输入根节点的内部节点为子节点,以此类推,树形结构的叶子节点为逻辑电路的输入节点。现有技术中其他通过将逻辑电路划分为不同的功能单元作为树形结构的子节点的方法均落入本发明的保护范围之内。
其中,每个节点具有一个逻辑矩阵,每个节点的逻辑矩阵的获取步骤包括:获取逻辑矩阵变量V,V的表达式满足:将节点的真值表重新替换为逻辑矩阵变量V的表达式得到逻辑矩阵。需要说明的是,逻辑矩阵变量实质上是两行一列的矩阵。其中,逻辑矩阵记录了n输入节点的真值表信息,是由V组成的列数为2n的矩阵。作为一个示例,当某一个节点的真值表信息为0111时,其逻辑矩阵为/>
其中,输入节点的变量为逻辑矩阵变量,输入节点的变量取值为0或1。
其中,矩阵链包括多个逻辑矩阵的连乘。
作为一个示例,请参阅图2,在图2中的逻辑电路包括5个输入节点:p1-p5,2个输出节点O1和O2,以及6个内部节点:aa-ff,其中内部节点aa和ff分别连接输出节点,为实际的输出节点,也称为仿真节点。以仿真节点aa为父节点,父节点aa具有子节点bb和子节点cc,子节点bb的子节点分别为输入节点p1和输入节点p3,子节点cc的子节点分别为输入节点p2和子节点dd,子节点dd的子节点为输入节点p3和输入节点p4。其中父节点aa的逻辑矩阵为A,子节点bb的逻辑矩阵为B、逻辑矩阵变量为b,子节点cc的逻辑矩阵为C、逻辑矩阵变量为c,子节点dd的逻辑矩阵为D、逻辑矩阵变量为d,其中,以输入节点p1-p4的编号作为逻辑矩阵变量。则仿真节点a的矩阵链L=Abc=ABp1p3c,其中,对于ABp1p3c来说,p1p3c表示当按照p1p3c这个顺序排序的话,AB的值为仿真节点a的真值表。
S2000,获取矩阵链尾部的由N个连续变量构成的变量链,其中N大于等于1。
为了方便理解,作为一个示例,对于矩阵链L还可以进一步展开为:L=ABp1p3c=ABp1p3Cp2d=ABp1p3Cp2Dp3p4,其中矩阵链L的变量链为{p3p4}。
S3000,当反向遍历矩阵链时,当变量链前不存在变量时,通过换位矩阵对候选矩阵链的变量链中的所有变量进行排序,得到目标矩阵链;否则,执行以下步骤:
S3100,遍历矩阵链,得到在变量链前的第一个变量X0。
需要说明的是,当变量链之前还存在变量时,均需要循环执行步骤S3100-3200。
作为一个示例,对于矩阵链L,在第一次由后向前执行反向遍历时,变量链之前的变量为p2,也即X0=p2。
S3200,根据变量链中是否存在与X0相同的变量X0′,获取候选矩阵链。
作为一个示例,对于矩阵链L=ABp1p3Cp2Dp3p4,其中变量链为{p3p4},X0为p2,则在第一次进入循环时,发现变量链{p3p4}中的变量均为X0不同,则直接执行S3220。当进入第二轮循环遍历时,由于矩阵链更新为L′=ABp1p3CD′p2p3p4=ABp1p3Ep2p3p4,此时变量链更新为{p2p3p4},X0更新为p3,此时变量链中存在与X0相同的变量,则直接执行S3210。
S3210,若存在,执行以下步骤S3211-3213:
S3211,将变量链中靠近X0一端的首个变量V0通过换位矩阵交换为X0′,得到初级候选变量链。
作为一个示例,对于矩阵链L′=ABp1p3Ep2p3p4,其变量链为{p2p3p4},X0为p3,V0为p2。则L′=ABp1p3Ep2p3p4=ABp1p3E′p3p2p4,其中,E′=E′W1的乘积,W1为换位矩阵。则{p3p2p4}为初级变量链。
需要说明的是,若在变量链中存在与当前遍历的变量相同的变量时,需要将两个变量进行降幂,因此,需要将变量链中的变量向前换位使其与遍历的相同变量相乘,进而再执行降幂的操作。
S3212,获取X0和初级候选变量链之间的第一中间矩阵,根据单位换位矩阵交换X0和第一中间矩阵,得到具有相同变量的次级候选变量链。
其中,根据单位换位矩阵交换X0和第一中间矩阵的步骤包括:计算第一中间矩阵与单位换位矩阵之间的克罗内克积,得到交换后的矩阵链。
可选的,单位换位矩阵为第一行第一列的元素为1且最后一行最后一列的元素为1,其他元素均为0的2行2列的矩阵。
作为一个示例,L′=ABp1p3E′p3p2p4,其X0为p3,初级候选变量链为{p3p2p4},则第一中间矩阵为E′。具有相同变量的次级候选变量链L′=ABp1E0′p3p3p2p4,其中其中K1为单位换位矩阵。需要说明的是,在本发明中省略乘法符号的矩阵相乘为普通的矩阵相乘,/>为两个矩阵的克罗内克积。单位换位矩阵K1与换位矩阵W1不同。单位换位矩阵为单位矩阵,用于实现变量与矩阵的换位。
S3213,根据降幂矩阵对次级候选变量链中的相同变量进行降幂,得到候选矩阵链。
作为一个示例,候选矩阵链L′=ABp1E0′p3p3p2p4=ABp1E1′p3p2p4,其中E1′=E0′R1,R1为降幂矩阵。
可选的,降幂矩阵为第一行第一列的元素为1且最后一行最后一列的元素为1,其他元素均为0的4行2列的矩阵。
S3220,否则,获取X0和变量链间的第二中间矩阵,根据单位换位矩阵交换X0和第二中间矩阵,得到候选矩阵链。
作为一个示例,对于矩阵链L=ABp1p3Cp2Dp3p4,其中变量链为{p3p4}和p2的第一中间矩阵为D,则候选矩阵链为L′=ABp1p3CD′p2p3p4。其中K1为交换矩阵。此时变量链更新为{p2p3p4}。
需要说明的是,在不同的步骤中,用于交换变量和矩阵位置的单位换位矩阵相同,现有技术中,其他用于交换变量和矩阵位置的单位换位矩阵也落入也发明的保护范围之内。用于交换相邻两个变量位置的换位矩阵相同,且交换间隔变量位置的换位矩阵不同于交换相邻变量位置的换位矩阵,具体根据交换的位置而选用合适的换位矩阵;现有技术中,其他用于交换变量位置的换位矩阵也落入也发明的保护范围之内。
循环执行S3000中的所有步骤,得到目标矩阵链。
S4000,将所述目标矩阵链中在变量链前的所有矩阵相乘,得到规范型矩阵。其中,规范型矩阵中的元素为0或1,且每列只有一个元素为1。
S5000,根据所述规范型矩阵得到仿真节点的真值表。
本发明提供了一种获取仿真节点真值表的方法,其根据每个仿真节点的矩阵链,获取矩阵链中的变量链及其前置的第一个变量X0,根据变量链中是否存在与X0相同的变量对矩阵链进行相应的处理,依次类推,进而得到按照指定顺序排列的目标矩阵链,根据目标矩阵连得到真值表。在计算的过程中不需要用户参与,由计算机自动执行整个计算过程,实现计算自动化,节省人力资源,同时计算过程自动化,提高了计算效率。
作为一个优选实施例,S1000还包括:
S1100,获取以第i个仿真节点为根节点的树形结构,所述根节点为逻辑电路的输出节点,所述树形结构的叶子节点为逻辑电路的输入节点。
S1200,获取树形结构中每个子节点的逻辑矩阵。
S1300,利用根节点的所有子节点的逻辑矩阵表示根节点的矩阵链。需要说明的是,父节点的逻辑矩阵为所有子节点的逻辑矩阵的乘积。
S1400,将根节点的矩阵链中所有子节点变量进行递归展开为叶子节点变量,得到第i个仿真节点的矩阵链。
需要说明的是,通过S1100-S1400提供的方法能够根据每个仿真节点的树形结构得到矩阵链,且矩阵链的变量均为叶子节点变量,得到以原始的输入节点为叶子节点的矩阵链。
作为一个优选实施例,所述S1100还包括:
S1110,获取逻辑电路的输入节点、输出节点和内部节点,其中输出节点和内部节点分别为不同的逻辑电路。
S1120,将每个输出节点作为一个根节点,以输入节点和内部节点为待访问的节点,对所有待访问的节点进行搜索,搜索的返回条件为搜索至输入节点时返回,分别得到每个根节点的树形结构。
需要说明的是,S1110-S1120提供的步骤能够高效且全面的得到每个仿真节点的树形结构。
作为一个优选实施例,所述S1100还包括:
S1101,获取逻辑电路的输入节点、输出节点和内部节点,其中输出节点和内部节点分别为不同的逻辑电路。
S1102,获取输出大节点和多扇出大节点。
S1103,以每个输出大节点为根节点获取根节点的树形结构。
其中,S1102还包括以下步骤:
S11021,将输入节点、输出节点和多扇出的内部节点标记为标签节点。
S11022,将标签节点中的输出节点和多扇出节点作为根节点集合,获取每个根节点的子树,包括:以输入节点和内部节点为待访问的节点,遍历根节点集合中的每个根节点,对所有待访问的节点进行搜索,搜索的返回条件为当搜索至另一个标签节点时返回。
S11023,将每个根节点及其子树作为一个大节点,得到输出大节点和多扇出大节点。
需要说明的是,S1101-1102的步骤相比较S1110-S1120提供的步骤,由于大节点数量大幅度减少,树形结构相对更加简单。并且非仿真节点的大节点为多扇出节点,在进行树形结构遍历时,一个多扇出节点可能属于不同仿真节点的树形结构中的节点,在得到大节点的真值表后可以共享给不同的仿真节点进行使用,而不需要再次重复计算,做到最大程度的信息复用,减少了硬件计算资源的消耗。
作为一个优选实施例,S1000中逻辑矩阵为编码后的逻辑矩阵,所述编码后的逻辑矩阵为行向量X,满足:
X=[x0,x1,…,xi,…,xn]。
其中,x0的值等于m,为编码前的逻辑矩阵G的行数,xi表示逻辑矩阵G中第i列的“1”所在的行数减1;其中编码前的逻辑矩阵G为仿真节点的规范型矩阵。
其中,克罗内克积的计算满足:给定两个编码后的逻辑矩阵 则两者的克罗内克积为:
是一个长度为nq+1的行向量。其中,/>为克罗内克积的符号。
其中,矩阵的左半张量积乘法满足:若n%p=0,令t=n/p,把矩阵G分为r=n/t块,表示为其中Gi=[x(i-1)t+1,…,x2it],此时逻辑矩阵G和H的左半张量积满足:GH=[m,Gy1,Gy2,...,Gyq],为一个长度为nq/p+1的行向量。若p%n=0,则使用左半张量积的原始定义计算。
通过编码后的逻辑矩阵执行S1000-S5000,通过对逻辑矩阵进行编码不会丢失任何矩阵信息并且极大地减小了计算机实现的空间复杂度和时间复杂度,完成了以线性时间复杂度实现矩阵的一系列操作,大幅度提升了半张量积矩阵运用在布尔代数中的运算速度,同时由于编码后的逻辑矩阵计算简单,节约了大量的硬件计算资源。
作为一个优选实施例,S4000还包括:根据动态规划算法获取所有矩阵相乘的最优顺序相乘顺序,其中,当维度为m×n的矩阵G和维度为p×q的矩阵H相乘时,GH的复杂度com满足:当n%p=0时,则com=nq/p;当p%n=0时,则com=p+q。
由于编码后的矩阵为一维矩阵,多个一维矩阵相乘的复杂度大幅度的降低,因此,也大幅度的降低了矩阵相乘的复杂度,提高了矩阵链的计算速度,相比于传统的方法在CPU计算时间上平均减少了7.6倍。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。
Claims (7)
1.一种获取仿真节点真值表的方法,其特征在于,所述方法包括如下步骤:
S1000,获取第i个仿真节点的矩阵链,包括多个节点的逻辑矩阵和仿真电路输入节点的变量;其中,所述矩阵链包括多个逻辑矩阵的连乘,每个节点的逻辑矩阵的获取步骤包括:获取逻辑矩阵变量V,V的表达式满足:将节点的真值表重新替换为逻辑矩阵变量V的表达式得到逻辑矩阵;
所述节点为输入节点或内部节点,其中,内部节点包括输出节点和逻辑电路内部的节点,内部节点包括逻辑电路中的最小电路单元或功能模块;所述逻辑电路为待仿真的电路模块;所述仿真节点为逻辑电路实际的输出节点;
S2000,获取矩阵链尾部的由N个连续变量构成的变量链,其中N大于等于1;
S3000,当反向遍历矩阵链时,当变量链前不存在变量时,通过换位矩阵对候选矩阵链的变量链中的所有变量进行排序,得到目标矩阵链;否则,执行以下步骤:
S3100,遍历矩阵链,得到在变量链前的第一个变量X0;
S3200,根据变量链中是否存在与X0相同的变量X0′,获取候选矩阵链,包括:
S3210,若存在,执行以下步骤:
S3211,将变量链中靠近X0一端的首个变量V0通过换位矩阵交换为X0′,得到初级候选变量链;
S3212,获取X0和初级候选变量链之间的第一中间矩阵,根据单位换位矩阵交换X0和第一中间矩阵,得到具有相同变量的次级候选变量链;
S3213,根据降幂矩阵对次级候选变量链中的相同变量进行降幂,得到候选矩阵链;
S3220,否则,获取X0和变量链间的第二中间矩阵,根据单位换位矩阵交换X0和第二中间矩阵,得到候选矩阵链;
S4000,将所述目标矩阵链中在变量链前的所有矩阵相乘,得到规范型矩阵;
S5000,根据所述规范型矩阵得到第i个仿真节点的真值表;
其中,S1000还包括:
S1100,获取以第i个仿真节点为根节点的树形结构,所述根节点为逻辑电路的输出节点,所述树形结构的叶子节点为逻辑电路的输入节点;
S1200,获取树形结构中每个子节点的逻辑矩阵;
S1300,利用根节点的所有子节点的逻辑矩阵表示根节点的矩阵链;
S1400,将根节点的矩阵链中所有子节点变量进行递归展开为叶子节点变量,得到第i个仿真节点的矩阵链。
2.根据权利要求1所述的方法,其特征在于,所述S1100还包括:
S1110,获取逻辑电路的输入节点、输出节点和内部节点,其中输出节点和内部节点分别为不同的逻辑电路;
S1120,将每个输出节点作为一个根节点,以输入节点和内部节点为待访问的节点,对所有待访问的节点进行搜索,搜索的返回条件为搜索至输入节点时返回,分别得到每个根节点的树形结构。
3.根据权利要求1所述的方法,其特征在于,所述S1100还包括:
S1101,获取逻辑电路的输入节点、输出节点和内部节点,其中输出节点和内部节点分别为不同的逻辑电路;
S1102,获取输出大节点和多扇出大节点,包括:
S11021,将输入节点、输出节点和多扇出的内部节点标记为标签节点;
S11022,将标签节点中的输出节点和多扇出节点作为根节点集合,获取每个根节点的子树,包括:以输入节点和内部节点为待访问的节点,遍历根节点集合中的每个根节点,对所有待访问的节点进行搜索,搜索的返回条件为当搜索至另一个标签节点时返回;
S11023,将每个根节点及其子树作为一个大节点,得到输出大节点和多扇出大节点;
S1103,以每个输出大节点为根节点获取根节点的树形结构。
4.根据权利要求1所述的方法,其特征在于,S1000中逻辑矩阵为编码后的逻辑矩阵,所述编码后的逻辑矩阵为行向量X,满足:
X=[x0,x1,…,xi,…,xn];
其中,x0的值等于m,为编码前的逻辑矩阵G的行数,xi表示逻辑矩阵G中第i列的“1”所在的行数减1;其中编码前的逻辑矩阵G为仿真节点的规范型矩阵。
5.根据权利要求1所述的方法,其特征在于,S4000还包括:根据动态规划算法获取所有矩阵相乘的最优顺序相乘顺序,其中,当维度为m×n的矩阵G和维度为p×q的矩阵H相乘时,GH的复杂度com满足:
当n%p=0时,则com=nq/p;
当p%n=0时,则com=p+q。
6.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-5中任意一项的所述方法。
7.一种电子设备,其特征在于,包括处理器和权利要求6中所述的非瞬时性计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311378447.8A CN117391007B (zh) | 2023-10-23 | 2023-10-23 | 一种获取仿真节点真值表的方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311378447.8A CN117391007B (zh) | 2023-10-23 | 2023-10-23 | 一种获取仿真节点真值表的方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117391007A CN117391007A (zh) | 2024-01-12 |
CN117391007B true CN117391007B (zh) | 2024-06-21 |
Family
ID=89436958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311378447.8A Active CN117391007B (zh) | 2023-10-23 | 2023-10-23 | 一种获取仿真节点真值表的方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117391007B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287628A (zh) * | 2019-07-01 | 2019-09-27 | 合肥工业大学 | 一种纳米量子元胞自动机电路的仿真方法 |
CN113767436A (zh) * | 2019-05-03 | 2021-12-07 | 美光科技公司 | 用于在存储器阵列内执行矩阵变换的方法和设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210406007A1 (en) * | 2020-06-30 | 2021-12-30 | Western Digital Technologies, Inc. | Generating optimized microcode instructions for dynamic programming based on idempotent semiring operations |
EP4291980A1 (en) * | 2020-11-04 | 2023-12-20 | Mynatix LLC | System for auto-parallelization of processing codes for multi-processor systems with optimized latency, and method thereof |
CN115422860A (zh) * | 2022-09-22 | 2022-12-02 | 上海概伦电子股份有限公司 | 应用于仿真电路的支路电流获取方法、系统、设备和计算机可读存储介质 |
CN115994507A (zh) * | 2022-11-21 | 2023-04-21 | 同济大学 | 基于时间窗图模型的时序电路关键性节点定位方法及设备 |
CN117634374A (zh) * | 2023-08-24 | 2024-03-01 | 上海合见工业软件集团有限公司 | 一种异构硬件仿真方法及系统 |
-
2023
- 2023-10-23 CN CN202311378447.8A patent/CN117391007B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113767436A (zh) * | 2019-05-03 | 2021-12-07 | 美光科技公司 | 用于在存储器阵列内执行矩阵变换的方法和设备 |
CN110287628A (zh) * | 2019-07-01 | 2019-09-27 | 合肥工业大学 | 一种纳米量子元胞自动机电路的仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117391007A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peeva | Resolution of fuzzy relational equations–method, algorithm and software with applications | |
DE60318494T2 (de) | Verfahren, einrichtung und system zur durchführung von kalkulationsoperationen | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
CN111563598B (zh) | 预估量子计算模拟时间的方法、系统 | |
KR20060067874A (ko) | 제산 및 제곱근 연산 유닛 | |
CN117391007B (zh) | 一种获取仿真节点真值表的方法、电子设备及存储介质 | |
CN112364985A (zh) | 一种基于分布式编码的卷积优化方法 | |
Grigori et al. | Brief announcement: Lower bounds on communication for sparse Cholesky factorization of a model problem | |
De la Salle | Spectral gap and stability for groups and non-local games | |
Hryniów et al. | Optimisation of digraphs creation for parallel algorithm for finding a complete set of solutions of characteristic polynomial | |
Nguyen et al. | Reproducible tall-skinny QR | |
Bader et al. | An improved algorithm to compute the exponential of a matrix | |
Notay et al. | A nearly optimal preconditioning based on recursive red–black orderings | |
US11435981B2 (en) | Arithmetic circuit, and neural processing unit and electronic apparatus including the same | |
Malandro et al. | Partial difference sets in C2n× C2n | |
Boyer | Character theory of infinite wreath products | |
Abbas | Some novel applications on the Frontal concept | |
Zhang et al. | Logic circuit simulation based on semi-tensor product | |
Bierenbaum et al. | On the invariance of residues of Feynman graphs | |
CN115361115A (zh) | 量子电路生成方法及系统 | |
Stankovic | Some remarks on terminology in spectral techniques for logic design: Walsh transform and Hadamard matrices | |
KR20030009682A (ko) | 가산기 기반 분산 연산의 가산 공유 정보 추출을 위한신경망 알고리즘 구현 방법 | |
Chandrasekaran et al. | A fast and stable adaptive solver for hierarchically semi-separable representations | |
US20220012302A1 (en) | Selectivity estimation of conjunctive predicates | |
Zhang et al. | Sparse Tensor Network System Identification for Nonlinear Circuit Macromodeling |
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 | ||
GR01 | Patent grant |