发明内容
本发明针对现有技术的状况,克服上述缺陷,提供一种集成电路半定制物理设计贯穿信号线自动规划方法。
本发明采用以下技术方案,所述集成电路半定制物理设计贯穿信号线自动规划方法,包括以下按步骤:
步骤S1:获得原始设计数据并且判断该原始设计数据的正确性,如果判断通过则执行步骤S1,否则重复执行本步骤;
步骤S2:根据原始设计数据进行贯穿信号线自动规划;
步骤S3:导出符合EDA工具规定格式的贯穿信号线规划结果文件和用于后续分析的报告文件,同时判断该贯穿信号线规划结果文件是否符合要求,如果判断通过则执行后续流程,否则重复执行步骤S1。
根据上述技术方案,步骤S1具体包括以下步骤:
步骤S1.1:从多个数据源获取原始设计数据;
步骤S1.2:进行原始设计数据的完整性检查;
步骤S1.3:判断原始设计数据的正确性,如果判断通过则执行步骤S2,否则执行步骤S1.1。
根据上述技术方案,步骤S1.1中,上述数据源包括DEF文件、子模块连接关系文件、中继器指导文件和配置和调整文件。
根据上述技术方案,步骤S2具体包括以下步骤:
步骤S2.1:构建全芯片各子模块边的相邻图网;
步骤S2.2:利用图论中的单源最短路径算法规划FeedThrough路径。
根据上述技术方案,步骤S2.1具体包括以下步骤:
步骤S2.1.1:找到每个待处理子模块的每条边相邻的边;
步骤S2.1.2:选定当前待处理子模块的潜在相邻子模块;
步骤S2.1.3:遍历当前待处理子模块和潜在相邻子模块的每条边,如果任意两条边平行且有重合部分,则连接重合部分的端点得到与当前边垂直的两条线段;
步骤S2.1.4:遍历其它潜在相邻子模块的每条边和当前分析的两个模块的边,如果没有任何一条边的上述的两条线段相交则判断上述两个子模块的两条边相邻;
步骤S2.1.5:连接所有相邻边的公共部分的中点,连接子模块中心点和其边上相邻边公共部分的中点,然后连接每个相邻边公共部分中点和子模块的其他边上公共部分中心点,以获得全芯片各子模块边的相邻图网。
根据上述技术方案,步骤S2.2具体包括以下步骤:
步骤S2.2.1:拷贝步骤S2.1.5中的上述全芯片各子模块边的相邻图网;
步骤S2.2.2:删除步骤S2.2.1中已经没有剩余可用布线轨道或布线轨道余量不足的相邻边公共部分的中点及与其相连的连接线,以获得可供单源最短路径算法使用的图网;
步骤S2.2.3:利用Dijkstra算法处理步骤S2.2.2中的上述图网,以获得当前FeedThrough的最短路径。
根据上述技术方案,步骤S2.2还包括步骤S2.2.4:
步骤S2.2.4:将步骤S2.2.3中的当前FeedThrough的最短路径更新到最原始的图网中,同时重复执行步骤S2.2.1至步骤S2.2.4以处理其余FeedThrough的最短路径,直至所有FeedThrough的最短路径全部处理完毕。
本发明公开的集成电路半定制物理设计贯穿信号线自动规划方法,其有益效果在于,具有FeedThrough路径短、子模块管脚数量适中、FeedThrough对称性好、冗余少、运行时间短等特点,能够提高贯穿信号线的设计效率,同时适用于不同设计需求的后端设计项目,具有良好的通用性和先进性。
具体实施方式
本发明公开了一种集成电路半定制物理设计贯穿信号线自动规划方法,下面结合优选实施例,对本发明的具体实施方式作进一步描述。
值得一提的是,本领域技术人员应注意,本发明专利申请涉及的“FeedThrough”,其定义为“贯穿信号线”(贯穿线,下同);本发明专利申请涉及的“DEF”(Design ExchangeFormat),其定义为“设计交换格式”;本发明专利申请涉及的“Dijkstra”,其定义为“迪杰斯特拉算法”;本发明专利申请涉及的“Block”,其定义为“子模块”。
参见附图的图1,图1示出了所述集成电路半定制物理设计贯穿信号线自动规划方法的系统流程,图2示出了所述集成电路半定制物理设计贯穿信号线自动规划方法的获得数据步骤的具体流程,图3示出了所述集成电路半定制物理设计贯穿信号线自动规划方法的贯穿信号线自动规划步骤的具体流程,图4至图6分别示出了所述集成电路半定制物理设计贯穿信号线自动规划方法的贯穿信号线自动规划步骤的各阶段的相关示意。
优选地,所述集成电路半定制物理设计贯穿信号线自动规划方法,包括以下按步骤:
步骤S1:获得原始设计数据并且判断该原始设计数据的正确性,如果判断通过则执行步骤S1,否则重复执行本步骤;
步骤S2:根据原始设计数据进行贯穿信号线自动规划;
步骤S3:导出符合EDA工具规定格式的贯穿信号线规划结果文件和用于后续分析的报告文件,同时判断该贯穿信号线规划结果文件是否符合要求,如果判断通过则执行后续流程,否则重复执行步骤S1。
其中,步骤S1具体包括以下步骤:
步骤S1.1:从多个数据源获取原始设计数据;
步骤S1.2:进行原始设计数据的完整性检查;
步骤S1.3:判断原始设计数据的正确性,如果判断通过则执行步骤S2,否则执行步骤S1.1。
其中,步骤S1.1中,上述数据源包括DEF文件、子模块连接关系文件、中继器指导文件和配置和调整文件。
其中,步骤S2具体包括以下步骤:
步骤S2.1:构建全芯片各子模块边的相邻图网;
步骤S2.2:利用图论中的单源最短路径算法规划FeedThrough路径。
其中,步骤S2.1具体包括以下步骤:
步骤S2.1.1:找到每个待处理子模块的每条边相邻的边;
步骤S2.1.2:选定当前待处理子模块的潜在相邻子模块;
步骤S2.1.3:遍历当前待处理子模块和潜在相邻子模块的每条边,如果任意两条边平行且有重合部分,则连接重合部分的端点得到与当前边垂直的两条线段;
步骤S2.1.4:遍历其它潜在相邻子模块的每条边和当前分析的两个模块的边,如果没有任何一条边的上述的两条线段相交则判断上述两个子模块的两条边相邻;
步骤S2.1.5:连接所有相邻边的公共部分的中点,连接子模块中心点和其边上相邻边公共部分的中点,然后连接每个相邻边公共部分中点和子模块的其他边上公共部分中心点,以获得全芯片各子模块边的相邻图网。
其中,步骤S2.2具体包括以下步骤:
步骤S2.2.1:拷贝步骤S2.1.5中的上述全芯片各子模块边的相邻图网;
步骤S2.2.2:删除步骤S2.2.1中已经没有剩余可用布线轨道或布线轨道余量不足的相邻边公共部分的中点及与其相连的连接线,以获得可供单源最短路径算法使用的图网;
步骤S2.2.3:利用Dijkstra算法处理步骤S2.2.2中的上述图网,以获得当前FeedThrough的最短路径。
其中,步骤S2.2还包括步骤S2.2.4:
步骤S2.2.4:将步骤S2.2.3中的当前FeedThrough的最短路径更新到最原始的图网中,同时重复执行步骤S2.2.1至步骤S2.2.4以处理其余FeedThrough的最短路径,直至所有FeedThrough的最短路径全部处理完毕。
根据上述优选实施例,本发明专利申请公开的集成电路半定制物理设计贯穿信号线自动规划方法,具体阐述如下。
1.获得数据。
通过该步骤获得贯穿信号线自动规划方法的必要数据。其中,上述必要数据分为芯片顶层数据和各个子模块的DEF文件、各子模块的连接关系文件(子模块连接关系文件)、中继器指导文件、配置和调整文件,如图2所示。
其中,DEF文件是重要的设计基础数据,基于该数据来进行贯穿信号线自动规划。
其中,子模块连接关系文件用于提供贯穿信号线自动规划的连接依据,该数据是重要的参考依据数据。
其中,中继器指导文件用于提供自动规划力度控制的参考文件,通过该文件的内容来指导贯穿信号线自动规划在算法上的优化结果。
其中,配置和调整文件用于设置(贯穿信号线自动规划算法本身的)内部计算和优化策略,从而得到最优的设计结果。
当原始设计数据获得以后,进行基本的数据完整性和正确性检查,保证数据在后续设计环节中不会发生数据缺失的错误。
2.FeedThrough自动规划。
该步骤在具体实施过程可以分为构建全芯片各子模块边的相邻图网步骤(阶段)和利用图论中的单源最短路径算法规划FeedThrough路径步骤(阶段),具体过程如图3所示。
具体地,在进行FeedThrough自动规划时,先需要找到每个子模块的每条边相邻的边。本方法首先会从输入的各DEF文件中抽取各子模块(Block)的边和中心点坐标。遍历每个子模块,如果其他子模块的中心点在以当前子模块的中心点为圆心以芯片宽度的一半为半径的圆内,则选定这个子模块为当前子模块的潜在相邻子模块。遍历待处理子模块和潜在相邻子模块的每条边。如果两条边平行且有重合部分,连接重合部分的端点得到与当前边垂直的两条线段,如图4中虚线1、2、3和4。然后遍历其它潜在相邻子模块的每条边和当前分析的两个模块的边。如果没有任何一条边上述的两条线段相交则认为当前分析的两个子模块的两条边相邻,反之则不相邻。
例如,在图4中,以子模块A为当前子模块,以A的中心点为圆心,芯片宽度的一半为半径画个圆。子模块B、C和D的中心点在该圆内,子模块E的中心点在该圆外。舍弃子模块G,将B、C、D、E和F定义为A的潜在相邻子模块。在处理子模块A的边e3和子模块B的边e1时,由于两条边平行且有公共部分,没有其他潜在相邻子模块的边和连接公共部分的两条线段1和2相交,所以边e1和e3相邻。处理子模块A的e4边和子模块D的e5边时,由于子模块C的边和连接公共部分的线段相交,所以e4和e5不相邻。
相邻边公共部分的宽度除以布线层中两个布线轨道的间距就能得到这个相邻边在该布线层上可用的布线轨道数量。将这个相邻边在所有可用来摆放子模块管脚的布线层上的布线轨道数量相加就能得到该相邻边的可摆放管脚的总量。
连接所有相邻边的公共部分的中点,连接子模块中心点和其边上相邻边公共部分的中点,然后连接每个相邻边公共部分中点和子模块的其他边上公共部分中心点。这时就能得到整个芯片FeedThrough规划的图网,如图5所示。
然后拷贝图5所示的图网结果,再拷贝中删除非始末子模块的其他子模块的中心点及与其相连的连接线。接着删除拷贝中已经没有剩余可用布线轨道或布线轨道余量不足的相邻边公共部分的中点及与其相连的连接线。这时就能得到一张可供单源最短路径算法使用的图网,如图6所示。
将得到的图6所示的图网结果作为Dijkstra单源最短路径算法的输入,利用Dijkstra算法就能得到当前FeedThrough的最短路径,这样可以有效避免子模块边上管脚密度太高的问题。
最后将该FeedThrough中的最短路径更新到最原始的图网中,再用同样的过程处理下一条FeedThrough,直到所有FeedThrough都处理完毕。
3.结果验证与输出
当FeedThrough自动规划完成以后,将导出EDA工具规定格式的FeedThrough规划结果文件和用于后续分析的报告文件。如果芯片FeedThrough规划还不符合要求可以重新调整配置文件和调整文件重新执行FeedThrough自动规划算法。
值得一提的是,根据上述优选实施例,本发明专利申请公开的集成电路半定制物理设计贯穿信号线自动规划方法,其设计要点在于,具有FeedThrough路径短、子模块管脚数量适中、FeedThrough对称性好、冗余少、运行时间短、自动化程度高、人机接口好等特点,至少可节约50%的人力成本。同时,本方法能够提高贯穿信号线的设计效率,基于该设计方法的先进性、完整性和成熟性,后端设计团队能有效避免无效工作和减少设计迭代次数,最终缩短整个芯片设计周期。本方法适合所有不同设计需求的后端设计项目,具有良好的通用性和先进性。
对于本领域的技术人员而言,依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围。