# Delay-Prediction **Repository Path**: oscc-project/delay-prediction ## Basic Information - **Project Name**: Delay-Prediction - **Description**: Predicting net delay based on wire length - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-04 - **Last Updated**: 2024-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### **1 问题背景** 线长预测时延是指在芯片设计过程中,利用EDA工具对连线的长度进行估计,并进一步预测信号传输的时延。不同信号线的长度会影响信号传输的时延。较长的信号线会导致信号传输所需的时间增加,从而可能导致时序问题和性能下降。因此,在设计阶段进行线长预测时延可以帮助评估和优化信号传输的性能。 线长预测时延通常通过以下步骤进行: ​ ● **建立模型**:使用EDA工具,基于芯片设计的物理布局信息和电路参数,建立信号传输时延的数学模型。这些模型通常考虑了电阻、电容、工艺因素等对信号传输的影响。 ​ ● **估计线长**:根据物理布局信息和电路连接关系,通过EDA工具估计各个信号线的长度。 ​ ● **计算时延**:将估计的线长带入模型,使用EDA工具计算信号传输的时延。这可以包括传播时延、电缆延迟、信号干扰等因素的综合考虑。 ​ ● **分析优化**:根据预测的时延结果,进行信号完整性和时序分析。如果存在时序问题或性能不满足需求,则可以采取优化措施,如重新规划布局、调整驱动电流、修改时钟分配等。 ### **2 问题描述** 对于给定的芯片布局和电路连接关系,需要估计各个信号线的长度,并进一步预测信号传输的时延。 1、**实现要求**:遵循iEDA平台的模块划分,实现一个线长预测网络模型,完成功能:对给定的输入数据集进行划分,划分为训练集和测试集,并使用Pytorch进行数据预处理和读入,然后设计网络模型(可设计为CNN模型、Transformer等),对网络模型进行训练,设计损失函数,输出回归的预测结果并评估精度。 **2、解决线长预测时延问题的方法,通常包括以下步骤**: ​ ● 根据芯片布局信息和电路连接关系,计算各个信号线的几何长度。这可以基于坐标差值或曼哈顿距离等方法进行估算。 ​ ● 考虑电阻和电容等物理特性,结合工艺参数和实际电路模型,建立信号传输时延的数学模型。该模型可以考虑传播时延、电缆延迟、信号干扰等因素。 ​ ● 运用EDA工具或自研算法,根据模型和估计的线长进行计算,得到每条信号线的预测时延。 ​ ● 对预测时延进行分析和评估,检查是否满足时序要求和性能目标。如果存在问题,可以通过调整布局、优化信号路径、修改驱动电流等手段来改善时延性能。 ### **3 输入输出** #### **算法输入** 时序模型文件、芯片结构文件、网表文件以及布线文件等。 ​ ● 芯片布局信息:描述了芯片上各个逻辑单元、寄存器、存储器等的物理位置分布。 ​ ● 电路连接关系:描述了芯片上各个逻辑单元之间的信号传输路径和连接方式。包括信号线的起始点和终止点、是否经过中间逻辑单元等。 [数据集](https://gitee.com/oscc-project/i-bm/tree/master/Delay_Prediction_Dataset) #### **算法输出** ​ ● 对每条信号线的长度进行估计,并计算出相应的信号传输时延。输出可以是一个列表或数据结构,包含每条信号线及其对应的长度和时延。 ​ ● 对输出结果不断优化损失函数,提高模型预测精度。 ### **4 评估指标** ​ ● 时延误差 / 精度:衡量预测时延与实际时延之间的差异。 ### **5 参考模型**