CN113919266B - 可编程器件的时钟规划方法、装置、电子设备及存储介质 - Google Patents
可编程器件的时钟规划方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113919266B CN113919266B CN202111117624.8A CN202111117624A CN113919266B CN 113919266 B CN113919266 B CN 113919266B CN 202111117624 A CN202111117624 A CN 202111117624A CN 113919266 B CN113919266 B CN 113919266B
- Authority
- CN
- China
- Prior art keywords
- clock
- circuit
- planning
- clustering
- layout
- 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 45
- 238000010586 diagram Methods 0.000 claims description 21
- 238000013461 design Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 abstract description 5
- 101100524516 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFA2 gene Proteins 0.000 description 5
- 101100033865 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFA1 gene Proteins 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000004804 winding 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/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种可编程器件的时钟规划方法、装置、电子设备及存储介质,属于集成电路领域。它包括开始;收集硬件信息;确定各个时钟电路单元之间的连接关系;对各个时钟电路单元进行聚类;设置各个时钟电路的规划顺序;按制定的规划顺序规划各个时钟电路;对整个时钟电路的规划结果进行调整优化;结束。本发明简化了时钟规划过程,提高了时钟规划速度,不仅计算方法较简单,计算量不大、灵活性高、能对时钟资源进行合理放置,而且降低了时钟规划的实现难度、减少了运行时间,能适应更多应用场景。
Description
技术领域
本发明属于集成电路技术领域,涉及现场可编程逻辑器件(简称可编程逻辑器件)集成电路软件工具设计技术,尤其涉及一种可编程器件的时钟规划方法、装置、电子设备及存储介质。
背景技术
目前可编程器件(也即可编程逻辑器件)的时钟电路单元已经超过亿门级别,时钟电路工作频率已经超过1GHz,时钟电路为可编程器件内部的其他超高速处理电路提供高频时钟信号。在可编程器件EDA软件工具的逻辑综合、映射、布局、布线和生成位流的工作流程中,布局阶段的时钟规划功能主要作用是合理的分配可编程器件的时钟资源,提高可编程器件电路***的工作速度。
因为受可编程器件(如芯片)的面积、功耗、成本等限制,相对其他资源,可编程器件的时钟资源少很多。而实际的用户设计中,大量逻辑资源需要时钟信号,有限的时钟资源分配不好时会限制时钟的最高频率,进而降低整个可编程器件电路***的工作速度。
发明内容
本发明实施例提供一种可编程器件的时钟规划方法、装置、电子设备及存储介质,以解决目前的时钟规划方法不能同时满足计算量较小且灵活性较大的问题。
本发明的技术方案如下:提供一种可编程器件的时钟规划方法,所述方法包括如下步骤:
将可编程器件划分为多个时钟区域,获取每个所述时钟区域的硬件信息;
获取待规划的时钟电路的时钟信息,根据所述时钟信息将所述时钟电路划分为多个时钟电路单元,并确定各个时钟电路单元之间的连接关系;
根据所述时钟电路单元之间的连接关系对所述时钟电路单元进行聚类,得到多个时钟聚类电路,每个时钟聚类电路包括至少一个时钟电路单元;
获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序;
根据所述子规划顺序对每个时钟聚类电路内部不同时钟电路单元进行子布局规划,得到子规划结果,根据所述规划顺序对不同类的时钟聚类电路进行布局规划,得到规划结果;
根据所述子规划结果和规划结果获取每个所述时钟区域中时钟资源的布局密度,根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化。
优选的,所述获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序,包括:
根据时钟电路单元的限制条件的类型和结构复杂程度确定各个时钟电路单元的优先级;
根据所述优先级获取各个时钟聚类电路内部不同时钟电路单元的子规划顺序;
根据不同类的时钟聚类电路之间的连接关系,得到各个时钟聚类电路的规划顺序。
优选的,所述根据所述子规划顺序对每个时钟聚类电路内部不同时钟电路单元进行子布局规划,得到子规划结果包括:
根据所述硬件信息和用户设计信息,获取所述时钟区域内当前可用的时钟资源;
以优先级最高的时钟电路单元为中心,从中心向四周按照连接关系和子规划顺序将时钟聚类电路切分为多个小块时钟电路,所述小块时钟电路包括至少一个时钟电路单元;
根据每个所述小块时钟电路所需的时钟资源的类型和数量以及每个所述时钟区域内当前可用的时钟资源的类型和数量,生成所述时钟聚类电路的候选放置方案,所述候选放置方案包括每个所述小块时钟电路放置的所述时钟区域以及每个所述小块时钟电路中时钟电路单元在对应时钟区域的放置位置;
根据各小块时钟电路的放置位置距离、各小块时钟电路在放置区域的单元密度,以及各个时钟聚类电路的中心位置中的一种或多种,获取每个候选放置方案的时序延迟大小,以时序延迟大小从小到大的顺序对所述候选放置方案进行排序;
按照所述排序依次对所述候选放置方案进行兼容性检查,判断所述候选放置方案是否合法,将兼容性检查不合法的所述候选放置方案从所述排序中删除,选择排序第一位的候选放置方案作为最佳候选放置方案;
按照所述最佳候选放置方案对每个时钟聚类电路内部不同时钟电路单元进行子布局规划。
优选的,在对所述时钟电路单元内部各电路元件进行规划时,先确定时钟信号源和/或时钟核心元件的放置位置,再确定规划负载的放置位置。
优选的,在将时钟聚类电路切分为多个小块时钟电路时,所述小块时钟电路所需的时钟资源小于每个所述时钟区域内当前可用的时钟资源。
优选的,所述根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化,包括:
根据所述时钟区域中时钟资源的布局密度绘制布局密度分布图;
获取每个时钟区域中剩余时钟资源数量;
根据所述布局密度分布图和所述剩余时钟资源数量,将时钟电路单元由布局密度大的时钟区域向布局密度小的时钟区域进行调整,得到时钟电路在可编程器件上的布局结果。
优选的,所述根据所述布局密度分布图和所述剩余时钟资源数量,将时钟电路单元由布局密度大的时钟区域向布局密度小的时钟区域进行调整,得到时钟电路在可编程器件上的布局结果,包括:
获取所述布局密度大于第一阈值的时钟区域,将所述时钟区域内的小块时钟电路作为待调整的小块时钟电路;
根据所述时钟电路单元的限制条件分别确定所述待调整的时钟聚类电路和\或小块时钟电路中可调整的时钟电路单元和不可调整的时钟电路单元;
获取与所述可调整的时钟电路单元所在位置相邻的时钟区域;
若所述时钟区域的布局密度小于第二阈值且所述时钟区域的剩余时钟资源数量大于所述可调整的时钟电路单元所需的时钟资源,则将所述可调整的时钟电路单元向所述相邻的时钟区域移动;
重复上述步骤,直至对每个待调整的小块时钟电路进行调整优化,得到时钟电路在可编程器件上的布局结果。
本发明的另一技术方案如下:提供一种可编程器件的时钟规划装置,包括:
硬件信息采集模块,用于将可编程器件划分为多个时钟区域,获取每个所述时钟区域的硬件信息;
时钟电路切分模块,用于获取待规划的时钟电路的时钟信息,根据所述时钟信息将所述时钟电路划分为多个时钟电路单元,并确定各个时钟电路单元之间的连接关系;
时钟电路聚类模块,用于根据所述时钟电路单元之间的连接关系对所述时钟电路单元进行聚类,得到多个时钟聚类电路,每个时钟聚类电路包括至少一个时钟电路单元;
规划顺序采集模块,用于获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序;
时钟规划模块,用于根据所述规划顺序和所述子规划顺序,在多个所述时钟区域上对所述时钟聚类电路和所述钟电路单元进行布局规划,得到规划结果;
调整优化模块,用于根据所述规划结果获取每个所述时钟区域中时钟资源的布局密度,根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化。
本发明的另一技术方案如下:提供一种电子设备,包括处理器、以及与所述处理器耦接的存储器,所述存储器存储有可被所述处理器执行的程序指令;所述处理器执行所述存储器存储的所述程序指令时实现如权利要求1~7中任一项所述的可编程器件的时钟规划方法。
本发明的另一技术方案如下:提供一种存储介质,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现能够实现如权利要求1~7中任一项所述的可编程器件的时钟规划方法。
本发明的有益效果为:
1、本发明可以针对超大规模可编程器件进行时钟规划布局,它简化了时钟规划过程,提高了时钟规划速度,不仅计算方法较简单,计算量不大、灵活性高、能对时钟资源进行合理分配利用,而且降低了时钟规划的实现难度、减少了EDA运行时间,能适应更多应用场景,并提升了可编程器件内电路的时序。
2、本发明通过对时钟电路进行聚类,并按类的大小(时钟聚类电路和时钟聚类电路)去布局,且各个时钟聚类电路内部的时钟聚类电路间连接紧密,不仅能保证每个模块放置合理,减少了时钟聚类电路放置分散和时钟聚类电路间出现交叉的问题,而且降低了布线难度,减少了时序延迟。实际工作时,时钟聚类电路放置分散和时钟聚类电路间出现交叉会引起元件间连接绕线长,会出现时序差问题。
3、本发明通过将属于同一个类的时钟聚类电路(也即类内电路),切分为小于时钟区域规格的小块时钟电路,按照小块时钟电路的大小进行布局,布局更具灵活性,让时钟规划更具通用性,适应更多应用场景。同时,本发明还尽可能让设计和硬件以最优的方式结合起来,充分发挥硬件本身特性,提高了电路整体性能。
4、本发明通过将各个时钟聚类电路进行全局排序,按照由复杂类到简单类规划,提高规划成功概率,减少用户更改设计次数。同时,在时钟聚类电路进行布局(规划)时,充分考虑时各小块时钟电路的放置位置距离、各小块时钟电路在放置区域的单元密度,以及各个小块时钟电路的中心位置,对每个小块时钟电路进行局部优化,最后再针对所有时钟聚类电路进行全局优化,这样,本发明通过依次进行全局排序、局部优化和全局优化的方式,使布局的结果在全局规划上更合理,使得时序更好,也保证整个时钟规划算法稳定可靠。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例所述可编程器件的时钟规划方法的主流程示意图;
图2是本发明第一实施例所述可编程器件的时钟规划方法中时钟电路的分类示意图;
图3是本发明第一实施例所述可编程器件的时钟规划方法在进行规划优化前的结构示意图;
图4是本发明第一实施例中各时钟区域剩余时钟资源数量;
图5是本发明第一实施例中各时钟区域的布局密度分布示意图;
图6是本发明第一实施例所述可编程器件的时钟规划方法在经过规划优化后的布局结果示意图;
图7是本发明第一实施例中按制定的规划顺序规划各个时钟电路单元时的流程示意图。
图8为本发明第二实施例所述可编程器件的时钟规划装置的结构示意图;
图9为本发明第三实施例的电子设备的结构示意图;
图10为本发明第四实施例的存储介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明的第一实施例为一种可编程器件的时钟规划方法,包括开始——收集芯片硬件信息——确定各个时钟电路单元之间的连接关系——对各个时钟电路单元进行聚类——设置各个时钟电路的规划顺序——按制定的规划顺序规划各个时钟电路——对整个时钟电路的规划结果进行调整优化——结束,方案的具体步骤如下:
S1、收集硬件信息(如芯片硬件信息):
将可编程器件芯片划分为多个时钟区域,获取每个所述时钟区域的硬件信息。
实际工作时,本申请所记载的可编程逻辑器件可以为FPGA(可编程逻辑阵列),也可以为CPLD(复杂可编程逻辑器件),本申请主要是以FPGA芯片作为举例进行说明,人们也可以采用本申请所记载的方法对CPLD进行时钟规划。
实际工作时,硬件信息包括时钟资源信息、逻辑资源信息、输入输出模块信息和各类时钟走线信息。在获取(收集)硬件信息时,本申请可以按时钟资源分布情况尽量均匀的切分时钟资源,并建立二维坐标来标记各时钟区域的位置。
实际工作时,本申请主要是针对超大规模FPGA芯片进行时钟电路布局规划,超大规模FPGA芯片的时钟区域(也可称为时钟Region或Region)很大,实际的FPGA芯片的各类资源也不一定是均匀分布的,不一定能根据芯片的大小去将其均匀切分为相同面积大小的时钟区域。因此,在获取(收集)硬件信息时,可以按时钟资源的具体分布情况尽量均匀的切分时钟资源,根据切分后的时钟资源的分布情况尽量地将FPGA芯片均匀划分为一个个时钟区域,这样能降低后续对各时钟区域的时钟偏斜修正的难度。
实际工作时,将FPGA芯片上的时钟区域切分为一块块更小的时钟区域,按时钟区域统计、收集硬件信息,可以统计芯片资源(如时钟资源信息、逻辑资源信息、输入输出模块信息和各类时钟走线信息等)的分布情况,统计起来也比较简单,便于后续按时钟区域进行时钟布局时统计各时钟区域的资源使用情况,此时每个时钟区域内均有多个时钟电路单元。
S2、确定各个时钟电路单元之间的连接关系:
获取待规划的时钟电路的时钟信息,根据所述时钟信息将所述时钟电路划分为多个时钟电路单元,并确定各个时钟电路单元之间的连接关系。
实际工作时,本申请的时钟信息可以从用户设计数据中获得,时钟电路信息包括电路网表、时钟种类、时钟数量、时钟源、负载,以及设计中用户对时钟布局的特殊要求等。
在确定各个时钟电路单元之间的连接关系时,本申请主要通过对电路网表进行分析,以进一步确定各个时钟电路单元之间的连接关系,以便后续的时钟聚类。
实际工作时,时钟电路单元之间的连接关系主要包括直接连接、间接连接和无连接,具体如下:
1、直接连接:两路时钟的直接负载和直接负载之间有直接连线,或者两路时钟的共同负载。
2、间接连接:两路时钟的直接负载和直接负载之间连接多级时钟电路单元。
3、无连接:两路时钟的负载和负载无任何连接关系。
S3、对各个时钟电路单元进行聚类:
根据所述时钟电路单元之间的连接关系对所述时钟电路单元进行聚类,得到多个时钟聚类电路,每个时钟聚类电路包括至少一个时钟电路单元。
进一步地,在对时钟电路进行聚类时,本申请还可以记录各时钟聚类电路单元的之间连接关系,以在布局时把相互关联紧密的时钟电路作为整体规划,减少整体时序延迟。
本步骤中,本申请将时钟电路自上而下分为三个等级,具体如下:先将不同类的时钟电路作为时钟聚类电路,每个时钟聚类电路内部均包括若干小块时钟电路,每个小块时钟电路内部包括若干时钟电路单元。同时,由于小块时钟电路和时钟电路单元均位于时钟聚类电路内部,因此,小块时钟电路和时钟电路单元均可以称为类内时钟电路(也即时钟聚类电路内部的时钟电路的简称)。
实际工作时,本申请的时钟聚类电路、时钟聚类电路、小块时钟电路和时钟电路单元均可以统称为时钟电路,人们可以根据自身需要将时钟电路划分为不同的等级,如可以像本申请这样将时钟电路划分为三级,也可以将时钟电路划分为四级。
实际工作时,在对时钟电路进行聚类时,本申请可以根据电路网表中时钟电路间电路单元节点连接级数和距离来进行聚类,时钟电路间节点连接数量多、距离近的聚为一类。
实际工作时,在对时钟电路进行聚类时,本申请还可以根据电路网表中两个时钟电路的连接紧密强度对时钟电路进行分类,其中,两个时钟电路的连接紧密强度通过负载的直接连接数量和间接距离来进行描述。
实际工作时,直接连接数量指两个时钟负载之间直接连接的时钟电路单元的数量,间接距离指间接连接时两个时钟负载之间的时钟电路单元的逻辑级数。实际工作时,以连接数量的多少、间接距离的平均值的大小和间接距离的方差的大小来描述两个时钟电路的连接紧密强度,连接数量较多、间接距离的平均值较小和间接距离的方差较小则表示两个时钟电路的连接的紧密程度较高。
实际工作时,进一步地,本发明还可以设置负载的直接连接数量和间接距离的阈值,以便人们能更好的将各时钟聚类电路进行分类。
S4、确定时钟电路的规划顺序:
获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序。
实际工作时,在确定时钟电路的规划顺序时,先依次分析每个类内时钟电路在多块所述时钟区域上的具体放置位置,再确定各类内时钟电路的规划顺序,然后再分析不同类的时钟电路之间的连接关系,最后确定各个时钟聚类电路的规划顺序,具体的:
S41、根据时钟电路单元的限制条件的类型和结构复杂程度确定各个时钟电路单元的优先级。
实际工作时,限制条件越多、结构越复杂的时钟电路的优先级越高,因为限制条件多的电路,可选的放置位置少,通过优先规划来确保不被其他时钟电路占用,因此布局限制条件多的优先进行规划。
本申请的限制条件主要包括用户设计中设置的限制条件、时钟电路需要使用时钟资源的类型,以及时钟电路需要使用时钟资源的数量,用户在实际工作过程中会设置各种类型约束条件,不同类型约束条件优先级不一样,规划时高的优先级优先保证。
实际工作时,对于时钟电路的结构,可以根据电路自身的负载数量来进行衡量,还可以从时钟电路需要使用时钟资源的类型和数量来来进行衡量,以此来考虑时钟电路的规划顺序,需要资源多的时钟电路优先进行规划。
S42、根据所述优先级获取各个时钟聚类电路内部不同时钟电路单元的子规划顺序;
实际工作时,所述子规划顺序为按照优先级的高低,从高至低一次排列,当需要判断优先级时,可按照上述S41所记载的方法分辨。
S43、根据不同类的时钟聚类电路之间的连接关系,得到各个时钟聚类电路的规划顺序。
实际工作时,在确定时钟电路的规划顺序时,要优先保证时钟布局成功,其次是保证时钟电路的性能能达到布局规划要求,且限制条件多和结构复杂的时钟电路优先进行规划。
S5、按制定的规划顺序规划各个时钟电路(包括时钟聚类电路和类内时钟电路):
根据所述子规划顺序对每个时钟聚类电路内部不同时钟电路单元进行子布局规划,得到子规划结果,根据所述规划顺序对不同类的时钟聚类电路进行布局规划,得到规划结果。
在对所述时钟电路单元内部各电路元件进行规划时,先确定时钟信号源和/或时钟核心元件的放置位置,再确定规划负载的放置位置,并按照优先级高到低的顺序规划各个时钟电路(包括时钟聚类电路和类内时钟电路),具体地,子布局规划包括如下步骤:
S51、根据所述硬件信息和用户设计信息,获取并统计所述时钟区域内当前可用的时钟资源。
本步骤中,根据硬件信息和用户设计信息,去收集当前此时钟聚类电路可用的时钟资源(如去检查芯片中哪些资源将会被其他中未规划的时钟给占用),并统计当前的时钟聚类电路的可使用资源,以提高时钟规划的成功率,减少迭代进而提高速度。优选的,本申请在收集硬件信息前,还可以做一个预时钟布局,以一步提高时钟规划的成功率。
S52、将时钟聚类电路切分为多个小块时钟电路:
以优先级最高的时钟电路单元为中心,从中心向四周按照连接关系和子规划顺序将时钟聚类电路切分为多个小块时钟电路,所述小块时钟电路包括至少一个时钟电路单元。
本步骤主要是用于对同属于同一类的时钟聚类电路进行切分,以便确定各个时钟聚类电路内部各个时钟电路单元的子规划顺序,具体的,本申请以优先级最高的时钟聚类电路为中心,从中心向四周按照连接关系将时钟聚类电路切分为多个小块时钟电路,将每个小块时钟电路布局到合适的时钟区域内,当完成了小块时钟电路在时钟区域内的布局规划后,再对不同类的时钟聚类电路进行规划(如何对不同类的时钟聚类电路进行规划不属于步骤S52的内容,其在此处进行描述、说明是为了更清楚的说明本申请的技术方案)。
实际工作时,在将时钟聚类电路切分为多个小块时钟电路,以将小块时钟电路布局到时钟区域内时,小块时钟电路在布局时需要的时钟资源小于单个时钟区域所具有的资源。
实际工作时,芯片架构是针对很多应用场景设计的,对于当前的类时钟的设计场景,芯片的架构可能不是最优的,但将时钟电路切分多块小的电路(小块时钟电路)去布局,提高了布局灵活性,能尽可能地让设计和硬件以最优的方式结合起来,让布局位置选择更加合理。
实际工作时,切分时钟电路时可以按照资源数量平均切分,还可以从中心向外将同一个类的电路网表按网格形状进行切分,同时,在切分时应尽量确保每块电路的资源数量相等。
S53、生成所述时钟聚类电路的候选放置方案:
根据每个所述小块时钟电路所需的时钟资源的类型和数量以及每个所述时钟区域内当前可用的时钟资源的类型和数量,生成所述时钟聚类电路的候选放置方案,所述候选放置方案包括每个所述小块时钟电路放置的所述时钟区域以及每个所述小块时钟电路中时钟电路单元在对应时钟区域的放置位置。
实际工作时,由于小块时钟电路和时钟区域往往均有多个,因此,本步骤中的候选放置方案往往也会有多个。优选地,本申请还会对候选放置方案进行初步检查,检查被选中的时钟区域在资源和数量上是否满足设计需求,以进一步提高本申请的工作效率。
S54、以时序延迟的大小对所述小块时钟电路的候选放置方案进行排序:
根据各小块时钟电路的放置位置距离、各小块时钟电路在放置区域的单元密度,以及各个时钟聚类电路的中心位置中的一种或多种,获取每个候选放置方案的时序延迟大小,以时序延迟大小从小到大的顺序对所述候选放置方案进行排序。
实际工作时,各个时钟聚类电路的中心位置通过优先权最高的类内时钟电路(或小块时钟电路)的放置位置来描述。各小块时钟电路的放置位置距离用区域中心间的欧式距离和区域间时钟信号布线距离来描述。各小块时钟电路在放置区域的单元密度用区域范围内各类资源使用的平均密度和信号走线使用的平均密度描述,实际工作时,本申请的密度就是等于区域范围内资源使用面积除以区域范围资源总面积。
实际工作时,为减少时钟不同步问题,时钟根节点到各块区域距离应尽量保持一致;进一步地,在一定单元密度下,两个时钟聚类电路的位置距离应当尽量小,且选的时钟聚类电路的位置能使各块中心到时钟中心的延迟差异最小,以让本申请布局更加合理。
实际工作时,放置距离远会使传输延迟大,时钟电路单元密度越大会导致布线绕线长,从而导致传输延迟大,时钟中心到各候选位置距离不一致、差异大,会使传输延迟大。
S55、选择排序第一位的候选放置方案作为最佳候选放置方案:
按照所述排序依次对所述候选放置方案进行兼容性检查,判断所述候选放置方案是否合法,将兼容性检查不合法的所述候选放置方案从所述排序中删除,选择排序第一位的候选放置方案作为最佳候选放置方案。
实际工作时,兼容性检查主要详细检查各时钟聚类电路的放置位置是否满足用户约束条件,时钟资源、逻辑资源是否满足设计要求,时钟信号从时钟源传输到负载放置区域是否会存在布线等冲突问题。
实际工作时,步骤S53~S55的主要目的是根据小块时钟电路所需的时钟资源和时钟区域内当前可用的时钟资源,确定应当将小块时钟电路放置在步骤S1所划分的哪个时钟区域内,其中,步骤S53主要是根据已有的条件(如小块时钟电路所需的时钟资源和时钟区域内当前可用的时钟资源),生成一系列候选放置方案(也即候选的、能在时钟区域上放置小块时钟电路的方案),此时,由于上述一系列候选放置方案数量很多,且有可能部分候选放置方案存在不合法、浪费资源过多和不兼容等问题,故本申请还需要通过步骤S54对上述一系列的候选放置方案进行排序(以时序延迟的大小),以方便后期规划布局,在完成排序后,电子设备就可以根据方案的兼容性、合法性等条件,选择排序第一位的候选放置方案作为最佳候选放置方案,此最佳候选放置方案也即为将小块时钟电路放置在步骤S1所划分的那个时钟区域内的方案。
S56、按照所述最佳候选放置方案对每个时钟聚类电路内部不同时钟电路单元进行子布局规划。
S6、对时钟电路的规划结果进行调整优化:
根据所述子规划结果和规划结果获取每个所述时钟区域中时钟资源的布局密度,根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化。
实际工作时,在对时钟电路的规划结果进行调整优化时的步骤包括:
S61、根据所述时钟区域中时钟资源的布局密度绘制布局密度分布图;
实际工作时,为了更方便进行时钟优化布局,本申请还根据所述时钟区域的布局密度建立时钟区域内各类资源的全局的布局密度分布图,通过所述全局的布局密度分布图对时钟电路的规划结果进行调整优化,具体的,全局的布局密度分布图通过如下方式建立:
统计各时钟区域内资源使用情况,用已经使用的各类资源面积除以各类的资源总面积,得到时钟区域内各类资源的放置密度;再按二维坐标建立的芯片时钟的坐标系来标记芯片时钟的布局密度,得到二维的全局布局分布图。
全局的布局密度分布图用于调整电路之间的位置距离和时钟电路单元的放置密度,如果时钟区域内各类资源的放置密度过大,在时钟区域内各类资源够用的情况下,调整时钟规划结果。在原时钟规划结果的基础上进行调整,将密度过大的时钟区域内资源在原来位置上向密度小的位置进行微调。
S62、获取每个时钟区域中剩余时钟资源数量;
S63、根据所述布局密度分布图和所述剩余时钟资源数量,将时钟电路单元由布局密度大的时钟区域向布局密度小的时钟区域进行调整,得到时钟电路在FPGA芯片上的布局结果。
实际工作时,将时钟电路单元由布局密度大的时钟区域向布局密度小的时钟区域进行调整的方法包括如下步骤:
S631、获取所述布局密度大于第一阈值的时钟区域,将所述(布局密度大于第一阈值的)时钟区域内的小块时钟电路作为待调整的小块时钟电路;
实际工作时,第一阈值为预设值,人们可以根据实际工作需要自行设置(如将密度为0.6设置为第一阈值),当时钟区域内的时钟资源的布局密度小于第一阈值时,则该时钟区域内的小块时钟电路不需要进行调整,而当时钟区域内的时钟资源的布局密度大于第一阈值时,时钟区域内的小块时钟电路才需要进行调整。
S632、根据所述时钟电路单元的限制条件分别确定所述待调整的时钟聚类电路和\或小块时钟电路中可调整的时钟电路单元和不可调整的时钟电路单元;
实际工作时,本步骤中的限制条件与上述步骤S41中的限制条件相同,具体可参考上述步骤S41。可调整的时钟电路单元是指钟聚类电路和\或小块时钟电路中可以移动的时钟电路单元,不可调整的时钟电路单元指钟聚类电路和\或小块时钟电路中不可以移动的时钟电路单元,其中,时钟电路单元是否可以移动可以根据限制条件进行确定。
S633、获取与所述可调整的时钟电路单元所在位置相邻的时钟区域;
本步骤中,获取上述时钟区域的目的主要是为了查看可调整的时钟电路单元可以向那个位置进行调整(移动),以便于后期进行布局优化。
S634、若所述时钟区域的布局密度小于第二阈值且所述时钟区域的剩余时钟资源数量大于所述可调整的时钟电路单元所需的时钟资源,则将所述可调整的时钟电路单元向所述相邻的时钟区域移动;
实际工作时,第二阈值也为预设值,人们可以根据实际工作需要自行设置(如将密度为0.4设置为第二阈值),当时钟区域内的时钟资源的布局密度大于第二阈值时,则该时钟区域内的小块时钟电路不需要进行调整,只要当时钟区域内的时钟资源的布局密度小于第二阈值时,时钟区域内的小块时钟电路才需要进行调整。
S635、重复上述步骤,直至对每个待调整的小块时钟电路进行调整优化,得到时钟电路在可编程器件(如FPGA芯片)上的布局结果。
在时钟电路的规划结果进行调整优化时,先统计前次时钟规划后时钟资源的使用情况和资源使用的密度分布情况,在时钟资源足够使用的前提下对前次时钟规划进行调整;进行调整时候从密度从高到底进行调整,原则是尽量保持相对位置不变,在原始位置基础上向四周进行调整,通过计算局部密度梯度来确定各路时钟调整方向。
实际工作时,如果时钟电路单元间放置位置远,连接两个时钟电路单元信号线将变长;如果时钟电路单元挤在一起,由于局部区域内的布线资源有限,连接两个单元的信号线将要绕很远才能将其连接起来,布线的信号线长度长,时序延延迟大,利用全局的布局密度分布来调整电路距离过程中用总线长来判断调整是否合理。
为了让本申请第一实施例的技术方案更加容易理解,本申请还结合附图对第一实施例的技术方案进行了进一步说明,具体如下:
先需要说明的是,在图3至图6中,实线是芯片或时钟区域的边界线,虚线是芯片或时钟电路经过切分后形成的区域,如在图3至图5中,细实线是芯片的边界线,细虚线将芯片切分为24个时钟区域,粗实线是各时钟聚类电路所占有的区域。
同时,为了让各个附图更加清晰,图2只列举了时钟电路被划分为3个时钟聚类电路的情况,但在实际工作时,时钟聚类电路的数量是可以根据需要进行调整的,如图3和图6中时钟电路均划分为了多个时钟聚类电路。
实际工作时,图2和“图3~图6”可以理解为针对两个不同的时钟电路进行划分所得到的结果,图2是为了说明本申请如何进行聚类,而图3至图6是为了说明本申请如何对已经规划的时钟电路进行优化调整,图2和“图3~图6”没有必然的联系。
如图1所示,本申请目的是为了在FPGA芯片上布局规划超大规模的时钟电路,并在布局时尽可能减少计算量并增加布局灵活性,为此,本申请采取了图1所示的流程步骤。
如图2所示,图2中标号1表示时钟聚类电路1(也可以简称为类时钟1,下同),图2中标号2主要表示时钟聚类电路2,标号3主要表示时钟聚类电路3。在图2中,时钟聚类电路1含有两个小块时钟电路(也可称为两路时钟电路,也即BUF1和BUF2分别连接的电路),钟聚类电路2和钟聚类电路3均只有一个小块时钟电路(也可称为只有一路时钟电路,也即BUF3和BUF4分别连接的电路)。
根据图2可知,实际工作时,BUF1~BUF4所分别连接的时钟电路均可以称为小块时钟电路,由于BUF1所连接的电路和BUF2所连接的电路为钟聚类电路1经过切分后得到,因此,BUF1所连接的电路和BUF2所连接的电路不能单独的称为钟聚类电路,只有BUF1所连接的电路和BUF2所连接的电路合起来所组成的时钟电路才能称为时钟聚类电路。但是,由于BUF3所连接的电路和BUF4所连接的电路均没有和它们连接较紧密的电路,因此,BUF3所连接的电路和BUF4所连接的电路也均可以成为时钟聚类电路。
如图3和图6所示,FPGA芯片上可以布置有多个小块时钟电路和时钟聚类电路,图3和图6中的时钟1至时钟10分别表示10个小块时钟电路。实际工作时,FPGA芯片上各个小块时钟电路是否可以作为时钟聚类电路需要根据实际情况进行划分,例如时钟1可以单独作为一个小块时钟电路,也可以单独作为一个时钟聚类电路,时钟2至时钟4可以分别单独作为一个小块时钟电路,但它们不能各自单独作为一个时钟聚类电路,时钟2至时钟4合在一起可以单独作为一个时钟聚类电路,时钟5至时钟10也可以根据实际情况划分它们是否单独作为一个时钟聚类电路。
实际工作时,小块时钟电路和时钟聚类电路的优化调整方式基本相同,在此结合图3至图6对本申请的调整方式进行说明:
从图3至图5中可知,PFGA芯片的中心和右下角所在区域剩余时钟资源少、布局密度高,需要进行调整,而PFGA芯片的左下角和右上角所在区域剩余时钟资源较多少、布局密度较低,可以接收一部分时钟资源,也即PFGA芯片中心和右下角所在时钟区域的时钟资源可以移动一部分到PFGA芯片的左下角和右上角所在区域。
具体的,经过分析,图3中的时钟聚类电路4、6、8、9、10的位置需要进行调整。假设图3中时钟聚类电路4、6、9、10中有部分时钟电路单元不能离开原位置,但时钟聚类电路8中的时钟电路单元可以做较大调整,且时钟聚类电路10所占的资源比较少。那么调整方式是时钟聚类电路10的位置不进行调整。时钟聚类电路8整体往上进行位置移动。时钟聚类电路4是向左扩大放置区域大小。时钟聚类电路6和9向左和向上扩大放置区域大小。
如图3至图6所示,本申请在调整优化时是按照原时钟布局时时钟资源的多寡(也即布局密度)进行调整,也即将时钟区域内的时钟资源多、密度大的钟电路移动一部分至时钟资源少、密度小的区域,此时,被移动的时钟电路中有一部分时钟电路单元是可以移动的(也即可调整的时钟电路单元),还有一部分时钟电路单元是不能移动的(也即不可调整的时钟电路单元),而在调整优化时,移动(调整优化)的都是可以移动的那部分时钟电路,不能移动的时钟电路则还是在原来的位置不动。
上述那部分可以移动的时钟电路(也即可调整的时钟电路单元)在移动后空下来的区域,会被其它的时钟聚类电路(相邻的、不同类的时钟聚类电路)中的时钟单元电路占据,以方便其它不同类时钟聚类电路也进行相应的调整,这样,整个芯片就实现了布局优化。
例如,如图3和图6所述,PFGA芯片上时钟1所在区域的时钟资源分布较均匀、合理,也即时钟1所在区域的剩余时钟资源较适中且布局密度较适中,故PFGA芯片上时钟1则不需要进行调整,但是PFGA芯片上除时钟1外的区域的时钟资源分布不均匀、不合理,时钟2、时钟3、时钟7和时钟8所在区域剩余时钟资源较多、布局密度较小,而时钟5、时钟6、时钟9和时钟10所在区域剩余时钟资源较少、布局密度较大,故PFGA芯片上除时钟1外的区域需要进行调整,下面以时钟4和时候9进行举例说明:时钟4可以移动一部分可以移动的时钟电路单元到时钟2和时钟3,而时钟4经过移动后空余的部分资源则由时钟9占据,而时钟9经过移动后空余的部分资源则可以让时钟10根据自身需要进行调整(如占据时钟9空余的时钟资源)。
图8为本发明所述可编程器件的时钟规划装置的结构示意图,包括:硬件信息采集模块,用于将可编程器件划分为多个时钟区域,获取每个所述时钟区域的硬件信息;时钟电路切分模块,用于获取待规划的时钟电路的时钟信息,根据所述时钟信息将所述时钟电路划分为多个时钟电路单元,并确定各个时钟电路单元之间的连接关系;时钟电路聚类模块,用于根据所述时钟电路单元之间的连接关系对所述时钟电路单元进行聚类,得到多个时钟聚类电路,每个时钟聚类电路包括至少一个时钟电路单元;规划顺序采集模块,用于获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序;时钟规划模块,用于根据所述规划顺序和所述子规划顺序,在多个所述时钟区域上对所述时钟聚类电路和所述钟电路单元进行布局规划,得到规划结果;调整优化模块,用于根据所述规划结果获取每个所述时钟区域中时钟资源的布局密度,根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化。
图9是本发明所述的电子设备的结构示意图。如图9所示,该电子设备30包括处理器31及和处理器31耦接的存储器32。存储器32存储有用于实现上述任一实施例的可编程器件的时钟规划方法的程序指令。处理器31用于执行存储器32存储的程序指令以在FPGA上进行时钟规划布局。
其中,处理器31还可以称为CPU(Central Processing Unit,中央处理单元)。处理器31可能是一种集成电路芯片,具有信号的处理能力。处理器31还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图10,图10为本发明第四实施例的存储介质的结构示意图。本发明第四实施例的存储介质40存储有能够实现上述所有方法的程序指令41,其中,该程序指令41可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种可编程器件的时钟规划方法,其特征在于,所述方法包括如下步骤:
将可编程器件划分为多个时钟区域,获取每个所述时钟区域的硬件信息;
获取待规划的时钟电路的时钟信息,根据所述时钟信息将所述时钟电路划分为多个时钟电路单元,并确定各个时钟电路单元之间的连接关系;
根据所述时钟电路单元之间的连接关系对所述时钟电路单元进行聚类,得到多个时钟聚类电路,每个时钟聚类电路包括至少一个时钟电路单元;
获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序;
根据所述子规划顺序对每个时钟聚类电路内部不同时钟电路单元进行子布局规划,得到子规划结果,根据所述规划顺序对不同类的时钟聚类电路进行布局规划,得到规划结果;
根据所述子规划结果和规划结果获取每个所述时钟区域中时钟资源的布局密度,根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化。
2.根据权利要求1所述的可编程器件的时钟规划方法,其特征在于,所述获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序,包括:
根据时钟电路单元的限制条件的类型和结构复杂程度确定各个时钟电路单元的优先级;
根据所述优先级获取各个时钟聚类电路内部不同时钟电路单元的子规划顺序;
根据不同类的时钟聚类电路之间的连接关系,得到各个时钟聚类电路的规划顺序。
3.根据权利要求2所述的可编程器件的时钟规划方法,其特征在于,所述根据所述子规划顺序对每个时钟聚类电路内部不同时钟电路单元进行子布局规划,得到子规划结果包括:
根据所述硬件信息和用户设计信息,获取所述时钟区域内当前可用的时钟资源;
以优先级最高的时钟电路单元为中心,从中心向四周按照连接关系和子规划顺序将时钟聚类电路切分为多个小块时钟电路,所述小块时钟电路包括至少一个时钟电路单元;
根据每个所述小块时钟电路所需的时钟资源的类型和数量以及每个所述时钟区域内当前可用的时钟资源的类型和数量,生成所述时钟聚类电路的候选放置方案,所述候选放置方案包括每个所述小块时钟电路放置的所述时钟区域以及每个所述小块时钟电路中时钟电路单元在对应时钟区域的放置位置;
根据各小块时钟电路的放置位置距离、各小块时钟电路在放置区域的单元密度,以及各个时钟聚类电路的中心位置中的一种或多种,获取每个候选放置方案的时序延迟大小,以时序延迟大小从小到大的顺序对所述候选放置方案进行排序;
按照所述排序依次对所述候选放置方案进行兼容性检查,判断所述候选放置方案是否合法,将兼容性检查不合法的所述候选放置方案从所述排序中删除,选择排序第一位的候选放置方案作为最佳候选放置方案;
按照所述最佳候选放置方案对每个时钟聚类电路内部不同时钟电路单元进行子布局规划。
4.根据权利要求3所述的可编程器件的时钟规划方法,其特征在于,在对所述时钟电路单元内部各电路元件进行规划时,先确定时钟信号源和/或时钟核心元件的放置位置,再确定规划负载的放置位置。
5.根据权利要求4所述的可编程器件的时钟规划方法,其特征在于,在将时钟聚类电路切分为多个小块时钟电路时,所述小块时钟电路所需的时钟资源小于每个所述时钟区域内当前可用的时钟资源。
6.根据权利要求1至5中任一项所述的可编程器件的时钟规划方法,其特征在于,所述根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化,包括:
根据所述时钟区域中时钟资源的布局密度绘制布局密度分布图;
获取每个时钟区域中剩余时钟资源数量;
根据所述布局密度分布图和所述剩余时钟资源数量,将时钟电路单元由布局密度大的时钟区域向布局密度小的时钟区域进行调整,得到时钟电路在可编程器件上的布局结果。
7.根据权利要求6所述的可编程器件的时钟规划方法,其特征在于,所述根据所述布局密度分布图和所述剩余时钟资源数量,将时钟电路单元由布局密度大的时钟区域向布局密度小的时钟区域进行调整,得到时钟电路在可编程器件上的布局结果,包括:
获取所述布局密度大于第一阈值的时钟区域,将所述时钟区域内的小块时钟电路作为待调整的小块时钟电路;
根据所述时钟电路单元的限制条件分别确定所述待调整的时钟聚类电路和\或小块时钟电路中可调整的时钟电路单元和不可调整的时钟电路单元;
获取与所述可调整的时钟电路单元所在位置相邻的时钟区域;
若所述时钟区域的布局密度小于第二阈值且所述时钟区域的剩余时钟资源数量大于所述可调整的时钟电路单元所需的时钟资源,则将所述可调整的时钟电路单元向所述相邻的时钟区域移动;
重复上述步骤,直至对每个待调整的小块时钟电路进行调整优化,得到时钟电路在可编程器件上的布局结果。
8.一种可编程器件的时钟规划装置,其特征在于,包括:
硬件信息采集模块,用于将可编程器件划分为多个时钟区域,获取每个所述时钟区域的硬件信息;
时钟电路切分模块,用于获取待规划的时钟电路的时钟信息,根据所述时钟信息将所述时钟电路划分为多个时钟电路单元,并确定各个时钟电路单元之间的连接关系;
时钟电路聚类模块,用于根据所述时钟电路单元之间的连接关系对所述时钟电路单元进行聚类,得到多个时钟聚类电路,每个时钟聚类电路包括至少一个时钟电路单元;
规划顺序采集模块,用于获取每个时钟聚类电路内部不同时钟电路单元的子规划顺序,以及不同类的时钟聚类电路之间的规划顺序;
时钟规划模块,用于根据所述规划顺序和所述子规划顺序,在多个所述时钟区域上对所述时钟聚类电路和所述钟电路单元进行布局规划,得到规划结果;
调整优化模块,用于根据所述规划结果获取每个所述时钟区域中时钟资源的布局密度,根据所述时钟区域的布局密度对时钟电路的规划结果进行调整优化。
9.一种电子设备,其特征在于,包括处理器、以及与所述处理器耦接的存储器,所述存储器存储有可被所述处理器执行的程序指令;所述处理器执行所述存储器存储的所述程序指令时实现如权利要求1~7中任一项所述的可编程器件的时钟规划方法。
10.一种存储介质,其特征在于,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现能够实现如权利要求1~7中任一项所述的可编程器件的时钟规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111117624.8A CN113919266B (zh) | 2021-09-23 | 2021-09-23 | 可编程器件的时钟规划方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111117624.8A CN113919266B (zh) | 2021-09-23 | 2021-09-23 | 可编程器件的时钟规划方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113919266A CN113919266A (zh) | 2022-01-11 |
CN113919266B true CN113919266B (zh) | 2024-04-30 |
Family
ID=79236001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111117624.8A Active CN113919266B (zh) | 2021-09-23 | 2021-09-23 | 可编程器件的时钟规划方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113919266B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492290B (zh) * | 2022-04-06 | 2022-07-01 | 飞腾信息技术有限公司 | 芯片的电源开关规划方法、装置、设备及存储介质 |
CN114676665B (zh) * | 2022-05-23 | 2022-09-13 | 飞腾信息技术有限公司 | 一种时序调整方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055606A (zh) * | 2007-05-31 | 2007-10-17 | 复旦大学 | 多时钟***的集成电路平面布局规划方法 |
US10042971B1 (en) * | 2016-07-14 | 2018-08-07 | Xilinx, Inc. | Placement and routing of clock signals for a circuit design |
CN113408225A (zh) * | 2021-05-19 | 2021-09-17 | 无锡中微亿芯有限公司 | 一种提升运行速度的fpga芯片设计方法 |
-
2021
- 2021-09-23 CN CN202111117624.8A patent/CN113919266B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055606A (zh) * | 2007-05-31 | 2007-10-17 | 复旦大学 | 多时钟***的集成电路平面布局规划方法 |
US10042971B1 (en) * | 2016-07-14 | 2018-08-07 | Xilinx, Inc. | Placement and routing of clock signals for a circuit design |
CN113408225A (zh) * | 2021-05-19 | 2021-09-17 | 无锡中微亿芯有限公司 | 一种提升运行速度的fpga芯片设计方法 |
Non-Patent Citations (1)
Title |
---|
针对面积优化的时钟偏斜规划算法;王逵;董海瀛;程旭;;北京大学学报(自然科学版);20090131(第01期);第29-34 页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113919266A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113919266B (zh) | 可编程器件的时钟规划方法、装置、电子设备及存储介质 | |
US6480991B1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
CN109948641A (zh) | 异常群体识别方法及装置 | |
US20040225984A1 (en) | Two-stage clock tree synthesis | |
CN105808328A (zh) | 任务调度的方法、装置和*** | |
CN112068957B (zh) | 资源分配方法、装置、计算机设备及存储介质 | |
CN114781316B (zh) | 组网布局方法、装置、设备和存储介质 | |
CN112183015A (zh) | 一种面向深度神经网络的芯片布图规划方法 | |
CN112232016A (zh) | Ssd主控芯片高效总线设计迭代方法、***以及平台 | |
CN115983187A (zh) | 基于多策略的考虑总线偏差的层分配方法 | |
CN115017860A (zh) | 布局布线同步的增量布局优化方法、装置及计算机设备 | |
CN113255263B (zh) | 颗粒带分割方法、装置、计算机设备和存储介质 | |
CN104778088B (zh) | 一种基于减少进程间通信开销的并行i/o优化方法与*** | |
US8006215B1 (en) | Circuit clustering during placement | |
US11630479B2 (en) | Apparatus for adjusting skew of circuit signal and adjusting method thereof | |
US6904584B2 (en) | Method and system for placing logic nodes based on an estimated wiring congestion | |
CN111931447A (zh) | Fpga布局方法、装置、电子设备及存储介质 | |
CN114330212B (zh) | 芯片管脚的排布方法、装置、计算机设备及存储介质 | |
US20030229874A1 (en) | Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks | |
CN114330173B (zh) | 边界节点连接关系获取方法、装置、设备和存储介质 | |
CN113128149B (zh) | 一种针对多裸片fpga的基于功耗的网表分割方法 | |
CN107315863B (zh) | 布局优化方法及装置、终端及存储介质 | |
CN114781300A (zh) | 可编辑逻辑阵列布线方法、装置、设备和存储介质 | |
CN115048892A (zh) | Fpga的基于模块连接关系的io模块布局方法 | |
US6941256B1 (en) | Bus structure, database and method of designing interface |
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 |