[go: up one dir, main page]

CN114117943B - Timing Prediction Methods in the Layout Phase of Physical Designs - Google Patents

Timing Prediction Methods in the Layout Phase of Physical Designs Download PDF

Info

Publication number
CN114117943B
CN114117943B CN202210088465.1A CN202210088465A CN114117943B CN 114117943 B CN114117943 B CN 114117943B CN 202210088465 A CN202210088465 A CN 202210088465A CN 114117943 B CN114117943 B CN 114117943B
Authority
CN
China
Prior art keywords
circuit
test set
gate
delay
net
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
CN202210088465.1A
Other languages
Chinese (zh)
Other versions
CN114117943A (en
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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN202210088465.1A priority Critical patent/CN114117943B/en
Publication of CN114117943A publication Critical patent/CN114117943A/en
Application granted granted Critical
Publication of CN114117943B publication Critical patent/CN114117943B/en
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/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Development Economics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Game Theory and Decision Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种物理设计布局阶段的时序预测方法,包括:步骤1,将获取的工艺库、电路网表及其布局结果数据分为训练集和测试集,分别基于训练集和测试集进行训练集的电路时序特征和测试集的电路时序特征提取;步骤2,将训练集的电路时序特征和训练集对应的Sign‑Off时序结果输入随机森林模型中进行训练,得到基于线网的时延预测模型。本发明时序预测与Sign‑Off的时序结果之间的差距小,提升了时序预测的准确性,在芯片设计过程中,能够很好地指导时序优化所带来性能和功耗额外影响,实现准确的时序预测,降低了整个芯片设计周期和成本。

Figure 202210088465

The present invention provides a time sequence prediction method in a physical design layout stage, comprising: step 1, dividing the acquired process library, circuit netlist and layout result data into a training set and a test set, and performing the steps based on the training set and the test set respectively The circuit timing features of the training set and the circuit timing features of the test set are extracted; step 2, the circuit timing features of the training set and the Sign-Off timing results corresponding to the training set are input into the random forest model for training, and the network-based delay is obtained. prediction model. The gap between the timing prediction of the present invention and the timing result of Sign-Off is small, the accuracy of timing prediction is improved, and in the process of chip design, it can well guide the additional impact of performance and power consumption caused by timing optimization, and achieve accurate timing. timing prediction, reducing the entire chip design cycle and cost.

Figure 202210088465

Description

物理设计布局阶段的时序预测方法Timing Prediction Methods in the Layout Phase of Physical Designs

技术领域technical field

本发明涉及时序预测技术领域,特别涉及一种物理设计布局阶段的时序预测方法。The invention relates to the technical field of timing prediction, in particular to a timing prediction method in a physical design layout stage.

背景技术Background technique

在芯片设计中,时序分析的准确性对指导时序优化,保证芯片时序收敛和运行性能至关重要。在布局阶段,一个快速而准确的时序分析工具,可以在布局阶段指导时序优化,缩短设计周期。In chip design, the accuracy of timing analysis is very important to guide timing optimization and ensure chip timing closure and operating performance. During the placement stage, a fast and accurate timing analysis tool can guide timing optimization during the placement stage and shorten the design cycle.

静态时序分析(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值,采用查表法计算得到,线时延则可根据布线信息,采用线时延模型求出。Static Timing Analysis (STA) is an important means to verify timing closure. In static timing analysis, the circuit netlist is modeled as a Directed Acyclic Graph (DAG). The input and output ports (Primary Input & Output port, PIO) and pins (Pins) in the circuit diagram correspond to the nodes of the directed acyclic graph, the internal timing arcs of the wire-net connection or the gate, and correspond to the edges of the directed acyclic graph. The delay of the timing arc, corresponding to the weight of the edge. In a directed acyclic graph, all nodes can be topologically sorted, and the arrival time (AT) of each node can be calculated by layer traversal. Then, according to the required time of the terminal node (register data terminal or output port), the required arrival time (RAT) of each node in the circuit diagram is calculated inversely. Finally, according to the difference between the arrival time of each node and the required arrival time of each node, the time slack (Slack) of each node is obtained. If the slack is negative, the delay requirement is not met, and timing optimization needs to be performed in the subsequent design. According to the directed acyclic graph, the delay of the edge belongs to the internal delay of the gate circuit, which can be divided into gate delay and wire delay. In the static timing analysis, the gate delay can be calculated by the table look-up method according to the characteristics of the components in the process library (Lib file) and the Slew value of the output load and input pin, and the line delay can be calculated according to the wiring information. The time delay model is obtained.

然而,在布局阶段,还没有布线,没有具体的电阻电容(Resistance &Capacitance, RC)信息,门延迟和线时延无法准确计算。因此,目前在布局阶段进行时序分析,主要有以下三种方法:However, in the layout stage, there is no wiring and no specific resistance and capacitance (RC) information, and the gate delay and line delay cannot be accurately calculated. Therefore, at present, there are three main methods for timing analysis in the layout stage:

悲观预测:由于缺少布线信息,所以进行时序分析时,为确保在最差的情况下,电路也能满足时序要求,会在电路中,加入悲观预测。在实践中,由于最坏情况很少发生,因此传统的悲观预测方法,会对芯片性能和功耗带来额外影响。实际经验表明,基于悲观预测的EDA工具,其预测的性能与最终流片后的性能之间的差距可高达30%。Pessimistic prediction: Due to the lack of wiring information, in order to ensure that the circuit can meet the timing requirements in the worst case, pessimistic prediction will be added to the circuit during timing analysis. In practice, traditional pessimistic forecasting methods have additional impacts on chip performance and power consumption because the worst-case scenario is rare. Practical experience shows that the gap between the predicted performance and the final tape-out performance of EDA tools based on pessimistic prediction can be as high as 30%.

增加设计反复迭代:如果后续布线结果无法满足时延要求,设计不收敛,则需要进行局部修正,甚至返回到前一阶段重新设计。这种设计的反复迭代,会大大增加整个芯片设计周期和成本。Increase iterative design iterations: If the subsequent routing results cannot meet the delay requirements and the design does not converge, local corrections are required, or even return to the previous stage for redesign. Repeated iterations of this design will greatly increase the entire chip design cycle and cost.

基于机器学习的时序预测:为了改善预测中的过度悲观,提升预测的准确性,减少设计迭代,引入了机器学习方法。该方法通过使用现有设计数据,来训练时序模型。所得模型可在布局阶段,为同工艺下的未知电路设计,提供时序预测。基于机器学习的时序预测,需要在布局阶段提取尽可能多的时序相关特征,并建立预测模型。预测结果与Sign-Off时序结果的相关度,是衡量模型准确度的主要依据。Machine learning-based time series forecasting: In order to improve over-pessimism in forecasting, improve forecasting accuracy, and reduce design iterations, machine learning methods are introduced. This method trains a timing model by using existing design data. The resulting model can provide timing prediction for unknown circuit designs under the same process in the layout stage. For time series prediction based on machine learning, it is necessary to extract as many time series-related features as possible in the layout stage and establish a prediction model. The correlation between the prediction results and the sign-off time series results is the main basis for measuring the accuracy of the model.

发明内容SUMMARY OF THE INVENTION

本发明提供了一种物理设计布局阶段的时序预测方法,其目的是为了解决传统的时序预测方法的时序预测的性能与最终Sign-Off的时序性能之间的差距大的问题,在芯片设计过程中,不能很好地指导时序优化,所带来性能和功耗额外影响,不准确的时序预测会大大增加整个芯片设计周期和成本的问题。The present invention provides a timing prediction method in the physical design layout stage, the purpose of which is to solve the problem of a large gap between the performance of the timing prediction of the traditional timing prediction method and the timing performance of the final Sign-Off. In this case, timing optimization cannot be well guided, resulting in additional impact on performance and power consumption. Inaccurate timing prediction will greatly increase the entire chip design cycle and cost.

为了达到上述目的,本发明的实施例提供了一种物理设计布局阶段的时序预测方法,包括:In order to achieve the above object, an embodiment of the present invention provides a timing prediction method in a physical design layout stage, including:

步骤1,将获取的工艺库、电路网表及其布局结果数据分为训练集和测试集,分别基于训练集和测试集进行训练集的电路时序特征和测试集的电路时序特征提取;Step 1: Divide the acquired process library, circuit netlist and its layout result data into a training set and a test set, and extract the circuit timing features of the training set and the circuit timing features of the test set based on the training set and the test set respectively;

步骤2,将训练集的电路时序特征和训练集对应的Sign-Off时序结果输入随机森林模型中进行训练,得到基于线网的时延预测模型;Step 2, input the circuit timing characteristics of the training set and the Sign-Off timing results corresponding to the training set into the random forest model for training, and obtain a delay prediction model based on the wire network;

步骤3,将测试集的电路时序特征输入基于线网的时延预测模型进行时延预测,得到测试集中各个电路的线网Sign-Off时延预测结果;Step 3, inputting the circuit timing characteristics of the test set into the network-based delay prediction model for delay prediction, and obtaining the line network Sign-Off delay prediction result of each circuit in the test set;

步骤4,将测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出每个电路的每个线网的输出引脚的时间裕量;Step 4, perform circuit diagram topology traversal on the wire net Sign-Off delay prediction results of each circuit in the test set, and calculate the time margin of the output pins of each wire net of each circuit;

步骤5,根据计算出的所述时间裕量进行关键路径与非关键路径的区分,得到测试集中各个电路的关键路径预测结果。In step 5, the critical path and the non-critical path are distinguished according to the calculated time margin, and the critical path prediction result of each circuit in the test set is obtained.

其中,所述步骤1具体包括:Wherein, the step 1 specifically includes:

步骤11,将给定的工艺库、电路网表及其布局结果数据划分为训练集和测试集;Step 11: Divide the given process library, circuit netlist and its layout result data into a training set and a test set;

步骤12,分别对训练集和测试集中的数据进行预布线分析,得到训练集预布线分析结果和测试集预布线分析结果;Step 12: Perform pre-wiring analysis on the data in the training set and the test set, respectively, to obtain the pre-wiring analysis result of the training set and the pre-wiring analysis result of the test set;

步骤13,根据训练集预布线分析结果,得到基于训练集预布线分析产生的RC网络,根据测试集预布线分析结果,得到基于测试集预布线分析产生的RC网络;Step 13, according to the pre-wiring analysis result of the training set, obtain the RC network generated based on the pre-wiring analysis of the training set, and obtain the RC network generated based on the pre-wiring analysis of the test set according to the pre-wiring analysis result of the test set;

步骤14,根据训练集预布线分析结果,结合训练集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到训练集的电路时序特征;根据测试集预布线分析结果,结合测试集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到测试集的电路时序特征。Step 14: According to the pre-wiring analysis result of the training set, combine the circuit netlist data and its layout result data and the process library data in the training set to perform circuit timing feature extraction to obtain the circuit timing features of the training set; The circuit netlist data and its layout result data and process library data in the test set are used to extract the circuit timing characteristics, and the circuit timing characteristics of the test set are obtained.

其中,所述步骤12具体包括:Wherein, the step 12 specifically includes:

步骤121,对训练集中的每个电路进行预布线分析,包括以下步骤:Step 121, perform pre-wiring analysis on each circuit in the training set, including the following steps:

步骤1211,获取训练集中的每个电路的每个线网中引脚的位置信息,根据训练集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到训练集预布线分析结果。Step 1211: Acquire the position information of the pins in each net of each circuit in the training set, and use the minimum Steiner tree algorithm to divide the multi-terminal net according to the position information of the pins in each net of each circuit in the training set. It is divided into multiple connection relationships at both ends, and L-shaped wiring is performed on each connection relationship at both ends to obtain the pre-wiring analysis result of the training set.

其中,所述步骤12具体包括:Wherein, the step 12 specifically includes:

步骤122,对测试集中的每个电路进行预布线分析,包括以下步骤:Step 122, perform pre-wiring analysis on each circuit in the test set, including the following steps:

步骤1221,获取测试集中的每个电路的每个线网中引脚的位置信息,根据测试集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到测试集预布线分析结果。Step 1221: Obtain the position information of pins in each net of each circuit in the test set, and use the minimum Steiner tree algorithm to divide the multi-terminal net according to the position information of the pins in each net of each circuit in the test set. It is divided into multiple connection relationships at both ends, and L-shaped wiring is performed on each connection relationship at both ends to obtain the pre-wiring analysis result of the test set.

其中,所述步骤14具体包括:Wherein, the step 14 specifically includes:

训练集的电路时序特征和测试集的电路时序特征均包括:驱动强度、扇出个数、输出负载、非线性模型下的门转换倾斜、非线性模型下的门延迟、距离、Elmore时延、ContextElmore时延和D2M时延。The circuit timing characteristics of the training set and the circuit timing characteristics of the test set include: drive strength, fan-out number, output load, gate transition tilt under nonlinear model, gate delay under nonlinear model, distance, Elmore delay, ContextElmore delay and D2M delay.

其中,所述步骤2具体包括:Wherein, the step 2 specifically includes:

在基于线网的时延预测模型中,将门时延和线时延合并在一起进行预测,从驱动门的一个输入到其对应的一个扇出接收端,经历了驱动门的门时延和其到扇出门连线的线时延,将驱动门的门时延和其到某个扇出的连线的线时延,两个时延合并,称为线网时延,基于线网的时延预测模型用于预测线网时延;In the network-based delay prediction model, the gate delay and the line delay are combined together for prediction. The line delay of the connection to the fan-out, the gate delay of the driving door and the line delay of the connection to a certain fan-out, the two delays are combined, which is called the line network delay. The delay prediction model is used to predict the network delay;

在基于线网的时延预测模型中,门的输出引脚节点在有向无环图中被去掉,一个线网为从门的一个输入引脚到其一个扇出的输入引脚,合并为一条有向无环图的边,该边权重包括驱动内的输入引脚到输出引脚的门时延和驱动输出引脚到扇出输入引脚连线的线时延。In the net-based delay prediction model, the output pin node of the gate is removed in the directed acyclic graph, and a net is the input pin from one input pin of the gate to one of its fan-outs, which is merged into An edge of a directed acyclic graph, the weight of the edge includes the gate delay from the input pin to the output pin in the driver and the line delay of the connection from the driver output pin to the fanout input pin.

其中,所述步骤2具体包括:Wherein, the step 2 specifically includes:

基于线网的时延预测模型中,门时延有4个不同的值,对应以下四种情况:门输入引脚的信号为上升沿,门输出引脚的信号为下降沿;门输入引脚的信号为上升沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为下降沿。In the network-based delay prediction model, the gate delay has 4 different values, corresponding to the following four situations: the signal of the gate input pin is a rising edge, the signal of the gate output pin is a falling edge; the gate input pin is a rising edge. The signal of the gate output pin is the rising edge, the signal of the gate output pin is the rising edge; the signal of the gate input pin is the falling edge, the signal of the gate output pin is the rising edge; the signal of the gate input pin is the falling edge, the gate output pin is the falling edge The signal is a falling edge.

其中,所述步骤2还包括:Wherein, the step 2 further includes:

线时延的输入引脚的信号跳变和输出引脚的信号跳变一致,当合并驱动门和其扇出连线作为一个线网时延时,一个线网时延考虑所述四种情况,一个线网对应4个样本,分别预测出不同情况下的时延,不同的情况下的时序特征和Sign-Off时延不同,因此,不同样本对应的特征和时延不同。The signal transition of the input pin of the line delay is consistent with the signal transition of the output pin. When the drive gate and its fan-out connection are combined as a line network, the delay time, a line network delay considers the above four cases , one network corresponds to 4 samples, and the delays in different situations are predicted respectively. The timing characteristics and Sign-Off delays in different situations are different. Therefore, the characteristics and delays corresponding to different samples are different.

其中,所述步骤4具体包括:Wherein, the step 4 specifically includes:

根据测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出测试集中每个电路的每个线网的输出引脚的到达时延,进而得到测试集中每个电路的每个线网的输出引脚的时间裕量。The circuit diagram topology traversal is performed according to the wire net Sign-Off delay prediction results of each circuit in the test set, and the arrival delay of the output pins of each wire net of each circuit in the test set is calculated, and then each circuit in the test set is obtained. Time slack for the output pins of each net.

其中,所述步骤5具体包括:Wherein, the step 5 specifically includes:

基于测试集中每个电路的每个线网的输出引脚的时间裕量进行每个电路的关键路径和非关键路径的区分,依次判断测试集中每个电路的每个线网的输出引脚的时间裕量是否为负,当当前线网的输出引脚的时间裕量为负时,当前线网对应的电路出现时序违反,当前线网为关键路径;当当前线网的输出引脚的时间裕量为正时,当前线网对应的电路的时序正常,当前线网为非关键路径,得到测试集中各个电路的关键路径预测结果。Based on the time margin of the output pins of each net of each circuit in the test set, the critical path and the non-critical path of each circuit are distinguished, and the output pins of each net of each circuit in the test set are judged in turn. Whether the time margin is negative, when the time margin of the output pin of the current net is negative, the circuit corresponding to the current net has a timing violation, and the current net is the critical path; when the time margin of the output pin of the current net is positive, the time sequence of the circuit corresponding to the current line net is normal, the current line net is a non-critical path, and the critical path prediction result of each circuit in the test set is obtained.

本发明的上述方案有如下的有益效果:The above-mentioned scheme of the present invention has the following beneficial effects:

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,时序预测与Sign-Off的时序结果之间的差距小,提升了时序预测的准确性,在芯片设计过程中,能够很好地指导时序优化所带来性能和功耗额外影响,实现准确的时序预测,降低了整个芯片设计周期和成本。In the timing prediction method in the physical design layout stage described in the above-mentioned embodiments of the present invention, the gap between timing prediction and the timing result of Sign-Off is small, the accuracy of timing prediction is improved, and in the process of chip design, it can be well The additional impact of performance and power consumption brought about by ground guidance timing optimization, achieve accurate timing prediction, and reduce the overall chip design cycle and cost.

附图说明Description of drawings

图1为本发明的具体流程图;Fig. 1 is the concrete flow chart of the present invention;

图2为本发明的整体流程图;Fig. 2 is the overall flow chart of the present invention;

图3为本发明的电路网表图转换为有向无环图的示意图,其中,(a)为本发明的电路网表图;(b)为本发明的有向无环图;3 is a schematic diagram of converting the circuit netlist diagram of the present invention into a directed acyclic graph, wherein (a) is the circuit netlist diagram of the present invention; (b) is the directed acyclic graph of the present invention;

图4为本发明的预布线分析与时序特征提取示意图。FIG. 4 is a schematic diagram of pre-wiring analysis and timing feature extraction of the present invention.

具体实施方式Detailed ways

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, the following will be described in detail with reference to the accompanying drawings and specific embodiments.

本发明针对现有的传统的时序预测方法,会对芯片性能和功耗带来额外影响,会大大增加整个芯片设计周期和成本,预测的性能与最终流片后的性能之间的差距大的问题,提供了一种物理设计布局阶段的时序预测方法。Aiming at the existing traditional time sequence prediction method, the present invention will bring additional impact on chip performance and power consumption, greatly increase the entire chip design cycle and cost, and the gap between the predicted performance and the final tape-out performance is large. problem, provides a timing prediction method in the layout stage of the physical design.

如图1至图4所示,本发明的实施例提供了一种物理设计布局阶段的时序预测方法,包括:步骤1,将获取的工艺库、电路网表及其布局结果数据分为训练集和测试集,分别基于训练集和测试集进行训练集的电路时序特征和测试集的电路时序特征提取;步骤2,将训练集的电路时序特征和训练集对应的Sign-Off时序结果输入随机森林模型中进行训练,得到基于线网的时延预测模型;步骤3,将测试集的电路时序特征输入基于线网的时延预测模型进行时延预测,得到测试集中各个电路的线网Sign-Off时延预测结果;步骤4,将测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出每个电路的每个线网的输出引脚的时间裕量;步骤5,根据计算出的所述时间裕量进行关键路径与非关键路径的区分,得到测试集中各个电路的关键路径预测结果。As shown in FIG. 1 to FIG. 4 , an embodiment of the present invention provides a timing prediction method in a physical design layout stage, including: Step 1: Divide the acquired process library, circuit netlist and layout result data into a training set and test set, extract the circuit timing features of the training set and the circuit timing features of the test set based on the training set and the test set respectively; Step 2, input the circuit timing features of the training set and the corresponding Sign-Off timing results of the training set into the random forest Carry out training in the model to obtain a network-based delay prediction model; step 3, input the circuit timing characteristics of the test set into the network-based delay prediction model for delay prediction, and obtain the network Sign-Off of each circuit in the test set Time delay prediction result; Step 4, perform circuit diagram topology traversal on the wire net Sign-Off time delay prediction result of each circuit in the test set, and calculate the time margin of the output pin of each wire net of each circuit; Step 5, The critical path and the non-critical path are distinguished according to the calculated time margin, and the critical path prediction result of each circuit in the test set is obtained.

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,基于线网的时延预测模型区别与以往分开预测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个模型,不仅简化了模型,而且所有线网的时序特征,可以一次性提取,不需要在路径上一级级信息传递,在降低模型复杂度的同时,还消除了累计误差。In the time sequence prediction method in the physical design layout stage described in the above-mentioned embodiment of the present invention, the difference between the time delay prediction model based on the wire network and the previous separate prediction of the Gate Delay model and the Wire Delay model is as follows: the number of models and the complexity: if To predict Gate Delay and Wire Delay separately, there are generally existing methods, but additional prediction or calculation of Wire Slew and Output Load is required, and 2-4 models need to be trained, which increases the number and complexity of the models. Prediction time and error: On a path, Gate Delay and Wire Delay alternate in stages. If Gate Delay and Wire Delay are predicted separately, the accuracy of Gate Delay and Wire Delay predicting input features is stage-by-stage dependent on each other. Increase forecast time and accumulated error. The delay prediction model based on the line network only needs to train one model, which not only simplifies the model, but also can extract the time series features of all lines and networks at one time, without the need for first-level information transmission on the path, which reduces the complexity of the model. At the same time, the accumulated error is also eliminated.

其中,所述步骤1具体包括:步骤11,将给定的工艺库、电路网表及其布局结果数据划分为训练集和测试集;步骤12,分别对训练集和测试集中的数据进行预布线分析,得到训练集预布线分析结果和测试集预布线分析结果;步骤13,根据训练集预布线分析结果,得到基于训练集预布线分析产生的RC网络,根据测试集预布线分析结果,得到基于测试集预布线分析产生的RC网络;步骤14,根据训练集预布线分析结果,结合训练集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到训练集的电路时序特征;根据测试集预布线分析结果,结合测试集中电路网表数据及其布局结果数据和工艺库数据进行电路时序特征提取,得到测试集的电路时序特征。Wherein, the step 1 specifically includes: step 11, dividing the given process library, circuit netlist and its layout result data into a training set and a test set; step 12, pre-wiring the data in the training set and the test set respectively Analysis to obtain the pre-wiring analysis result of the training set and the pre-wiring analysis result of the test set; step 13, according to the pre-wiring analysis result of the training set, obtain the RC network generated based on the pre-wiring analysis of the training set, and obtain the RC network based on the pre-wiring analysis of the test set according to the pre-wiring analysis result of the test set. The RC network generated by the pre-wiring analysis of the test set; Step 14, according to the pre-wiring analysis result of the training set, combined with the circuit netlist data and its layout result data and the process library data in the training set, perform circuit timing feature extraction, and obtain the circuit timing features of the training set. ;According to the pre-wiring analysis results of the test set, combined with the circuit netlist data and its layout result data and process library data in the test set, the circuit timing characteristics are extracted, and the circuit timing characteristics of the test set are obtained.

其中,所述步骤12具体包括:步骤121,对训练集中的每个电路进行预布线分析,包括以下步骤:步骤1211,获取训练集中的每个电路的每个线网中引脚的位置信息,根据训练集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到训练集预布线分析结果。Wherein, the step 12 specifically includes: step 121, performing pre-wiring analysis on each circuit in the training set, including the following steps: step 1211, acquiring the position information of the pins in each net of each circuit in the training set, According to the position information of the pins in each wire net of each circuit in the training set, the multi-terminal wire net is divided into multiple two-terminal connection relationships by using the minimum Steiner tree algorithm, and L-shaped wiring is performed on each two-terminal connection relationship. Get the training set pre-wiring analysis results.

其中,所述步骤12具体包括:步骤122,对测试集中的每个电路进行预布线分析,包括以下步骤:步骤1221,获取测试集中的每个电路的每个线网中引脚的位置信息,根据测试集中的每个电路的每个线网中引脚的位置信息采用最小斯坦纳树算法将多端线网划分为多个两端连接关系,将每个两端连接关系进行L型的布线,得到测试集预布线分析结果。Wherein, the step 12 specifically includes: step 122, performing pre-wiring analysis on each circuit in the test set, including the following steps: step 1221, acquiring position information of pins in each wire net of each circuit in the test set, According to the position information of the pins in each wire net of each circuit in the test set, the multi-terminal wire net is divided into multiple two-terminal connection relationships by using the minimum Steiner tree algorithm, and L-shaped wiring is performed on each two-terminal connection relationship. Get the test set pre-wiring analysis results.

其中,所述步骤14具体包括:训练集的电路时序特征和测试集的电路时序特征均包括:驱动强度、扇出个数、输出负载、非线性模型下的门转换倾斜、非线性模型下的门延迟、距离、Elmore时延、ContextElmore时延和D2M时延。Wherein, the step 14 specifically includes: the circuit timing characteristics of the training set and the circuit timing characteristics of the test set include: driving strength, number of fan-outs, output load, gate conversion inclination under the nonlinear model, and Gate Delay, Distance, Elmore Delay, ContextElmore Delay, and D2M Delay.

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,预布线分析首先会根据线网中引脚的位置信息,利用最小斯坦纳树算法(Minimal Steiner Tree, MST),把输入的多端线网(Multi-Pin Net)划分为多个两端连接关系,并对每个两端连接关系,进行L型的布线,得到预布线分析结果。如图4所示,线网n3是一个多端线网,驱动门c1有d和f两个扇出引脚,首先对n3进行最小斯坦纳树(Minimum Steiner Tree, MST)划分,以红色斯坦纳点为界,可以得到3个两端连接关系(r到斯坦纳点,斯坦纳点到d,斯坦纳点到f),每个两端连接采用L型走线,得到线网n3的预布线结果。In the timing prediction method of the physical design layout stage described in the above-mentioned embodiment of the present invention, the pre-wiring analysis will firstly use the minimum Steiner tree algorithm (Minimal Steiner Tree, MST) according to the position information of the pins in the wire net to convert the input The Multi-Pin Net is divided into multiple connection relationships at both ends, and L-shaped wiring is performed for each connection relationship at both ends to obtain pre-wiring analysis results. As shown in Figure 4, the wire net n 3 is a multi-terminal wire net, and the drive gate c 1 has two fan-out pins d and f. First, the minimum Steiner Tree (MST) is divided for n 3 to The red Steiner point is bounded, and three connection relationships between two ends can be obtained (r to Steiner point, Steiner point to d, Steiner point to f), and L-shaped wiring is used for each connection at both ends, and the net n is obtained. 3 pre-wired results.

在预布线后,每个驱动门的一个输入引脚和其一个扇出引脚合并,看作一个线网,表1给出了基于线网的时延预测模型中,每个线网样本所需的特征。After pre-wiring, one input pin of each drive gate is combined with one of its fan-out pins, and it is regarded as a net. Table 1 shows the delay prediction model based on net. required features.

表1 时序特征提取汇总表Table 1 Summary of time series feature extraction

Figure 846310DEST_PATH_IMAGE001
Figure 846310DEST_PATH_IMAGE001

基于预布线分析结果,结合电路网表及其布局结果信息和工艺库信息,可以得到以下时序特征:Based on the pre-routing analysis results, combined with the circuit netlist and its layout result information and process library information, the following timing characteristics can be obtained:

驱动强度:作为驱动门的驱动强度,直接从工艺库Lib文件中,通过对应元器件查找表可得;Drive strength: As the drive strength of the drive gate, it can be obtained directly from the process library Lib file through the corresponding component lookup table;

扇出个数:驱动门的扇出个数,即接收引脚的个数,由电路网表提供;Number of fan-outs: the number of fan-outs of the drive gate, that is, the number of receiving pins, provided by the circuit netlist;

输出负载:驱动门输出引脚的负载,即到所有扇出的连线电容,可以根据RCNetwork(网络)计算得到;Output load: The load of the output pin of the drive gate, that is, the connection capacitance to all fan-outs, can be calculated according to RCNetwork (network);

NLDM Gate Slew:根据NLDM模型计算得到的Gate Slew。可根据工艺库中,Lib文件查找表,通过输出负载和输入引脚的Slew值,采用Non-Linear Delay Model (NLDM)计算得到;NLDM Gate Slew: Gate Slew calculated according to the NLDM model. It can be calculated by Non-Linear Delay Model (NLDM) according to the lookup table of the Lib file in the process library, through the output load and the Slew value of the input pin;

NLDM Gate Delay:根据NLDM模型计算得到的驱动门时延。可根据工艺库中,Lib文件查找表,通过输出负载,和输入引脚的Slew值,采用NLDM计算得到;NLDM Gate Delay: The drive gate delay calculated according to the NLDM model. According to the process library, the Lib file lookup table, through the output load, and the Slew value of the input pin, it can be calculated by NLDM;

距离:线网驱动引脚到接受引脚的曼哈顿距离,由输入布局坐标计算;Distance: The Manhattan distance from the net driving pin to the receiving pin, calculated from the input layout coordinates;

Elmore时延:从线网驱动引脚到当前接受引脚的Elmore时延,可根据工艺库和预布线结果,得到RC Network,再利用Elmore模型公式计算;Elmore delay: The Elmore delay from the wire net driving pin to the current receiving pin can be obtained according to the process library and pre-wiring results to obtain the RC Network, and then use the Elmore model formula to calculate;

Context Elmore时延:除当前接受引脚外,处于同一个输入的多端线网的其他接收引脚,Elmore时延之和。例如,图4中,引脚d的Context Elmore时延即为从r到f的Elmore时延;Context Elmore delay: In addition to the current receiving pin, other receiving pins in the same input multi-terminal network, the sum of the Elmore delay. For example, in Figure 4, the context Elmore delay of pin d is the Elmore delay from r to f;

D2M时延:从驱动引脚到接受引脚的D2M时延。根据RC Network,通过D2M模型计算公式可得。D2M delay: D2M delay from drive pin to accept pin. According to the RC Network, it can be obtained through the calculation formula of the D2M model.

以驱动门输入b到输出引脚d的线网为例,图4中给出了对应的特征值提取信息。Taking the wire net from the input b of the drive gate to the output pin d as an example, the corresponding eigenvalue extraction information is given in Figure 4.

其中,所述步骤2具体包括:在基于线网的时延预测模型中,将门时延和线时延合并在一起进行预测,从驱动门的一个输入到其对应的一个扇出接收端,经历了驱动门的门时延和其到扇出门连线的线时延,将驱动门的门时延和其到某个扇出的连线的线时延,两个时延合并,称为线网时延,基于线网的时延预测模型用于预测线网时延;在基于线网的时延预测模型中,门的输出引脚节点在有向无环图中被去掉,一个线网为从门的一个输入引脚到其一个扇出的输入引脚,合并为一条有向无环图的边,该边权重包括驱动内的输入引脚到输出引脚的门时延和驱动输出引脚到扇出输入引脚连线的线时延。Wherein, the step 2 specifically includes: in the delay prediction model based on the line network, combining the gate delay and the line delay together for prediction, from an input of the drive gate to a corresponding fan-out receiving end, through The gate delay of the driving door and the line delay of the connection to the fan-out, the gate delay of the driving door and the line delay of the connection to a certain fan-out, the two delays are combined, called the line Net delay, the net-based delay prediction model is used to predict the net delay; in the net-based delay prediction model, the output pin node of the gate is removed in the directed acyclic graph, and a net It is an edge from an input pin of a gate to an input pin of its fan-out, which is merged into a directed acyclic graph. The weight of the edge includes the gate delay from the input pin to the output pin in the driver and the driver output. Line delay of pin-to-fanout input pin connections.

其中,所述步骤2具体包括:基于线网的时延预测模型中,门时延有4个不同的值,对应以下四种情况:门输入引脚的信号为上升沿,门输出引脚的信号为下降沿;门输入引脚的信号为上升沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为上升沿;门输入引脚的信号为下降沿,门输出引脚的信号为下降沿。Wherein, the step 2 specifically includes: in the network-based delay prediction model, the gate delay has 4 different values, corresponding to the following four situations: the signal of the gate input pin is a rising edge, and the gate output pin has a rising edge. The signal is the falling edge; the signal of the gate input pin is the rising edge, the signal of the gate output pin is the rising edge; the signal of the gate input pin is the falling edge, the signal of the gate output pin is the rising edge; the signal of the gate input pin is the rising edge; The signal is a falling edge, and the signal at the gate output pin is a falling edge.

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,如图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。基于线网的时延预测模型是预测线网时延。The timing prediction method in the physical design layout stage described in the above-mentioned embodiments of the present invention is shown in FIG. 4 , and as shown in FIG. 3( a ), path 1 goes from the output end q of the FF to the input end e of the next stage FF , the entire delay of path 1 is summed alternately by Gate Delay and Wire Delay; in Figure 3(b), the delay from a to u is Gate Delay, and the delay from u to c is WireDelay, where a and u They are the input and output pins of the drive gate respectively. The fan-out receiving pin of the drive gate is c. The gate delay of the drive gate and the delay of the connection line to a certain fan-out, the two delays are combined, called is a network delay, namely Net Delay. The network-based delay prediction model is to predict the network delay.

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,基于线网的时延预测模型中,门的输出引脚节点在DAG中被去掉了,一个线网是从门的一个输入引脚到其一个扇出的输入引脚,合并为一条DAG边,该q边权重包括了驱动内的输入引脚到输出引脚的门时延和驱动输出引脚到扇出输入引脚连线的线时延。图3(a)给出了在基于线网的时延预测模型下电路网表,图3(b)对应的有向无环图示例,基于线网的时延预测模型就是预测线网时延,每条边的时延。In the time sequence prediction method in the physical design layout stage described in the above-mentioned embodiments of the present invention, in the time delay prediction model based on the wire net, the output pin node of the gate is removed in the DAG, and a wire net is an input from the gate The pin to one of its fan-out input pins is merged into a DAG edge. The weight of the q edge includes the gate delay from the input pin to the output pin in the driver and the connection from the driver output pin to the fan-out input pin. Line delay of the line. Figure 3(a) shows the circuit netlist under the network-based delay prediction model. Figure 3(b) corresponds to an example of a directed acyclic graph. The network-based delay prediction model is to predict the network delay. , the delay of each edge.

其中,所述步骤2还包括:线时延的输入引脚的信号跳变和输出引脚的信号跳变一致,当合并驱动门和其扇出连线作为一个线网时延时,一个线网时延考虑所述四种情况,一个线网对应4个样本,分别预测出不同情况下的时延,不同的情况下的时序特征和Sign-Off时延不同,因此,不同样本对应的特征和时延不同。Wherein, the step 2 further includes: the signal transition of the input pin of the line delay is consistent with the signal transition of the output pin, and when the combined drive gate and its fan-out connection are used as a line network, the delay time, a line The network delay considers the above four cases. One network corresponds to 4 samples, and the delays in different situations are predicted respectively. The timing characteristics and Sign-Off delays in different situations are different. Therefore, the characteristics corresponding to different samples different from delay.

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,基于线网的时延预测模型,由于电信号传播过程中,信号的跳变,即波形跳变,一般分为两种:上升和下降。门电路中,其一个输入引脚到一个输出引脚的时延,需要考虑上升和下降不同情况,因此在门的内部,从其输入引脚到输出引脚的时延可能会不止一个值,即门时延存在多种情况。所述物理设计布局阶段的时序预测方法,门时延最多有4个不同的值,对应以下四种情况:The time sequence prediction method in the physical design layout stage described in the above-mentioned embodiment of the present invention is based on the time delay prediction model of the wire network. Due to the jump of the signal during the propagation of the electrical signal, that is, the jump of the waveform, it is generally divided into two types: rise and fall. In the gate circuit, the delay from one input pin to one output pin needs to consider different situations of rising and falling. Therefore, inside the gate, the delay from its input pin to the output pin may have more than one value. That is, there are many cases of gate delay. In the timing prediction method in the physical design layout stage, the gate delay has at most 4 different values, corresponding to the following four situations:

门输入引脚的信号为上升沿,门输出引脚的信号为下降沿;The signal at the gate input pin is a rising edge, and the signal at the gate output pin is a falling edge;

门输入引脚的信号为上升沿,门输出引脚的信号为上升沿;The signal at the gate input pin is a rising edge, and the signal at the gate output pin is a rising edge;

门输入引脚的信号为下降沿,门输出引脚的信号为上升沿;The signal at the gate input pin is a falling edge, and the signal at the gate output pin is a rising edge;

门输入引脚的信号为下降沿,门输出引脚的信号为下降沿;The signal of the gate input pin is the falling edge, and the signal of the gate output pin is the falling edge;

由于线时延的输入引脚的信号跳变和输出引脚的信号跳变是一致的,所以,当合并驱动门和其扇出连线作为一个线网时延时,一个线网时延最多也需要考虑上述四种情况,即一个线网可以对应最多4个样本,分别预测出不同情况下的时延。由于不同的情况下,时序特征和Sign-Off时延都不同,因此,即使同一个线网,不同样本对应的特征(Feature)和时延(Ground Truth)也是不同的。以图3为例,b->d的时序弧,在输入信号为上升延,输出信号为下降沿的情况下,其对应的特征和Sign-Off时延(Ground Truth),可以作为一个数据样本;在输入信号为下降延,输出信号为上升沿的情况下,其对应的特征和Sign-Off时延(Ground Truth),作为另一个数据样本。因为驱动门是反相器,所以以上总共2种情况,没有4种情况,即b->d的Net可以提取2个样本。Since the signal transition of the input pin of the line delay is consistent with the signal transition of the output pin, when the drive gate and its fan-out connection are combined as a line network, the delay time of one line network is the most. The above four situations also need to be considered, that is, a network can correspond to a maximum of 4 samples, and the delays in different situations can be predicted respectively. Since the timing features and Sign-Off delays are different in different situations, even in the same network, the corresponding features (Features) and delays (Ground Truth) of different samples are different. Taking Figure 3 as an example, the timing arc of b->d, when the input signal is a rising delay and the output signal is a falling edge, its corresponding characteristics and Sign-Off delay (Ground Truth) can be used as a data sample ; When the input signal is a falling delay and the output signal is a rising edge, its corresponding feature and Sign-Off delay (Ground Truth) are used as another data sample. Because the drive gate is an inverter, there are a total of 2 cases above, but there are no 4 cases, that is, the Net of b->d can extract 2 samples.

其中,所述步骤4具体包括:根据测试集中各个电路的线网Sign-Off时延预测结果进行电路图拓扑遍历,计算出测试集中每个电路的每个线网的输出引脚的到达时延,进而得到测试集中每个电路的每个线网的输出引脚的时间裕量。Wherein, the step 4 specifically includes: performing circuit diagram topology traversal according to the wire net Sign-Off delay prediction result of each circuit in the test set, and calculating the arrival delay of the output pin of each wire net of each circuit in the test set, Then, the time margin for the output pins of each net of each circuit in the test set is obtained.

其中,所述步骤5具体包括:基于测试集中每个电路的每个线网的输出引脚的时间裕量进行每个电路的关键路径和非关键路径的区分,依次判断测试集中每个电路的每个线网的输出引脚的时间裕量是否为负,当当前线网的输出引脚的时间裕量为负时,当前线网对应的电路出现时序违反,当前线网为关键路径;当当前线网的输出引脚的时间裕量为正时,当前线网对应的电路的时序正常,当前线网为非关键路径,得到测试集中各个电路的关键路径预测结果。Wherein, the step 5 specifically includes: distinguishing the critical path and the non-critical path of each circuit based on the time margin of the output pins of each wire net of each circuit in the test set, and sequentially judging the value of each circuit in the test set Whether the time margin of the output pin of each net is negative, when the time margin of the output pin of the current net is negative, the circuit corresponding to the current net has a timing violation, and the current net is the critical path; when the current net is the critical path; When the time margin of the output pin of the net is positive, the time sequence of the circuit corresponding to the current net is normal, the current net is a non-critical path, and the critical path prediction result of each circuit in the test set is obtained.

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,所述物理设计布局阶段的时序预测方法在C++17和Pytorch 1.8.0中实现,在Intel Core i7(@3.00 GHz)和16 GB DDR4的PC机上进行评估:The timing prediction method in the physical design layout stage according to the above embodiment of the present invention, the timing prediction method in the physical design layout stage is implemented in C++17 and Pytorch 1.8.0, and is implemented in Intel Core i7 (@3.00 GHz) and 16 GB DDR4 PC for evaluation:

所有的训练样本合一起提供给Net-Based模型进行训练。所述物理设计布局阶段的时序预测方法在ITC'99电路上进行,采用先进28nm工艺库。其中训练集中的数据不包含来自b17和b22的电路设计,测试集中b17和b22的数据用于模型的交叉验证,即验证我们的模型在同种工艺下,其他未知电路设计的预测效果。实验的时序Ground Truth来自于PrimeTime工具,以下称为Sign-Off结果。All training samples are combined to provide the Net-Based model for training. The timing prediction method in the physical design layout stage is carried out on the ITC'99 circuit, using the advanced 28nm process library. The data in the training set does not contain circuit designs from b17 and b22, and the data in the test set of b17 and b22 are used for model cross-validation, that is, to verify the prediction effect of our model on other unknown circuit designs under the same process. The timing ground truth of the experiment comes from the PrimeTime tool, which is hereinafter referred to as the Sign-Off result.

为了进行对比,复现了文献:Erick C Barboza, Nishchal Shukla, Yiran Chen,et al. 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以上,证明了所述物理设计布局阶段的时序预测方法的时序特征提取的有效性。For comparison, the literature is reproduced: Erick C Barboza, Nishchal Shukla, Yiran Chen, et al. Machine Learning-Based Pre-Routing Timing Prediction with ReducedPessimism[C] //Proceedings of the 56th ACM/IEEE De-sign AutomationConference, 2019(106): DAC'19 feature extraction method proposed in 1-6. It can be seen that under the same model, the delay correlation degree of the line network delay prediction result of the timing prediction method in the physical design layout stage on the test set is as high as 0.99 on average, which proves that the physical design layout stage The effectiveness of temporal feature extraction for temporal prediction methods.

在线网时延预测结果后,利用拓扑排序,求出每个线网输出引脚的到达时延,进而得到的时间裕量。当寄存器或输出端口的时间裕量为负时,说明电路出现时序违反,被判为关键路径。After the prediction result of the network delay, the topological sorting is used to obtain the arrival delay of each network output pin, and then the time margin is obtained. When the time margin of the register or output port is negative, it means that the circuit has a timing violation and is judged as a critical path.

利用预测的每条线网时延,计算得到寄存器或输出端口的时间裕量和Sign-Off报告时间裕量Truth Ground的相关性。可以看出,所述物理设计布局阶段的时序预测方法的时间裕量相关性高达0.97,远高于DAC’19所提出的方法。Using the predicted delay of each net, the correlation between the time margin of the register or the output port and the Sign-Off report time margin Truth Ground is calculated. It can be seen that the time margin correlation of the timing prediction method in the physical design layout stage is as high as 0.97, which is much higher than that of the method proposed by DAC'19.

进行静态时序分析的目的,主要是为了检查时序违例,即预判Slack值负的关键路径,为后续时序评估和优化提供依据。The purpose of static timing analysis is mainly to check timing violations, that is, to predict critical paths with negative Slack values, to provide a basis for subsequent timing evaluation and optimization.

为了尽可能多的预测出所有的关键路径,对预测的Slack进行了线性修正处理,增加悲观度。修正后,所述物理设计布局阶段的时序预测方法预测的TPR几乎接近1。修正后,由于增加了悲观度,所述物理设计布局阶段的时序预测方法的TNR结果降低了,但仍然高出DAC’19方法约30%。In order to predict all the critical paths as much as possible, the predicted Slack is linearly corrected to increase the pessimism. After the correction, the TPR predicted by the timing prediction method in the physical design placement stage is almost close to 1. After the correction, the TNR results of the timing prediction method at the physical design placement stage decreased due to the increased pessimism, but were still about 30% higher than the DAC'19 method.

本发明的上述实施例所述的物理设计布局阶段的时序预测方法,不会对芯片性能和功耗带来额外影响,减小了整个芯片设计周期和成本,预测的性能与最终流片后的性能之间的差距小,提升了时序预测的准确性,减少了设计迭代,在降低模型复杂度的同时,还消除了累计误差。The timing prediction method in the physical design layout stage described in the above-mentioned embodiments of the present invention will not bring additional influence on chip performance and power consumption, reduce the entire chip design cycle and cost, and the predicted performance is consistent with the final tape-out. The gap between performances is small, which improves the accuracy of timing prediction, reduces design iterations, and eliminates accumulated errors while reducing model complexity.

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。The above are the preferred embodiments of the present invention. It should be pointed out that for those skilled in the art, without departing from the principles of the present invention, several improvements and modifications can be made. It should be regarded as the protection scope of the present invention.

Claims (9)

1. A method for predicting the time sequence of a physical design layout stage is characterized by comprising the following steps:
step 1, dividing the acquired process library, circuit netlist and layout result data thereof into a training set and a test set, and extracting circuit time sequence characteristics of the training set and circuit time sequence characteristics of the test set respectively based on the training set and the test set;
step 2, inputting the circuit time sequence characteristics of the training set and the Sign-Off time sequence results corresponding to the training set into a random forest model for training to obtain a time delay prediction model based on the wire network, wherein in the time delay prediction model based on the wire network, gate time delay and line time delay are combined together for prediction, the gate time delay of a driving gate and the line time delay of a certain fan-out connecting line are experienced from one input of the driving gate to a corresponding fan-out receiving end, the two time delays are combined and are called as wire network time delay, the time delay prediction model based on the wire network is used for predicting the wire network, in the time delay prediction model based on the wire network, the output pin nodes of the gate are removed from the directed acyclic graph, one wire network is from one input pin of the gate to one input pin of the fan-out pin and is combined into an edge of the directed acyclic graph, the edge weight comprises gate time delay from an input pin to an output pin in the driver and line time delay from the driving output pin to a fan-out input pin connection line;
step 3, inputting the circuit time sequence characteristics of the test set into a time delay prediction model based on a wire network to perform time delay prediction, and obtaining a wire network Sign-Off time delay prediction result of each circuit in the test set;
step 4, performing circuit diagram topology traversal on the wire net Sign-Off time delay prediction results of all circuits in the test set, and calculating the time margin of the output pin of each wire net of each circuit;
and 5, distinguishing a critical path from a non-critical path according to the calculated time margin to obtain a critical path prediction result of each circuit in the test set.
2. The method of claim 1, wherein the step 1 specifically comprises:
step 11, dividing a given process library, a given circuit netlist and layout result data thereof into a training set and a test set;
step 12, performing pre-wiring analysis on the data in the training set and the test set respectively to obtain a training set pre-wiring analysis result and a test set pre-wiring analysis result;
step 13, obtaining an RC network generated based on training set pre-wiring analysis according to the training set pre-wiring analysis result, and obtaining an RC network generated based on test set pre-wiring analysis according to the test set pre-wiring analysis result;
step 14, extracting circuit timing sequence characteristics by combining the circuit netlist data and the layout result data thereof in the training set and the process library data according to the pre-wiring analysis result of the training set to obtain the circuit timing sequence characteristics of the training set; and according to the test set pre-wiring analysis result, circuit timing sequence feature extraction is carried out by combining the circuit netlist data and the layout result data thereof as well as the process library data in the test set to obtain the circuit timing sequence feature of the test set.
3. The method of claim 2, wherein the step 12 specifically comprises:
step 121, performing pre-wiring analysis on each circuit in the training set, including the following steps:
step 1211, obtaining position information of pins in each net of each circuit in the training set, dividing the multi-terminal net into a plurality of two-terminal connection relations by adopting a minimum Steiner tree algorithm according to the position information of the pins in each net of each circuit in the training set, and performing L-type wiring on each two-terminal connection relation to obtain a pre-wiring analysis result of the training set.
4. The method of claim 3, wherein the step 12 specifically comprises:
step 122, performing pre-wiring analysis on each circuit in the test set, including the following steps:
step 1221, obtaining position information of pins in each net of each circuit in the test set, dividing the multi-terminal net into a plurality of two-terminal connection relations by adopting a minimum Steiner tree algorithm according to the position information of the pins in each net of each circuit in the test set, and performing L-type wiring on each two-terminal connection relation to obtain a pre-wiring analysis result of the test set.
5. The method of claim 4, wherein the step 14 specifically comprises:
the circuit timing characteristics of the training set and the circuit timing characteristics of the test set both include: drive strength, number of fan-outs, output load, gate transition tilt under a nonlinear model, gate delay under a nonlinear model, distance, Elmore delay, Context Elmore delay, and D2M delay.
6. The method of claim 5, wherein the step 2 specifically comprises:
in the time delay prediction model based on the wire network, the gate time delay has 4 different values, which correspond to the following four conditions: the signal of the gate input pin is a rising edge, and the signal of the gate output pin is a falling edge; the signal of the gate input pin is a rising edge, and the signal of the gate output pin is a rising edge; the signal of the gate input pin is a falling edge, and the signal of the gate output pin is a rising edge; the signal at the gate input pin is a falling edge, and the signal at the gate output pin is a falling edge.
7. The method of claim 6, wherein the step 2 further comprises:
the signal jump of the input pin of the line delay is consistent with the signal jump of the output pin, when the combination driving gate and the fan-out connecting line of the combination driving gate are used as a line network, the time delay of one line network considers the four conditions, one line network corresponds to 4 samples, the time delay under different conditions is respectively predicted, and the time sequence characteristics and the Sign-Off time delay under different conditions are different, so the characteristics and the time delay corresponding to different samples are different.
8. The method of claim 7, wherein the step 4 specifically comprises:
and traversing the topology of the circuit diagram according to the prediction result of the line net Sign-Off time delay of each circuit in the test set, calculating the arrival time delay of the output pin of each line net of each circuit in the test set, and further obtaining the time margin of the output pin of each line net of each circuit in the test set.
9. The method of claim 8, wherein the step 5 comprises:
distinguishing a critical path and a non-critical path of each circuit based on the time margin of the output pin of each net of each circuit in the test set, sequentially judging whether the time margin of the output pin of each net of each circuit in the test set is negative, and when the time margin of the output pin of the current net is negative, a circuit corresponding to the current net generates time sequence violation, and the current net is the critical path; and when the time margin of the output pin of the current line network is positive, the time sequence of the circuit corresponding to the current line network is normal, the current line network is a non-critical path, and the critical path prediction result of each circuit in the test set is obtained.
CN202210088465.1A 2022-01-26 2022-01-26 Timing Prediction Methods in the Layout Phase of Physical Designs Active CN114117943B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210088465.1A CN114117943B (en) 2022-01-26 2022-01-26 Timing Prediction Methods in the Layout Phase of Physical Designs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210088465.1A CN114117943B (en) 2022-01-26 2022-01-26 Timing Prediction Methods in the Layout Phase of Physical Designs

Publications (2)

Publication Number Publication Date
CN114117943A CN114117943A (en) 2022-03-01
CN114117943B true CN114117943B (en) 2022-05-06

Family

ID=80361295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210088465.1A Active CN114117943B (en) 2022-01-26 2022-01-26 Timing Prediction Methods in the Layout Phase of Physical Designs

Country Status (1)

Country Link
CN (1) CN114117943B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114692552A (en) * 2022-03-24 2022-07-01 中国长城科技集团股份有限公司 Layout method and device of three-dimensional chip and terminal equipment
CN115146579B (en) * 2022-07-14 2025-04-15 东南大学 A method for predicting path delay after routing of digital integrated circuits
CN115146580B (en) 2022-07-14 2025-04-08 东南大学 Integrated circuit path delay prediction method based on feature selection and deep learning
CN115293082B (en) * 2022-09-30 2023-01-20 深圳鸿芯微纳技术有限公司 Training and predicting method, device, equipment and storage medium of time sequence prediction model
CN117787202B (en) * 2023-12-22 2024-07-26 上海交通大学 Sign-off level timing prediction method and system across process corners

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552454B2 (en) * 2014-01-24 2017-01-24 Oracle International Corporation Concurrent timing-driven topology construction and buffering for VLSI routing
CN109839824A (en) * 2019-01-24 2019-06-04 青岛理工大学 Network control system delay compensation method based on predictive control
CN113609812B (en) * 2021-08-03 2024-02-23 湖南大学 Method, equipment and medium for predicting line delay at netlist level based on LightGBM
CN113673196B (en) * 2021-08-15 2024-02-06 上海立芯软件科技有限公司 Global wiring optimization method based on routability prediction

Also Published As

Publication number Publication date
CN114117943A (en) 2022-03-01

Similar Documents

Publication Publication Date Title
CN114117943B (en) Timing Prediction Methods in the Layout Phase of Physical Designs
CN108830008B (en) A test method and test system for the full model of standard cell library
US10776547B1 (en) Infinite-depth path-based analysis of operational timing for circuit design
US7089143B2 (en) Method and system for evaluating timing in an integrated circuit
CN100446010C (en) Timing Analysis Considering Crosstalk
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
US7958470B1 (en) Method and system for false path analysis
US9881123B1 (en) Method and system for timing analysis with adaptive timing window optimization for determining signal integrity impact
US11593543B2 (en) Glitch power analysis with register transfer level vectors
TWI768536B (en) Integrated circuit simulation and design method and system thereof
TWI575394B (en) Characterizing cell using input waveform geneartion considering different circuit topoloiges
US8701059B2 (en) Method and system for repartitioning a hierarchical circuit design
US12073159B2 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
WO2023245719A1 (en) Performance check method for timing logic element, and device
TWI777210B (en) Method for designing context aware circuit
US10963610B1 (en) Analyzing clock jitter using delay calculation engine
US20230260591A1 (en) Transforming local wire thru resistances into global distributed resistances
US11017137B2 (en) Efficient projection based adjustment evaluation in static timing analysis of integrated circuits
Bommu et al. Retiming-based factorization for sequential logic optimization
US10824784B2 (en) System and method of timing characterization for semiconductor circuit
Nie et al. Machine Learning Method for Predicting Circuit Timing Using Complex Network
CN118673855B (en) Minimum pulse width repair method, device, electronic device and storage medium
CN118133731B (en) Extraction method of parallel comprehensive sub-modules
CN119047390A (en) Method, device, equipment, storage medium and program product for evaluating chip power consumption
Singhvi Study Of Futuristic Approaches To Get Better QoR In Physical Implementation

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