CN117077616B - 一种基于结构导向的电路生成方法、装置、设备及介质 - Google Patents
一种基于结构导向的电路生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117077616B CN117077616B CN202311339233.XA CN202311339233A CN117077616B CN 117077616 B CN117077616 B CN 117077616B CN 202311339233 A CN202311339233 A CN 202311339233A CN 117077616 B CN117077616 B CN 117077616B
- Authority
- CN
- China
- Prior art keywords
- circuit
- preset
- parameters
- generating
- initial abstract
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 238000012795 verification Methods 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 25
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 2
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012800 visualization 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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- 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/3312—Timing analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及电路生成技术领域,公开了一种基于结构导向的电路生成方法、装置、设备及介质,包括:获取用户的预设电路结构参数,并根据预设动态权重决策机制对电路结构参数进行动态重置;基于动态重置后的电路结构参数来根据预设电路生成算法生成初始抽象电路,并对初始抽象电路进行有效性和可行性验证;对通过验证后的初始抽象电路进行解析,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。本发明能够根据用户指定的多种电路结构参数,快速、准确且高效地生成符合特定结构的最佳电路,满足特定应用场景的需求,且电路生成过程灵活性高、可扩展性高,能够降低人力成本和投入成本。
Description
技术领域
本发明涉及电路生成技术领域,具体涉及一种基于结构导向的电路生成方法、装置、设备及介质。
背景技术
在电子设计自动化 (EDA) 的进程中,电路的设计和生成一直是核心活动之一。传统上,电路设计主要集中在其功能性和效能上,即工程师们设计电路是为了满足特定的功能需求。为了达到这些目标,工程师们使用各种设计工具和方法,包括使用Verilog、VHDL等硬件描述语言来描述电路的功能。
然而,随着EDA领域的发展和复杂性的增加,一种新的需求应运而生。在某些场景下,如工具测试或算法优化,电路的实际功能并不是主要关注点。相反,工程师们更关心的是电路的具体结构,例如电路的Fanout、多时钟域的配置等。这些结构性的特点对于验证工具的性能和准确性,以及优化算法的效果都是至关重要的。
考虑到这种变化,传统的电路设计方法主要关心的是功能,而不是结构,但是手动创建这些特定的结构性电路是非常费时、低效且容易出错的。
发明内容
有鉴于此,本发明提供了一种基于结构导向的电路生成方法、装置、设备及介质,以解决手动创建结构性电路低效且易出错的问题。
第一方面,本发明提供了一种基于结构导向的电路生成方法,方法包括:
获取用户的预设电路结构参数,并根据预设动态权重决策机制对电路结构参数进行动态重置;
基于动态重置后的电路结构参数来根据预设电路生成算法生成初始抽象电路,并对初始抽象电路进行有效性和可行性验证;
对通过验证后的初始抽象电路进行解析,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。
本发明实施例提供的基于结构导向的电路生成方法,通过获取用户的预设电路结构参数并进行动态重置,根据预设电路生成算法生成对应的初始抽象电路,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。本发明能够根据用户指定的多种电路结构参数,快速、准确且高效地生成符合特定结构的最佳电路,满足特定应用场景的需求,且电路生成过程灵活性高、可扩展性高,能够降低人力成本和投入成本。
在一种可选的实施方式中,预设电路结构参数,包括:不变参数和可变参数;不变参数,包括:电路类型、基础逻辑单元类型、电路关键路径时延和是否含有多个时钟;可变参数,包括:电路规模、电路关键路径数量、电路IO数量和电路最大扇出数量。
本发明通过提供可变参数供用户根据应用场景进行设定,同时设定不变参数来保证生成电路的正确性与可用性,能够最大程度上为设计者提供前所未有的灵活性和定制性,可以轻松地满足特定的设计要求,并减少了后续的修正成本。
在一种可选的实施方式中,电路类型,包括:时序逻辑电路或组合逻辑电路;电路规模为基础逻辑单元数量;基础逻辑单元类型为预设逻辑单元库中所包含基础逻辑单元的类型;电路关键路径时延和电路关键路径数量用于确定电路时序;电路最大扇出数量用于确定电路负载程度;电路IO数量用于确定电路可用性;是否含有多个时钟用于确定电路是否生成衍生时钟。
本发明获取的电路相关参数均为结构参数,在电路设计过程中重视电路的结构而非其功能,能够满足特定应用场景的需求。
在一种可选的实施方式中,预设动态权重决策机制,包括:预设参数优先级和各参数对应的预设动态允许范围;预设参数优先级,包括:不变参数为最高优先级,电路关键路径数量和电路最大扇出数量为中优先级,电路规模和电路IO数量为低优先级;预设动态允许范围根据预设的电路结构参数权重比例确定。
本发明通过对获取的用户预设电路结构参数进行动态重置,能够防止用户的设置不合适,而且各个参数会有重叠的约束限制,因此根据设定的动态允许范围将部分参数根据用户的值进行范围内设置,提高电路生成过程的自动化程度,从而降低人力成本和投入成本。
在一种可选的实施方式中,初始抽象电路以有向无环图进行表示,生成有向无环图的过程,包括:将基础逻辑单元、电路IO抽象为有向无环图的节点,并根据基础逻辑单元的类型决定不同节点的入度和出度,其中,有向无环图中所有节点的最大出度小于等于电路最大扇出数量,且至少一个节点的出度等于电路最大扇出数量;根据电路关键路径时延确定有向无环图中节点的最大层级,并按照层级递增顺序生成用户设定数量的电路关键路径;根据不同节点的入度和出度生成具有层级跳跃的其他路径;由节点、电路关键路径及其他路径确定有向无环图。
在一种可选的实施方式中,对初始抽象电路进行有效性和可行性验证的过程,包括:检查初始抽象电路是否满足用户提供的预设电路结构参数,并检查电路连线的正确性。
本发明根据用户提供的参数生成一张符合要求的有向无环图,能够在生成最终电路前将电路关键结构进行确定,而且方便对电路的有效性和可行性进行验证,确保满足用户需求。
在一种可选的实施方式中,预设电路模板库为Verilog模板库,对应生成的最终的电路为Verilog代码。
本发明通过用户设定的电路结构参数生成普遍适用、具有指定结构的Verilog代码,能够满足用户需求,且基于模板库的设计意味着该方法可以轻松地进行扩展,以满足未来的电路设计需求和挑战。
第二方面,本发明提供了一种基于结构导向的电路生成装置,装置包括:
结构参数处理模块,用于获取用户的预设电路结构参数,并根据预设动态权重决策机制对电路结构参数进行动态重置;
第一电路生成模块,用于基于动态重置后的电路结构参数来根据预设电路生成算法生成初始抽象电路,并对初始抽象电路进行有效性和可行性验证;
第二电路生成模块,用于对通过验证后的初始抽象电路进行解析,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。
本发明实施例提供的基于结构导向的电路生成装置,获取用户的预设电路结构参数并进行动态重置,根据预设电路生成算法生成对应的初始抽象电路,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。本发明能够根据用户指定的多种电路结构参数,快速、准确且高效地生成符合特定结构的最佳电路,满足特定应用场景的需求,且电路生成过程灵活性高、可扩展性高,能够降低人力成本和投入成本。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的基于结构导向的电路生成方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的基于结构导向的电路生成方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的基于结构导向的电路生成方法的流程示意图;
图2是根据本发明实施例的基于结构导向的电路生成方法的有向无环图;
图3是根据本发明实施例的基于结构导向的电路生成装置的结构框图;
图4是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例适用于通过特定结构电路验证工具性能和准确性,以及优化算法效果的场景。本发明实施例提供了一种基于结构导向的电路生成方法,通过根据用户设定的电路结构参数生成电路以达到高效、准确、自动生成特定结构电路的效果。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种基于结构导向的电路生成方法,可用于上述的计算机,图1是根据本发明实施例的基于结构导向的电路生成方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取用户的预设电路结构参数,并根据预设动态权重决策机制对电路结构参数进行动态重置。
具体地,在本发明实施例中,获取用户根据特定场景输入参数,通过模式匹配技术能够根据预先定义的不同的参数获取用户输入的参数值,参数预先制定了数据类型和可选值,并加入用户提示和容错机制,从而确保不同的用户能够正确输入并且都能被准确地解析,并转换为初步的电路结构参数,包括与电路结构相关的不变参数和可变参数。其中,设定不变参数来保证生成电路的正确性与可用性,包括:电路类型、基础逻辑单元类型、电路关键路径时延和是否含有多个时钟;同时提供可变参数供用户根据应用场景进行设定,包括:电路规模、电路关键路径数量、电路IO数量和电路最大扇出数量。以上参数具体描述如下:
1.电路类型包括:时序逻辑电路或组合逻辑电路。
2.电路规模为基础逻辑单元数量。电路规模与基础逻辑单元的数量紧密联系,通过控制基础逻辑单元的数量就可以控制一个电路的规模。本发明实施例用户可以输入一个数值,这个数值代表了生成电路的规模,即基础逻辑单元的数量,但不以此为限。
3.基础逻辑单元类型为预设逻辑单元库中所包含基础逻辑单元的类型。本发明实施例通过用户指定的参数来控制电路的基础逻辑单元的类别,将该参数可设置为一个逻辑单元库文件,该库文件包含所需要的逻辑单元的类型。例如给一个库文件a.lib,该库文件包含异格公司FPGA芯片的原语(primitive),即FPGA中实际拥有的硬件逻辑单元,包括:LUT(Look up Table,查找表)、FF(Flip Flop,触发器)、 CARRY(进位逻辑)等,那么生成的电路的基础逻辑单元的类型就会在a.lib的范围里,不会产生其余的基础逻辑单元。本发明实施例也可将该库文件设置为与或非门一类的原语,只要提供的该库文件和后续Verilog模型库匹配即可。
4.电路关键路径(critical path)时延和电路关键路径(critical path)数量用于确定电路时序。在电路中,时序是衡量电路和芯片优劣的一个重要指标值,例如最差保持时序裕量(Worst Negative Slack,WNS)是EDA和算法评估的一项重要指标,而关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径,也就是说关键路径是对设计性能起决定性影响的时序路径。
5.电路IO(Input Port,输入端口、Output Port,输出端口)数量用于确定电路可用性。由于电路在EDA工具上板的过程中会受到芯片的IO 数量的影响,故电路需要控制输入输出的数量以保证电路的可用性。
6.电路最大扇出数量(Fanout)用于确定电路负载程度。在实际电路中,每一个调用primitive所产生的实体、Port可以驱动的元件数量是有限的,所以必须控制最大扇出数量,控制该参数可以控制电路的负载程度。
7.是否含有多个时钟用于确定电路是否生成衍生时钟。
在一种可选的实施方式中,本发明实施例在获取用户设定的预设电路结构参数后,会根据已经制定好的预设动态权重决策机制对各参数进行动态重置,预设动态权重决策机制包括:预设参数优先级和各参数对应的预设动态允许范围。其中,考虑到用户在设置参数时会出现设置的参数不合适,以及各个参数会有重叠的约束限制,所以给各个参数设置了预设参数优先级,包括:不变参数为最高优先级,电路关键路径数量和电路最大扇出数量Fanout为中优先级,电路规模和电路IO数量为低优先级。在整个电路结构中,会根据优先级的设置满足用户的要求。
在一种可选的实施方式中,在满足不变参数的前提下,再根据预设的电路结构参数权重比例确定参数的动态允许范围,在动态允许范围内随机取值。例如用户设置规模大小为M,系统根据预设的动态范围随机选取FF为20%M,LUT为30%M等;再将Fanout设置为N,系统会控制有20%M个基础逻辑单元的Fanout在90%N~110%N内,仅作为举例,不以此为限。
步骤S102,基于动态重置后的电路结构参数来根据预设电路生成算法生成初始抽象电路,并对初始抽象电路进行有效性和可行性验证。
具体地,在本发明实施例中,以最终动态权重调整后的各参数为输入,生成初始抽象电路,并以有向无环图(DAG,Directed Acyclic Graph)来表示,还可以使用图像可视化工具DOT进行可视化。生成有向无环图的过程如下:将基础逻辑单元、电路IO抽象为有向无环图的节点,并根据基础逻辑单元的类型决定不同节点的入度和出度,其中,有向无环图中所有节点的最大出度小于等于电路最大扇出数量,且至少一个节点的出度等于电路最大扇出数量;根据电路关键路径时延确定有向无环图中节点的最大层级,并按照层级递增顺序生成用户设定数量N的电路关键路径,即能够生成N条按层级不跳跃的关键路径;根据不同节点的入度和出度生成具有层级跳跃的其他路径;由节点、电路关键路径及其他路径确定有向无环图。例如,用户设置critical path的数量为2,critical path的时延delay为3,电路规模为8,生成初始抽象电路的有向无环图如图2所示。可以看到,该初始抽象电路图共13个节点,每个节点代表不同的primitive,3个Input Port,2个Output Port,7个logic cell(逻辑单元),1个FF,最大delay为3,critical path为2,其中critical path如图2中实线箭头构成层级不跳跃路径所示。
在一种可选的实施方式中,当生成初始抽象电路后,还需对电路结构的有效性和可行性进行验证,验证部分将检查生成的抽象电路图是否满足所有用户提供的电路结构参数要求,并检查连线的正确性,尤其检查clk的连接,确保其不会在实际使用中出现问题。
步骤S103,对通过验证后的初始抽象电路进行解析,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。
具体地,在本发明实施例中,对初始抽象电路验证通过后进行解析,根据初始抽象电路图的各个节点的属性值,在Verilog模板库中选择相应的模板,自动填充和替换模板中的各种占位符,生成完整的Verilog代码,但不以此为限。其中,Verilog模板库中预存了多种电路结构、基础逻辑单元的Verilog描述模板。
此外,在确定预设电路结构参数中基础逻辑单元类型时所参考的预设逻辑单元库要与此处的Verilog模板库相对应,否则无法产生Verilog代码。
本发明实施例提供的基于结构导向的电路生成方法,通过获取用户的预设电路结构参数并进行动态重置,根据预设电路生成算法生成对应的初始抽象电路,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。本发明能够根据用户指定的多种电路结构参数,快速、准确且高效地生成符合特定结构的最佳电路,满足特定应用场景的需求,且电路生成过程灵活性高、可扩展性高,能够降低人力成本和投入成本。
本实施例提供一种基于结构导向的电路生成装置,如图3所示,包括:
结构参数处理模块301,用于获取用户的预设电路结构参数,并根据预设动态权重决策机制对电路结构参数进行动态重置;
第一电路生成模块302,用于基于动态重置后的电路结构参数来根据预设电路生成算法生成初始抽象电路,并对初始抽象电路进行有效性和可行性验证;
第二电路生成模块303,用于对通过验证后的初始抽象电路进行解析,并根据预设电路模板库对初始抽象电路进行填充和修改,生成最终的电路。
在一些可选的实施方式中,结构参数处理模块301包括:
参数解析和转换单元,用于获取用户的预设电路结构参数,包括:不变参数和可变参数;不变参数,包括:电路类型、基础逻辑单元类型、电路关键路径时延和是否含有多个时钟;可变参数,包括:电路规模、电路关键路径数量、电路IO数量和电路最大扇出数量。其中,电路类型,包括:时序逻辑电路或组合逻辑电路;电路规模为基础逻辑单元数量;基础逻辑单元类型为预设逻辑单元库中所包含基础逻辑单元的类型;电路关键路径时延和电路关键路径数量用于确定电路时序;电路最大扇出数量用于确定电路负载程度;电路IO数量用于确定电路可用性;是否含有多个时钟用于确定电路是否生成衍生时钟。
动态权重决策单元,用于通过预设动态权重决策机制对预设电路结构参数进行动态重置,预设动态权重决策机制包括:预设参数优先级和各参数对应的预设动态允许范围。其中,预设参数优先级,包括:不变参数为最高优先级,电路关键路径数量和电路最大扇出数量为中优先级,电路规模和电路IO数量为低优先级;预设动态允许范围根据预设的电路结构参数权重比例确定。
在一些可选的实施方式中,第一电路生成模块302包括:
初始抽象电路生成单元,用于根据预设电路结构参数生成初始抽象电路,初始抽象电路以有向无环图进行表示,生成有向无环图的过程,包括:将基础逻辑单元、电路IO抽象为有向无环图的节点,并根据基础逻辑单元的类型决定不同节点的入度和出度,其中,有向无环图中所有节点的最大出度小于等于电路最大扇出数量,且至少一个节点的出度等于电路最大扇出数量;根据电路关键路径时延确定有向无环图中节点的最大层级,并按照层级递增顺序生成用户设定数量的电路关键路径;根据不同节点的入度和出度生成具有层级跳跃的其他路径;由节点、电路关键路径及其他路径确定有向无环图。
初始抽象电路验证单元,用于对初始抽象电路进行有效性和可行性验证的过程,包括:检查初始抽象电路是否满足用户提供的预设电路结构参数,并检查电路连线的正确性。
在一些可选的实施方式中,第二电路生成模块303包括:
电路模板库提供单元,用于提供电路所需模板,本发明实施例以Verilog模板库为例,但不以此为限。
电路自动生成单元,用于对初始抽象电路验证通过后进行解析,根据初始抽象电路图的各个节点的属性值,在Verilog模板库中选择相应的模板,自动填充和替换模板中的各种占位符,生成完整的Verilog代码,但不以此为限。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的基于结构导向的电路生成装置是以功能单元的形式来呈现,这里的单元是指FPGA(Field Programmable Gate Array,现场可编程门阵列)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图3所示的基于结构导向的电路生成装置。
请参阅图4,图4是本发明可选实施例提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.一种基于结构导向的电路生成方法,其特征在于,包括:
获取用户的预设电路结构参数,并根据预设动态权重决策机制对所述电路结构参数进行动态重置,其中,所述预设电路结构参数包括:不变参数和可变参数;所述不变参数包括:电路类型、基础逻辑单元类型、电路关键路径时延和是否含有多个时钟;所述可变参数包括:电路规模、电路关键路径数量、电路IO数量和电路最大扇出数量,所述预设动态权重决策机制包括:预设参数优先级和各参数对应的预设动态允许范围;
基于动态重置后的电路结构参数来根据预设电路生成算法生成初始抽象电路,并对所述初始抽象电路进行有效性和可行性验证,所述初始抽象电路以有向无环图进行表示,生成所述有向无环图的过程,包括:将基础逻辑单元、电路IO抽象为所述有向无环图的节点,并根据所述基础逻辑单元的类型决定不同节点的入度和出度,其中,所述有向无环图中所有节点的最大出度小于等于所述电路最大扇出数量,且至少一个节点的出度等于电路最大扇出数量;根据所述电路关键路径时延确定所述有向无环图中节点的最大层级,并按照层级递增顺序生成用户设定数量的电路关键路径;根据不同节点的入度和出度生成具有层级跳跃的其他路径;由所述节点、电路关键路径及其他路径确定所述有向无环图;
对通过验证后的初始抽象电路进行解析,并根据预设电路模板库对所述初始抽象电路进行填充和修改,生成最终的电路。
2.根据权利要求1所述的方法,其特征在于,
所述电路类型,包括:时序逻辑电路或组合逻辑电路;
所述电路规模为基础逻辑单元数量;
所述基础逻辑单元类型为预设逻辑单元库中所包含基础逻辑单元的类型;
所述电路关键路径时延和所述电路关键路径数量用于确定电路时序;
所述电路最大扇出数量用于确定电路负载程度;
所述电路IO数量用于确定电路可用性;
所述是否含有多个时钟用于确定电路是否生成衍生时钟。
3.根据权利要求1所述的方法,其特征在于,
所述预设参数优先级,包括:所述不变参数为最高优先级,所述电路关键路径数量和所述电路最大扇出数量为中优先级,所述电路规模和所述电路IO数量为低优先级;
所述预设动态允许范围根据预设的电路结构参数权重比例确定。
4.根据权利要求1所述的方法,其特征在于,所述对所述初始抽象电路进行有效性和可行性验证的过程,包括:检查所述初始抽象电路是否满足用户提供的预设电路结构参数,并检查电路连线的正确性。
5.根据权利要求1所述的方法,其特征在于,所述预设电路模板库为Verilog模板库,对应生成的最终的电路为Verilog代码。
6.一种基于结构导向的电路生成装置,其特征在于,所述装置包括:
结构参数处理模块,用于获取用户的预设电路结构参数,并根据预设动态权重决策机制对所述电路结构参数进行动态重置,其中,所述预设电路结构参数包括:不变参数和可变参数;所述不变参数包括:电路类型、基础逻辑单元类型、电路关键路径时延和是否含有多个时钟;所述可变参数包括:电路规模、电路关键路径数量、电路IO数量和电路最大扇出数量,所述预设动态权重决策机制包括:预设参数优先级和各参数对应的预设动态允许范围;
第一电路生成模块,用于基于动态重置后的电路结构参数来根据预设电路生成算法生成初始抽象电路,并对所述初始抽象电路进行有效性和可行性验证,所述初始抽象电路以有向无环图进行表示,生成所述有向无环图的过程,包括:将基础逻辑单元、电路IO抽象为所述有向无环图的节点,并根据所述基础逻辑单元的类型决定不同节点的入度和出度,其中,所述有向无环图中所有节点的最大出度小于等于所述电路最大扇出数量,且至少一个节点的出度等于电路最大扇出数量;根据所述电路关键路径时延确定所述有向无环图中节点的最大层级,并按照层级递增顺序生成用户设定数量的电路关键路径;根据不同节点的入度和出度生成具有层级跳跃的其他路径;由所述节点、电路关键路径及其他路径确定所述有向无环图;
第二电路生成模块,用于对通过验证后的初始抽象电路进行解析,并根据预设电路模板库对所述初始抽象电路进行填充和修改,生成最终的电路。
7.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至5中任一项所述的基于结构导向的电路生成方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至5中任一项所述的基于结构导向的电路生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311339233.XA CN117077616B (zh) | 2023-10-17 | 2023-10-17 | 一种基于结构导向的电路生成方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311339233.XA CN117077616B (zh) | 2023-10-17 | 2023-10-17 | 一种基于结构导向的电路生成方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117077616A CN117077616A (zh) | 2023-11-17 |
CN117077616B true CN117077616B (zh) | 2024-01-26 |
Family
ID=88713798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311339233.XA Active CN117077616B (zh) | 2023-10-17 | 2023-10-17 | 一种基于结构导向的电路生成方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117077616B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090969A (zh) * | 2019-12-19 | 2020-05-01 | 北京华大九天软件有限公司 | 一种基于eda工具的平板显示器版图生成方法 |
CN113919275A (zh) * | 2020-09-21 | 2022-01-11 | 台积电(南京)有限公司 | 用于优化集成电路的布局的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230139623A1 (en) * | 2021-11-02 | 2023-05-04 | Nvidia Corporation | Data path circuit design using reinforcement learning |
-
2023
- 2023-10-17 CN CN202311339233.XA patent/CN117077616B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090969A (zh) * | 2019-12-19 | 2020-05-01 | 北京华大九天软件有限公司 | 一种基于eda工具的平板显示器版图生成方法 |
CN113919275A (zh) * | 2020-09-21 | 2022-01-11 | 台积电(南京)有限公司 | 用于优化集成电路的布局的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117077616A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6026228A (en) | Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus | |
US8234617B2 (en) | Method and system for re-using digital assertions in a mixed signal design | |
US7367006B1 (en) | Hierarchical, rules-based, general property visualization and editing method and system | |
KR20210149045A (ko) | 인공 지능 칩 검증 | |
CN112100949A (zh) | 集成电路芯片的自动开发方法及装置、电子设备 | |
US8196075B1 (en) | Generation of input/output models | |
CN114912391A (zh) | 寄存器设计和验证模型自动生成方法、装置、设备及介质 | |
CN109902318B (zh) | 生成标准延时格式文件的方法和装置 | |
Simpson | FPGA design | |
CN114548006A (zh) | 集成电路的验证方法、装置、电子设备、存储介质 | |
EP1376413A1 (en) | Test bench generator for integrated circuits, particularly memories | |
CN111624475B (zh) | 大规模集成电路的测试方法及系统 | |
CN117350205A (zh) | 芯片的验证方法、装置、电子设备和存储介质 | |
CN117077616B (zh) | 一种基于结构导向的电路生成方法、装置、设备及介质 | |
US9996656B2 (en) | Detecting dispensable inverter chains in a circuit design | |
CN112731117A (zh) | 芯片的自动验证方法和系统,及存储介质 | |
US7315803B1 (en) | Verification environment creation infrastructure for bus-based systems and modules | |
US10235486B2 (en) | Method, apparatus and system for automatically deriving parameters for an interconnect | |
JP5447547B2 (ja) | マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN113868046A (zh) | 一种pad控制单元的功能验证方法、系统及相关组件 | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
CN114416460A (zh) | 分析基带性能的方法和仿真系统 | |
CN114218032A (zh) | 一种硬件设计验证方法、装置及电子设备和存储介质 | |
US10796051B1 (en) | Adaptive model interface for a plurality of EDA programs |
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 |