CN107977477A - Fpga芯片的版图生成方法及装置 - Google Patents
Fpga芯片的版图生成方法及装置 Download PDFInfo
- Publication number
- CN107977477A CN107977477A CN201610919839.4A CN201610919839A CN107977477A CN 107977477 A CN107977477 A CN 107977477A CN 201610919839 A CN201610919839 A CN 201610919839A CN 107977477 A CN107977477 A CN 107977477A
- Authority
- CN
- China
- Prior art keywords
- line
- fpga chip
- function module
- domain
- path
- 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.)
- Pending
Links
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/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种FPGA芯片的版图生成方法及装置,采用版图生成装置生成FPGA芯片的版图,所述生成方法包括:读取所述FPGA芯片对应的模块数据文件,获取各功能模块中所有元素的元素信息及各元素之间的连接关系;根据所述各功能模块中所有元素的元素信息及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置;根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间连线,得到所述FPGA芯片的版图并输出。采用上述方案,可以在减小版图设计工程师工作量的同时,提高FPGA芯片模块版图布线的准确度。
Description
技术领域
本发明涉及FPGA技术领域,尤其涉及一种FPGA芯片的版图生成方法及装置。
背景技术
在现场可编辑逻辑门阵列(Field Programmable Gate Array,FPGA)的设计开发过程中,硬件工程师通常需要了解FPGA芯片中各个模块的内部结构。因此,需要厂商的FPGA芯片集成开发环境能够提供这样的功能:当用户点击芯片上某一功能模块后,可以即时显示该功能模块的内部结构,显示内容包括:该功能模块对外的引脚分布、该功能模块内部的各个元素以及各元素之间的连接关系。
现有技术中,通常由硬件工程师提供FPGA芯片内部各个模块的电路设计图样,由版图设计工程师根据图样在软件上逐个画出各元素以及各元素之间的连线,完成后保存成预设格式的数据文件。当软件运行时可以加载预设格式的数据文件并显示,供用户查看。
然而,现有技术设计出的版图虽然会比较符合真实的电路设计图样,但是由于需要手动布线,手动布线不仅工作量大,且易出现错误。
发明内容
本发明解决的技术问题是如何在减小版图设计工程师工作量的同时,提高FPGA芯片模块版图布线的准确度。
为解决上述技术问题,本发明实施例提供一种FPGA芯片的版图生成方法,采用版图生成装置生成FPGA芯片的版图,所述生成方法包括:读取所述FPGA芯片对应的模块数据文件,获取各功能模块中所有元素的元素信息及各元素之间的连接关系;根据所述各功能模块中所有元素的元素信息及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置;根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间连线,得到所述FPGA芯片的版图并输出。
可选地,所述元素信息包括:元素名称及元素类型;所述各元素之间的连接关系包括:输入元素名称、输入端口名称、输出元素名称及输出端口名称。
可选地,所述根据所述各功能模块中所有元素的元素信息以及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置,包括:从所述元素信息中获取各功能模块分别对应的输入引脚的标号及输出引脚的标号;分别按照各输入引脚的标号及输出引脚的标号依次放置各输入引脚及输出引脚;按照所述元素信息以及各元素之间的连接关系,分别对各功能模块中余下的元素进行放置。所述按照所述元素的元素信息以及各元素之间的连接关系,分别对各功能模块余下的元素进行放置,包括:分别对各功能模块余下的元素进行拓扑排序;根据拓扑排序结果,确定各功能模块所需列数及各功能模块中余下元素的相对位置;根据所述各功能模块所需列数将放置背景划分成相应的列数;根据各元素的相对位置将各功能模块中余下元素放置在对应的列。
可选地,所述根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间进行连线,包括:
可选地,所述根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间进行连线,包括:获取待连线元素之间连线所对应的连接信息,所述连接信息包括:输入元素名称和输入端口名称、以及对应的输出元素名称和输出端口名称中的至少一种;获取各连线所对应的输入端口的坐标及输出端口的坐标;根据获取到的各连线所对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径并连线。
可选地,所述根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径,包括:采用寻路算法,根据预设的位置搜索权值,计算所述待连线元素之间的路径。
可选地,所述寻路算法为以下任意一种:A-star寻路算法、跳点搜索寻路算法及AB-star寻路算法。
可选地,所述根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径,包括:在预设区域范围内,调整所述位置搜索权值,使得所述待连线元素之间的路径在相应的位置处转折。
可选地,所述根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径,包括:当检测到计算得到的所述待连线元素之间的路径与已有的路径重合时,对所述待连线元素之间的路径进行调整。
可选地,所述对所述待连线元素之间的路径进行调整,包括:将所述待连线元素之间的路径调整为与所述已有的路径平行且间距为预设距离的位置。
本发明实施例还提供一种FPGA芯片的版图生成装置,包括:读取单元,适于读取所述FPGA芯片对应的模块数据文件,获取各功能模块中所有元素的元素信息及各元素之间的连接关系;放置单元,适于根据所述各功能模块中所有元素的元素信息及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置;连线单元,适于根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间连线,得到所述FPGA芯片的版图;输出单元,适于将所述FPGA芯片的版图输出。
可选地,所述元素信息包括:元素名称及元素类型;所述各元素之间的连接关系包括:输入元素名称、输入端口名称、输出元素名称及输出端口名称。
可选地,所述放置单元,包括:第一获取子单元,适于从所述元素信息中获取各功能模块分别对应的输入引脚的标号及输出引脚的标号;引脚放置子单元,适于分别按照各输入引脚的标号及输出引脚的标号依次放置各输入引脚及输出引脚;元素放置子单元,适于按照所述元素的元素信息以及各元素之间的连接关系,分别对各功能模块中余下的元素进行放置。
可选地,所述元素放置子单元,适于分别对各功能模块余下的元素进行拓扑排序;根据拓扑排序结果,确定各功能模块所需列数及各功能模块中余下元素的相对位置;根据所述各功能模块所需列数将放置背景划分成相应的列数;根据各元素的相对位置将各功能模块中余下元素放置在对应的列。
可选地,所述连线单元,包括:第二获取子单元,适于获取待连线元素之间连线所对应的连接信息,所述连接信息包括:输入元素名称和输入端口名称、以及对应的输出元素名称和输出端口名称中的至少一种;获取各连线所对应的输入端口的坐标及输出端口的坐标;计算子单元,适于根据获取到的各连线所对应的输入端口的坐标及输出端口的坐标,结合各元素的放置位置,计算所述待连线元素之间的路径并连线。
可选地,所述计算子单元,适于采用寻路算法,根据预设的位置搜索权值,计算所述待连线元素之间的路径。
可选地,所述计算子单元,适于在预设区域范围内,调整所述位置搜索权值,使得所述待连线元素之间的路径在相应的位置处转折。
可选地,所述计算子单元,适于当检测到计算得到的所述待连线元素之间的路径与已有的路径重合时,对所述待连线元素之间路径进行调整。
可选地,所述计算子单元,适于将所述待连线元素之间的路径调整为与所述已有的路径平行且间距为预设距离的位置。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在FPGA芯片模块版图的生成过程中,采用版图生成装置从FPGA芯片对应的模块数据文件中,获取各功能模块中所有元素的元素信息及各元素之间的连接关系,对各功能模块中的元素进行自动放置,并在相应的元素之间进行自动连线。采用版图生成装置生成FPGA芯片版图,可以使得具有连接关系的元素之间均有连线,避免在连线过程中出现元素的遗漏,从而可以在减小版图设计工程师工作量的同时,提高FPGA芯片的版图布线的准确度。
进一步地,在计算待连线元素之间的路径时,调整预设区域范围内对应的位置搜索权值,引导待连线元素之间的路径在相应的位置处转折,从而可以使得计算得到的路径与经过的元素之间有一定的距离,避免计算得到的路径紧贴着所经过的元素,提高待连线元素之间路径的辨识度。
此外,当检测到计算得到的待连线元素之间的路径与已有路径重合时,对待连线元素之间的路径进行调整,从而避免各待连线元素之间路径的重合,更进一步提高各元素之间路径的辨识度。
附图说明
图1是本发明实施例中一种FPGA芯片的版图生成方法的流程图;
图2是本发明实施例中一种FPGA芯片的版图生成过程中放置后的各元素相对位置的结构示意图;
图3是本发明实施例中对图2所示的元素在版图生成过程中形成连线关系阶段时的示意图;
图4是本发明实施例中对图2所示的元素形成连线关系后所得到的版图的结构示意图;
图5是本发明实施例中一种FPGA芯片的版图生成装置的结构示意图。
具体实施方式
现有技术中,通常由硬件工程师提供FPGA芯片内部各个模块的电路设计图样,由版图设计工程师根据图样在软件上逐个画出各元素以及各元素之间的连线,完成后保存成预设格式的数据文件。当软件运行时可以加载预设格式的数据文件并显示,供用户查看。
然而,现有技术设计出的版图虽然会比较符合真实的电路设计图样,但是由于需要手动布线,手动布线不仅工作量大,且易出现错误。
在本发明实施例中,采用版图生成装置生成FPGA芯片模块版图,所述版图生成装置从FPGA芯片对应的模块数据文件中,获取各功能模块中所有元素的元素信息及各元素之间的连接关系,对各功能模块中的元素进行自动放置,并在相应的元素之间进行自动连线。采用采用版图生成装置生成FPGA芯片版图,可以使得具有连接关系的元素之间均有连线,避免在连线过程中出现元素的遗漏,从而可以在减小版图设计工程师工作量的同时,提高FPGA芯片的版图布线的准确度。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,给出了本发明实施例中一种FPGA芯片的版图生成方法的流程图,采用版图生成装置生成FPGA芯片的版图,下面结合具体步骤进行详细说明。
步骤S11,读取所述FPGA芯片对应的模块数据文件,获取各功能模块中所有元素及各元素之间的连接关系。
在具体实施中,在生成FPGA芯片的版图之前,可以预先读取与FPGA芯片对应的模块数据文件。
在具体实施中,可以读取硬件方面提供的模块数据文件,并从读取到的模块数据文件中获取各功能模块中所有元素的元素信息及各元素之间的连接关系。
在实际应用中,FPGA芯片可以包括多个功能模块,比如,可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、布线资源、底层嵌入功能单元和内嵌专用硬核等。
其中,元素信息可以包括:元素名称和元素类型。在具体实施中,各元素之间的连接关系可以包括:输入元素名称、输入端口名称、输出元素名称及输出端口名称。例如,获取到的两个元素之间的连接关系为:“D6LUT,O6,CARRY4,S3”,在所述连接关系中,输入元素名称为D6LUT,输入端口名称为O6,输出元素名称为CARRY4,输出端口名称为S3。这一连接关系表示:D6LUT模块的O6端口与CARRY4模块的S3端口之间具有连接关系。又如,读取到的元素信息为:name=B,type=pin。该元素信息表示:元素名称为B,元素类型为pin类型。
可以理解的是,实际应用中,元素信息还可以包括其他与元素相关的属性信息。各元素之间的连接关系也可以包括与连接关系相关的属性信息。
在具体实施中,可以将获取到的各功能模块中的所有元素的元素信息及各元素之间的连接关系以集合的形式进行存储。
步骤S12,根据所述各功能模块中所有元素的元素信息及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置。
在获取到各功能模块中的所有元素的元素信息及各元素之间的连接关系之后,所述版图生成装置可以根据获取到的元素信息中的元素名称及元素类型,结合各元素之间的连接关系,对FPGA芯片各功能模块中的元素进行放置。
在具体实施中,可以通过如下方式,对所述FPGA芯片各功能模块中的元素进行放置:首先,从元素信息中获取各功能模块分别对应的输入引脚的标号及输出引脚的标号,可以按照输入引脚的标号及输出引脚的标号分别依次放置输入引脚及输出引脚。在各功能模块对应的输入引脚及输出引脚放置好之后,可以按照所述元素的元素信息以及各元素之间的连接关系,对各功能模块余下的元素进行放置。通常将各功能模块中余下的元素放置在输入引脚及输出引脚对应的列之间。
在具体实施中,可以采用如下方式对各功能模块中的其他元素进行放置:分别对各功能模块中余下的元素进行拓扑排序,根据各元素的拓扑排序结果,确定各功能模块所需列数及各功能模块中元素的相对位置。可以根据各功能模块所需的列数将放置背景划分成相应的列数,根据各元素的相对位置将各功能模块中余下元素放置在对应的列上。将各功能模块对应的输入引脚及输出引脚分别放置在所述余下元素的两侧的列上。在对各模块中的输入引脚、输出引脚及余下的元素进行放置时,与输入引脚/输出引脚有连接关系的元素,应尽可能靠近所连接的输入引脚/输出引脚,即采用就近原则进行放置。
步骤S13,根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间连线,得到所述FPGA芯片的版图并输出。
在具体实施中,当将各功能模块中的输入引脚、输出引脚及余下的元素放置在对应的列上之后,版图生成装置可以根据各功能模块中所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间连线。
在具体实施中,可以通过如下方式在相应的元素之间计算待连线元素之间的路径并进行连线:
获取待连线元素之间连线所对应的连接信息,所述连接信息可以包括:输入元素名称和输入端口名称、以及对应的输出元素名称和输出端口名称。获取各连线所对应的输入端口坐标及输出端口坐标。根据获取到的各连线元素所对应的输入端口的坐标及输出端口的坐标,结合各元素的放置位置,计算所述待连线元素之间的路径并连线。
在具体实施中,可以采用寻路算法,根据预设的位置搜索权值,计算待连线元素之间的路径。在本发明一实施例中,采用A-star寻路算法计算待连线元素之间的路径。在本发明另一实施例中,采用跳点搜索(Jump Point Search,JPS)寻路算法计算待连线元素之间的路径。在本发明又一实施中,采用AB-star寻路算法计算待连线元素之间的路径。可以理解的是,在具体实施中,根据需要,还可以采用其他算法计算待连线元素之间的路径。
在具体实施中,当完成各元素之间的连线之后,即可得到所述FPGA芯片的版图,将得到的所述FPGA芯片的版图输出。
由上可见,在FPGA芯片模块版图的生成过程中,采用版图生成装置从FPGA芯片对应的模块数据文件中,获取各功能模块中所有元素的元素信息及各元素之间的连接关系,对各功能模块中的元素进行自动放置,并在相应的元素之间进行自动连线。采用版图生成装置生成FPGA芯片版图,可以使得具有连接关系的元素之间均有连线,避免在连线过程中出现元素的遗漏,从而可以在减小版图设计工程师工作量的同时,提高FPGA芯片的版图布线的准确度。
在具体实施中,版图设计工程师还可以根据实际工作经验,对生成的FPGA芯片的版图中的各功能模块中的元素位置及各元素之间的连线进行调整。
在具体实施中,在采用寻路算法计算待连线元素之间的路径时,待连线元素之间的路径不能穿过任何元素,经过的元素将视为障碍并绕开。寻路算法是根据待连线元素之间的整体权值之和最小原则来搜索并计算出最短路径,因此导致根据寻路算法计算出的路径所画出的连线,通常都会紧贴着障碍物,从而使得用户不易分辨出各元素之间的连线,从外观上来看,画出的线条也不甚美观。
为解决上述问题,在具体实施中,在根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算待连线元素之间的路径时,当经过预设区域范围时,调整该区域对应的位置搜索权值,使得所述待连线元素之间的路径在相应的位置处转折。
在本发明一实施例中,将各个位置的搜索权值存储在同一个网格内,对处于列与列之间的中间纵向区域的位置,降低位置搜索权值,从而通过寻路算法引导路径在对应位置处转折。
例如,在计算位于第一列及第三列上的元素之间的路径时,降低第二列所处区域对应的位置搜索权值,引导路径在第二列处转折,避免连线紧贴着第一列或第三列上的元素。
在计算待连线元素之间的路径时,计算出的待连线元素之间的路径可以与其他路径垂直,但不能重合,同一个端口引出的路径可以在同一端口处稍有重合。在根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径时,当检测到计算得到的待连线元素之间的路径与已有的路径重合时,对待连线元素之间的路径进行调整。
在具体实施中,将所述待连线元素之间的路径调整为与所述已有的路径平行且间距为预设距离的位置。
在具体实施中,可以根据待连线元素之间的路径与所重合路径的走向,对计算得到的待连线元素的之间路径进行相应调整。
例如,将待连线元素之间的路径向上平移预设距离;又如,将待连线元素之间的路径向下平移预设距离;再如,将待连线元素之间的路径向左平移预设距离。或者将待连线元素之间的路径向右下方平移预设距离。
在具体实施中,当生成FPGA芯片的版图之后,可以将FPGA芯片的版图及对应的版图信息以预设格式的文件进行存储。当用户需要查看FPGA芯片的版图及对应的版图信息时,可以通过配置匹配的软件或者装置加载已存储的预设格式的文件并显示,供用户查看。
在具体实施中,版图信息可以包括:各功能模块中元素的坐标信息,各元素的元素名称及元素类型等,还可以包括对应元素之前连线的路径坐标信息,路径坐标信息可以包括各连线起点坐标、终点坐标及各转折点对应的坐标。
在本发明一实施例中,预设格式为.xml。可以理解的是,在实际应用中,预设格式还可以为其他格式。
下面结合附图,对发明实施例中一种FPGA芯片的版图生成过程进行详细说明。
从FPGA芯片对应的模块数据文件中获取到的元素信息及各元素之间的连接关系,其中各元素之间的连接关系为:“A,A,E,S1”、“B,B,E,S2”、“B,B,BUSED,0”、“C,C,E,S3”、“E,S4,F,V1”及“BUSED,1,F,V2”。其中,“A,A,E,S1”表示元素A的输出端口A与元素E的输入端口S1之间具有连接关系;“B,B,E,S2”表示元素B的输出端口B与元素E的输入端口S2之间具有连接关系;“B,B,BUSED,0”表示元素B的输出端口B与元素BUSED的输入端口0之间具有连接关系;“C,C,E,S3”表示元素C的输出端口C与元素E的输入端口S3之间具有连接关系;“E,S4,F,V1”表示元素E的输出端口S4与元素F的输入端口V1之间具有连接关系;“BUSED,1,F,V2”表示元素BUSED的输出端口1与元素F的输入端口V2之间具有连接关系。
根据获取到的元素信息及各元素之间的连接关系对各元素进行放置。例如元素E分别与元素A、元素B、元素C及元素F均有连接关系,则可以将元素E放置在元素A、元素B、元素C及元素F之间的合适位置,得到FPGA芯片的版图生成过程中各元素的相对位置。放置完成后的各元素之间的相对位置的结构示意图,可参照图2。
当对各元素放置完成之后,根据元素信息及各元素之间的连接关系在相应的元素之间进行连线。
例如,获取到的连接关系为“B,B,BUSED,0”,则采用A-star寻路算法计算元素B的输出端口B与元素BUSED的输入端口0之间的路径,并在计算得到路径之后,根据计算得到的路径在元素B的输出端口B与元素BUSED的输入端口0之间进行连线,在版图生成过程中形成连线关系阶段时的示意图可参见图3所示。
根据获取到的各元素之间的连接关系,在相应的元素之间进行连线,当具有连线关系的元素之间均完成连线时,可以得到形成连线关系后的版图。各元素之间形成连线关系后所得到的版图的结构示意图可参见图4。
参照图5,给出了本发明实施例中的一种FPGA芯片的版图生成装置的结构示意图。FPGA芯片的版图生成装置50可以包括:读取单元51、放置单元52、连线单元53及输出单元54,其中:
所述读取单元51,适于读取所述FPGA芯片对应的模块数据文件,获取各功能模块中所有元素的元素信息及各元素之间的连接关系;
所述放置单元52,适于根据所述各功能模块中所有元素的元素信息及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置;
所述连线单元53,适于根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间连线,得到所述FPGA芯片的版图;
所述输出单元54,适于将所述FPGA芯片的版图输出。
在具体实施中,所述元素信息包括:元素名称及元素类型;所述各元素之间的连接关系包括:输入元素名称、输入端口名称、输出元素名称及输出端口名称。
在具体实施中,所述放置单元52,可以包括:第一获取子单元521、引脚放置子单元522以及元素放置子单元523,其中:
第一获取子单元521,适于从所述元素信息中获取各功能模块分别对应的输入引脚的标号及输出引脚的标号;
引脚放置子单元522,适于分别按照各输入引脚的标号及输出引脚的标号依次放置输入引脚及输出引脚;
元素放置子单元523,适于按照所述元素的元素信息以及各元素之间的连接关系,分别对各功能模块中余下的元素进行放置。
在具体实施中,所述元素放置子单元523,适于分别对各功能模块余下的元素进行拓扑排序;根据拓扑排序结果,确定各功能模块所需列数及各功能模块中余下元素的相对位置;根据所述各功能模块所需列数将放置背景划分成相应的列数;根据各元素的相对位置将各功能模块中余下元素放置在对应的列。
在具体实施中,所述连线单元53,可以包括:第二获取子单元531及计算子单元532,其中:
第二获取子单元531,适于获取待连线元素之间连线所对应的连接信息,所述连接信息包括:输入元素名称和输入端口名称、以及对应的输出元素名称和输出端口名称中的至少一种;获取各连线所对应的输入端口的坐标及输出端口的坐标;
计算子单元532,适于根据获取到的各连线所对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径并连线。
在具体实施中,所述计算子单元532,适于采用寻路算法,根据预设的位置搜索权值,计算所述待连线元素之间的路径。
在具体实施中,所述计算子单元532可以采用A-star算法寻路算法、跳点搜索寻路算法、AB-star寻路算法等寻路算法,计算所述待连线元素之间的路径。可以理解的是,根据需要,所述计算子单元532还可以采用其他寻路算法,计算各元素之间路径。
在具体实施中,所述计算子单元532,适于在预设区域范围内,调整所述位置搜索权值,使得所述待连线元素之间的路径在相应的位置处转折。
在具体实施中,所述计算子单元532,适于当检测到计算得到的所述待连线元素之间的路径与已有的路径重合时,对所述待连线元素之间的路径进行调整。
在具体实施中,所述计算子单元532,适于将所述待连线元素之间的路径调整为与所述已有的路径平行且间距为预设距离的位置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (19)
1.一种FPGA芯片的版图生成方法,其特征在于,采用版图生成装置生成FPGA芯片的版图,所述生成方法包括:
读取所述FPGA芯片对应的模块数据文件,获取各功能模块中所有元素的元素信息及各元素之间的连接关系;
根据所述各功能模块中所有元素的元素信息及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置;
根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间连线,得到所述FPGA芯片的版图并输出。
2.根据权利要求1所述的FPGA芯片的版图生成方法,其特征在于,所述元素信息包括:元素名称及元素类型;所述各元素之间的连接关系包括:输入元素名称、输入端口名称、输出元素名称及输出端口名称。
3.根据权利要求2所述的FPGA芯片的版图生成方法,其特征在于,所述根据所述各功能模块中所有元素的元素信息以及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置,包括:
从所述元素信息中获取各功能模块分别对应的输入引脚的标号及输出引脚的标号;
分别按照各输入引脚的标号及输出引脚的标号依次放置各输入引脚及输出引脚;
按照所述元素信息以及各元素之间的连接关系,分别对各功能模块中余下的元素进行放置。
4.根据权利要求3所述的FPGA芯片的版图生成方法,其特征在于,所述按照所述元素的元素信息以及各元素之间的连接关系,分别对各功能模块余下的元素进行放置,包括:
分别对各功能模块余下的元素进行拓扑排序;
根据拓扑排序结果,确定各功能模块所需列数及各功能模块中余下元素的相对位置;
根据所述各功能模块所需列数将放置背景划分成相应的列数;
根据各元素的相对位置将各功能模块中余下元素放置在对应的列。
5.根据权利要求2所述的FPGA芯片的版图生成方法,其特征在于,所述根据所述所有元素的元素信息及各元素之间的连接关系,以及元素的放置位置,在相应的元素之间进行连线,包括:
获取待连线元素之间连线所对应的连接信息,所述连接信息包括:输入元素名称和输入端口名称、以及对应的输出元素名称和输出端口名称中的至少一种;
获取各连线所对应的输入端口的坐标及输出端口的坐标;
根据获取到的各连线所对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径并连线。
6.根据权利要求5所述的FPGA芯片的版图生成方法,其特征在于,所述根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径,包括:
采用寻路算法,根据预设的位置搜索权值,计算所述待连线元素之间的路径。
7.根据权利要求6所述的FPGA芯片的版图生成方法,其特征在于,所述寻路算法为以下任意一种:A-star寻路算法、跳点搜索寻路算法及AB-star寻路算法。
8.根据权利要求6所述的FPGA芯片的版图生成方法,其特征在于,所述根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径,包括:
在预设区域范围内,调整所述位置搜索权值,使得所述待连线元素之间的路径在相应的位置处转折。
9.根据权利要求6所述的FPGA芯片的版图生成方法,其特征在于,所述根据获取到的所述待连线元素对应的输入端口的坐标及输出端口的坐标,计算所述待连线元素之间的路径,包括:
当检测到计算得到的所述待连线元素之间的路径与已有的路径重合时,对所述待连线元素之间的路径进行调整。
10.根据权利要求9所述的FPGA芯片的版图生成方法,其特征在于,所述对所述待连线元素之间的路径进行调整,包括:
将所述待连线元素之间的路径调整为与所述已有的路径平行且间距为预设距离的位置。
11.一种FPGA芯片的版图生成装置,其特征在于,包括:
读取单元,适于读取所述FPGA芯片对应的模块数据文件,获取各功能模块中所有元素的元素信息及各元素之间的连接关系;
放置单元,适于根据所述各功能模块中所有元素的元素信息及各元素之间的连接关系,对所述FPGA芯片各功能模块中的元素进行放置;
连线单元,适于根据所述所有元素的元素信息及各元素之间的连接关系,
以及元素的放置位置,在相应的元素之间连线,得到所述FPGA芯片的版图;
输出单元,适于将所述FPGA芯片的版图输出。
12.根据权利要求11所述的FPGA芯片的版图生成装置,其特征在于,所述元素信息包括:元素名称及元素类型;所述各元素之间的连接关系包括:输入元素名称、输入端口名称、输出元素名称及输出端口名称。
13.根据权利要求12所述的FPGA芯片的版图生成装置,其特征在于,所述放置单元,包括:
第一获取子单元,适于从所述元素信息中获取各功能模块分别对应的输入引脚的标号及输出引脚的标号;
引脚放置子单元,适于分别按照各输入引脚的标号及输出引脚的标号依次放置各输入引脚及输出引脚;
元素放置子单元,适于按照所述元素的元素信息以及各元素之间的连接关系,分别对各功能模块中余下的元素进行放置。
14.根据权利要求13所述的FPGA芯片的版图生成装置,其特征在于,所述元素放置子单元,适于分别对各功能模块余下的元素进行拓扑排序;根据拓扑排序结果,确定各功能模块所需列数及各功能模块中余下元素的相对位置;根据所述各功能模块所需列数将放置背景划分成相应的列数;根据各元素的相对位置将各功能模块中余下元素放置在对应的列。
15.根据权利要求12所述的FPGA芯片的版图生成装置,其特征在于,所述连线单元,包括:
第二获取子单元,适于获取待连线元素之间连线所对应的连接信息,所述连接信息包括:输入元素名称和输入端口名称、以及对应的输出元素名称和输出端口名称中的至少一种;获取各连线所对应的输入端口的坐标及输出端口的坐标;
计算子单元,适于根据获取到的各连线所对应的输入端口的坐标及输出端口的坐标,结合各元素的放置位置,计算所述待连线元素之间的路径并连线。
16.根据权利要求15所述的FPGA芯片的版图生成装置,其特征在于,所述计算子单元,适于采用寻路算法,根据预设的位置搜索权值,计算所述待连线元素之间的路径。
17.根据权利要求16所述的FPGA芯片的版图生成装置,其特征在于,所述计算子单元,适于在预设区域范围内,调整所述位置搜索权值,使得所述待连线元素之间的路径在相应的位置处转折。
18.根据权利要求16所述的FPGA芯片的版图生成装置,其特征在于,所述计算子单元,适于当检测到计算得到的所述待连线元素之间的路径与已有的路径重合时,对所述待连线元素之间路径进行调整。
19.根据权利要求18所述的FPGA芯片的版图生成装置,其特征在于,所述计算子单元,适于将所述待连线元素之间的路径调整为与所述已有的路径平行且间距为预设距离的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610919839.4A CN107977477A (zh) | 2016-10-21 | 2016-10-21 | Fpga芯片的版图生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610919839.4A CN107977477A (zh) | 2016-10-21 | 2016-10-21 | Fpga芯片的版图生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107977477A true CN107977477A (zh) | 2018-05-01 |
Family
ID=62003785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610919839.4A Pending CN107977477A (zh) | 2016-10-21 | 2016-10-21 | Fpga芯片的版图生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107977477A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564362B2 (en) * | 2000-07-04 | 2003-05-13 | Fujitsu Limited | Method of designing a layout of an LSI chip, and a computer product |
US6934924B2 (en) * | 2003-01-31 | 2005-08-23 | Terachip Inc. | Layout methodology and system for automated place and route |
CN101567028A (zh) * | 2009-06-01 | 2009-10-28 | 杭州电子科技大学 | 一种模块化硬件原理图自动生成方法 |
CN102054110A (zh) * | 2011-01-27 | 2011-05-11 | 复旦大学 | Fpga可编程逻辑块通用装箱方法 |
CN103678745A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | 一种用于fpga的跨平台多层次集成设计系统 |
CN103678250A (zh) * | 2013-12-31 | 2014-03-26 | 苏州君嬴电子科技有限公司 | 系统级芯片及其设计方法 |
CN103699705A (zh) * | 2012-09-27 | 2014-04-02 | 中国科学院微电子研究所 | 一种用于fpga结构设计的系统及其方法 |
CN103886137A (zh) * | 2014-03-03 | 2014-06-25 | 西安电子科技大学 | 一种实现现场可编程门阵列快速布局布线的方法 |
CN105718611A (zh) * | 2014-12-02 | 2016-06-29 | 中国科学院微电子研究所 | FinFET工艺标准单元库版图结构设计方法 |
CN106294916A (zh) * | 2015-06-09 | 2017-01-04 | 天津三石科技有限公司 | 一种电缆网电路图的自动布图方法 |
CN106446348A (zh) * | 2016-08-31 | 2017-02-22 | 四川创能电力工程有限公司 | 电路图生成方法及装置 |
-
2016
- 2016-10-21 CN CN201610919839.4A patent/CN107977477A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564362B2 (en) * | 2000-07-04 | 2003-05-13 | Fujitsu Limited | Method of designing a layout of an LSI chip, and a computer product |
US6934924B2 (en) * | 2003-01-31 | 2005-08-23 | Terachip Inc. | Layout methodology and system for automated place and route |
CN101567028A (zh) * | 2009-06-01 | 2009-10-28 | 杭州电子科技大学 | 一种模块化硬件原理图自动生成方法 |
CN102054110A (zh) * | 2011-01-27 | 2011-05-11 | 复旦大学 | Fpga可编程逻辑块通用装箱方法 |
CN103678745A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | 一种用于fpga的跨平台多层次集成设计系统 |
CN103699705A (zh) * | 2012-09-27 | 2014-04-02 | 中国科学院微电子研究所 | 一种用于fpga结构设计的系统及其方法 |
CN103678250A (zh) * | 2013-12-31 | 2014-03-26 | 苏州君嬴电子科技有限公司 | 系统级芯片及其设计方法 |
CN103886137A (zh) * | 2014-03-03 | 2014-06-25 | 西安电子科技大学 | 一种实现现场可编程门阵列快速布局布线的方法 |
CN105718611A (zh) * | 2014-12-02 | 2016-06-29 | 中国科学院微电子研究所 | FinFET工艺标准单元库版图结构设计方法 |
CN106294916A (zh) * | 2015-06-09 | 2017-01-04 | 天津三石科技有限公司 | 一种电缆网电路图的自动布图方法 |
CN106446348A (zh) * | 2016-08-31 | 2017-02-22 | 四川创能电力工程有限公司 | 电路图生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
徐召: ""电路图自动布图的研究和系统实现"", 《万方数据》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112013017305B1 (pt) | Métodos de gerar mapa de dados de solo | |
CN106446899A (zh) | 文字检测方法和装置、及文字检测训练方法和装置 | |
US20110066997A1 (en) | Modeling and simulating device mismatch for designing integrated circuits | |
CN107016143A (zh) | 参数提取的方法及其系统 | |
CN104537102B (zh) | 一种获取经纬度的正向地理编码服务方法及系统 | |
US8762907B2 (en) | Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level | |
CN106919567A (zh) | 一种兴趣点poi地址的处理方法及装置 | |
CN107145990A (zh) | 逃生路线的生成方法、生成装置及服务器 | |
CN105468797A (zh) | 一种信息处理方法及装置 | |
JP2019528569A5 (zh) | ||
CN106815100A (zh) | 接口测试方法及装置 | |
CN103810316B (zh) | 降低寄生失配的方法 | |
CN110070076A (zh) | 用于选取训练用样本的方法和装置 | |
CN103793561B (zh) | 用于芯片热分析的混合随机行走方法 | |
CN109685479A (zh) | 一种施工隧道进度的展示方法、计算机装置以及计算机可读存储介质 | |
CN108241765B (zh) | 一种芯片晶体管测试芯片设计方法 | |
JP7121454B2 (ja) | 統計に基づく障害物位置シミュレーション方法、装置及び端末 | |
CN114896943A (zh) | 集成电路器件模型提取参数的数据选取方法、系统及装置 | |
CN107977477A (zh) | Fpga芯片的版图生成方法及装置 | |
CN107566204A (zh) | 激励报文产生控制方法、装置及逻辑检测设备 | |
CN104731987B (zh) | 一种早期版图的寄生电阻电容估算方法 | |
CN106897504A (zh) | 对ip模块进行开发形成参数化单元的方法 | |
CN104077221B (zh) | 前端页面的样式测试方法及装置 | |
US9747399B2 (en) | Method and apparatus for providing rule patterns on grids | |
CN105139435B (zh) | 一种处理多边形多重包含关系的边界一笔画方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180501 |