CN117391007B - 一种获取仿真节点真值表的方法、电子设备及存储介质 - Google Patents

一种获取仿真节点真值表的方法、电子设备及存储介质 Download PDF

Info

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
Application number
CN202311378447.8A
Other languages
English (en)
Other versions
CN117391007A (zh
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.)
Shanghai Hejian Industrial Software Group Co Ltd
Original Assignee
Shanghai Hejian Industrial Software Group 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 Shanghai Hejian Industrial Software Group Co Ltd filed Critical Shanghai Hejian Industrial Software Group Co Ltd
Priority to CN202311378447.8A priority Critical patent/CN117391007B/zh
Publication of CN117391007A publication Critical patent/CN117391007A/zh
Application granted granted Critical
Publication of CN117391007B publication Critical patent/CN117391007B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/327Logic 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中所述的非瞬时性计算机可读存储介质。
CN202311378447.8A 2023-10-23 2023-10-23 一种获取仿真节点真值表的方法、电子设备及存储介质 Active CN117391007B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 上海合见工业软件集团有限公司 一种异构硬件仿真方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
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