CN114117943A - 物理设计布局阶段的时序预测方法 - Google Patents
物理设计布局阶段的时序预测方法 Download PDFInfo
- Publication number
- CN114117943A CN114117943A CN202210088465.1A CN202210088465A CN114117943A CN 114117943 A CN114117943 A CN 114117943A CN 202210088465 A CN202210088465 A CN 202210088465A CN 114117943 A CN114117943 A CN 114117943A
- Authority
- CN
- China
- Prior art keywords
- circuit
- gate
- test set
- net
- delay
- 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
Images
Classifications
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Resources & Organizations (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种物理设计布局阶段的时序预测方法,包括:步骤1,将获取的工艺库、电路网表及其布局结果数据分为训练集和测试集,分别基于训练集和测试集进行训练集的电路时序特征和测试集的电路时序特征提取;步骤2,将训练集的电路时序特征和训练集对应的Sign‑Off时序结果输入随机森林模型中进行训练,得到基于线网的时延预测模型。本发明时序预测与Sign‑Off的时序结果之间的差距小,提升了时序预测的准确性,在芯片设计过程中,能够很好地指导时序优化所带来性能和功耗额外影响,实现准确的时序预测,降低了整个芯片设计周期和成本。
Description
技术领域
本发明涉及时序预测技术领域,特别涉及一种物理设计布局阶段的时序预测方法。
背景技术
在芯片设计中,时序分析的准确性对指导时序优化,保证芯片时序收敛和运行性能至关重要。在布局阶段,一个快速而准确的时序分析工具,可以在布局阶段指导时序优化,缩短设计周期。
静态时序分析(Static Timing Analysis, STA)是验证时序收敛的重要手段,在静态时序分析中,电路网表会被建模为有向无环图(Directed Acyclic Graph, DAG)。电路图中的输入输出端口(Primary Input & Output port, PIO)和引脚(Pins),对应有向无环图的节点,线网连线或门内部时序弧,对应有向无环图的边。时序弧的时延,对应边的权重。在有向无环图中,可对所有的节点进行拓扑排序,并按层遍历计算出每个节点的到达时间(Arrival Time, AT)。然后由根据终端节点(寄存器数据端或者输出端口)的要求时间,反向计算出电路图中每个节点的要求到达时间(Require Arrival Time, RAT)。最后,根据每个节点的到达时间和每个节点的要求到达时间的差异,得到每个节点的时间裕量(Slack)。如果裕量为负,则不满足时延要求,需要在后续设计中进行时序优化。根据有向无环图中,边的时延是属于门电路内部时延,可以分为门延迟(Gate Delay)和线时延(Wire Delay)。在静态时序分析中,门延迟可以根据工艺库(Lib文件)中元器件特性,通过输出负载和输入引脚的Slew值,采用查表法计算得到,线时延则可根据布线信息,采用线时延模型求出。
然而,在布局阶段,还没有布线,没有具体的电阻电容(Resistance &Capacitance, RC)信息,门延迟和线时延无法准确计算。因此,目前在布局阶段进行时序分析,主要有以下三种方法:
悲观预测:由于缺少布线信息,所以进行时序分析时,为确保在最差的情况下,电路也能满足时序要求,会在电路中,加入悲观预测。在实践中,由于最坏情况很少发生,因此传统的悲观预测方法,会对芯片性能和功耗带来额外影响。实际经验表明,基于悲观预测的EDA工具,其预测的性能与最终流片后的性能之间的差距可高达30%。
增加设计反复迭代:如果后续布线结果无法满足时延要求,设计不收敛,则需要进行局部修正,甚至返回到前一阶段重新设计。这种设计的反复迭代,会大大增加整个芯片设计周期和成本。
基于机器学习的时序预测:为了改善预测中的过度悲观,提升预测的准确性,减少设计迭代,引入了机器学习方法。该方法通过使用现有设计数据,来训练时序模型。所得模型可在布局阶段,为同工艺下的未知电路设计,提供时序预测。基于机器学习的时序预测,需要在布局阶段提取尽可能多的时序相关特征,并建立预测模型。预测结果与Sign-Off时序结果的相关度,是衡量模型准确度的主要依据。
发明内容
本发明提供了一种物理设计布局阶段的时序预测方法,其目的是为了解决传统的时序预测方法的时序预测的性能与最终Sign-Off的时序性能之间的差距大的问题,在芯片设计过程中,不能很好地指导时序优化,所带来性能和功耗额外影响,不准确的时序预测会大大增加整个芯片设计周期和成本的问题。
为了达到上述目的,本发明的实施例提供了一种物理设计布局阶段的时序预测方法,包括:
步骤1,将获取的工艺库、电路网表及其布局结果数据分为训练集和测试集,分别基于训练集和测试集进行训练集的电路时序特征和测试集的电路时序特征提取;
步骤2,将训练集的电路时序特征和训练集对应的Sign-Off时序结果输入随机森林模型中进行训练,得到基于线网的时延预测模型;
步骤3,将测试集的电路时序特征输入基于线网的时延预测模型进行时延预测,得到测试集中各个电路的线网Sign-Off时延预测结果;
步骤4,将测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出每个电路的每个线网的输出引脚的时间裕量;
步骤5,根据计算出的所述时间裕量进行关键路径与非关键路径的区分,得到测试集中各个电路的关键路径预测结果。
其中,所述步骤1具体包括:
步骤11,将给定的工艺库、电路网表及其布局结果数据划分为训练集和测试集;
步骤12,分别对训练集和测试集中的数据进行预布线分析,得到训练集预布线分析结果和测试集预布线分析结果;
步骤13,根据训练集预布线分析结果,得到基于训练集预布线分析产生的RC网络,根据测试集预布线分析结果,得到基于测试集预布线分析产生的RC网络;
步骤14,根据训练集预布线分析结果,结合训练集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到训练集的电路时序特征;根据测试集预布线分析结果,结合测试集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到测试集的电路时序特征。
其中,所述步骤12具体包括:
步骤121,对训练集中的每个电路进行预布线分析,包括以下步骤:
步骤1211,获取训练集中的每个电路的每个线网中引脚的位置信息,根据训练集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到训练集预布线分析结果。
其中,所述步骤12具体包括:
步骤122,对测试集中的每个电路进行预布线分析,包括以下步骤:
步骤1221,获取测试集中的每个电路的每个线网中引脚的位置信息,根据测试集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到测试集预布线分析结果。
其中,所述步骤14具体包括:
训练集的电路时序特征和测试集的电路时序特征均包括:驱动强度、扇出个数、输出负载、非线性模型下的门转换倾斜、非线性模型下的门延迟、距离、Elmore时延、ContextElmore时延和D2M时延。
其中,所述步骤2具体包括:
在基于线网的时延预测模型中,将门时延和线时延合并在一起进行预测,从驱动门的一个输入到其对应的一个扇出接收端,经历了驱动门的门时延和其到扇出门连线的线时延,将驱动门的门时延和其到某个扇出的连线的线时延,两个时延合并,称为线网时延,基于线网的时延预测模型用于预测线网时延;
在基于线网的时延预测模型中,门的输出引脚节点在有向无环图中被去掉,一个线网为从门的一个输入引脚到其一个扇出的输入引脚,合并为一条有向无环图的边,该边权重包括驱动内的输入引脚到输出引脚的门时延和驱动输出引脚到扇出输入引脚连线的线时延。
其中,所述步骤2具体包括:
基于线网的时延预测模型中,门时延有4个不同的值,对应以下四种情况:门输入引脚的信号为上升沿,门输出引脚的信号为下降沿;门输入引脚的信号为上升沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为下降沿。
其中,所述步骤2还包括:
线时延的输入引脚的信号跳变和输出引脚的信号跳变一致,当合并驱动门和其扇出连线作为一个线网时延时,一个线网时延考虑所述四种情况,一个线网对应4个样本,分别预测出不同情况下的时延,不同的情况下的时序特征和Sign-Off时延不同,因此,不同样本对应的特征和时延不同。
其中,所述步骤4具体包括:
根据测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出测试集中每个电路的每个线网的输出引脚的到达时延,进而得到测试集中每个电路的每个线网的输出引脚的时间裕量。
其中,所述步骤5具体包括:
基于测试集中每个电路的每个线网的输出引脚的时间裕量进行每个电路的关键路径和非关键路径的区分,依次判断测试集中每个电路的每个线网的输出引脚的时间裕量是否为负,当当前线网的输出引脚的时间裕量为负时,当前线网对应的电路出现时序违反,当前线网为关键路径;当当前线网的输出引脚的时间裕量为正时,当前线网对应的电路的时序正常,当前线网为非关键路径,得到测试集中各个电路的关键路径预测结果。
本发明的上述方案有如下的有益效果:
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,时序预测与Sign-Off的时序结果之间的差距小,提升了时序预测的准确性,在芯片设计过程中,能够很好地指导时序优化所带来性能和功耗额外影响,实现准确的时序预测,降低了整个芯片设计周期和成本。
附图说明
图1为本发明的具体流程图;
图2为本发明的整体流程图;
图3为本发明的电路网表图转换为有向无环图的示意图,其中,(a)为本发明的电路网表图;(b)为本发明的有向无环图;
图4为本发明的预布线分析与时序特征提取示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的传统的时序预测方法,会对芯片性能和功耗带来额外影响,会大大增加整个芯片设计周期和成本,预测的性能与最终流片后的性能之间的差距大的问题,提供了一种物理设计布局阶段的时序预测方法。
如图1至图4所示,本发明的实施例提供了一种物理设计布局阶段的时序预测方法,包括:步骤1,将获取的工艺库、电路网表及其布局结果数据分为训练集和测试集,分别基于训练集和测试集进行训练集的电路时序特征和测试集的电路时序特征提取;步骤2,将训练集的电路时序特征和训练集对应的Sign-Off时序结果输入随机森林模型中进行训练,得到基于线网的时延预测模型;步骤3,将测试集的电路时序特征输入基于线网的时延预测模型进行时延预测,得到测试集中各个电路的线网Sign-Off时延预测结果;步骤4,将测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出每个电路的每个线网的输出引脚的时间裕量;步骤5,根据计算出的所述时间裕量进行关键路径与非关键路径的区分,得到测试集中各个电路的关键路径预测结果。
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,基于线网的时延预测模型区别与以往分开预测Gate Delay模型和Wire Delay模型,具体如下:模型个数和复杂度:如果分开预测Gate Delay和Wire Delay,一般已有方法,还需要在额外预测或计算Wire Slew和Output Load等,需要训练2-4个模型,增加了模型的个数和复杂度。预测时间和误差:一条路径上,Gate Delay 和Wire Delay一级级交替,如果Gate Delay和WireDelay分开预测,则Gate Delay和Wire Delay预测输入特征的准确性,是一级级互相依赖的,这样会增加预测时间和累计误差。基于线网的时延预测模型,只需要训练1个模型,不仅简化了模型,而且所有线网的时序特征,可以一次性提取,不需要在路径上一级级信息传递,在降低模型复杂度的同时,还消除了累计误差。
其中,所述步骤1具体包括:步骤11,将给定的工艺库、电路网表及其布局结果数据划分为训练集和测试集;步骤12,分别对训练集和测试集中的数据进行预布线分析,得到训练集预布线分析结果和测试集预布线分析结果;步骤13,根据训练集预布线分析结果,得到基于训练集预布线分析产生的RC网络,根据测试集预布线分析结果,得到基于测试集预布线分析产生的RC网络;步骤14,根据训练集预布线分析结果,结合训练集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到训练集的电路时序特征;根据测试集预布线分析结果,结合测试集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到测试集的电路时序特征。
其中,所述步骤12具体包括:步骤121,对训练集中的每个电路进行预布线分析,包括以下步骤:步骤1211,获取训练集中的每个电路的每个线网中引脚的位置信息,根据训练集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到训练集预布线分析结果。
其中,所述步骤12具体包括:步骤122,对测试集中的每个电路进行预布线分析,包括以下步骤:步骤1221,获取测试集中的每个电路的每个线网中引脚的位置信息,根据测试集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到测试集预布线分析结果。
其中,所述步骤14具体包括:训练集的电路时序特征和测试集的电路时序特征均包括:驱动强度、扇出个数、输出负载、非线性模型下的门转换倾斜、非线性模型下的门延迟、距离、Elmore时延、ContextElmore时延和D2M时延。
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,预布线分析首先会根据线网中引脚的位置信息,利用最小斯坦纳树算法(Minimal Steiner Tree, MST),把输入的多端线网(Multi-Pin Net)划分为多个两端连接关系,并对每个两端连接关系,进行L型的布线,得到预布线分析结果。如图4所示,线网n3是一个多端线网,驱动门c1有d和f两个扇出引脚,首先对n3进行最小斯坦纳树(Minimum Steiner Tree, MST)划分,以红色斯坦纳点为界,可以得到3个两端连接关系(r到斯坦纳点,斯坦纳点到d,斯坦纳点到f),每个两端连接采用L型走线,得到线网n3的预布线结果。
在预布线后,每个驱动门的一个输入引脚和其一个扇出引脚合并,看作一个线网,表1给出了基于线网的时延预测模型中,每个线网样本所需的特征。
表1 时序特征提取汇总表
基于预布线分析结果,结合电路网表及其布局结果信息和工艺库信息,可以得到以下时序特征:
驱动强度:作为驱动门的驱动强度,直接从工艺库Lib文件中,通过对应元器件查找表可得;
扇出个数:驱动门的扇出个数,即接收引脚的个数,由电路网表提供;
输出负载:驱动门输出引脚的负载,即到所有扇出的连线电容,可以根据RCNetwork(网络)计算得到;
NLDM Gate Slew:根据NLDM模型计算得到的Gate Slew。可根据工艺库中,Lib文件查找表,通过输出负载和输入引脚的Slew值,采用Non-Linear Delay Model (NLDM)计算得到;
NLDM Gate Delay:根据NLDM模型计算得到的驱动门时延。可根据工艺库中,Lib文件查找表,通过输出负载,和输入引脚的Slew值,采用NLDM计算得到;
距离:线网驱动引脚到接受引脚的曼哈顿距离,由输入布局坐标计算;
Elmore时延:从线网驱动引脚到当前接受引脚的Elmore时延,可根据工艺库和预布线结果,得到RC Network,再利用Elmore模型公式计算;
Context Elmore时延:除当前接受引脚外,处于同一个输入的多端线网的其他接收引脚,Elmore时延之和。例如,图4中,引脚d的Context Elmore时延即为从r到f的Elmore时延;
D2M时延:从驱动引脚到接受引脚的D2M时延。根据RC Network,通过D2M模型计算公式可得。
以驱动门输入b到输出引脚d的线网为例,图4中给出了对应的特征值提取信息。
其中,所述步骤2具体包括:在基于线网的时延预测模型中,将门时延和线时延合并在一起进行预测,从驱动门的一个输入到其对应的一个扇出接收端,经历了驱动门的门时延和其到扇出门连线的线时延,将驱动门的门时延和其到某个扇出的连线的线时延,两个时延合并,称为线网时延,基于线网的时延预测模型用于预测线网时延;在基于线网的时延预测模型中,门的输出引脚节点在有向无环图中被去掉,一个线网为从门的一个输入引脚到其一个扇出的输入引脚,合并为一条有向无环图的边,该边权重包括驱动内的输入引脚到输出引脚的门时延和驱动输出引脚到扇出输入引脚连线的线时延。
其中,所述步骤2具体包括:基于线网的时延预测模型中,门时延有4个不同的值,对应以下四种情况:门输入引脚的信号为上升沿,门输出引脚的信号为下降沿;门输入引脚的信号为上升沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为下降沿。
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,如图4所示,如图3(a)所示,路径1从FF的输出端q到下一级FF的输入端e,路径1的整个时延由Gate Delay和Wire Delay交替求和;图3(b)中,从a到u的时延为Gate Delay, 从u到c的时延为WireDelay,其中,a和u分别是驱动门输入和输出引脚,驱动门的扇出接收引脚是c,将驱动门的门时延和其到某个扇出的连线线时延,两个时延合并,称之为一个线网时延,即Net Delay。基于线网的时延预测模型是预测线网时延。
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,基于线网的时延预测模型中,门的输出引脚节点在DAG中被去掉了,一个线网是从门的一个输入引脚到其一个扇出的输入引脚,合并为一条DAG边,该q边权重包括了驱动内的输入引脚到输出引脚的门时延和驱动输出引脚到扇出输入引脚连线的线时延。图3(a)给出了在基于线网的时延预测模型下电路网表,图3(b)对应的有向无环图示例,基于线网的时延预测模型就是预测线网时延,每条边的时延。
其中,所述步骤2还包括:线时延的输入引脚的信号跳变和输出引脚的信号跳变一致,当合并驱动门和其扇出连线作为一个线网时延时,一个线网时延考虑所述四种情况,一个线网对应4个样本,分别预测出不同情况下的时延,不同的情况下的时序特征和Sign-Off时延不同,因此,不同样本对应的特征和时延不同。
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,基于线网的时延预测模型,由于电信号传播过程中,信号的跳变,即波形跳变,一般分为两种:上升和下降。门电路中,其一个输入引脚到一个输出引脚的时延,需要考虑上升和下降不同情况,因此在门的内部,从其输入引脚到输出引脚的时延可能会不止一个值,即门时延存在多种情况。所述物理设计布局阶段的时序预测方法,门时延最多有4个不同的值,对应以下四种情况:
门输入引脚的信号为上升沿,门输出引脚的信号为下降沿;
门输入引脚的信号为上升沿,门输出引脚的信号为上升沿;
门输入引脚的信号为下降沿,门输出引脚的信号为上升沿;
门输入引脚的信号为下降沿,门输出引脚的信号为下降沿;
由于线时延的输入引脚的信号跳变和输出引脚的信号跳变是一致的,所以,当合并驱动门和其扇出连线作为一个线网时延时,一个线网时延最多也需要考虑上述四种情况,即一个线网可以对应最多4个样本,分别预测出不同情况下的时延。由于不同的情况下,时序特征和Sign-Off时延都不同,因此,即使同一个线网,不同样本对应的特征(Feature)和时延(Ground Truth)也是不同的。以图3为例,b->d的时序弧,在输入信号为上升延,输出信号为下降沿的情况下,其对应的特征和Sign-Off时延(Ground Truth),可以作为一个数据样本;在输入信号为下降延,输出信号为上升沿的情况下,其对应的特征和Sign-Off时延(Ground Truth),作为另一个数据样本。因为驱动门是反相器,所以以上总共2种情况,没有4种情况,即b->d的Net可以提取2个样本。
其中,所述步骤4具体包括:根据测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出测试集中每个电路的每个线网的输出引脚的到达时延,进而得到测试集中每个电路的每个线网的输出引脚的时间裕量。
其中,所述步骤5具体包括:基于测试集中每个电路的每个线网的输出引脚的时间裕量进行每个电路的关键路径和非关键路径的区分,依次判断测试集中每个电路的每个线网的输出引脚的时间裕量是否为负,当当前线网的输出引脚的时间裕量为负时,当前线网对应的电路出现时序违反,当前线网为关键路径;当当前线网的输出引脚的时间裕量为正时,当前线网对应的电路的时序正常,当前线网为非关键路径,得到测试集中各个电路的关键路径预测结果。
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,所述物理设计布局阶段的时序预测方法在C++17和Pytorch 1.8.0中实现,在Intel Core i7(@3.00 GHz)和16 GB DDR4的PC机上进行评估:
表2 电路信息
所有的训练样本合一起提供给Net-Based模型进行训练。所述物理设计布局阶段的时序预测方法在ITC'99电路上进行,采用先进28nm工艺库。ITC'99电路用例中的每个电路设计,所对应的信息如表2所示。其中训练集中的数据不包含来自b17和b22的电路设计,测试集中b17和b22的数据用于模型的交叉验证,即验证我们的模型在同种工艺下,其他未知电路设计的预测效果。实验的时序Ground Truth来自于PrimeTime工具,以下称为Sign-Off结果。
表3给出了基于线网的时延预测模型中,线网时延预测效果。其中,Mean和Max分别为线网时延预测效果与Sign-Off给出的Ground Truth时延的平均误差和最大误差,以ps为单位。为了进行对比,复现了文献:Erick C Barboza, Nishchal Shukla, Yiran Chen, etal. Machine Learning-Based Pre-Routing Timing Prediction with ReducedPessimism[C] //Proceedings of the 56th ACM/IEEE De-sign AutomationConference, 2019(106): 1-6.中提出的DAC’19特征提取方法。可以看出,在同种模型下,所述物理设计布局阶段的时序预测方法的线网时延预测结果在测试集上的时延相关度,可以高达0.99以上,证明了所述物理设计布局阶段的时序预测方法的时序特征提取的有效性。
表3 线网时延预测结果
在线网时延预测结果后,利用拓扑排序,求出每个线网输出引脚的到达时延,进而得到的时间裕量。当寄存器或输出端口的时间裕量为负时,说明电路出现时序违反,被判为关键路径。
表4 时间裕量预测结果
表4给出了利用预测的每条线网时延,计算得到寄存器或输出端口的时间裕量和Sign-Off报告时间裕量Truth Ground的相关性。可以看出,所述物理设计布局阶段的时序预测方法的时间裕量相关性高达0.98,远高于DAC’19所提出的方法。
进行静态时序分析的目的,主要是为了检查时序违例,即预判Slack值负的关键路径,为后续时序评估和优化提供依据。
表5显示了根据时延预测的结果,区分非关键路径和关键路径的效果。其中,TruePositive Ratio (TPR)表示实际关键路径被预测为关键路径的比率,该值越趋近于1,预测效果越好;True Negative Ratio (TNR)表示实际非关键路径被预测为非关键路径的比例,该值越趋近于1,效果越好。
从表5中,综合来看,所述物理设计布局阶段的时序预测方法的TPR和TNR指标之和高于DAC’19方法。为了尽可能多的预测出所有的关键路径,对预测的Slack进行了线性修正处理,增加悲观度。修正后,所述物理设计布局阶段的时序预测方法预测的TPR几乎接近1。修正后,由于增加了悲观度,所述物理设计布局阶段的时序预测方法的TNR结果降低了,但仍然高出DAC’19方法约30%。
表5 关键路径预测结果
本发明的上述实施例所述的物理设计布局阶段的时序预测方法,不会对芯片性能和功耗带来额外影响,减小了整个芯片设计周期和成本,预测的性能与最终流片后的性能之间的差距小,提升了时序预测的准确性,减少了设计迭代,在降低模型复杂度的同时,还消除了累计误差。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种物理设计布局阶段的时序预测方法,其特征在于,包括:
步骤1,将获取的工艺库、电路网表及其布局结果数据分为训练集和测试集,分别基于训练集和测试集进行训练集的电路时序特征和测试集的电路时序特征提取;
步骤2,将训练集的电路时序特征和训练集对应的Sign-Off时序结果输入随机森林模型中进行训练,得到基于线网的时延预测模型;
步骤3,将测试集的电路时序特征输入基于线网的时延预测模型进行时延预测,得到测试集中各个电路的线网Sign-Off时延预测结果;
步骤4,将测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出每个电路的每个线网的输出引脚的时间裕量;
步骤5,根据计算出的所述时间裕量进行关键路径与非关键路径的区分,得到测试集中各个电路的关键路径预测结果。
2.根据权利要求1所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤1具体包括:
步骤11,将给定的工艺库、电路网表及其布局结果数据划分为训练集和测试集;
步骤12,分别对训练集和测试集中的数据进行预布线分析,得到训练集预布线分析结果和测试集预布线分析结果;
步骤13,根据训练集预布线分析结果,得到基于训练集预布线分析产生的RC网络,根据测试集预布线分析结果,得到基于测试集预布线分析产生的RC网络;
步骤14,根据训练集预布线分析结果,结合训练集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到训练集的电路时序特征;根据测试集预布线分析结果,结合测试集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到测试集的电路时序特征。
3.根据权利要求2所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤12具体包括:
步骤121,对训练集中的每个电路进行预布线分析,包括以下步骤:
步骤1211,获取训练集中的每个电路的每个线网中引脚的位置信息,根据训练集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到训练集预布线分析结果。
4.根据权利要求3所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤12具体包括:
步骤122,对测试集中的每个电路进行预布线分析,包括以下步骤:
步骤1221,获取测试集中的每个电路的每个线网中引脚的位置信息,根据测试集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到测试集预布线分析结果。
5.根据权利要求4所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤14具体包括:
训练集的电路时序特征和测试集的电路时序特征均包括:驱动强度、扇出个数、输出负载、非线性模型下的门转换倾斜、非线性模型下的门延迟、距离、Elmore时延、ContextElmore时延和D2M时延。
6.根据权利要求5所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤2具体包括:
在基于线网的时延预测模型中,将门时延和线时延合并在一起进行预测,从驱动门的一个输入到其对应的一个扇出接收端,经历了驱动门的门时延和其到扇出门连线的线时延,将驱动门的门时延和其到某个扇出的连线的线时延,两个时延合并,称为线网时延,基于线网的时延预测模型用于预测线网时延;
在基于线网的时延预测模型中,门的输出引脚节点在有向无环图中被去掉,一个线网为从门的一个输入引脚到其一个扇出的输入引脚,合并为一条有向无环图的边,该边权重包括驱动内的输入引脚到输出引脚的门时延和驱动输出引脚到扇出输入引脚连线的线时延。
7.根据权利要求6所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤2具体包括:
基于线网的时延预测模型中,门时延有4个不同的值,对应以下四种情况:门输入引脚的信号为上升沿,门输出引脚的信号为下降沿;门输入引脚的信号为上升沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为下降沿。
8.根据权利要求7所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤2还包括:
线时延的输入引脚的信号跳变和输出引脚的信号跳变一致,当合并驱动门和其扇出连线作为一个线网时延时,一个线网时延考虑所述四种情况,一个线网对应4个样本,分别预测出不同情况下的时延,不同的情况下的时序特征和Sign-Off时延不同,因此,不同样本对应的特征和时延不同。
9.根据权利要求8所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤4具体包括:
根据测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出测试集中每个电路的每个线网的输出引脚的到达时延,进而得到测试集中每个电路的每个线网的输出引脚的时间裕量。
10.根据权利要求9所述的物理设计布局阶段的时序预测方法,其特征在于,所述步骤5具体包括:
基于测试集中每个电路的每个线网的输出引脚的时间裕量进行每个电路的关键路径和非关键路径的区分,依次判断测试集中每个电路的每个线网的输出引脚的时间裕量是否为负,当当前线网的输出引脚的时间裕量为负时,当前线网对应的电路出现时序违反,当前线网为关键路径;当当前线网的输出引脚的时间裕量为正时,当前线网对应的电路的时序正常,当前线网为非关键路径,得到测试集中各个电路的关键路径预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088465.1A CN114117943B (zh) | 2022-01-26 | 2022-01-26 | 物理设计布局阶段的时序预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088465.1A CN114117943B (zh) | 2022-01-26 | 2022-01-26 | 物理设计布局阶段的时序预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114117943A true CN114117943A (zh) | 2022-03-01 |
CN114117943B CN114117943B (zh) | 2022-05-06 |
Family
ID=80361295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210088465.1A Active CN114117943B (zh) | 2022-01-26 | 2022-01-26 | 物理设计布局阶段的时序预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117943B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293082A (zh) * | 2022-09-30 | 2022-11-04 | 深圳鸿芯微纳技术有限公司 | 时序预测模型的训练、预测方法、装置、设备及存储介质 |
WO2024011876A1 (zh) * | 2022-07-14 | 2024-01-18 | 东南大学 | 一种数字集成电路布线后路径延时预测方法 |
WO2024011877A1 (zh) * | 2022-07-14 | 2024-01-18 | 东南大学 | 基于特征选择和深度学习的集成电路路径延时预测方法 |
CN117787202A (zh) * | 2023-12-22 | 2024-03-29 | 上海交通大学 | 跨工艺角的签核级时序预测方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150213188A1 (en) * | 2014-01-24 | 2015-07-30 | Oracle International Corporation | Concurrent timing-driven topology construction and buffering for vlsi routing |
US20200241487A1 (en) * | 2019-01-24 | 2020-07-30 | Qingdao university of technology | Networked control system time-delay compensation method based on predictive control |
CN113609812A (zh) * | 2021-08-03 | 2021-11-05 | 湖南大学 | 基于LightGBM的网表级的线时延预测方法、设备及介质 |
CN113673196A (zh) * | 2021-08-15 | 2021-11-19 | 上海立芯软件科技有限公司 | 一种基于可布线性预测的全局布线优化方法 |
-
2022
- 2022-01-26 CN CN202210088465.1A patent/CN114117943B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150213188A1 (en) * | 2014-01-24 | 2015-07-30 | Oracle International Corporation | Concurrent timing-driven topology construction and buffering for vlsi routing |
US20200241487A1 (en) * | 2019-01-24 | 2020-07-30 | Qingdao university of technology | Networked control system time-delay compensation method based on predictive control |
CN113609812A (zh) * | 2021-08-03 | 2021-11-05 | 湖南大学 | 基于LightGBM的网表级的线时延预测方法、设备及介质 |
CN113673196A (zh) * | 2021-08-15 | 2021-11-19 | 上海立芯软件科技有限公司 | 一种基于可布线性预测的全局布线优化方法 |
Non-Patent Citations (1)
Title |
---|
刘畅 等: "时序驱动的详细布局方法", 《国防科技大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024011876A1 (zh) * | 2022-07-14 | 2024-01-18 | 东南大学 | 一种数字集成电路布线后路径延时预测方法 |
WO2024011877A1 (zh) * | 2022-07-14 | 2024-01-18 | 东南大学 | 基于特征选择和深度学习的集成电路路径延时预测方法 |
CN115293082A (zh) * | 2022-09-30 | 2022-11-04 | 深圳鸿芯微纳技术有限公司 | 时序预测模型的训练、预测方法、装置、设备及存储介质 |
CN115293082B (zh) * | 2022-09-30 | 2023-01-20 | 深圳鸿芯微纳技术有限公司 | 时序预测模型的训练、预测方法、装置、设备及存储介质 |
CN117787202A (zh) * | 2023-12-22 | 2024-03-29 | 上海交通大学 | 跨工艺角的签核级时序预测方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN114117943B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114117943B (zh) | 物理设计布局阶段的时序预测方法 | |
US7089143B2 (en) | Method and system for evaluating timing in an integrated circuit | |
US10776547B1 (en) | Infinite-depth path-based analysis of operational timing for circuit design | |
US7222311B2 (en) | Method and apparatus for interconnect-driven optimization of integrated circuit design | |
US7958470B1 (en) | Method and system for false path analysis | |
US8875082B1 (en) | System and method for detecting and prescribing physical corrections for timing violations in pruned timing data for electronic circuit design defined by physical implementation data | |
US9881123B1 (en) | Method and system for timing analysis with adaptive timing window optimization for determining signal integrity impact | |
US8726211B2 (en) | Generating an equivalent waveform model in static timing analysis | |
US20080092092A1 (en) | Method and Processor for Power Analysis in Digital Circuits | |
US20060080627A1 (en) | Crosstalk-aware timing analysis | |
CN114861591B (zh) | 一种可微分时序驱动的芯片布局优化方法 | |
US20210173993A1 (en) | Machine Learning Based Methods and Apparatus for Integrated Circuit Design Delay Calculation and Verification | |
CN115315702A (zh) | 早期阶段电路设计中基于机器学习的度量的预测 | |
CN114742001A (zh) | 一种基于多fpga的***静态时序分析方法 | |
US11461523B1 (en) | Glitch analysis and glitch power estimation system | |
US7188327B2 (en) | Method and system for logic-level circuit modeling | |
CN114586036A (zh) | 利用寄存器传输级矢量的毛刺功率分析 | |
Gayathri et al. | RTL synthesis of case study using design compiler | |
Tehrani et al. | Deep sub-micron static timing analysis in presence of crosstalk | |
Ramesh et al. | Artificial neural network model for arrival time computation in gate level circuits | |
TWI777210B (zh) | 用於設計上下文感知電路的方法 | |
US7191417B1 (en) | Method and apparatus for optimization of digital integrated circuits using detection of bottlenecks | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
Yang et al. | Automatic timing eco using stage-based path delay prediction | |
Bommu et al. | Retiming-based factorization for sequential logic optimization |
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 |