CN111950225A - 一种芯片布局方法、装置、存储介质和电子设备 - Google Patents
一种芯片布局方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN111950225A CN111950225A CN202010812473.7A CN202010812473A CN111950225A CN 111950225 A CN111950225 A CN 111950225A CN 202010812473 A CN202010812473 A CN 202010812473A CN 111950225 A CN111950225 A CN 111950225A
- Authority
- CN
- China
- Prior art keywords
- layout
- chip
- logic diagram
- model
- sample
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000010586 diagram Methods 0.000 claims abstract description 258
- 238000012549 training Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000002427 irreversible effect Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- 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/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开提供了一种芯片布局方法、装置、存储介质和电子设备,其中,该芯片布局方法包括获取待布局芯片执行的逻辑图以及待布局芯片对应的设备列表;利用预先训练好的布局模型,基于逻辑图和设备列表确定待布局芯片的布局图;其中,布局图至少包括每个设备在待布局芯片中的放置位置。本公开利用预先训练好的布局模型来进行芯片布局,可通过逻辑图和设备列表快速得到待布局芯片的布局图,相较于人工进行芯片布局极大的缩短了消耗的时间,提高了芯片布局的效率;并且,利用训练好的布局模型进行大量的机器运算,相较于人工计算准确性较高,也即提高了芯片布局的准确性。
Description
技术领域
本公开涉及芯片设计技术领域,具体而言,涉及一种芯片布局方法、装置、存储介质和电子设备。
背景技术
芯片是指内含集成电路的硅片;其以功耗低、体积小、运行速度快的优势,常常被用作计算机或其他电子设备的一部分。在生产芯片的过程中,芯片布局是一项复杂且耗时巨大的任务,因为该过程涉及到集成电路逻辑和实现电路逻辑的多种设备,同时还需要兼顾设备属性以及电路设计原则等。
当前,通过设计芯片的专业人员来根据已知的逻辑图,进行多次试验、查错、校正、再试验等,以将每个设备放置在硅片的某个位置上,进而完成芯片布局。通过人工布局的方式不仅消耗的时间较长,芯片布局的效率较低;并且布局过程复杂,即使专业人员也无法避免产生疏漏,导致芯片布局准确性较差。
发明内容
有鉴于此,本公开的目的在于提供一种芯片布局方法、装置、存储介质和电子设备,能够避免现有技术中通过人工布局的方式不仅消耗的时间较长,芯片布局的效率较低,并且过程复杂,易产生疏漏,布局准确性较差的问题。
第一方面,本公开提供了一种芯片布局方法,其中,包括:
获取待布局芯片执行的逻辑图以及所述待布局芯片对应的设备列表;
利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图;其中,所述布局图至少包括每个设备在所述待布局芯片中的放置位置。
在一种可能的实施方式中,所述利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图,包括:
获取所述待布局芯片的第一属性数据、每个所述设备的第二属性数据及布线规则;
利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图;
其中,所述第一属性数据至少包括所述待布局芯片的面积;所述第二属性数据至少包括每个设备的功耗、性能及尺寸大小;所述布线规则至少包括布线密度、互连原则及不可交叉原则。
在一种可能的实施方式中,所述利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图,包括:
将所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则输入至所述布局模型中,所述布局模型依次输出每个所述设备在所述待布局芯片中的放置位置;
基于所有所述设备在所述待布局芯片中的放置位置确定所述布局图。
在一种可能的实施方式中,按照以下步骤对所述布局模型进行训练:
获取K个逻辑图样本,以及每个所述逻辑图样本对应的设备列表样本;
针对每个所述逻辑图样本,获取该逻辑图样本中每类操作样本的操作类型、每类操作样本对应的子设备列表样本、每个操作样本的输入或输出;
基于所述操作类型、所述子设备列表样本以及所述每个操作样本的输入或输出确定每个所述操作样本的级联信息;
基于每个所述操作样本的级联信息和所述布局模型的当前模型参数确定每个所述逻辑图样本的当前布局图;
基于K个所述当前布局图以及每个所述逻辑图样本对应的布局图样本,计算每轮训练的误差值;
在所述误差值大于设定值的情况下,调整所述布局模型的当前模型参数并重新确定所述当前布局图和所述误差值,直至所述误差值小于或等于所述设定值。
在一种可能的实施方式中,还包括利用如下公式对所述布局模型进行优化:
其中,K表示所述逻辑图样本的数量;r(Pi)表示基于第i个逻辑图样本完成布局的布局时长样本;B表示所述逻辑样本图的时间基线;u表示所述逻辑图样本中操作样本的输入或输出。
在一种可能的实施方式中,所述芯片布局方法还包括:
获取所述布局模型基于所述逻辑图确定所述布局图的布局时长;
在所述布局时长与所述逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找所述布局时长对应的多个历史布局时长;
基于所述布局时长和多个所述历史布局时长对所述布局模型的模型参数进行更新。
第二方面,本公开还提供了一种芯片布局装置,其中,包括:
获取模块,用于获取待布局芯片执行的逻辑图以及所述待布局芯片对应的设备列表;
第一确定模块,用于利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图;其中,所述布局图包括每个设备在所述待布局芯片中的放置位置。
在一种可能的实施方式中,所述芯片布局装置还包括:
第二确定模块,用于获取所述布局模型基于所述逻辑图确定所述布局图的布局时长;
查找模块,用于在所述布局时长与所述逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找所述布局时长对应的多个历史布局时长;
更新模块,用于基于所述布局时长和多个所述历史布局时长对所述布局模型的模型参数进行更新。
第三方面,本公开还提供了一种计算机可读存储介质,其中,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如所述的芯片布局方法的步骤。
第四方面,本公开还提供了一种电子设备,其中,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如所述的芯片布局方法的步骤。
本公开利用预先训练好的布局模型来进行芯片布局,可通过逻辑图和设备列表快速得到待布局芯片的布局图,相较于人工进行芯片布局极大的缩短了消耗的时间,提高了芯片布局的效率;并且,利用训练好的布局模型进行大量的机器运算,相较于人工计算准确性较高,也即提高了芯片布局的准确性。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开所提供的一种芯片布局方法的流程图;
图2示出了本公开所提供的一种芯片布局方法中执行步骤102的流程图;
图3示出了本公开所提供的一种芯片布局方法中执行步骤202的流程图;
图4示出了本公开所提供的一种芯片布局方法中训练布局模型的流程图;
图5示出了本公开所提供的一种芯片布局方法中对布局模型进行更新的流程图;
图6示出了本公开所提供的一种芯片布局装置的结构示意图;
图7示出了本公开所提供的电子设备的结构示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更加清楚,下面将结合本公开的附图,对本公开的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
本公开第一方面提供一种芯片布局方法,利用该芯片布局方法进行芯片布局,能够提高芯片布局的效率以及准确性,在一定程度上还能够节约成本。接下来,对芯片布局方法进行详细阐述。
图1示出了本公开的一种芯片布局方法的流程图,具体步骤如下:
S101,获取待布局芯片执行的逻辑图以及待布局芯片对应的设备列表。
在具体实施中,基于待布局芯片的使用环境、待布局芯片需要实现的功能等预先确定一个逻辑图,该逻辑图即为待布局芯片需要执行的逻辑图,其包括执行的操作以及每个操作的执行顺序等,例如将输入进行与门逻辑运算,并将结果输出等。
基于待布局芯片执行的逻辑图以及专业人员自身的布局经验能够进一步地确定需要在待布局芯片上放置哪些种类的设备,例如晶体管、电阻、电容、电感等,以及每个种类的设备的规格、数量、功率等,即可得到待布局芯片对应的设备列表。
S102,利用预先训练好的布局模型,基于逻辑图和设备列表确定待布局芯片的布局图;其中,布局图至少包括每个设备在待布局芯片中的放置位置。
在获取到待布局芯片执行的逻辑图和待布局芯片对应的设备列表之后,将其输入至预先训练好的布局模型中,也即利用布局模型中的预设参数和计算规则对逻辑图和设备列表进行计算,以得到待布局芯片的布局图;其中,布局图包括每个设备在待布局芯片中的放置位置。
具体地,参照图2所示的方法来利用预先训练好的布局模型,基于逻辑图和设备列表确定待布局芯片的布局图,其中,具体步骤如下:
S201,获取待布局芯片的第一属性数据、每个设备的第二属性数据及布线规则。
考虑到待布局芯片的使用环境可能会对待布局芯片产生一定的要求,例如待布局芯片不能超过预设尺寸、使用时的功率等,以及每个设备的一些属性数据可能会影响功能的实现等,因此,在进行芯片布局的过程中,需要获取待布局芯片的第一属性数据以及每个设备的第二属性数据;其中,第一属性数据至少包括待布局芯片的面积,也即待布局芯片的尺寸;第二属性数据至少包括设备列表中每个设备的功耗、性能及尺寸大小,其中,设备的性能至少包括设备运行时所能承受的温度、湿度、压力等。
进一步地,由于芯片布局涉及到实际设备在芯片上的放置位置及连接情况,因此,在进行芯片布局的过程中,还需要遵循一定的布线规则,例如布线密度限制、互连原则及不可交叉原则等。
S202,利用预先训练好的布局模型,基于逻辑图、设备列表、第一属性数据、第二属性数据和布线规则确定待布局芯片的布局图。
在获取到第一属性数据、第二属性数据和布线规则之后,利用预先训练好的布局模型,基于逻辑图、设备列表、第一属性数据、第二属性数据和布线规则确定待布局芯片的布局图,进而能够确保布局图的准确性,也即确保芯片布局的准确性。
进一步地,参照图3所示的方法来利用预先训练好的布局模型,基于逻辑图、设备列表、第一属性数据、第二属性数据和布线规则确定待布局芯片的布局图,其中,具体步骤如下:
S301,将逻辑图、设备列表、第一属性数据、第二属性数据和布线规则输入至布局模型中,布局模型依次输出每个设备在待布局芯片中的放置位置。
在具体实施中,将逻辑图、设备列表、第一属性数据、第二属性数据和布线规则作为输入,并输入至布局模型中;布局模型在输出结果的时候是一次输出一个设备的放置位置,并且,基于布局模型中包括的递归神经网络,当前输出的设备的放置位置受前一次输出的设备的放置位置的影响,例如第二次输出的设备的放置位置受第一次输出的设备的放置位置的影响,第三次输出的设备的放置位置受第二次输出的设备的放置位置的影响,因此,布局模型依次输出每个设备在待布局芯片中的放置位置。其中,布局模型第一次输出的设备可以是随机确定的;也可以是基于逻辑图确定的,例如,将逻辑图中执行操作最多的节点对应的设备作为第一次输出的设备;还可以是基于设备列表确定的,例如将使用数量最少的设备中的一个作为第一次输出的设备等,本公开实施例对此不做具体限定。
S302,基于所有设备在待布局芯片中的放置位置确定布局图。
在确定出所有设备在待布局芯片中的放置位置之后,便将每个设备按照其在待布局芯片中的放置位置放置在待布局芯片上,以得到待布局芯片的布局图。本实施例中,待布局芯片的布局图可以是利用模拟设备进行模拟放置得到的模拟布局图,也可以通过列表形式详细描述每个设备所放置的位置和互相之间的连接关系,或者能表示出准确的放置情况以及连接情况的其他表示形式均可。
本公开实施例利用预先训练好的布局模型来进行芯片布局,可通过逻辑图和设备列表快速得到待布局芯片的布局图,相较于人工进行芯片布局极大的缩短了消耗的时间,提高了芯片布局的效率;并且,利用训练好的布局模型进行大量的机器运算,相较于人工计算准确性较高,也即提高了芯片布局的准确性;进一步地,由于存在一些不可逆的操作,例如设备为一次性使用的,也即将该设备放置在待布局芯片上之后无法进行拆卸再次使用,因此,在芯片布局的准确性较高的情况下,也就在一定程度上避免了一些不可逆的操作,避免了材料浪费,节约成本。
本公开实施例还提供了布局模型的训练方法,其流程图如图4所示,主要包括如下步骤:
S401,获取K个逻辑图样本,以及每个逻辑图样本对应的设备列表样本。
获取K个逻辑图样本,其中,逻辑图样本为已经完成芯片布局的历史逻辑图,优选地为已经使用一段时间的芯片对应的历史逻辑图,能够确保该历史逻辑图对应的布局图样本更为准确,进而确保训练得到的布局模型更为准确。进一步地,该K个逻辑图样本的类型可以相同也可以不同,逻辑图样本的类型可以基于使用环境、使用目的等进行划分;当然,若训练样本的类型相同,也即针对同一类型的逻辑图样本训练一个布局模型,则该布局模型在针对同样类型的逻辑图所输出的布局图更为准确,针对性更强;若训练样本的类型不同,也即用多种类型的逻辑图样本训练一个布局模型,则该布局模型可以适用于更广泛的应用场景,适用性更强。
在训练过程中,由于逻辑图样本为已经完成芯片布局的历史逻辑图,因此每个逻辑图样本对应的设备列表样本为已知的。
S402,针对每个逻辑图样本,获取该逻辑图样本中每类操作样本的操作类型、每类操作样本对应的子设备列表样本、每个操作样本的输入或输出。
进一步地,每个逻辑图样本中包括多个操作样本,例如设备1的输入、设备2的输出等;针对每个逻辑图样本,将逻辑图样本的所有操作样本进行分类,并得到每类操作样本的操作类型。在模型的训练过程中,可以利用一个带有方向性的嵌入向量表示每类操作样本的操作类型,且可以通过调整该操作类型对应的嵌入向量中的参数和/或方向来表示该类操作样本中的一个操作样本。
在将逻辑图样本的所有操作样本进行分类之后,由于每类操作样本包括一个或多个操作样本,基于每个操作样本对应的设备,便能够确定每类操作样本对应的子设备列表样本,子设备列表样本包括该类操作样本中每个操作样本对应的设备。
针对每个操作样本均存在输入或输出,这里,也可以用一个向量表示该输入或输出。
S403,基于操作类型、子设备列表样本以及每个操作样本的输入或输出确定每个操作样本的级联信息。
具体地,可以将每类操作样本的操作类型对应的嵌入向量、子设备列表样本以及每个操作样本的输入或输出对应的向量进行结合,例如顺次叠加等,进而得到级联信息,该级联信息也可以为向量,其能够同时标识每类操作样本的操作类型、子设备列表样本以及每个操作样本的输入或输出。
S404,基于每个操作样本的级联信息和布局模型的当前模型参数确定每个逻辑图样本的当前布局图。
利用布局模型的当前模型参数对每个操作样本的级联信息进行计算,得到每个设备的布置位置,进而得到逻辑图样本的当前布局图,即在本轮训练中所得到的训练结果,其中,当前模型参数包括在本轮训练中所使用的预设参数和计算规则等。
S405,基于K个当前布局图以及每个逻辑图样本对应的布局图样本,计算每轮训练的误差值。
通过布局模型能够确定每个逻辑图样本在本轮训练中对应的当前布局图,并且,每个逻辑图样本均对应有布局图样本,该布局图样本即为基于逻辑图样本设计出的实际的布局图。
基于每个逻辑图样本对应的布局图样本及当前布局图计算训练的误差值,其中,该误差值用以表示设备在当前布局图中的位置与在布局图样本中的位置存在的偏差,每个设备偏差的角度和距离均会影响误差值的大小。具体地,在确定误差值时,可以分别计算每个逻辑图样本对应的子误差值,得到K个子误差值;也可以计算K个逻辑图样本对应的总误差值,该总误差值为利用所有子误差值计算得到的,例如求和,求平均值等。本公开实施例对具体使用多个子误差值还是使用一个总误差值不作限定,只要能够基于该误差值进行布局模型的模型参数调整即可。
S406,在误差值大于设定值的情况下,调整布局模型的当前模型参数并重新确定当前布局图和误差值,直至误差值小于或等于设定值。
在确定出误差值之后,将该误差值与预先设置的设定值进行对比,在误差值大于设定值的情况下,也即该轮训练中使用的布局模型准确率较低,则调整该布局模型的当前模型参数,并利用调整后的模型参数重新执行S404-S405的步骤,也即基于调整后的模型参数重新确定当前布局图和误差值,如此循环,直至误差值小于或等于设定值,则确定当前的布局模型完成训练。需要注意的是,在使用多个子误差值进行参数调整时,需要分别针对每个子误差值与设定值进行对比,在多个子误差值中的任意一个子误差值大于设定值的情况下,均可认为当前模型参数存在不合理之处,需要进行调整,只有在一轮训练中,所有子误差值均小于设定值时,才会认为当前布局模型完成训练。
值得说明的是,在第一属性数据、第二属性数据及布线规则固定不变的情况下,则可以直接将第一属性数据、第二属性数据及布线规则嵌入在布局模型中,无需在每轮训练中重复进行输入,这在一定程度上能够提高训练效率。
具体地,在调整布局模型的当前模型参数时,还可以利用如下公式对所述布局模型进行优化:
其中,K表示所述逻辑图样本的数量;r(Pi)表示基于第i个逻辑图样本完成布局的布局时长样本;B表示所述逻辑图样本的时间基线;u表示所述逻辑图样本中操作样本的输入或输出。
利用上述公式优化后的布局模型,能够得到更准确的模型参数,进而优化布局模型的使用效果,提升了芯片布局的准确性。
在具体实施中,可以采用机器翻译神经网络、卷积神经网络等来实现布局模型。经训练及验证可知,在布局模型采用机器翻译神经网络进行芯片布局,并且使用4个GPU进行验证时,确定一个设备的放置位置的速度相较于人工确定的速度提高了20.6%;在布局模型采用卷积神经网络进行芯片布局,并且使用4个GPU进行验证时,确定一个设备的放置位置的速度相较于人工确定的速度提高了16.3%。可见,不同的神经网络产生的效果也不相同,最终选择输出的布局图较为准确且布局时长较短的即可。
在具体实施中,任何模型都需要不断的进行更新以提高其输出的准确性。本公开实施例中,可以周期性或实时的对布局模型进行更新,以确保布局模型的准确性及高效性。具体地,如图5示出了对布局模型进行更新的方法流程图,其中,具体步骤如下:
S501,获取布局模型基于逻辑图确定布局图的布局时长。
在每次使用布局模型基于逻辑图确定布局图之后,获取布局模型完成芯片布局的布局时长,也即将逻辑图输入至布局模型的第一时刻与布局模型输出所有设备的放置位置的第二时刻之间确定的时长。
S502,在布局时长与逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找布局时长对应的多个历史布局时长。
这里,可以实时的将获取到的布局时长与逻辑图的时间基线进行对比,也即实时对布局模型进行更新;也可以在获取到预设数量的布局时长之后,将预设数量的每个布局时长与对应逻辑图的时间基线分别进行对比,也即周期性的对布局模型进行更新等。其中,逻辑图的时间基线为预先确定的理论上得到该逻辑图对应的布局图的基本时长。
考虑到布局模型的使用频率相对较低,且更新时消耗的时间较长、资源较多,因此,本公开实施例优选地采用周期性的对布局模型进行更新这一方案。具体地,在布局时长与逻辑图的时间基线之间的差值大于预设阈值时,可以认为在当前布局图中存在一个或多个设备的放置位置的出现偏差,此时,基于预设规则查找布局时长对应的多个历史布局时长。其中,历史布局时长还可以包括当前布局的后一次或后几次芯片布局的布局时长等,其具体的选择根据实际情况而定,本公开实施例对此不做具体限定。
在具体实施中,将每次使用布局模型时对应的逻辑图、设备列表、布局图、布局时长等均进行存储,以能够利用存储的数据对布局模型进行更新。
S503,基于布局时长和多个历史布局时长对布局模型的模型参数进行更新。
在查找到布局时长对应的多个历史布局之后,查看该布局时长前一次进行芯片布局的历史布局时长与前一次逻辑图的时间基线之间的差值是否也大于预设阈值,若否,则确定前一次进行芯片布局时导致了布局模型参数出现异常,利用布局模型重新验证前一次的芯片布局,进而对布局模型的异常进行调整。
当然,若该布局时长前一次进行芯片布局的历史布局时长与前一次逻辑图的时间基线之间的差值也大于预设阈值,则可以顺次查看该布局时长前两次进行芯片布局的布局时长,以此类推,直至确定使得布局模型的模型参数异常的节点。
具体地,在利用布局模型重新验证前一次的芯片布局的过程中,可以设置一个模拟器与布局模型进行通信,在布局模型输出一个设备的放置位置之后,模拟器实时获取布局模型输出的设备的放置位置,模拟器中的执行器则按照设备的放置位置将设备放置在待布局芯片上,进而基于模拟器的模拟结果,对布局模型的异常进行调整。其中,考虑到布局模型是依次输出每个设备的放置位置,存在布局模型输出了多个设备的放置位置时,模拟器还未将第一个设备完成放置,此时,可以在模拟器中设置多个执行器,每个执行器进行一个设备的放置,但,执行器的数量也不宜过多,避免执行器空闲,浪费资源。
本公开的第二方面提供了一种与芯片布局方法对应的芯片布局装置,由于本公开中的装置解决问题的原理与本公开上述芯片布局方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图6所示,芯片布局装置包括:获取模块10和第一确定模块20,上述模块相互耦合。其中,获取模块10,用于获取待布局芯片执行的逻辑图以及所述待布局芯片对应的设备列表。
在具体实施中,基于待布局芯片的使用环境、待布局芯片需要实现的功能等预先确定一个逻辑图,该逻辑图即为待布局芯片需要执行的逻辑图,其包括执行的操作以及每个操作的执行顺序等,例如将输入进行与门逻辑运算,并将结果输出等。
基于待布局芯片执行的逻辑图以及专业人员自身的布局经验能够进一步地确定需要在待布局芯片上放置哪些种类的设备,例如晶体管、电阻、电容、电感等,以及每个种类的设备的规格、数量、功率等,即可得到待布局芯片对应的设备列表。
第一确定模块20,用于利用预先训练好的布局模型,基于逻辑图和设备列表确定待布局芯片的布局图;其中,布局图至少包括每个设备在待布局芯片中的放置位置。
在获取到待布局芯片执行的逻辑图和待布局芯片对应的设备列表之后,将其输入至预先训练好的布局模型中,也即利用布局模型中的预设参数和计算规则对逻辑图和设备列表进行计算,以得到待布局芯片的布局图;其中,布局图包括每个设备在待布局芯片中的放置位置。
具体地,第一确定模块20包括:
获取单元201,用于获取待布局芯片的第一属性数据、每个设备的第二属性数据及布线规则。
考虑到待布局芯片的使用环境可能会对待布局芯片产生一定的要求,例如待布局芯片不能超过预设尺寸、使用时的功率等,以及每个设备的一些属性数据可能会影响功能的实现等,因此,在进行芯片布局的过程中,需要获取待布局芯片的第一属性数据以及每个设备的第二属性数据;其中,第一属性数据至少包括待布局芯片的面积,也即待布局芯片的尺寸;第二属性数据至少包括设备列表中每个设备的功耗、性能及尺寸大小,其中,设备的性能至少包括设备运行时所能承受的温度、湿度、压力等。
进一步地,由于芯片布局涉及到实际设备在芯片上的放置位置及连接情况,因此,在进行芯片布局的过程中,还需要遵循一定的布线规则,例如布线密度限制、互连原则及不可交叉原则等。
确定单元202,用于利用预先训练好的布局模型,基于逻辑图、设备列表、第一属性数据、第二属性数据和布线规则确定待布局芯片的布局图。
在获取到第一属性数据、第二属性数据和布线规则之后,利用预先训练好的布局模型,基于逻辑图、设备列表、第一属性数据、第二属性数据和布线规则确定待布局芯片的布局图,进而能够确保布局图的准确性,也即确保芯片布局的准确性。
进一步地,确定单元202具体用于将逻辑图、设备列表、第一属性数据、第二属性数据和布线规则输入至布局模型中,布局模型依次输出每个设备在待布局芯片中的放置位置。
在具体实施中,将逻辑图、设备列表、第一属性数据、第二属性数据和布线规则作为输入,并输入至布局模型中;布局模型在输出结果的时候是一次输出一个设备的放置位置,并且,基于布局模型中包括的递归神经网络,当前输出的设备的放置位置受前一次输出的设备的放置位置的影响,例如第二次输出的设备的放置位置受第一次输出的设备的放置位置的影响,第三次输出的设备的放置位置受第二次输出的设备的放置位置的影响,因此,布局模型依次输出每个设备在待布局芯片中的放置位置。其中,布局模型第一次输出的设备可以是随机确定的;也可以是基于逻辑图确定的,例如,将逻辑图中执行操作最多的节点对应的设备作为第一次输出的设备;还可以是基于设备列表确定的,例如将使用数量最少的设备中的一个作为第一次输出的设备等,本公开实施例对此不做具体限定。
确定单元202还具体用于基于所有设备在待布局芯片中的放置位置确定布局图。在确定出所有设备在待布局芯片中的放置位置之后,便将每个设备按照其在待布局芯片中的放置位置放置在待布局芯片上,以得到待布局芯片的布局图。本实施例中,待布局芯片的布局图可以是利用模拟设备进行模拟放置得到的模拟布局图,也可以通过列表形式详细描述每个设备所放置的位置和互相之间的连接关系,或者能表示出准确的放置情况以及连接情况的其他表示形式均可。
本公开实施例利用预先训练好的布局模型来进行芯片布局,可通过逻辑图和设备列表快速得到待布局芯片的布局图,相较于人工进行芯片布局极大的缩短了消耗的时间,提高了芯片布局的效率;并且,利用训练好的布局模型进行大量的机器运算,相较于人工计算准确性较高,也即提高了芯片布局的准确性;进一步地,由于存在一些不可逆的操作,例如设备为一次性使用的,也即将该设备放置在待布局芯片上之后无法进行拆卸再次使用,因此,在芯片布局的准确性较高的情况下,也就在一定程度上避免了一些不可逆的操作,避免了材料浪费,节约成本。
本公开实施例的芯片布局装置还包括训练模块30,用于:获取K个逻辑图样本,以及每个逻辑图样本对应的设备列表样本,其中,逻辑图样本为已经完成芯片布局的历史逻辑图,优选地为已经使用一段时间的芯片对应的历史逻辑图,能够确保该历史逻辑图对应的布局图样本更为准确,进而确保训练得到的布局模型更为准确。进一步地,该K个逻辑图样本的类型可以相同也可以不同,逻辑图样本的类型可以基于使用环境、使用目的等进行划分;当然,若训练样本的类型相同,也即针对同一类型的逻辑图样本训练一个布局模型,则该布局模型在针对同样类型的逻辑图所输出的布局图更为准确,针对性更强;若训练样本的类型不同,也即用多种类型的逻辑图样本训练一个布局模型,则该布局模型可以适用于更广泛的应用场景,适用性更强。
在训练过程中,由于逻辑图样本为已经完成芯片布局的历史逻辑图,因此每个逻辑图样本对应的设备列表样本为已知的。
训练模块30,还用于针对每个逻辑图样本,获取该逻辑图样本中每类操作样本的操作类型、每类操作样本对应的子设备列表样本、每个操作样本的输入或输出。
进一步地,每个逻辑图样本中包括多个操作样本,例如设备1的输入、设备2的输出等;针对每个逻辑图样本,将逻辑图样本的所有操作样本进行分类,并得到每类操作样本的操作类型。在模型的训练过程中,可以利用一个带有方向性的嵌入向量表示每类操作样本的操作类型,且可以通过调整该操作类型对应的嵌入向量中的参数和/或方向来表示该类操作样本中的一个操作样本。
在将逻辑图样本的所有操作样本进行分类之后,由于每类操作样本包括一个或多个操作样本,基于每个操作样本对应的设备,便能够确定每类操作样本对应的子设备列表样本,子设备列表样本包括该类操作样本中每个操作样本对应的设备。
针对每个操作样本均存在输入或输出,这里,也可以用一个向量表示该输入或输出。
训练模块30,还用于基于操作类型、子设备列表样本以及每个操作样本的输入或输出确定每个操作样本的级联信息。具体地,可以将每类操作样本的操作类型对应的嵌入向量、子设备列表样本以及每个操作样本的输入或输出对应的向量进行结合,例如顺次叠加等,进而得到级联信息,该级联信息也可以为向量,其能够同时标识每类操作样本的操作类型、子设备列表样本以及每个操作样本的输入或输出。
训练模块30,还用于基于每个操作样本的级联信息和布局模型的当前模型参数确定每个逻辑图样本的当前布局图。
利用布局模型的当前模型参数对每个操作样本的级联信息进行计算,得到每个设备的布置位置,进而得到逻辑图样本的当前布局图,即在本轮训练中所得到的训练结果,其中,当前模型参数包括在本轮训练中所使用的预设参数和计算规则等。
训练模块30,还用于基于K个当前布局图以及每个逻辑图样本对应的布局图样本,计算每轮训练的误差值。
通过布局模型能够确定每个逻辑图样本在本轮训练中对应的当前布局图,并且,每个逻辑图样本均对应有布局图样本,该布局图样本即为基于逻辑图样本设计出的实际的布局图。
基于每个逻辑图样本对应的布局图样本及当前布局图计算训练的误差值,其中,该误差值用以表示设备在当前布局图中的位置与在布局图样本中的位置存在的偏差,每个设备偏差的角度和距离均会影响误差值的大小。具体地,在确定误差值时,可以分别计算每个逻辑图样本对应的子误差值,得到K个子误差值;也可以计算K个逻辑图样本对应的总误差值,该总误差值为利用所有子误差值计算得到的,例如求和,求平均值等。本公开实施例对具体使用多个子误差值还是使用一个总误差值不作限定,只要能够基于该误差值进行布局模型的模型参数调整即可。
训练模块30,还用于在误差值大于设定值的情况下,调整布局模型的当前模型参数并重新确定当前布局图和误差值,直至误差值小于或等于设定值。
在确定出误差值之后,将该误差值与预先设置的设定值进行对比,在误差值大于设定值的情况下,也即该轮训练中使用的布局模型准确率较低,则调整该布局模型的当前模型参数,并利用调整后的模型参数重新执行基于每个操作样本的级联信息和布局模型的当前模型参数确定每个逻辑图样本的当前布局图和基于K个当前布局图以及每个逻辑图样本对应的布局图样本,计算每轮训练的误差值,也即基于调整后的模型参数重新确定当前布局图和误差值,如此循环,直至误差值小于或等于设定值,则确定当前的布局模型完成训练。需要注意的是,在使用多个子误差值进行参数调整时,需要分别针对每个子误差值与设定值进行对比,在多个子误差值中的任意一个子误差值大于设定值的情况下,均可认为当前模型参数存在不合理之处,需要进行调整,只有在一轮训练中,所有子误差值均小于设定值时,才会认为当前布局模型完成训练。
值得说明的是,在第一属性数据、第二属性数据及布线规则固定不变的情况下,则可以直接将第一属性数据、第二属性数据及布线规则嵌入在布局模型中,无需在每轮训练中重复进行输入,这在一定程度上能够提高训练效率。
具体地,在调整布局模型的当前模型参数时,还可以利用如下公式对所述布局模型进行优化:
其中,K表示所述逻辑图样本的数量;r(Pi)表示基于第i个逻辑图样本完成布局的布局时长样本;B表示所述逻辑图样本的时间基线;u表示所述逻辑图样本中操作样本的输入或输出。
利用上述公式优化后的布局模型,能够得到更准确的模型参数,进而优化布局模型的使用效果,提升了芯片布局的准确性。
在具体实施中,可以采用机器翻译神经网络、卷积神经网络等来实现布局模型。经训练及验证可知,在布局模型采用机器翻译神经网络进行芯片布局,并且使用4个GPU进行验证时,确定一个设备的放置位置的速度相较于人工确定的速度提高了20.6%;在布局模型采用卷积神经网络进行芯片布局,并且使用4个GPU进行验证时,确定一个设备的放置位置的速度相较于人工确定的速度提高了16.3%。可见,不同的神经网络产生的效果也不相同,最终选择输出的布局图较为准确且布局时长较短的即可。
在具体实施中,任何模型都需要不断的进行更新以提高其输出的准确性。本公开实施例中,可以周期性或实时的对布局模型进行更新,以确保布局模型的准确性及高效性。具体地,芯片布局装置还包括第二确定模块40、查找模块50以及更新模块60,第二确定模块40用于获取布局模型基于逻辑图确定布局图的布局时长。
在每次使用布局模型基于逻辑图确定布局图之后,获取布局模型完成芯片布局的布局时长,也即将逻辑图输入至布局模型的第一时刻与布局模型输出所有设备的放置位置的第二时刻之间确定的时长。
查找模块50,用于在布局时长与逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找布局时长对应的多个历史布局时长。
这里,可以实时的将获取到的布局时长与逻辑图的时间基线进行对比,也即实时对布局模型进行更新;也可以在获取到预设数量的布局时长之后,将预设数量的每个布局时长与对应逻辑图的时间基线分别进行对比,也即周期性的对布局模型进行更新等。其中,逻辑图的时间基线为预先确定的理论上得到该逻辑图对应的布局图的基本时长。
考虑到布局模型的使用频率相对较低,且更新时消耗的时间较长、资源较多,因此,本公开实施例优选地采用周期性的对布局模型进行更新这一方案。具体地,在布局时长与逻辑图的时间基线之间的差值大于预设阈值时,可以认为在当前布局图中存在一个或多个设备的放置位置的出现偏差,此时,基于预设规则查找布局时长对应的多个历史布局时长。其中,历史布局时长还可以包括当前布局的后一次或后几次芯片布局的布局时长等,其具体的选择根据实际情况而定,本公开实施例对此不做具体限定。
在具体实施中,将每次使用布局模型时对应的逻辑图、设备列表、布局图、布局时长等均进行存储,以能够利用存储的数据对布局模型进行更新。
更新模块60,用于基于布局时长和多个历史布局时长对布局模型的模型参数进行更新。
在查找到布局时长对应的多个历史布局之后,查看该布局时长前一次进行芯片布局的历史布局时长与前一次逻辑图的时间基线之间的差值是否也大于预设阈值,若否,则确定前一次进行芯片布局时导致了布局模型参数出现异常,利用布局模型重新验证前一次的芯片布局,进而对布局模型的异常进行调整。
当然,若该布局时长前一次进行芯片布局的历史布局时长与前一次逻辑图的时间基线之间的差值也大于预设阈值,则可以顺次查看该布局时长前两次进行芯片布局的布局时长,以此类推,直至确定使得布局模型的模型参数异常的节点。
具体地,在利用布局模型重新验证前一次的芯片布局的过程中,可以设置一个模拟器与布局模型进行通信,在布局模型输出一个设备的放置位置之后,模拟器实时获取布局模型输出的设备的放置位置,模拟器中的执行器则按照设备的放置位置将设备放置在待布局芯片上,进而基于模拟器的模拟结果,对布局模型的异常进行调整。其中,考虑到布局模型是依次输出每个设备的放置位置,存在布局模型输出了多个设备的放置位置时,模拟器还未将第一个设备完成放置,此时,可以在模拟器中设置多个执行器,每个执行器进行一个设备的放置,但,执行器的数量也不宜过多,避免执行器空闲,浪费资源。
本公开实施例利用预先训练好的布局模型来进行芯片布局,可通过逻辑图和设备列表快速得到待布局芯片的布局图,相较于人工进行芯片布局极大的缩短了消耗的时间,提高了芯片布局的效率;并且,利用训练好的布局模型进行大量的机器运算,相较于人工计算准确性较高,也即提高了芯片布局的准确性;进一步地,由于存在一些不可逆的操作,例如设备为一次性使用的,也即将该设备放置在待布局芯片上之后无法进行拆卸再次使用,因此,在芯片布局的准确性较高的情况下,也就在一定程度上避免了一些不可逆的操作,避免了材料浪费,节约成本。
本公开的第三方面还提供了一种存储介质,该存储介质为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例提供的方法,包括如下步骤:
S11,获取待布局芯片执行的逻辑图以及所述待布局芯片对应的设备列表;
S12,利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图;其中,所述布局图至少包括每个设备在所述待布局芯片中的放置位置。
计算机程序被处理器执行利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图时,具体被处理器执行如下步骤:获取所述待布局芯片的第一属性数据、每个所述设备的第二属性数据及布线规则;利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图;其中,所述第一属性数据至少包括所述待布局芯片的面积;所述第二属性数据至少包括每个设备的功耗、性能及尺寸大小;所述布线规则至少包括布线密度、互连原则及不可交叉原则。
计算机程序被处理器执行利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图时,具体被处理器执行如下步骤:将所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则输入至所述布局模型中,所述布局模型依次输出每个所述设备在所述待布局芯片中的放置位置;基于所有所述设备在所述待布局芯片中的放置位置确定所述布局图。
计算机程序被处理器执行芯片布局方法时,还被处理器执行布局模型的训练步骤,具体如下:获取K个逻辑图样本,以及每个所述逻辑图样本对应的设备列表样本;针对每个所述逻辑图样本,获取该逻辑图样本中每类操作样本的操作类型、每类操作样本对应的子设备列表样本、每个操作样本的输入或输出;基于所述操作类型、所述子设备列表样本以及所述每个操作样本的输入或输出确定每个所述操作样本的级联信息;基于每个所述操作样本的级联信息和所述布局模型的当前模型参数确定每个所述逻辑图样本的当前布局图;基于K个所述当前布局图以及每个所述逻辑图样本对应的布局图样本,计算每轮训练的误差值;在所述误差值大于设定值的情况下,调整所述布局模型的当前模型参数并重新确定所述当前布局图和所述误差值,直至所述误差值小于或等于所述设定值。
计算机程序被处理器执行布局模型的训练步骤时,还被处理器执行如下步骤:利用如下公式对所述布局模型进行优化:
其中,K表示所述逻辑图样本的数量;r(Pi)表示基于第i个逻辑图样本完成布局的布局时长样本;B表示所述逻辑样本图的时间基线;u表示所述逻辑图样本中操作样本的输入或输出。
计算机程序被处理器执行芯片布局方法时,还被处理器执行如下步骤:获取所述布局模型基于所述逻辑图确定所述布局图的布局时长;在所述布局时长与所述逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找所述布局时长对应的多个历史布局时长;基于所述布局时长和多个所述历史布局时长对所述布局模型的模型参数进行更新。
本公开实施例利用预先训练好的布局模型来进行芯片布局,可通过逻辑图和设备列表快速得到待布局芯片的布局图,相较于人工进行芯片布局极大的缩短了消耗的时间,提高了芯片布局的效率;并且,利用训练好的布局模型进行大量的机器运算,相较于人工计算准确性较高,也即提高了芯片布局的准确性;进一步地,由于存在一些不可逆的操作,例如设备为一次性使用的,也即将该设备放置在待布局芯片上之后无法进行拆卸再次使用,因此,在芯片布局的准确性较高的情况下,也就在一定程度上避免了一些不可逆的操作,避免了材料浪费,节约成本。
本公开的第四方面还提供了一种电子设备,如图7所示,该电子设备至少包括存储器701和处理器702,存储器701上存储有计算机程序,处理器702在执行存储器701上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序执行的方法如下:
S21,获取待布局芯片执行的逻辑图以及所述待布局芯片对应的设备列表;
S22,利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图;其中,所述布局图至少包括每个设备在所述待布局芯片中的放置位置。
处理器在执行存储器上存储的利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图时,还执行如下计算机程序:获取所述待布局芯片的第一属性数据、每个所述设备的第二属性数据及布线规则;利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图;其中,所述第一属性数据至少包括所述待布局芯片的面积;所述第二属性数据至少包括每个设备的功耗、性能及尺寸大小;所述布线规则至少包括布线密度、互连原则及不可交叉原则。
处理器在执行存储器上存储的利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图时,还执行如下计算机程序:将所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则输入至所述布局模型中,所述布局模型依次输出每个所述设备在所述待布局芯片中的放置位置;基于所有所述设备在所述待布局芯片中的放置位置确定所述布局图。
处理器在执行存储器上存储的芯片布局方法时,还执行训练布局模型对应的计算机程序,具体如下:获取K个逻辑图样本,以及每个所述逻辑图样本对应的设备列表样本;针对每个所述逻辑图样本,获取该逻辑图样本中每类操作样本的操作类型、每类操作样本对应的子设备列表样本、每个操作样本的输入或输出;基于所述操作类型、所述子设备列表样本以及所述每个操作样本的输入或输出确定每个所述操作样本的级联信息;基于每个所述操作样本的级联信息和所述布局模型的当前模型参数确定每个所述逻辑图样本的当前布局图;基于K个所述当前布局图以及每个所述逻辑图样本对应的布局图样本,计算每轮训练的误差值;在所述误差值大于设定值的情况下,调整所述布局模型的当前模型参数并重新确定所述当前布局图和所述误差值,直至所述误差值小于或等于所述设定值。
处理器在执行存储器上存储的训练布局模型对应的计算机程序时,还执行如下计算机程序:利用如下公式对所述布局模型进行优化:
其中,K表示所述逻辑图样本的数量;r(Pi)表示基于第i个逻辑图样本完成布局的布局时长样本;B表示所述逻辑样本图的时间基线;u表示所述逻辑图样本中操作样本的输入或输出。
处理器在执行存储器上存储的芯片布局方法时,还执行如下计算机程序:获取所述布局模型基于所述逻辑图确定所述布局图的布局时长;在所述布局时长与所述逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找所述布局时长对应的多个历史布局时长;基于所述布局时长和多个所述历史布局时长对所述布局模型的模型参数进行更新。
本公开实施例利用预先训练好的布局模型来进行芯片布局,可通过逻辑图和设备列表快速得到待布局芯片的布局图,相较于人工进行芯片布局极大的缩短了消耗的时间,提高了芯片布局的效率;并且,利用训练好的布局模型进行大量的机器运算,相较于人工计算准确性较高,也即提高了芯片布局的准确性;进一步地,由于存在一些不可逆的操作,例如设备为一次性使用的,也即将该设备放置在待布局芯片上之后无法进行拆卸再次使用,因此,在芯片布局的准确性较高的情况下,也就在一定程度上避免了一些不可逆的操作,避免了材料浪费,节约成本。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)、广域网(WAN)、网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述存储介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括至少两个网际协议地址的节点评价请求,其中,节点评价设备从至少两个网际协议地址中,选取网际协议地址并返回;接收节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,本公开上述的存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何存储介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。
Claims (10)
1.一种芯片布局方法,其特征在于,包括:
获取待布局芯片执行的逻辑图以及所述待布局芯片对应的设备列表;
利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图;其中,所述布局图至少包括每个设备在所述待布局芯片中的放置位置。
2.根据权利要求1所述的芯片布局方法,其特征在于,所述利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图,包括:
获取所述待布局芯片的第一属性数据、每个所述设备的第二属性数据及布线规则;
利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图;
其中,所述第一属性数据至少包括所述待布局芯片的面积;所述第二属性数据至少包括每个设备的功耗、性能及尺寸大小;所述布线规则至少包括布线密度、互连原则及不可交叉原则。
3.根据权利要求2所述的芯片布局方法,其特征在于,所述利用预先训练好的布局模型,基于所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则确定所述待布局芯片的布局图,包括:
将所述逻辑图、所述设备列表、所述第一属性数据、所述第二属性数据和所述布线规则输入至所述布局模型中,所述布局模型依次输出每个所述设备在所述待布局芯片中的放置位置;
基于所有所述设备在所述待布局芯片中的放置位置确定所述布局图。
4.根据权利要求1所述的芯片布局方法,其特征在于,按照以下步骤对所述布局模型进行训练:
获取K个逻辑图样本,以及每个所述逻辑图样本对应的设备列表样本;
针对每个所述逻辑图样本,获取该逻辑图样本中每类操作样本的操作类型、每类操作样本对应的子设备列表样本、每个操作样本的输入或输出;
基于所述操作类型、所述子设备列表样本以及所述每个操作样本的输入或输出确定每个所述操作样本的级联信息;
基于每个所述操作样本的级联信息和所述布局模型的当前模型参数确定每个所述逻辑图样本的当前布局图;
基于K个所述当前布局图以及每个所述逻辑图样本对应的布局图样本,计算每轮训练的误差值;
在所述误差值大于设定值的情况下,调整所述布局模型的当前模型参数并重新确定所述当前布局图和所述误差值,直至所述误差值小于或等于所述设定值。
6.根据权利要求1所述的芯片布局方法,其特征在于,还包括:
获取所述布局模型基于所述逻辑图确定所述布局图的布局时长;
在所述布局时长与所述逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找所述布局时长对应的多个历史布局时长;
基于所述布局时长和多个所述历史布局时长对所述布局模型的模型参数进行更新。
7.一种芯片布局装置,其特征在于,包括:
获取模块,用于获取待布局芯片执行的逻辑图以及所述待布局芯片对应的设备列表;
第一确定模块,用于利用预先训练好的布局模型,基于所述逻辑图和所述设备列表确定所述待布局芯片的布局图;其中,所述布局图包括每个设备在所述待布局芯片中的放置位置。
8.根据权利要求7所述的芯片布局装置,其特征在于,还包括:
第二确定模块,用于获取所述布局模型基于所述逻辑图确定所述布局图的布局时长;
查找模块,用于在所述布局时长与所述逻辑图的时间基线之间的差值大于预设阈值时,基于预设规则查找所述布局时长对应的多个历史布局时长;
更新模块,用于基于所述布局时长和多个所述历史布局时长对所述布局模型的模型参数进行更新。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6中任意一项所述的芯片布局方法的步骤。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6中任意一项所述的芯片布局方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812473.7A CN111950225B (zh) | 2020-08-13 | 2020-08-13 | 一种芯片布局方法、装置、存储介质和电子设备 |
US17/396,285 US12045552B2 (en) | 2020-08-13 | 2021-08-06 | Layout method of a chip and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812473.7A CN111950225B (zh) | 2020-08-13 | 2020-08-13 | 一种芯片布局方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111950225A true CN111950225A (zh) | 2020-11-17 |
CN111950225B CN111950225B (zh) | 2024-05-10 |
Family
ID=73341910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010812473.7A Active CN111950225B (zh) | 2020-08-13 | 2020-08-13 | 一种芯片布局方法、装置、存储介质和电子设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US12045552B2 (zh) |
CN (1) | CN111950225B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733486A (zh) * | 2021-01-20 | 2021-04-30 | 河南城建学院 | 一种用于芯片设计的智能布线方法及系统 |
CN114528799A (zh) * | 2022-02-22 | 2022-05-24 | 河南城建学院 | 基于云平台的芯片多端协同设计方法及系统 |
CN114676664A (zh) * | 2022-05-20 | 2022-06-28 | 飞腾信息技术有限公司 | 芯片的模块布局方法、装置、计算机设备及存储介质 |
CN114925650A (zh) * | 2022-07-22 | 2022-08-19 | 北京智芯微电子科技有限公司 | Soc芯片单元混合布局方法和系统 |
WO2023011243A1 (en) * | 2021-08-06 | 2023-02-09 | International Business Machines Corporation | Region-based layout routing |
WO2023035250A1 (zh) * | 2021-09-10 | 2023-03-16 | 华为技术有限公司 | 用于对芯片进行布局的方法、设备、介质以及程序产品 |
CN116579286A (zh) * | 2023-05-29 | 2023-08-11 | 深圳亿方联创科技有限公司 | 一种基于竞拍算法的增量式布局方法 |
WO2023216562A1 (zh) * | 2022-05-07 | 2023-11-16 | 联合微电子中心有限责任公司 | 硅光器件布局方法、装置及硅光芯片 |
CN117787185A (zh) * | 2023-12-28 | 2024-03-29 | 苏州异格技术有限公司 | 一种芯片结构图生成方法、装置、计算机设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11562118B2 (en) * | 2021-01-04 | 2023-01-24 | Taiwan Semiconductor Manufacturing Company, Ltd. | Hard-to-fix (HTF) design rule check (DRC) violations prediction |
CN118536464B (zh) * | 2024-07-24 | 2024-10-01 | 成都芯脉微电子有限责任公司 | 高密度芯片的流水线布局方法、装置及计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266802B1 (en) * | 1997-10-27 | 2001-07-24 | International Business Machines Corporation | Detailed grid point layout using a massively parallel logic including an emulator/simulator paradigm |
JP2011216084A (ja) * | 2010-03-16 | 2011-10-27 | Ricoh Co Ltd | 半導体集積回路のレイアウト設計装置、レイアウト設計方法及びレイアウト設計プログラム並びに半導体集積回路装置の製造方法 |
US20180165400A1 (en) * | 2016-12-12 | 2018-06-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device |
CN110134567A (zh) * | 2019-04-30 | 2019-08-16 | 西北工业大学 | 基于卷积神经网络的微处理器非均匀采样热分布重构方法 |
US20200004921A1 (en) * | 2019-08-30 | 2020-01-02 | Bikram Baidya | Random forest model for prediction of chip layout attributes |
US20200104459A1 (en) * | 2018-09-28 | 2020-04-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit design using fuzzy machine learning |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2529170B (en) * | 2014-08-11 | 2021-06-16 | Ahmad Fawaz Khodor | Circuit design generator |
KR20170133788A (ko) * | 2016-05-26 | 2017-12-06 | 삼성에스디에스 주식회사 | 디지털 회로 오류 검증 방법 |
US10628546B1 (en) * | 2018-06-29 | 2020-04-21 | Cadence Design Systems, Inc. | Method and system for automatically extracting layout design patterns for custom layout design reuse through interactive recommendations |
-
2020
- 2020-08-13 CN CN202010812473.7A patent/CN111950225B/zh active Active
-
2021
- 2021-08-06 US US17/396,285 patent/US12045552B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266802B1 (en) * | 1997-10-27 | 2001-07-24 | International Business Machines Corporation | Detailed grid point layout using a massively parallel logic including an emulator/simulator paradigm |
JP2011216084A (ja) * | 2010-03-16 | 2011-10-27 | Ricoh Co Ltd | 半導体集積回路のレイアウト設計装置、レイアウト設計方法及びレイアウト設計プログラム並びに半導体集積回路装置の製造方法 |
US20180165400A1 (en) * | 2016-12-12 | 2018-06-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device |
US20200104459A1 (en) * | 2018-09-28 | 2020-04-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit design using fuzzy machine learning |
CN110134567A (zh) * | 2019-04-30 | 2019-08-16 | 西北工业大学 | 基于卷积神经网络的微处理器非均匀采样热分布重构方法 |
US20200004921A1 (en) * | 2019-08-30 | 2020-01-02 | Bikram Baidya | Random forest model for prediction of chip layout attributes |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733486A (zh) * | 2021-01-20 | 2021-04-30 | 河南城建学院 | 一种用于芯片设计的智能布线方法及系统 |
GB2621521A (en) * | 2021-08-06 | 2024-02-14 | Ibm | Region-based layout routing |
WO2023011243A1 (en) * | 2021-08-06 | 2023-02-09 | International Business Machines Corporation | Region-based layout routing |
GB2621521B (en) * | 2021-08-06 | 2024-07-17 | Ibm | Region-based layout routing |
US11829697B2 (en) | 2021-08-06 | 2023-11-28 | International Business Machines Corporation | Region-based layout routing |
WO2023035250A1 (zh) * | 2021-09-10 | 2023-03-16 | 华为技术有限公司 | 用于对芯片进行布局的方法、设备、介质以及程序产品 |
CN114528799A (zh) * | 2022-02-22 | 2022-05-24 | 河南城建学院 | 基于云平台的芯片多端协同设计方法及系统 |
WO2023216562A1 (zh) * | 2022-05-07 | 2023-11-16 | 联合微电子中心有限责任公司 | 硅光器件布局方法、装置及硅光芯片 |
CN114676664A (zh) * | 2022-05-20 | 2022-06-28 | 飞腾信息技术有限公司 | 芯片的模块布局方法、装置、计算机设备及存储介质 |
CN114925650A (zh) * | 2022-07-22 | 2022-08-19 | 北京智芯微电子科技有限公司 | Soc芯片单元混合布局方法和系统 |
CN116579286B (zh) * | 2023-05-29 | 2024-04-30 | 深圳亿方联创科技有限公司 | 一种基于竞拍算法的增量式布局方法 |
CN116579286A (zh) * | 2023-05-29 | 2023-08-11 | 深圳亿方联创科技有限公司 | 一种基于竞拍算法的增量式布局方法 |
CN117787185A (zh) * | 2023-12-28 | 2024-03-29 | 苏州异格技术有限公司 | 一种芯片结构图生成方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220050949A1 (en) | 2022-02-17 |
US12045552B2 (en) | 2024-07-23 |
CN111950225B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950225B (zh) | 一种芯片布局方法、装置、存储介质和电子设备 | |
JP7234370B2 (ja) | ニューラルネットワークを使用した集積回路フロアプランの生成 | |
US20220261654A1 (en) | Automatic robust optimization of circuits | |
CN109586954B (zh) | 一种网络流量预测方法、装置及电子设备 | |
CN115085196B (zh) | 电力负荷预测值确定方法、装置、设备和计算机可读介质 | |
CN107679305B (zh) | 路网模型创建方法及装置 | |
US10289788B1 (en) | System and method for suggesting components associated with an electronic design | |
CN111858109A (zh) | 互斥逻辑的验证方法、装置、设备及存储介质 | |
US11227087B1 (en) | System, method, and computer program product for distributed learning in an electronic design | |
US10169508B2 (en) | Efficient deployment of table lookup (TLU) in an enterprise-level scalable circuit simulation architecture | |
CN115221833B (zh) | 一种pcb板布线排序方法、系统、装置及可读存储介质 | |
CN116684120A (zh) | 基于区块链的数据可信验证方法、装置、设备及存储介质 | |
US8918749B2 (en) | Integrated circuit schematics having imbedded scaling information for generating a design instance | |
CN112733454B (zh) | 一种基于联合学习的设备预测性维护方法及装置 | |
CN112434817B (zh) | 构建通信算法数据库的方法、装置和计算机存储介质 | |
CN110399354A (zh) | 数据库的分区交换方法及装置 | |
CN104598223A (zh) | 一种网络建模语言解析方法及装置 | |
CN105718458A (zh) | 一种确定数据文件存在的方法、装置及系统 | |
CN117408198B (zh) | 一种仿真模型建模方法、装置、设备及存储介质 | |
CN114218184B (zh) | 工业互联网平台数据处理方法、装置及电子设备 | |
CN112818561B (zh) | 热管理环境模型优化方法及装置 | |
CN111582482B (zh) | 用于生成网络模型信息的方法、装置、设备和介质 | |
CN117217147B (zh) | 一种用于fpga的逻辑映射方法、装置、设备及介质 | |
CN117807939A (zh) | 电路超图确定方法、装置、计算机设备及存储介质 | |
JP2022091887A (ja) | 道路情報確定方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム |
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 |