CN114564904A - Fpga全路径快速时序分析方法、装置、计算机和存储介质 - Google Patents
Fpga全路径快速时序分析方法、装置、计算机和存储介质 Download PDFInfo
- Publication number
- CN114564904A CN114564904A CN202210260604.4A CN202210260604A CN114564904A CN 114564904 A CN114564904 A CN 114564904A CN 202210260604 A CN202210260604 A CN 202210260604A CN 114564904 A CN114564904 A CN 114564904A
- Authority
- CN
- China
- Prior art keywords
- point
- topology
- sub
- output
- layer
- 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
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- 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]
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
本发明涉及一种FPGA全路径快速时序分析方法、装置、计算机和存储介质,其中,时序分析方法包括:在创建的时序网表中为每个点创建输出边;对所述时序网表进行拓扑分层,并记录每个点所处的分层,各分层对应生成一子拓扑结构;选择一个起点,按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点,并将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图。通过对时序网表的进行分层形成子拓扑结构,以第一层作为起点,按次序为之后层次的点创建路径信息,并创建子时序拓扑图,通过子拓扑结构对时序网表进行分层次的全路径分析,极大地减少了无效查找过程,简化了分析过程,提高了电路设计效率。
Description
技术领域
本发明实施例涉及FPGA设计技术领域,尤其是一种FPGA全路径快速时序分析方法、装置、计算机和存储介质。
背景技术
利用电子设计自动化(Electronic design automation,EDA)软件进行时序分析是使用FPGA不可缺少的部分,它可以验证设计电路是否满足设计的要求,通常时序分析多指静态时序分析(Static Timing Analysis,STA)。
全路径时序分析可以将所有输入点到寄存器、寄存器到寄存器和寄存器到输出点的关键路径显示出来,对设计一个有效的电路起到至关重要的作用。在进行STA时,首先将电路抽象成图表形式的拓扑结构,并对电路中的各个元器件进行抽象,其中整个电路是一张网表,将每个元器件抽象成单元,并将单元上的端口、引脚和寄存器等信息抽象成点,由此一个百万级别的电路抽象成网表后点的数量是千万或亿级。
在这些由千万级或亿级点组成的时序网表中查找到一条有效的路径是非常复杂的,需要万亿次的计算才能得出,因此进行时序分析的时间较长,影电路设计的效率。
发明内容
本发明实施例提供一种FPGA全路径快速时序分析方法、装置、计算机和存储介质,具有简化分析过程、提高电路设计效率的优点。
为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:
一种FPGA全路径快速时序分析方法,包括:
在创建的时序网表中为每个点创建输出边,其中,所述输出边包括输出点;
对所述时序网表进行拓扑分层,并记录每个点所处的分层,各分层对应生成一子拓扑结构;
选择一个起点,按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点,并将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图。
作为本发明的优选方案进一步设置为,所述按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点具体包括:
将选择的起点放入拓扑分层的第一层中,获取对应该起点的输出点;
将该输出点存入一遍历列表中,并依次遍历各分层查询其中是否存在输出点,若在该分层中存在输出点,则将该输出点存入所述遍历列表中,并将该输出点对应的当前点取出存入该当前点的层级对应的子拓扑结构中,当输出点为空后结束遍历。
作为本发明的优选方案进一步设置为,在判断是否存在输出点之前,获取该分层的起始点,并从所述子拓扑结构中删除。
作为本发明的优选方案进一步设置为,所述将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图具体包括:
待将该分层所有对应输出点的当前点存入子拓扑结构后生成子拓扑分层时序图;
根据对应各所述子拓扑结构的子拓扑分层时序图按照预定策略创建新的拓扑分层时序图。
作为本发明的优选方案进一步设置为,在遍历各输出边时创建路径信息。
为解决上述技术问题,本发明实施例还提供一种FPGA全路径快速时序分析装置,包括:
第一创建单元,用于在创建的时序网表中为每个点创建输出边,其中,所述输出边包括输出点;
分层单元,用于对所述时序网表进行拓扑分层,并记录每个点所处的分层,各分层对应生成一子拓扑结构;
第二创建单元,用于选择一个起点,按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点,并将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图。
为解决上述技术问题,本发明实施例还提供一种计算机,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述的时序分析方法的步骤。
为解决上述技术问题,本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述的时序分析方法的步骤。
综上所述,本发明实施例具有如下有益效果:
本发明实施例通过提供一种FPGA全路径快速时序分析方法、装置、计算机和存储介质,在进行时序分析时,通过对时序网表的进行分层形成子拓扑结构,以第一层作为起点,按次序为之后层次的点创建路径信息,并创建子时序拓扑图,通过子拓扑结构对时序网表进行分层次的全路径分析,极大地减少了无效查找过程,减少了运算次数,简化了分析过程,提高了电路设计效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例FPGA全路径快速时序分析方法的基本流程示意图。
图2为本发明实施例FPGA全路径快速时序分析装置的基本结构示意图。
图3为本发明实施例计算机设备基本结构框图。
图中数字和字母所表示的相应部件名称:
401、第一创建单元;402、分层单元;403、第二创建单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
具体请参阅图1,图1为本实施例FPGA全路径快速时序分析方法的基本流程示意图。
如图1所示,一种FPGA全路径快速时序分析方法,包括:
S100,在创建的时序网表中为每个点创建输出边,其中,所述输出边包括输出点;
S200,对所述时序网表进行拓扑分层,并记录每个点所处的分层,各分层对应生成一子拓扑结构;
S300,选择一个起点,按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点,并将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图。
其中,所述按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点具体包括:
S301,将选择的起点放入拓扑分层的第一层中,获取对应该起点的输出点;
S302,将该输出点存入一遍历列表中,并依次遍历各分层查询其中是否存在输出点,若在该分层中存在输出点,则将该输出点存入所述遍历列表中,并将该输出点对应的当前点取出存入该当前点的层级对应的子拓扑结构中,当输出点为空后结束遍历;同时,在遍历各输出边时创建路径信息,在判断是否存在输出点之前,获取该分层的起始点,并从所述子拓扑结构中删除。
所述将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图具体包括:
S303,待将该分层所有对应输出点的当前点存入子拓扑结构后生成子拓扑分层时序图;
S304,根据对应各所述子拓扑结构的子拓扑分层时序图按照预定策略创建新的拓扑分层时序图,该预定策略可以是按照分层顺序依次将各子拓扑分层时序图进行合并。
本发明在进行时序分析时,通过对时序网表的进行分层形成子拓扑结构,以第一层作为起点,按次序为之后层次的点创建路径信息,并创建子时序拓扑图,通过子拓扑结构对时序网表进行分层次的全路径分析,极大地减少了无效查找过程,减少了运算次数,简化了分析过程,提高了电路设计效率;以一个1300万门的电路为例,采用原始的大的时序网表进行全路径分析所需时间约为90秒,而采用本发明中子时序拓扑图进行全路径分析所需的时间约为20秒,可见本发明的时序分析方法极大的缩短了分析时间。
为解决上述技术问题,本发明实施例还提供一种FPGA全路径快速时序分析装置。具体请参阅图2,图2为本实施例时序分析装置基本结构示意图。
一种FPGA全路径快速时序分析装置,包括:第一创建单元401,用于在创建的时序网表中为每个点创建输出边,其中,所述输出边包括输出点;分层单元402,用于对所述时序网表进行拓扑分层,并记录每个点所处的分层,各分层对应生成一子拓扑结构;以及,第二创建单元403,用于选择一个起点,按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点,并将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图。
为解决上述技术问题,本发明实施例还提供一种计算机,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述的时序分析方法的步骤。
为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。
如图3所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现一种FPGA全路径快速时序分析方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种FPGA全路径快速时序分析方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图2中第一创建单元401、分层单元402和第二创建单元403的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本发明还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例FPGA全路径快速时序分析方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
Claims (8)
1.一种FPGA全路径快速时序分析方法,其特征在于,包括:
在创建的时序网表中为每个点创建输出边,其中,所述输出边包括输出点;
对所述时序网表进行拓扑分层,并记录每个点所处的分层,各分层对应生成一子拓扑结构;
选择一个起点,按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点,并将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图。
2.根据权利要求1所述的FPGA全路径快速时序分析方法,其特征在于,所述按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点具体包括:
将选择的起点放入拓扑分层的第一层中,获取对应该起点的输出点;
将该输出点存入一遍历列表中,并依次遍历各分层查询其中是否存在输出点,若在该分层中存在输出点,则将该输出点存入所述遍历列表中,并将该输出点对应的当前点取出存入该当前点的层级对应的子拓扑结构中,当输出点为空后结束遍历。
3.根据权利要求2所述的FPGA全路径快速时序分析方法,其特征在于,在判断是否存在输出点之前,获取该分层的起始点,并从所述子拓扑结构中删除。
4.根据权利要求3所述的FPGA全路径快速时序分析方法,其特征在于,所述将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图具体包括:
待将该分层所有对应输出点的当前点存入子拓扑结构后生成子拓扑分层时序图;
根据对应各所述子拓扑结构的子拓扑分层时序图按照预定策略创建新的拓扑分层时序图。
5.根据权利要求4所述的FPGA全路径快速时序分析方法,其特征在于,在遍历各输出边时创建路径信息。
6.一种FPGA全路径快速时序分析装置,其特征在于,包括:
第一创建单元,用于在创建的时序网表中为每个点创建输出边,其中,所述输出边包括输出点;
分层单元,用于对所述时序网表进行拓扑分层,并记录每个点所处的分层,各分层对应生成一子拓扑结构;
第二创建单元,用于选择一个起点,按照所述拓扑分层的层级顺序依次遍历各输出边,以获各分层中与所述起点相对应的输出点,并将所述输出点录入所述子拓扑结构中以在遍历结束后创建拓扑分层时序图。
7.一种计算机,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项权利要求所述时序分析方法的步骤。
8.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至5中任一项所述的时序分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210260604.4A CN114564904A (zh) | 2022-03-16 | 2022-03-16 | Fpga全路径快速时序分析方法、装置、计算机和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210260604.4A CN114564904A (zh) | 2022-03-16 | 2022-03-16 | Fpga全路径快速时序分析方法、装置、计算机和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564904A true CN114564904A (zh) | 2022-05-31 |
Family
ID=81719467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210260604.4A Pending CN114564904A (zh) | 2022-03-16 | 2022-03-16 | Fpga全路径快速时序分析方法、装置、计算机和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564904A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090383A (zh) * | 2022-12-27 | 2023-05-09 | 广东高云半导体科技股份有限公司 | 实现静态时序分析的方法、装置、计算机存储介质及终端 |
CN117574820A (zh) * | 2024-01-15 | 2024-02-20 | 中科亿海微电子科技(苏州)有限公司 | 一种增量时序分析方法 |
CN117787162A (zh) * | 2023-12-27 | 2024-03-29 | 苏州异格技术有限公司 | 一种多端角静态时序分析方法、装置、计算机设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10885249B1 (en) * | 2019-09-06 | 2021-01-05 | International Business Machines Corporation | Multi-level hierarchical large block synthesis (hLBS) latch optimization |
CN112257364A (zh) * | 2020-10-23 | 2021-01-22 | 北京大学 | 一种gpu加速计算的集成电路静态时序分析方法 |
CN113971383A (zh) * | 2020-07-24 | 2022-01-25 | 美商新思科技有限公司 | 分布式静态时序分析 |
-
2022
- 2022-03-16 CN CN202210260604.4A patent/CN114564904A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10885249B1 (en) * | 2019-09-06 | 2021-01-05 | International Business Machines Corporation | Multi-level hierarchical large block synthesis (hLBS) latch optimization |
CN113971383A (zh) * | 2020-07-24 | 2022-01-25 | 美商新思科技有限公司 | 分布式静态时序分析 |
CN112257364A (zh) * | 2020-10-23 | 2021-01-22 | 北京大学 | 一种gpu加速计算的集成电路静态时序分析方法 |
Non-Patent Citations (1)
Title |
---|
包志家;: "EDA技术在FPGA设计中的应用研究", 信息与电脑(理论版), no. 23, 8 December 2017 (2017-12-08) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090383A (zh) * | 2022-12-27 | 2023-05-09 | 广东高云半导体科技股份有限公司 | 实现静态时序分析的方法、装置、计算机存储介质及终端 |
CN117787162A (zh) * | 2023-12-27 | 2024-03-29 | 苏州异格技术有限公司 | 一种多端角静态时序分析方法、装置、计算机设备及介质 |
CN117574820A (zh) * | 2024-01-15 | 2024-02-20 | 中科亿海微电子科技(苏州)有限公司 | 一种增量时序分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114564904A (zh) | Fpga全路径快速时序分析方法、装置、计算机和存储介质 | |
US11010511B2 (en) | Scalable boolean methods in a modern synthesis flow | |
JP3119646B2 (ja) | 再コンフュギュレーション可能なハードウェアシステムの評価装置及び演算処理方法 | |
US6075932A (en) | Method and apparatus for estimating internal power consumption of an electronic circuit represented as netlist | |
US7620919B2 (en) | Method and system for logic equivalence checking | |
US7949987B1 (en) | Method and system for implementing abstract layout structures with parameterized cells | |
EP1706833A2 (en) | System and method for modeling, abstraction, and analysis of software | |
Mishchenko | Fast computation of symmetries in Boolean functions | |
CN114638184B (zh) | 门级电路的仿真方法、系统、存储介质及设备 | |
CN117907812B (zh) | 电路检测方法及装置、电子设备、存储介质、程序产品 | |
CN114492282B (zh) | 贯穿信号线布局处理方法及装置、芯片和存储介质 | |
Cheng et al. | Dagsizer: A directed graph convolutional network approach to discrete gate sizing of vlsi graphs | |
Zhou et al. | Medusa: a multi-resolution machine learning congestion estimation method for 2d and 3d global routing | |
WO2023245626A1 (zh) | 用于电子设计自动化的方法和设备 | |
CN117521576B (zh) | 运算资源共享方法、装置、设备和介质 | |
US11507719B1 (en) | Accelerating formal property verification across design versions using sequential equivalence checking | |
CN115587560A (zh) | 用于分布式引擎的运行时和存储器高效的属性查询处理 | |
CN114004182A (zh) | 二元决策图的构造方法、等价性验证方法、存储介质 | |
JP2005115498A (ja) | ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 | |
Esmaieli et al. | An effective fanout-based method for improving error propagation probability estimation in combinational circuits | |
JP2853649B2 (ja) | 論理シミュレーション用モデルの作成方法 | |
Kam et al. | Implicit computation of compatible sets for state minimization of ISFSMs | |
CN119088576B (zh) | 用于数据流芯片内存操作优化的方法及计算设备 | |
Jerke et al. | Constraint-driven design methodology: A path to analog design automation | |
CN120012671A (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 |