CN108073771B - Fpga静态时序分析方法 - Google Patents

Fpga静态时序分析方法 Download PDF

Info

Publication number
CN108073771B
CN108073771B CN201711416469.3A CN201711416469A CN108073771B CN 108073771 B CN108073771 B CN 108073771B CN 201711416469 A CN201711416469 A CN 201711416469A CN 108073771 B CN108073771 B CN 108073771B
Authority
CN
China
Prior art keywords
node
path
delay
original
predecessor
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
Application number
CN201711416469.3A
Other languages
English (en)
Other versions
CN108073771A (zh
Inventor
杨兴
张海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No47 Institute Of China Electronics Technology Group Corp
Original Assignee
No47 Institute Of China Electronics Technology Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by No47 Institute Of China Electronics Technology Group Corp filed Critical No47 Institute Of China Electronics Technology Group Corp
Priority to CN201711416469.3A priority Critical patent/CN108073771B/zh
Publication of CN108073771A publication Critical patent/CN108073771A/zh
Application granted granted Critical
Publication of CN108073771B publication Critical patent/CN108073771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit 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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及FPGA静态时序分析方法,具体为提取出整个电路存在的所有时序路径,考察信号在这些路径上通过时是否满足时序约束的要求,通过对最大路径延迟和最小路径延迟的分析找出违背时序约束的错误。本发明能够更快的发现使芯片时序失效和对芯片性能起决定作用的关键路径。

Description

FPGA静态时序分析方法
技术领域
本发明主要用在FPGA的静态时序分析领域。能够在提供逻辑单元以及相应的连接关系和已知芯片的结构的前提下,对指定的网表电路进行时序分析。
背景技术
静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确的时序报告。
进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。
目前,国内时序分析领域缺少一种准确的分析各种延时路径的时序分析的方法。
发明内容
针对上述技术不足,本发明公开了一种使用新型时序分析算法,实现对FPGA的静态时序分析。通过改进的算法大幅提升FPGA的计算速度和时序分析结果。这种算法效率高、结果优。
本发明解决其技术问题所采用的技术方案是:FPGA静态时序分析方法,包括以下步骤:
某个节点经过拓扑排序出队时,计算它到其最原始前驱的延时,并将这个延时值与其最原始的前驱节点保存在该节点的映射表中,遍历这条路径上的所有结点,得到每个节点的最原始的前驱节点到该节点的延时映射表,进而得到每一个节点的最大延时。
用于计算违例路径,在回溯时根据最终输出的延时值逐层寻找每个节点的前驱节点,然后将前驱节点的总延时减去相应的延时,到最后延时值为0的那条即为违例路径。
电路网表的所有输入IO及时序器件为路径的起始端。
所述最原始的前驱节点所存储的延时为其本身的输出信号延时。
pad to pad路径的计算包括以下步骤:
遍历sink节点队列,按顺序出队每一个输出IO节点,遍历其映射表,找其最原始前驱节点,判断这个节点是否为输入IO节点;如果是,则输出该路径延时;如果其最原始前驱节点为一个时序器件,则放弃这样的路径。
setup to pad路径的计算包括以下步骤:
遍历sink节点队列,按顺序出队每一个输出IO节点,遍历其映射表,找其最原始前驱节点,判断这个节点是否为时序器件节点;如果是,则输出该路径延时;如果其最原始前驱节点为一个输入IO,则放弃这样的路径。
pad to setup路径的计算包括以下步骤:
遍历source点队列,按顺序出队每个时序器件节点,然后在有向无环图中找到其前驱节点队列,遍历该队列,判断每个前驱节点的最原始前驱是否为输入IO;如果是,则将这个延时值加上该时序器件本身的setup时间输出;如果不是,则放弃这样的路径。
clk to setup路径的计算包括以下步骤:
遍历source点队列,按顺序出队每个时序器件节点,然后在有向无环图中找到其前驱节点队列,遍历该队列,判断每个前驱节点的最原始前驱是否为时序器件;如果是,则将这个延时值加上最原始时序器件的clk to q时间,再加上该时序器件本身的setup时间输出;如果不是,则放弃这样的路径。
本发明具有以下有益效果及优点:
1.提高系统工作主频以及增加系统的稳定性。
2.通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。
附图说明
图1是本发明的静态时序分析实现流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明。
如图1所示,本发明涉及FPGA静态时序分析的一种算法。该算法的目的是更快的发现使芯片时序失效和对芯片性能起决定作用的关键路径。它采用穷尽分析方法(现有方法),提取出整个电路存在的所有时序路径,考察信号在这些路径上通过时是否满足时序约束的要求,通过对最大路径延迟和最小路径延迟的分析找出违背时序约束的错误。
时序分析程序的设计重点在于有向无环图(下面简称为图)的建立及关键路径的计算。首先图的建立分为两个阶段,当每读入一个元件并创建节点后,将其加入图。当所有的节点都加入图后,再循环遍历一次节点序列来添加边,即节点与节点之间的连接关系。到此一张由节点与边组成的网便建立完成了,我们称之为图。
当一个节点经过拓扑排序出队时我们计算它到其最原始前驱的延时,并将这个延时值与其最原始的前驱节点保存在该节点的映射表中,对于最原始的前驱来说,其所存储的延时为其本身的输出信号延时。对于每一个节点的最原始节点我们只保持最大延时值。这样对于每一个节点来说,它都有一个其最原始节点到该节点的延时映射表。这样到每一个节点的最大延时我们就计算出来了。
我们规定一个电路网表的所有输入IO及时序器件为路径的起始端,这是由路径计算要求所决定的。
下面是四种关键路径的计算。
pad to pad路径的计算过程:遍历sink节点队列,按顺序出队每一个输出IO节点,遍历其映射表,找其最原始前驱节点,判断这个节点是否为输入IO节点,如果是,则输出该路径延时;如果不是,则放弃这样的路径。
setup to pad路径的计算过程:遍历sink节点队列,按顺序出队每一个输出IO节点,遍历其映射表,找其最原始前驱节点,判断这个节点是否为时序器件节点,如果是,则输出该路径延时;如果不是,则放弃这样的路径。
pad to setup路径的计算过程:由于每个时序器件都是最原始的前驱,所以所有的路径在遇到时序器件时都会断开,在计算pad to setup时则比前两种计算过程麻烦一些。首先遍历source点队列,按顺序出队每个时序器件节点,然后在图中找到其前驱节点队列,遍历该队列,判断每个前驱节点的最原始前驱是否为输入IO,如果是,则将这个延时值加上该时序器件本身的setup时间输出;如果不是,则放弃这样的路径。
clk to setup路径的计算过程:首先遍历source点队列,按顺序出队每个时序器件节点,然后在图中找到其前驱节点队列,遍历该队列,判断每个前驱节点的最原始前驱是否为时序器件,如果是,则将这个延时值加上最原始时序器件的clk to q时间按再加上该时序器件本身的setup时间输出;如果不是,则放弃这样的路径。
对于上面四中路径来说在计算违例路径时都需要回溯来找到这条路径,因为每个节点存储的都只是其最原始的前驱节点,并不是完整的路径。在回溯时根据最终输出的延时值逐层的找每个节点的前驱,然后减去相应的延时,到最后延时值为0的那条即为违例路径。

Claims (7)

1.FPGA静态时序分析方法,其特征在于,包括以下步骤:
某个节点经过拓扑排序出队时,计算它到其最原始前驱的延时,并将这个延时值与其最原始的前驱节点保存在该节点的映射表中,遍历这条路径上的所有节点,得到每个节点的最原始的前驱节点到该节点的延时映射表,进而得到每一个节点的最大延时;
电路网表的所有输入IO及时序器件为路径的起始端,所述路径包括pad to pad路径、setup to pad路径、pad to setup路径、clk to setup路径。
2.根据权利要求1所述的FPGA静态时序分析方法,其特征在于,用于计算违例路径,在回溯时根据最终输出的延时值逐层寻找每个节点的前驱节点,然后将前驱节点的总延时减去相应的延时,到最后延时值为0的那条即为违例路径。
3.根据权利要求1所述的FPGA静态时序分析方法,其特征在于:所述最原始的前驱节点所存储的延时为其本身的输出信号延时。
4.根据权利要求1所述的FPGA静态时序分析方法,其特征在于,所述某个节点经过拓扑排序出队时,计算它到其最原始前驱的延时,并将这个延时值与其最原始的前驱节点保存在该节点的映射表中,其中pad to pad路径的计算包括以下步骤:
遍历sink节点队列,按顺序出队每一个输出IO节点,遍历其映射表,找其最原始前驱节点,判断这个节点是否为输入IO节点;如果是,则输出该路径延时;如果其最原始前驱节点为一个时序器件,则放弃这样的路径。
5.根据权利要求1所述的FPGA静态时序分析方法,其特征在于,所述某个节点经过拓扑排序出队时,计算它到其最原始前驱的延时,并将这个延时值与其最原始的前驱节点保存在该节点的映射表中,其中setup to pad路径的计算包括以下步骤:
遍历sink节点队列,按顺序出队每一个输出IO节点,遍历其映射表,找其最原始前驱节点,判断这个节点是否为时序器件节点;如果是,则输出该路径延时;如果其最原始前驱节点为一个输入IO,则放弃这样的路径。
6.根据权利要求1所述的FPGA静态时序分析方法,其特征在于,所述某个节点经过拓扑排序出队时,计算它到其最原始前驱的延时,并将这个延时值与其最原始的前驱节点保存在该节点的映射表中,其中pad to setup路径的计算包括以下步骤:
遍历source点队列,按顺序出队每个时序器件节点,然后在有向无环图中找到其前驱节点队列,遍历该队列,判断每个前驱节点的最原始前驱是否为输入IO;如果是,则将这个延时值加上该时序器件本身的setup时间输出;如果不是,则放弃这样的路径。
7.根据权利要求1所述的FPGA静态时序分析方法,其特征在于,所述某个节点经过拓扑排序出队时,计算它到其最原始前驱的延时,并将这个延时值与其最原始的前驱节点保存在该节点的映射表中,其中clk to setup路径的计算包括以下步骤:
遍历source点队列,按顺序出队每个时序器件节点,然后在有向无环图中找到其前驱节点队列,遍历该队列,判断每个前驱节点的最原始前驱是否为时序器件;如果是,则将这个延时值加上最原始时序器件的clk to q时间,再加上该时序器件本身的setup时间输出;如果不是,则放弃这样的路径。
CN201711416469.3A 2017-12-25 2017-12-25 Fpga静态时序分析方法 Active CN108073771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711416469.3A CN108073771B (zh) 2017-12-25 2017-12-25 Fpga静态时序分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711416469.3A CN108073771B (zh) 2017-12-25 2017-12-25 Fpga静态时序分析方法

Publications (2)

Publication Number Publication Date
CN108073771A CN108073771A (zh) 2018-05-25
CN108073771B true CN108073771B (zh) 2022-01-04

Family

ID=62155709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711416469.3A Active CN108073771B (zh) 2017-12-25 2017-12-25 Fpga静态时序分析方法

Country Status (1)

Country Link
CN (1) CN108073771B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486613B (zh) * 2021-06-29 2023-06-30 海光信息技术股份有限公司 数据链路的提取方法、装置、电子设备和存储介质
CN114742001B (zh) * 2022-03-16 2023-08-29 南京邮电大学 一种基于多fpga的系统静态时序分析方法
CN115544929B (zh) * 2022-11-30 2023-03-17 中科亿海微电子科技(苏州)有限公司 对fpga eda软件中路径时序延时的测试方法及装置
CN115600535B (zh) * 2022-12-09 2023-03-10 中科亿海微电子科技(苏州)有限公司 一种对fpga动态可重构区进行时序分析的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038602A (zh) * 2007-04-19 2007-09-19 复旦大学 一种工艺参数变化下成品率驱动的时钟偏差安排方法
US8091049B2 (en) * 2008-07-02 2012-01-03 Synopsys, Inc. Integrated single spice deck sensitization for gate level tools
CN105718698A (zh) * 2016-02-19 2016-06-29 深圳市同创国芯电子有限公司 一种时序网表管理方法及装置
CN106066914A (zh) * 2016-06-02 2016-11-02 复旦大学 考虑串扰效应的静态时序分析方法
CN106682285A (zh) * 2016-12-09 2017-05-17 深圳市紫光同创电子有限公司 一种静态时序分析方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038602A (zh) * 2007-04-19 2007-09-19 复旦大学 一种工艺参数变化下成品率驱动的时钟偏差安排方法
US8091049B2 (en) * 2008-07-02 2012-01-03 Synopsys, Inc. Integrated single spice deck sensitization for gate level tools
CN105718698A (zh) * 2016-02-19 2016-06-29 深圳市同创国芯电子有限公司 一种时序网表管理方法及装置
CN106066914A (zh) * 2016-06-02 2016-11-02 复旦大学 考虑串扰效应的静态时序分析方法
CN106682285A (zh) * 2016-12-09 2017-05-17 深圳市紫光同创电子有限公司 一种静态时序分析方法和装置

Also Published As

Publication number Publication date
CN108073771A (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
CN108073771B (zh) Fpga静态时序分析方法
CN105138774B (zh) 一种基于集成电路层次化设计的时序后仿真方法
US9098658B2 (en) Display and automatic improvement of timing and area in a network-on-chip
US20110078644A1 (en) Asychronous system analysis
Pang et al. Task mapping and mesh topology exploration for an FPGA-based network on chip
US9842187B1 (en) Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design
CN101504680B (zh) 时钟偏差局域性优化分析方法
US10169527B2 (en) Accurate statistical timing for boundary gates of hierarchical timing models
CN109947173B (zh) 最大时钟偏差的计算方法及计算系统
CN109800468B (zh) 一种基于寄存器重定时的多流水级时序电路装箱操作方法
CN109388839B (zh) 时钟系统性能分析方法及装置
CN104951609B (zh) 一种处理门级网表中的同步逻辑结构的方法
Tu et al. Timing driven routing tree construction
Radu et al. Optimizing application mapping algorithms for NoCs through a unified framework
Fujiwara et al. Clock skew estimate modeling for FPGA high-level synthesis and its application
CN110807244A (zh) 一种电力电子开关的电磁暂态仿真方法及装置
Shklover et al. Simultaneous clock and data gate sizing algorithm with common global objective
CN112214955B (zh) 一种提取超大规模集成电路芯片电源模型参数的方法
WO2018113182A1 (zh) 一种测试向量的生成方法及装置、存储介质
Wang et al. Summary of Tools in FPGA Static Timing Analysis
CN115470740A (zh) 时序分析方法、装置、电子设备和存储介质
CN115250251B (zh) 片上网络仿真中的传输路径规划方法、装置、电子设备及计算机可读存储介质
US9348958B2 (en) Method and apparatus for calculating yield
US7797665B1 (en) Patterns for routing nets in a programmable logic device
Hanyu et al. Accurate and high-speed asynchronous network-on-chip simulation using physical wire-delay information

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