CN110765710B - 基于非易失器件的通用逻辑综合方法及装置 - Google Patents
基于非易失器件的通用逻辑综合方法及装置 Download PDFInfo
- Publication number
- CN110765710B CN110765710B CN201911005612.9A CN201911005612A CN110765710B CN 110765710 B CN110765710 B CN 110765710B CN 201911005612 A CN201911005612 A CN 201911005612A CN 110765710 B CN110765710 B CN 110765710B
- Authority
- CN
- China
- Prior art keywords
- logic
- logic gate
- optimization
- basic
- description file
- 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
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种基于非易失器件的通用逻辑综合方法及装置,其中,该方法包括:获取基础逻辑门描述文件和电路描述文件,将基础逻辑门描述文件和电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件;根据映射规则生成器和基础逻辑门描述文件生成逻辑门位置约束关系,以逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。该方法可以对任何非易失基本逻辑实现方案进行逻辑综合,在逻辑实现层面考虑物理内存限制及延时、能效优化,并进一步对逻辑综合工具的运行时间进行加速优化。
Description
技术领域
本发明涉及存储器件的逻辑综合技术领域,特别涉及一种基于非易失器件的通用逻辑综合方法及装置。
背景技术
在全球数据量井喷式增长的今天,现有计算系统正遭遇“存储墙”的严峻挑战。基于冯诺依曼体系架构的传统计算系统中计算单元和存储单元物理分离,数据在两者之间频繁调动造成系统功耗和速度的严重损耗。阻变存储器又称忆阻器,是一种新兴的非易失存储器件,它能将存储和计算结合到一起。基于忆阻器的存算一体功能开展相关器件、电路、架构及算法的协同设计优化有助于实现高能效存算一体计算系统,推动我国在高能效计算领域的变革性技术发展。
基于忆阻器实现非易失逻辑运算是建立高能效存算一体计算系统的重要环节。目前,研究人员利用忆阻器及其交叉阵列(Crossbar)的物理和电路特性,设计了多种非易失的逻辑运算实现方案。例如基于二端忆阻器件的MAGIC、IMPLY、MAJ等方案和一些基于新型三端忆阻器件的逻辑实现方案。这些方案使用阻值或者电压表示输入和输出的逻辑变量,通过忆阻器的读写操作,直接在忆阻器阵列中进行执行逻辑运算,从而实现存算一体的计算架构。对于任何复杂逻辑,都可以转化为基础逻辑运算的组合,并用这些逻辑实现方案解决。
使用这些基本逻辑实现方案进行通用的逻辑运算,逻辑综合是至关重要的一步,它包括逻辑综合和映射流程两个步骤。逻辑综合解决把复杂逻辑转化为基本逻辑操作的任务,而数据映射则是将逻辑计算任务分配到具体的硬件资源上去。对于前者,基于忆阻器和CMOS的逻辑实现基本没有区别,目前相关技术已经比较成熟;而对于后者,由于Crossbar结构存在着许多物理上的限制,同时基本的逻辑实现方案也多种多样,各不相同,所以非易失逻辑运算的数据映射是一个十分复杂的问题。目前世界范围内对这一问题研究基础都比较少,属于全新的研究领域。
目前已经有一些非易失的逻辑综合方法,如Chakraborti、Marranghello等人提出了基于IMPLY的逻辑综合工具,Xie、Traiola等人提出了基于FBLC的逻辑综合工具。仍然存在着很多的问题:
(1)只能基于某一种逻辑实现方案。现在的非易失逻辑实现方案数量繁多,而不同逻辑实现方案的基本限制各不相同,这就使得现有的任何方法都无法被简单地推广到各种其他的逻辑实现方案中去,存在着很大的局限性;
(2)所考虑的限制较为简单,没有考虑到很多的实际情况。目前的大部分方法都没有考虑交叉阵列结构所带来的数据映射的物理限制,因而无法在非易失存储器上直接实现存算一体功能。而少数工作(如SimpleMAGIC)虽然考虑了交叉阵列的物理限制,却仍然与实际情况存在着较大的差距。例如,实际情况下阵列中有很多位置已经存储了数据,而这些数据都是不能被擦除的,因此任何逻辑运算都不能映射到这些位置上去。但是目前没有任何方法考虑到这一点;
(3)资源受限情况下表现不佳。以SimpleMAGIC为例,为了简化求解过程,它没有考虑到擦除复写和备份等操作,导致数据映射的物理限制变得十分严格,需要在很大规模的交叉阵列上才能获得可行解。然而对于较小的阵列,实际上是可以通过擦除、备份等操作减弱物理约束,从而获得可行解的,但是目前没有任何方法考虑了这些操作;
(4)运行时间过长。由于非易失逻辑综合有着各种复杂的限制,所使用的是基于枚举法的规划求解方法,因此求解的时间往往非常长。例如,对于一个有200个输入变量的逻辑问题,SimpleMAGIC方法需要数月的时间才能给出结果,这是实际逻辑综合过程中无法接受的。因此,降低逻辑综合算法的时间至关重要。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于非易失器件的通用逻辑综合方法,该方法基于非易失器件的通用逻辑综合工具,提出面向非易失逻辑实现方法的统一抽象描述,在逻辑实现层面考虑物理内存限制及延时、能效优化,并进一步对逻辑综合工具的运行时间进行加速优化。
本发明的另一个目的在于提出一种基于非易失器件的通用逻辑综合装置。
为达到上述目的,本发明一方面实施例提出了一种基于非易失器件的通用逻辑综合方法,包括:
获取基础逻辑门描述文件和电路描述文件,将所述基础逻辑门描述文件和所述电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件;
根据映射规则生成器和所述基础逻辑门描述文件生成逻辑门位置约束关系,以所述逻辑门位置约束关系、所述基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。
本发明实施例的基于非易失器件的通用逻辑综合方法,通过取基础逻辑门描述文件和电路描述文件,将基础逻辑门描述文件和电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件,根据映射规则生成器和基础逻辑门描述文件生成逻辑门位置约束关系,以逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。基于非易失器件的通用逻辑综合工具,提出面向非易失逻辑实现方法的统一抽象描述,在逻辑实现层面考虑物理内存限制及延时、能效优化,并进一步对逻辑综合工具的运行时间进行加速优化,可以基于任何非易失基本逻辑实现方案进行逻辑综合,其通用性和可扩展性远远优于现有任何类似工作。
另外,根据本发明上述实施例的基于非易失器件的通用逻辑综合方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述优化结果包括:逻辑映射方法、操作序列、延迟和资源占用。
进一步地,在本发明的一个实施例中,还包括:
对多种非易失逻辑进行通用抽象描述,将通用抽象描述后的多种非易失逻辑表示为所述基础逻辑门描述文件。
进一步地,在本发明的一个实施例中,所述对多种非易失逻辑进行通用抽象描述,包括:
通过三元组对非易失逻辑进行通用抽象描述:
(B,r,c),s.t.B∈{R,V},r∈{WL{1,…,n}},c∈{BL{1,…,n}}
其中,B表示布尔变量的表示类型,R表示电阻,V表示电压,r与c分别表示在字线WL和位线BL上的坐标。
进一步地,在本发明的一个实施例中,还包括:
根据逻辑门的可并行条件和所述实际内存约束建立逻辑门操作模型;
通过所述逻辑门操作模型对所述优化求解器的优化进行约束。
进一步地,在本发明的一个实施例中,所述逻辑门操作模型包括输入转化阶段,输出位置清空阶段及逻辑操作阶段,根据所述输入转化阶段,所述输出位置清空阶段及所述逻辑操作阶段建模,计算完成一个逻辑操作的总时间:
其中,tstart和tend表示逻辑操作的起始时间和结束时间,ttrans,i表示输入转化时间,tclear.j表示输出位置清空时间,tlogic表示逻辑操作时间;
对所述逻辑操作的总时间建模后对所述优化求解器的优化进行约束。
进一步地,在本发明的一个实施例中,还包括:
根据各个逻辑门接收到的输入信号的最大延迟对逻辑门进行编号,根据逻辑门的编号将所述基础逻辑门网表文件划分为多个子电路模块,通过所述优化求解器按顺序对所述多个子电路模块进行优化,将各个子电路模块的优化结果进行合并。
为达到上述目的,本发明另一方面实施例提出了一种基于非易失器件的通用逻辑综合方法装置,包括:
第一综合模块,用于获取基础逻辑门描述文件和电路描述文件,将所述基础逻辑门描述文件和所述电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件;
第二综合模块,用于根据映射规则生成器和所述基础逻辑门描述文件生成逻辑门位置约束关系,以所述逻辑门位置约束关系、所述基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。
本发明实施例的基于非易失器件的通用逻辑综合方法装置,通过取基础逻辑门描述文件和电路描述文件,将基础逻辑门描述文件和电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件,根据映射规则生成器和基础逻辑门描述文件生成逻辑门位置约束关系,以逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。基于非易失器件的通用逻辑综合工具,提出面向非易失逻辑实现方法的统一抽象描述,在逻辑实现层面考虑物理内存限制及延时、能效优化,并进一步对逻辑综合工具的运行时间进行加速优化,可以基于任何非易失基本逻辑实现方案进行逻辑综合,其通用性和可扩展性远远优于现有任何类似工作。
另外,根据本发明上述实施例的基于非易失器件的通用逻辑综合方法装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述第一综合模块,还用于,
对多种非易失逻辑进行通用抽象描述,将通用抽象描述后的多种非易失逻辑表示为所述基础逻辑门描述文件。
进一步地,在本发明的一个实施例中,所述第二综合模块,还用于,
根据逻辑门的可并行条件和所述实际内存约束建立逻辑门操作模型;
通过所述逻辑门操作模型对所述优化求解器的优化进行约束。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的基于非易失器件的通用逻辑综合方法流程图;
图2为根据本发明一个实施例的基于非易失器件的通用逻辑综合方法流程框图;
图3为根据本发明一个实施例的MAGIC及MAJ的抽象描述示意图;
图4为根据本发明一个实施例的逻辑门操作模型示意图;
图5为根据本发明一个实施例的逻辑综合加速优化算法流程示意图;
图6为根据本发明一个实施例的多种非易失逻辑方法的综合结果比较图;
图7为根据本发明一个实施例的与已有逻辑综合工作对比示意图;
图8为根据本发明一个实施例的加速方法实验结果对比示意图;
图9为根据本发明一个实施例的基于非易失器件的通用逻辑综合装置结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于非易失器件的通用逻辑综合方法及装置。
首先将参照附图描述根据本发明实施例提出的基于非易失器件的通用逻辑综合方法。
图1为根据本发明一个实施例的基于非易失器件的通用逻辑综合方法流程图。
如图1所示,该基于非易失器件的通用逻辑综合方法包括以下步骤:
步骤S101,获取基础逻辑门描述文件和电路描述文件,将基础逻辑门描述文件和电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件。
进一步地,在本发明的一个实施例中,对多种非易失逻辑进行通用抽象描述,将通用抽象描述后的多种非易失逻辑表示为基础逻辑门描述文件。
如图2所示,展示了本发明实施例的整体框架,首先,提出了非易失逻辑通用抽象描述方法,将多种类型的非易失逻辑方法表述为形式统一的基础逻辑门描述文件。得到基础逻辑门描述文件后,将基础逻辑门描述文件(包含逻辑门类型信息)及电路描述文件(用以表示复杂布尔逻辑函数,如Verilog文件)输入至ABC工具中进行编译,其中,ABC工具为一种开源电路综合工具。ABC工具根据基础门类型,对复杂布尔逻辑函数进行拆分,得到基础逻辑门网表文件。
如图3所示,给出了两种典型的非易失逻辑实现在该抽象描述下的表示方法(其中MAGIC属于有状态逻辑,MAJ属于无状态逻辑)。
具体地,对非易失逻辑通用抽象描述,现有的非易失逻辑实现方案分为有状态逻辑及无状态逻辑两类:前者的逻辑门输入输出变量均被表示为非易失器件的电阻值;而对于后者,电压量同样被用以表示布尔变量。因此相比于有状态逻辑,描述一个无状态非易失逻辑还需要变量表示形式(电阻或电压)及器件特性等额外信息。综合以上两类非易失逻辑,为表示任意一种基于非易失器件实现的逻辑门,需要描述如下四类特征:布尔变量表示形式、逻辑门结构(连接关系及器件个数等)、初始阻值及操作步骤(电压加载方式及操作步骤)。
在本发明的实施例中,使用如下三元组对非易失逻辑进行通用抽象描述:
(B,r,c),s.t.B∈{R,V},r∈{WL{1,…,n}},c∈{BL{1,…,n}}
其中,B表示布尔变量的表示类型:R表示电阻,V表示电压;r与c分别表示在字线(WL)和位线(BL)上的坐标,对于加载至某条字线/位线上的电压变量,其位置坐标中有一项为-1,而对于电阻变量,其位置坐标的两项均为非负值。利用不同变量三元组间坐标关系,可以表述多个器件的物理连接关系及操作序列顺序。
步骤S102,根据映射规则生成器和基础逻辑门描述文件生成逻辑门位置约束关系,以逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。
其中,优化结果包括:逻辑映射方法、操作序列、延迟和资源占用。
可以理解的是,在进行逻辑综合中,逻辑综合工具的核心为逻辑综合与映射流程,本发明实施例将非易失逻辑函数映射流程描述为内存中逻辑门位置优化问题,使用Z3优化求解器求解该位置优化问题。设计映射规则生成器根据基础逻辑门描述文件自动生成逻辑门位置约束关系,将位置约束关系及实际内存约束建模为Z3求解器的约束条件,以最小化延时为目标通过Z3优化求解器进行优化,得到优化的映射方法、操作序列、计算延时及资源占用等输出结果。
如图2所示的框图中,通过设计的映射规则生成器并根据基础逻辑门描述文件生成逻辑门位置约束关系,在逻辑综合与映射流程以及通过用优化求解器进行优化中,需要多个约束条件进行约束,包括但不限于逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束等约束条件。
具体地,在本发明的实施例中,主要考虑两方面的约束:(1)多个逻辑门的可并行条件,考虑不同非易失逻辑门加载输入/操作电压的可复用性和不同逻辑操作的先后数据依赖关系,根据逻辑门位置坐标和执行时间判断是否满足并行条件;(2)实际内存约束,实际应用场景中存在内存阵列尺寸有限制、内存本身已有数据占用等问题,在进行逻辑门位置优化时定义内存单元的可操作状态(可擦写态、脏态及被占用态)并根据内存被占用情况调整逻辑门映射位置。由于充分考虑了以上两点,本发明可以更容易在硬件资源受限的情况下得出可行解,并可以支持自定义内存单元初始状态情况下的逻辑综合求解。
如图4所示,基于上述约束条件,设计一个逻辑门操作模型生成约束条件以对优化求解器的优化进行约束。
该逻辑门操作模型包括三个阶段:输入转化阶段,输出位置清空阶段及逻辑操作阶段。
a.输入转化阶段:当逻辑门开始计算时,需要先将输入变量转化为合适的形式,消耗额外的转化时间(ttrans)。输入转化有两种情况:对于部分无状态逻辑,输入布尔变量表示为电压量,需要从存储阵列中读出变量值并转化成电压,并消耗额外的转化时间;对于有状态逻辑,逻辑门表示输入的电阻与表示输出的电阻需要满足一定的位置连接关系,否则就需要将输入变量做位置转存,消耗额外的转化时间。
b.输出位置清空阶段:由于非易失逻辑的输出变量存储在一个非易失器件中,如果该器件已经存储其他变量值,就需要对输出位置进行清空并消耗额外的清空时间(tclear)。当该被占用器件的变量值已经过期(已使用完),需要一个较短的清空时间;若该被占用器件的变量值仍有效,则需要经过一次备份操作后再进行清空,需要一个较长的清空时间。
c.逻辑操作阶段:该阶段完成逻辑操作,根据不同的逻辑类型,需要的操作步数亦存在差异,消耗逻辑操作时间(tlogic)。
根据上述三个阶段进行建模,可以计算完成一个逻辑操作的总时间:
其中,tstart和tend表示逻辑操作的起始时间和结束时间,ttrans,i表示输入转化时间,tclear.j表示输出位置清空时间,tlogic表示逻辑操作时间。对逻辑操作总时间进行建模后,我们就可以更进一步描述逻辑门优化问题:
基于上述理论,通过建立逻辑门操作模型,可以根据输入的网表文件、逻辑门的描述文件、逻辑阵列自定义状态文件自动生成所有约束条件,并将约束条件和优化目标输入Z3求解器中得到最优可行解。与已有工作对比,在内存阵列尺寸足够大时,本发明可以达到相同的综合结果,当内存阵列尺寸受限时,已有工作无法得到综合结果,但是本发明提出的逻辑综合方法仍可以正常工作得到综合结果。
进一步地,在本发明的一个实施例中,通过优化求解器进行优化时,还包括:根据各个逻辑门接收到的输入信号的最大延迟对逻辑门进行编号,根据逻辑门的编号将基础逻辑门网表文件划分为多个子电路模块,通过优化求解器按顺序对多个子电路模块进行优化,将各个子电路模块的优化结果进行合并。
具体地,由于大规模布尔逻辑函数电路结构复杂、非易失阵列尺寸规模多样,内存中逻辑门位置优化问题求解空间大,逻辑综合时间长(含有200个逻辑门电路的逻辑综合时间长达数月)。
为对逻辑综合与映射流程进行加速,本发明的实施例还提出基于电路划分的逻辑综合加速策略。该策略利用分治的思想,根据各逻辑门接受到输入信号的最大延时对逻辑门进行标号,基于逻辑门标号将原始大规模电路网表文件划分为数个子电路模块。为降低分块造成的额外负担,加速策略采用“维持-拓展阵列尺寸-传递映射结果”的方法:按顺序对子模块进行映射,维持前序子模块映射结果,拓展阵列尺寸后在前序子模块映射的基础上对后续子模块进行映射。
具体算法如图5所示。在实验中,对于同一组测试集,在使用加速优化方法之前,综合时间约为2~7天,使用加速优化方法后仅需1~15分钟,加速比可以达1000倍。
可以理解的是,本发明的实施例提出了非易失逻辑的通用抽象描述方法,可以描述目前所有的非易失基本逻辑实现方案,使得本发明实施例可以基于任何非易失基本逻辑实现方案进行逻辑综合,其通用性和可扩展性远远优于现有任何类似工作。同时将忆阻器交叉阵列的初始状态纳入考虑中,支持自定义初始阵列条件下的逻辑综合操作,更具实用性。
在优化中,建立了通用的逻辑门操作模型,支持逻辑计算和转化、擦除等多种复杂的操作,相比于现有逻辑综合方法,可以在硬件更为受限的情况下获得可行解。
在电路规模较大时,采用逻辑综合流程加速优化方法,大大降低了计算复杂度,相比于现有逻辑综合方法可以达到1000倍的加速比,有效解决了综合时间过长的问题。
下面通过具体实施例说明本发明实施例的优越性。
逻辑综合流程在多个逻辑综合测试样例、多种非易失基本逻辑实现方案下进行了测试,为测试本发明方案的正确性和通用性,在相同的测试样本下,使用所设计的通用抽象描述方法对典型的三种非易失逻辑实现方法进行测试(MAGIC,IMPLY,MAJ),均能正确实现逻辑综合,其性能结果如图6所示,图6的表格中最左边一列是不同的测试样例名称,最上方一行是三种不同的非易失逻辑方法(MAGIC、IMPLY和MAJ),并标明了所使用Crosbar的尺寸;L表示计算延时周期数,#Cell表示使用的忆阻器单元数。
在MAGIC逻辑实现方法下,对本发明和已有工作SimpleMAGIC进行对比,结果如图7所示。通过实验结果可知,与已有工作对比,在内存阵列尺寸足够大时,本发明实施例提出的逻辑综合结果可以达到相同的综合结果,当内存阵列尺寸受限时,已有工作无法得到综合结果,但是本项目提出的逻辑综合方法仍可以正常工作得到综合结果。图7的表格中第一列是测试样例名称,第二列是所使用的crossbar尺寸,第三、四列是SimpleMAGIC的结果,第五、六列是本发明的结果;L表示计算延时周期数,#Cell表示使用的忆阻器单元数。
为测试逻辑综合流程加速优化方法的性能,在多个测试样本上,将加速前后的运行时间进行对比,结果如图8所示。在使用加速优化方法之前,综合时间约为2~7天,使用加速优化方法后仅需1~15分钟,加速比可以达1000倍,而所使用的Crossbar面积仅有少量增加。图8的表格中最左边一列是测试样例的名称,第二、三列是本发明采用加速算法前的性能数据,其用时均超过2天;第四、五列是本发明采用加速算法后的性能数据;L表示计算延时周期数,Area表示使用的Crossbar阵列大小,Time表示完成逻辑综合所需要的时间(以秒为单位)。
根据本发明实施例提出的基于非易失器件的通用逻辑综合方法,通过取基础逻辑门描述文件和电路描述文件,将基础逻辑门描述文件和电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件,根据映射规则生成器和基础逻辑门描述文件生成逻辑门位置约束关系,以逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。基于非易失器件的通用逻辑综合工具,提出面向非易失逻辑实现方法的统一抽象描述,在逻辑实现层面考虑物理内存限制及延时、能效优化,并进一步对逻辑综合工具的运行时间进行加速优化,可以基于任何非易失基本逻辑实现方案进行逻辑综合,其通用性和可扩展性远远优于现有任何类似工作。
其次参照附图描述根据本发明实施例提出的基于非易失器件的通用逻辑综合装置。
图9为根据本发明一个实施例的基于非易失器件的通用逻辑综合装置结构示意图。
如图9所示,该基于非易失器件的通用逻辑综合装置包括:第一综合模块100和第二综合模块200。
第一综合模块,用于获取基础逻辑门描述文件和电路描述文件,将基础逻辑门描述文件和电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件;
第二综合模块,用于根据映射规则生成器和基础逻辑门描述文件生成逻辑门位置约束关系,以逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。
该装置基于非易失器件的通用逻辑综合工具,提出面向非易失逻辑实现方法的统一抽象描述,在逻辑实现层面考虑物理内存限制及延时、能效优化,并进一步对逻辑综合工具的运行时间进行加速优化。
进一步地,在本发明的一个实施例中,第一综合模块,还用于,
对多种非易失逻辑进行通用抽象描述,将通用抽象描述后的多种非易失逻辑表示为基础逻辑门描述文件。
进一步地,在本发明的一个实施例中,第二综合模块,还用于,
根据逻辑门的可并行条件和实际内存约束建立逻辑门操作模型;
通过逻辑门操作模型对优化求解器的优化进行约束。
需要说明的是,前述对基于非易失器件的通用逻辑综合方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
根据本发明实施例提出的基于非易失器件的通用逻辑综合装置,通过取基础逻辑门描述文件和电路描述文件,将基础逻辑门描述文件和电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件,根据映射规则生成器和基础逻辑门描述文件生成逻辑门位置约束关系,以逻辑门位置约束关系、基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果。基于非易失器件的通用逻辑综合工具,提出面向非易失逻辑实现方法的统一抽象描述,在逻辑实现层面考虑物理内存限制及延时、能效优化,并进一步对逻辑综合工具的运行时间进行加速优化,可以基于任何非易失基本逻辑实现方案进行逻辑综合,其通用性和可扩展性远远优于现有任何类似工作。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种基于非易失器件的通用逻辑综合方法,其特征在于,包括以下步骤:
获取基础逻辑门描述文件和电路描述文件,将所述基础逻辑门描述文件和所述电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件;
根据映射规则生成器和所述基础逻辑门描述文件生成逻辑门位置约束关系,以所述逻辑门位置约束关系、所述基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果;
还包括:
对多种非易失逻辑进行通用抽象描述,将通用抽象描述后的多种非易失逻辑表示为所述基础逻辑门描述文件;
所述对多种非易失逻辑进行通用抽象描述,包括:
通过三元组对非易失逻辑进行通用抽象描述:
(B,r,c),s.t.B∈{R,V},r∈{WL{1,...,n}},c∈{BL{1,...,n}}
其中,B表示布尔变量的表示类型,R表示电阻,V表示电压,r与c分别表示在字线WL和位线BL上的坐标。
2.根据权利要求1所述的基于非易失器件的通用逻辑综合方法,其特征在于,所述优化结果包括:逻辑映射方法、操作序列、延迟和资源占用。
3.根据权利要求1所述的基于非易失器件的通用逻辑综合方法,其特征在于,还包括:
根据逻辑门的可并行条件和所述实际内存约束建立逻辑门操作模型;
通过所述逻辑门操作模型对所述优化求解器的优化进行约束。
5.根据权利要求1所述的基于非易失器件的通用逻辑综合方法,其特征在于,还包括:
根据各个逻辑门接收到的输入信号的最大延迟对逻辑门进行编号,根据逻辑门的编号将所述基础逻辑门网表文件划分为多个子电路模块,通过所述优化求解器按顺序对所述多个子电路模块进行优化,将各个子电路模块的优化结果进行合并。
6.一种基于非易失器件的通用逻辑综合方法装置,其特征在于,包括:
第一综合模块,用于获取基础逻辑门描述文件和电路描述文件,将所述基础逻辑门描述文件和所述电路描述文件输入开源电路综合工具中进行编译生成基础逻辑门网表文件;
第二综合模块,用于根据映射规则生成器和所述基础逻辑门描述文件生成逻辑门位置约束关系,以所述逻辑门位置约束关系、所述基础逻辑门网表文件和实际内存约束为约束条件,以最小延迟为优化目标,输入优化求解器进行优化,生成优化结果;
所述第一综合模块,还用于,
对多种非易失逻辑进行通用抽象描述,将通用抽象描述后的多种非易失逻辑表示为所述基础逻辑门描述文件;
所述对多种非易失逻辑进行通用抽象描述,包括:
通过三元组对非易失逻辑进行通用抽象描述:
(B,r,c),s.t.B∈{R,V},r∈{WL{1,...,n}},c∈{BL{1,...,n}}
其中,B表示布尔变量的表示类型,R表示电阻,V表示电压,r与c分别表示在字线WL和位线BL上的坐标。
7.根据权利要求6所述的基于非易失器件的通用逻辑综合方法装置,其特征在于,所述第二综合模块,还用于,
根据逻辑门的可并行条件和所述实际内存约束建立逻辑门操作模型;
通过所述逻辑门操作模型对所述优化求解器的优化进行约束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005612.9A CN110765710B (zh) | 2019-10-22 | 2019-10-22 | 基于非易失器件的通用逻辑综合方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005612.9A CN110765710B (zh) | 2019-10-22 | 2019-10-22 | 基于非易失器件的通用逻辑综合方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765710A CN110765710A (zh) | 2020-02-07 |
CN110765710B true CN110765710B (zh) | 2021-11-30 |
Family
ID=69332636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911005612.9A Active CN110765710B (zh) | 2019-10-22 | 2019-10-22 | 基于非易失器件的通用逻辑综合方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765710B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257365B (zh) * | 2020-12-08 | 2021-03-12 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于几何信息并行建立时序图的方法 |
CN113609803B (zh) * | 2021-06-20 | 2024-05-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种dc综合时序优化方法、装置、设备及存储介质 |
CN117217147B (zh) * | 2023-09-21 | 2024-06-07 | 苏州异格技术有限公司 | 一种用于fpga的逻辑映射方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006190211A (ja) * | 2005-01-07 | 2006-07-20 | Matsushita Electric Ind Co Ltd | 論理合成装置、回路設計方法及びプログラム |
CN101821737A (zh) * | 2007-07-23 | 2010-09-01 | 新思公司 | 构架物理综合 |
JP2014225134A (ja) * | 2013-05-16 | 2014-12-04 | 日本電気株式会社 | 不揮発性論理集積回路設計支援システム |
CN106407535A (zh) * | 2016-09-06 | 2017-02-15 | 北京深维科技有限公司 | 一种基于现场可编程门阵列芯片的工艺映射方法 |
CN107122565A (zh) * | 2017-05-12 | 2017-09-01 | 山东大学 | 基于非易失性存储器的fpga bram架构与设计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831273B (zh) * | 2012-08-30 | 2015-02-04 | 锐迪科科技有限公司 | 包含双边沿触发器的数字集成电路设计方法 |
CN107194075B (zh) * | 2017-05-24 | 2020-11-17 | 上海安路信息科技有限公司 | 可编程逻辑器件的连线结构以及布线布局系统和方法 |
CN109284578B (zh) * | 2018-02-27 | 2021-06-01 | 上海安路信息科技股份有限公司 | 逻辑电路布局布线方法、图形化显示方法及其系统 |
-
2019
- 2019-10-22 CN CN201911005612.9A patent/CN110765710B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006190211A (ja) * | 2005-01-07 | 2006-07-20 | Matsushita Electric Ind Co Ltd | 論理合成装置、回路設計方法及びプログラム |
CN101821737A (zh) * | 2007-07-23 | 2010-09-01 | 新思公司 | 构架物理综合 |
JP2014225134A (ja) * | 2013-05-16 | 2014-12-04 | 日本電気株式会社 | 不揮発性論理集積回路設計支援システム |
JP6253048B2 (ja) * | 2013-05-16 | 2017-12-27 | 国立大学法人東北大学 | 不揮発性論理集積回路設計支援システム |
CN106407535A (zh) * | 2016-09-06 | 2017-02-15 | 北京深维科技有限公司 | 一种基于现场可编程门阵列芯片的工艺映射方法 |
CN107122565A (zh) * | 2017-05-12 | 2017-09-01 | 山东大学 | 基于非易失性存储器的fpga bram架构与设计方法 |
Non-Patent Citations (2)
Title |
---|
Mosaic: An Automated Synthesis Flow for Boolean Logic Basedon Memristor Crossbar;L.Xie et al;《The 24th Asia and South Pacific Design Automation Conference》;20190131;全文 * |
Simple magic:Synthesis and in-memory Mapping of logic execution for memristor-aided logic;Rotem Ben Hur et al;《2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)》;20171116;第225-232页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110765710A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765710B (zh) | 基于非易失器件的通用逻辑综合方法及装置 | |
Chen et al. | ReGAN: A pipelined ReRAM-based accelerator for generative adversarial networks | |
WO2018171717A1 (zh) | 面向神经网络处理器的自动化设计方法和系统 | |
WO2019118041A1 (en) | Concurrent training of functional subnetworks of a neural network | |
US11544548B2 (en) | Processing element and neural processing device including same | |
JP6177993B2 (ja) | 半導体装置および情報処理装置 | |
US20220188604A1 (en) | Method and Apparatus for Performing a Neural Network Operation | |
US20200090051A1 (en) | Optimization problem operation method and apparatus | |
CN113313247B (zh) | 基于数据流架构的稀疏神经网络的运算方法 | |
CN113010099A (zh) | 有效地利用存储器空间的神经网络处理设备及其操作方法 | |
CN103870335B (zh) | 用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法 | |
CN108491924B (zh) | 一种面向人工智能计算的神经网络数据串行流水处理装置 | |
Han et al. | A novel ReRAM-based processing-in-memory architecture for graph computing | |
US11650793B2 (en) | Processing element, neural processing device including same, and method for calculating thereof | |
Luo et al. | Codg-reram: An algorithm-hardware co-design to accelerate semi-structured gnns on reram | |
Zhu et al. | Mnsim 2.0: A behavior-level modeling tool for processing-in-memory architectures | |
Yan et al. | On the viability of using LLMs for SW/HW co-design: An example in designing CiM DNN accelerators | |
Zhu et al. | A general logic synthesis framework for memristor-based logic design | |
US11733763B2 (en) | Intelligent low power modes for deep learning accelerator and random access memory | |
CN116663491A (zh) | 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质 | |
Chen et al. | Efficient process-in-memory architecture design for unsupervised gan-based deep learning using reram | |
Lu et al. | A runtime reconfigurable design of compute-in-memory–based hardware accelerator for deep learning inference | |
Inglese et al. | Memristive logic-in-memory implementations: A comparison | |
Feinberg et al. | Modeling analog tile-based accelerators using sst | |
Coluccio et al. | Hybrid-SIMD: A modular and reconfigurable approach to beyond von Neumann computing |
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 | ||
GR01 | Patent grant |