CN112183006A - 时延评估方法及装置、可读存储介质 - Google Patents
时延评估方法及装置、可读存储介质 Download PDFInfo
- Publication number
- CN112183006A CN112183006A CN201910591019.0A CN201910591019A CN112183006A CN 112183006 A CN112183006 A CN 112183006A CN 201910591019 A CN201910591019 A CN 201910591019A CN 112183006 A CN112183006 A CN 112183006A
- Authority
- CN
- China
- Prior art keywords
- net
- time delay
- evaluated
- delay corresponding
- information
- 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.)
- Withdrawn
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种时延评估方法及装置、可读存储介质,所述时延评估方法包括:获取待评估线网的起始端点和结束端点;根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息;根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延;累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。采用上述方案,可以提高时延评估的计算速度和准确度。
Description
技术领域
本发明属于FPGA技术领域,特别涉及一种时延评估方法及装置、可读存储介质。
背景技术
现场可编程门阵列(Field Programmable Gate Array,FPGA)是在可编程逻辑器件(Programmable Logic Device,PAL)、复杂可编程逻辑器件(Complex ProgrammableLogic Device,CPLD)等可编程器件的基础上进一步发展的产物。典型FPGA的开发流程一般包括功能定义、器件选型、设计输入、功能仿真、综合优化、综合后仿真、工艺映射、布局、布线、后仿真、板级仿真以及芯片编程与调试等主要步骤。
在整个FPGA开发流程中,时序约束是用户指定的一种最基本的约束,其可指定所设计电路的工作频率,约定芯片的工作速度。而FPGA软件为了满足用户的时序约束,在整个物理实现的每一步都需要考虑时序约束以及时延评估。尤其在设计的后期,不同的时延评估方法及不同的时延优化策略,对整个电路的功能影响甚大。
在现有技术中,布局和布线是时延评估过程中最主要的部分,也是整个流程中比较费时的一步。布局,具体是指将电路元件摆放到FPGA芯片上合法的位置,不存在违法物理约束摆放。布线,则指将电路元件之间的线网联通,不存在短路断路等违反物理约束的连接。
在FPGA领域中,布局和布线都是将逻辑网表中的硬件原语和底层单元合理地配置到FPGA芯片内部的固有硬件结构上的过程中。在FPGA领域的布局布线过程中,如何对没有布线的线网进行快速的、有效的时延评估,对版图设计起到至关重要的作用。
如今业界常用的时延评估方法是通过一个快速的布线器计算出一条最可能的路径,然后基于电阻电容(Resistance Capacitance,RC)链的时延模型(Elmore DelayModel,EDM)对路径(Path)进行评估,得出时延结果。然而上述方法计算速度比较慢、过于耗时,因此在布局等优化过程中不能频繁的调用,进而造成相应的准确性降低。同时,上述方法并不是统一的时延评估的处理方法,某些场景下只会存储一些常用的时延数据进行局部加速,无法较为完整地覆盖所有绕线情景。
发明内容
本发明实施例解决的是时延评估速度较慢、准确性较差的技术问题。
为解决上述技术问题,本发明实施例提供一种时延评估方法,包括:获取待评估线网的起始端点和结束端点;根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息;根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延;累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。
可选的,所述路径表存储以下至少一种时延:线网对应的时延以及FPGA阵列对应的时延。
可选的,所述线网对应的时延为每类线网对应的时延平均值。
可选的,所述获取所述待评估线网以及所述待评估线网所连接单元对应的时延,包括:获取所述待评估线网的长度;当所述待评估线网的长度超过预设长度阈值时,将所述待评估线网划分为N个长度为预设长度阈值的线网以及至少1个长度不超过所述预设长度阈值的线网;分别查找所述N个长度为预设长度阈值的线网对应的时延,以及所述至少1个长度不超过所述预设长度阈值的线网对应的时延。
可选的,所述线网长度为预设长度阈值的线网对应的时延为固定值。
可选的,所述累加所述待评估线网的时延,包括:根据所述待评估线网中每段线网的类型,累加所述待评估线网中所有类型的线网对应时延。
可选的,所述路径表采用以下方式构建:获取设备芯片数据库信息、电阻电容数据库信息、绕线信息以及至少一例两端线网信息;根据所述两端线网信息、所述设备芯片数据库信息、所述电阻电容数据库信息以及所述绕线信息,采用时延最短原则对所述两端线网进行绕线,得到所述两端线网的绕线路径;根据所述两端线网的绕线路径,计算所述两端线网对应的时延并存储。
可选的,所述待评估线网以及所述待评估线网所连接单元对应的时延,包括以下至少一种:FPGA阵列引脚对应的时延、FPGA配置连接对应的时延、所述起始端点至最近INT阵列对应的时延、所述结束端点至最近INT阵列对应的时延以及所述绕线路径中转换开关对应的时延。
可选的,所述路径表按以下至少一种条件归类所述绕线路径:长度、形状。
可选的,将小于预设时延阈值的所述待评估线网对应的时延或小于预设时延阈值的所述待评估线网所连接单元对应的时延设为0。
可选的,当所述绕线路径所经过的所述待评估线网所连接单元为非CLB类型的逻辑单元时,判定所述待评估线网对应的时延存在时延偏差,将所述待评估线网对应的时延增加预设修正值;所述预设修正值与所述逻辑单元的数量正相关。
为解决上述技术问题,本发明实施例还公开了一种时延评估装置,包括:端点获取单元,用于获取待评估线网的起始端点和结束端点;绕线单元,用于根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息;时延获取单元,用于根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延;计算单元,用于累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。
可选的,所述路径表存储以下至少一种时延:线网对应的时延以及FPGA阵列对应的时延。
可选的,所述线网对应的时延为每类线网对应的时延平均值。
可选的,所述时延获取单元,用于:获取所述待评估线网的长度;当所述待评估线网的长度超过预设长度阈值时,将所述待评估线网划分为N个长度为预设长度阈值的线网以及至少1个长度不超过所述预设长度阈值的线网;分别查找所述N个长度为预设长度阈值的线网对应的时延,以及所述至少1个长度不超过所述预设长度阈值的线网对应的时延。
可选的,所述线网长度为预设长度阈值的线网对应的时延为固定值。
可选的,所述计算单元,用于:根据所述待评估线网中每段线网的类型,累加所述待评估线网中所有类型的线网对应时延。
可选的,所述路径表采用以下方式构建:获取设备芯片数据库信息、电阻电容数据库信息、绕线信息以及至少一例两端线网信息;根据所述两端线网信息、所述设备芯片数据库信息、所述电阻电容数据库信息以及所述绕线信息,采用时延最短原则对所述两端线网进行绕线,得到所述两端线网的绕线路径;根据所述两端线网的绕线路径,计算所述两端线网对应的时延并存储。
可选的,所述待评估线网以及所述待评估线网所连接单元对应的时延,包括以下至少一种:FPGA阵列引脚对应的时延、FPGA配置连接对应的时延、所述起始端点至最近INT阵列对应的时延、所述结束端点至最近INT阵列对应的时延以及所述绕线路径中转换开关对应的时延。
可选的,所述路径表按以下至少一种条件归类所述绕线路径:长度、形状。
可选的,所述时延获取单元,用于:将小于预设时延阈值的所述待评估线网对应的时延或小于预设时延阈值的所述待评估线网所连接单元对应的时延设为0。
本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种所述的时延评估方法的步骤。
本发明实施例还提供了一种时延评估装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一种所述的时延评估方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息;根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延;累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。在预设的路径表中直接获取待评估线网的绕线路径,时延评估的计算速度大大提高,再通过累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,时延评估的范围全面,进一步提高时延评估计算速度和准确度。
进一步,根据所述两端线网信息、所述设备芯片数据库信息、所述电阻电容数据库信息以及所述绕线信息,采用时延最短原则对所述两端线网进行绕线,得到所述两端线网的绕线路径;再根据所述两端线网的绕线路径,计算所述两端线网对应的时延并存储。路径表预设了不同情况、不同种类的线网绕线信息以及对应的时延信息,使得时延评估结果符合时延真实结果,提高了时延评估的准确度。
附图说明
图1是本发明实施例中的一种时延评估方法的流程图;
图2是本发明实施例中的一种时延评估装置的结构示意图。
具体实施方式
现有技术中,业界常用的时延评估方法是通过一个快速的布线器计算出一条最可能的路径,然后基于电阻电容(Resistance Capacitance,RC)链的时延模型(Elmore DelayModel,EDM)对路径(Path)进行评估,得出时延结果。然而上述方法计算速度比较慢、过于耗时,因此在布局等优化过程中不能频繁的调用,进而造成相应的准确性降低。同时,上述方法并不是统一的时延评估的处理方法,某些场景下只会存储一些常用的时延数据进行局部加速,无法较为完整地覆盖所有绕线情景。
本发明实施例中,在预设的路径表中直接获取待评估线网的绕线路径,时延评估的计算速度大大提高,再通过累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,时延评估的范围全面,进一步提高时延评估计算速度和准确度。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供了一种时延评估方法,参照图1,以下通过具体步骤进行详细说明。
步骤S101,获取待评估线网的起始端点和结束端点。
在具体实施中,内部连线(Interconnect,INT)类型的阵列(Tile)内部除了包含一些路径(Path)外,还包含了Path之间的转换开关。INT类型的阵列(Tile)中任意一条Path需要通过配置连接转换到其余Path,配置连接对应的转换开关和路径(Path)共同构成绕线图。
在具体实施中,由于FPGA芯片的规则存储特性(即资源分布特性),两端线网的相对偏移是一样的。例如线网的起始端点为AQ,则AQ在FPGA芯片上的位置变化,只影响这条线网的相对位置,这条线网所经过的转换开关和路径(Path)的类型不变。
在具体实施中,待评估线网的起始端点和结束端点中的某一端可能有多个端点,可以将多端线网拆分成多个两端线网,然后获取待评估线网的起始端点和结束端点的类型及其所在位置,再依次进行两端线网的时延评估。
步骤S102,根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息。
在具体实施中,FPGA的电路单元模块(即待评估线网所连接单元)有:可配置逻辑模块(Configurable Logic Block,CLB)、输入输出模块(Input Output Block,IOB)和内部连线(Interconnect,INT)等部分。FPGA芯片是二维结构,每个点对应一个CLB。FPGA利用小型查找表(如16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,该D触发器再驱动其他逻辑电路或驱动输入输出(Input Output,IO),由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块。这些模块间利用金属连线互相连接或连接到IO模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与IO之间的连接方式,并最终决定了FPGA所能实现的功能。FPGA芯片采用规则的阵列(Tile)结构进行设计,除特别的功能需求,芯片上每一列的Tile类型(INT、IOB、CLB、处理核DSP以及存储器RAM等)都是一样的。
在具体实施中,待评估线网的绕线路径中每段Path可经过多个阵列单元。每段Path经过INT Tile的数目定义为这段Path的长度,常见Path的长度主要有X1、X2、X4、X6、X12和X18。另外,根据Path经过Tile的走向不同又可以分为八种,例如X2线,分为SS2、SW2、WW2、NW2、NN2、NE2、EE2和SE2八种,其中S代表South,E代表East,N代表North,W代表West,SS2即代表向南直走了两个Tile的直线,SW2即代表向南走了一个Tile,向西走了一个Tile的L形折线。
在具体实施中,路径表可以采用以下方式构建:获取设备芯片数据库信息、电阻电容数据库信息、绕线信息以及至少一例两端线网信息;根据所述两端线网信息、所述设备芯片数据库信息、所述电阻电容数据库信息以及所述绕线信息,采用时延最短原则对所述两端线网进行绕线,得到所述两端线网的绕线路径;根据所述两端线网的绕线路径,计算所述两端线网对应的时延并存储。
在具体实施中,路径表可以按以下至少一种条件归类绕线路径:长度、形状。例如,端点AQ至端点D4的线网归结为AQ引脚对应的Path、4根长度为6的X6类型的Path、2根X2类型的Path、一根X1类型的Path和D4引脚对应的Path,以减少冗余Path的存储。同时,由于这条线网的相对位移为(7,20),还可以将这组Path存储到AQ至D4且X轴方向长度为7,Y轴方向长度为20的路径表中。进一步减少了Path存储的信息,加快时延计算速度。
在具体实施中,根据所述待评估线网的起始端点和结束端点,可以采用时延驱动布线器进行绕线,保证布线后的结果时延是最短的(即最紧时延约束)。
在具体实施中,为了快速准确的计算待评估线网对应的时延,可以预存储线网绕线路径。由于FPGA的规则性、路径的种类及FPGA内部连接方式,采用准确的路径进行计算会更加准确。因此,预存储任意距离的两端线网的路径到路径表中,再查找待评估线网的路径以计算时延。以CLB为例,CLB内输出引脚主要包括:AMUX、A、AQ、BMUX、B、BQ、CMUX、C、CQ、DMUX、D和DQ 12种,CLB内输入引脚主要包括A[1:6]、B[1:6]、C[1:6]、D[1:6]、AX、BX、CX和DX28种,所以连接CLB的线网类型共有12x 28,即336种。路径表中可以预存储CLB模块对应的336种线网,快速、准确地获取待评估线网的信息。可以理解的是,路径表还可以预存储不同情况、不同种类的线网绕线信息以及对应的时延信息,使得时延评估结果符合时延真实结果,提高了时延评估的准确度。
步骤S103,根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延。
在具体实施中,路径表可以存储以下至少一种时延:线网对应的时延以及FPGA阵列对应的时延,以快速查找得到待评估线网对应的时延以及所述待评估线网所连接单元对应的时延。可以理解的是,根据不同的时延评估需求,可以通过增加或减少路径表所存储的绕线路径及对应的时延调整时延评估的准确度和速度,具有良好的扩展性。
在具体实施中,线网对应的时延为每类线网对应的时延平均值。由于FPGA芯片上支持的线网的长度只有X1、X2、X4、X6和X18,其余长度的线网都是通过上述长度组合构成,因此可以设置每类长度的线网的时延为该类长度的线网的时延平均值,即X1长度的线网对应的时延均为固定的平均值,以加快时延评估速度。
在具体实施中,待评估线网以及所述待评估线网所连接单元对应的时延,可以包括以下至少一种:FPGA阵列引脚对应的时延、FPGA配置连接对应的时延、所述起始端点至最近INT阵列对应的时延、所述结束端点至最近INT阵列对应的时延以及所述绕线路径中转换开关对应的时延。
由于FPGA芯片上阵列(Tile)的类型是固定的,每种类型支持的引脚(Pin)的种类也是固定的,所以FPGA阵列引脚对应的时延可以根据Tile类型及Pin的标记提前预存储。FPGA阵列引脚对应的时延可以直接采用RC Elmore delay model计算获得。FPGA阵列引脚对应的时延主要集中在逻辑资源类型的阵列(CLB、DSP、RAM、IO),例如CLB_X0Y1中查找表(Look Up Table,LUT)的引脚D4的时延是67ns,引脚AQ的时延是103ns,ns为纳秒。
由于FPGA芯片上阵列(Tile)的类型是固定的,每种类型的Tile内部线网的种类也是固定的。FPGA芯片上多数Path位于INT类型的Tile中,那么根据Tile的类型、Path的类型,可以采用哈希表(Hash Map)将每种Path的时延存储起来。例如INT_X0Y1中X2类型的PathN2END0的时延是130ns,X6类型的Path NE6END0的时延是250ns,X1类型的Path SL1BEG0的时延是90ns。
在具体实施中,线网上还包含一类配置连接资源,用于连接Pin之间、Path之间以及Pin和Path之间的开关。根据配置连接的两端的Path不同,可以将FPGA配置连接对应的时延存储Hash Map中。FPGA配置连接对应的时延所占比重比较小,例如X6类型的PathNE6END0驱动X2类型的Path EE2BEG0的时延是10ns。
在具体实施中,可以将小于预设时延阈值的所述待评估线网对应的时延或小于预设时延阈值的所述待评估线网所连接单元对应的时延设为0。
在具体实施中,当所述绕线路径所经过的所述待评估线网所连接单元为非CLB类型的逻辑单元时,判定所述待评估线网对应的时延存在时延偏差,可以将所述待评估线网对应的时延增加预设修正值;所述预设修正值与所述逻辑单元的数量正相关。
在本发明一实施例中,按照待评估线网的走向顺序,待评估线网的绕线路径包括:CLBLL_LL_AQ—CLBLL_LOGIC_OUTS4—NE6BEG0—NN6BEG0—NN6BEG0—NE6BEG0—EE2BEG0—NE2BEG0—SL1BEG0—BYP_ALT1—IMUX_L37—CLBLM_L_D4,即AQ至D4。同时,标记上述路径中对应的相对位置坐标,得到对应的走向关系如下:
其中,采用RC Elmore时延模型,提取出长度超过1的路径。长度小于1的路径时延较小,对整条线网的时延影响也较小。因此,为减少存储占用、方便查找以及加快计算速度,设置长度小于1的路径的时延为0,例如ALT、BOUNCE以及转换节点的时延均设置为0。
上述待评估线网对应的时延包括:起始端点AQ至最近INT阵列对应的时延(固定值)、结束端点D4至最近INT阵列对应的时延(固定值)、各个类型的线网对应的时延、绕线路径中用于拼接每段路径的转换开关对应的时延以及增加的时延修正值。
其中,各个类型的线网对应的时延根据每个类型的线网的个数和每个类型的线网对应的时延平均值相乘得到(4个X6类型线网、2个X2类型线网以及1个X1类型线网);增加的时延修正值根据每类线网经过每类逻辑单元的次数和预设的时延值相乘得到(例如X6类型的线网跨越RAM的修正值为20ns);绕线路径中用于拼接每段路径的转换开关对应的时延较小,采用预设值计算,同时在采用本发明提出的时延评估方法的初期,忽略转换开关对应的时延以提高优化速度。
因此,上述待评估线网对应的时延为以下时延的累加值:103ns(起始端点AQ至最近INT阵列对应的时延)、67ns(结束端点D4至最近INT阵列对应的时延)、64ns(8个转换开关对应的时延)、1000ns(4个X6类型的线网对应的时延)、260ns(2个X2类型的线网对应的时延)、90ns(1个X1类型的线网对应的时延)、80ns(增加的时延修正值,包括经过2个RAM对应的时延60ns以及经过1个DSP对应的时延20ns),即待评估线网对应的时延为1664ns。
在实际应用中,由于FPGA芯片中每段路径最长的类型是X18线,超出X18线的长度(即当任意一个方向的路径距离超过X18线的长度)的路径可以采用拼接的方式,缩短距离到X18线的长度内再进行计算。
在具体实施中,可以先获取所述待评估线网的长度;当所述待评估线网的长度超过预设长度阈值时,将所述待评估线网划分为N个长度为预设长度阈值的线网以及至少1个长度不超过所述预设长度阈值的线网;分别查找所述N个长度为预设长度阈值的线网对应的时延,以及所述至少1个长度不超过所述预设长度阈值的线网对应的时延。
在具体实施中,线网长度为预设长度阈值的线网对应的时延可以为固定值。
在本发明一实施例中,待评估线网的X轴方向距离为43,Y轴方向距离为35。将待评估线网的X轴方向拆分为2个X18类型的线网和距离为7的短距离线网,将待评估线网的Y轴方向拆分为1个X18类型的线网和距离为17的短距离线网。由于X轴方向的X18类型的线网对应的时延为230ns,Y轴方向的X18类型的线网对应的时延为180ns,而两个方向上的短距离线网可以采用本发明提出的时延评估方法进行计算得到,因此得到这条待评估线网对应的时延。
步骤S104,累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。
在具体实施中,可以根据所述待评估线网中每段线网的类型,累加所述待评估线网中所有类型的线网对应时延。
在具体实施中,为加速时延评估的速度,将时延的计算方式设置为累加的方式,同时预存储各种类型的线网对应的时延,不同于现有的RC Elmore方法的乘除法计算方式,计算时延的速度大大加快。
在本发明一实施例中,路径表的创建过程包括:分别创建不同类型的两端线网用例,采用时延最短原则分别对每例两端线网进行绕线,得到每例两端线网的绕线路径,计算并存储每段绕线路径对应的时延值。对待评估线网的时延评估过程包括:加载FPGA芯片数据库信息、电阻电容数据库信息,对芯片上的绕线路径种类进行识别分类。根据待评估线网类型,在预设的数据库中查找得到每段绕线路径对应的时延值,最后对待评估线网中所有的时延值进行累加,得到时延评估结果。其中,路径表的创建过程、加载FPGA芯片数据库信息、电阻电容数据库信息以及对芯片上的绕线路径种类进行识别分类在某一设备上执行后,在该设备上无需反复执行,可以反复使用,以快速进行对待评估线网进行时延评估。
综上所述,在预设的路径表中直接获取待评估线网的绕线路径,时延评估的计算速度大大提高,再通过累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,时延评估的范围全面,进一步提高时延评估计算速度和准确度。
参照图2,本发明实施例还提供了一种时延评估装置20,包括:端点获取单元201、绕线单元202、时延获取单元203以及计算单元204,其中:
所述端点获取单元201,用于获取待评估线网的起始端点和结束端点;
所述绕线单元202,用于根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息;
所述时延获取单元203,,用于根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延;
所述计算单元204,用于累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。
在具体实施中,路径表可以存储以下至少一种时延:线网对应的时延以及FPGA阵列对应的时延。
在具体实施中,线网对应的时延可以为每类线网对应的时延平均值。
在具体实施中,时延获取单元203可以用于:获取所述待评估线网的长度;当所述待评估线网的长度超过预设长度阈值时,将所述待评估线网划分为N个长度为预设长度阈值的线网以及至少1个长度不超过所述预设长度阈值的线网;分别查找所述N个长度为预设长度阈值的线网对应的时延,以及所述至少1个长度不超过所述预设长度阈值的线网对应的时延。
在具体实施中,线网长度为预设长度阈值的线网对应的时延可以为固定值。
在具体实施中,计算单元204可以用于:根据所述待评估线网中每段线网的类型,累加所述待评估线网中所有类型的线网对应时延。
在具体实施中,路径表可以采用以下方式构建:获取设备芯片数据库信息、电阻电容数据库信息、绕线信息以及至少一例两端线网信息;根据所述两端线网信息、所述设备芯片数据库信息、所述电阻电容数据库信息以及所述绕线信息,采用时延最短原则对所述两端线网进行绕线,得到所述两端线网的绕线路径;根据所述两端线网的绕线路径,计算所述两端线网对应的时延并存储。
在具体实施中,待评估线网以及所述待评估线网所连接单元对应的时延,可以包括以下至少一种:FPGA阵列引脚对应的时延、FPGA配置连接对应的时延、所述起始端点至最近INT阵列对应的时延、所述结束端点至最近INT阵列对应的时延以及所述绕线路径中转换开关对应的时延。
在具体实施中,路径表可以按以下至少一种条件归类所述绕线路径:长度、形状。
在具体实施中,时延获取单元203可以用于:将小于预设时延阈值的所述待评估线网对应的时延或小于预设时延阈值的所述待评估线网所连接单元对应的时延设为0。
在具体实施中,时延获取单元203可以用于:当所述绕线路径所经过的所述待评估线网所连接单元为非CLB类型的逻辑单元时,判定所述待评估线网对应的时延存在时延偏差,将所述待评估线网对应的时延增加预设修正值;所述预设修正值与所述逻辑单元的数量正相关。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,所述计算机指令运行时执行本发明上述实施例中提供的任一种所述的时延评估方法的步骤。
本发明实施例还提供了一种时延评估装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所示计算机指令时,执行本发明上述实施例中提供的任一种所述的时延评估方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于任一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (24)
1.一种时延评估方法,其特征在于,包括:
获取待评估线网的起始端点和结束端点;
根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息;
根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延;
累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。
2.如权利要求1所述的时延评估方法,其特征在于,所述路径表存储以下至少一种时延:线网对应的时延以及FPGA阵列对应的时延。
3.如权利要求2所述的时延评估方法,其特征在于,所述线网对应的时延为每类线网对应的时延平均值。
4.如权利要求1所述的时延评估方法,其特征在于,所述获取所述待评估线网以及所述待评估线网所连接单元对应的时延,包括:
获取所述待评估线网的长度;
当所述待评估线网的长度超过预设长度阈值时,将所述待评估线网划分为N个长度为预设长度阈值的线网以及至少1个长度不超过所述预设长度阈值的线网;
分别查找所述N个长度为预设长度阈值的线网对应的时延,以及所述至少1个长度不超过所述预设长度阈值的线网对应的时延。
5.如权利要求4所述的时延评估方法,其特征在于,所述线网长度为预设长度阈值的线网对应的时延为固定值。
6.如权利要求1所述的时延评估方法,其特征在于,所述累加所述待评估线网的时延,包括:
根据所述待评估线网中每段线网的类型,累加所述待评估线网中所有类型的线网对应时延。
7.如权利要求1所述的时延评估方法,其特征在于,所述路径表采用以下方式构建:
获取设备芯片数据库信息、电阻电容数据库信息、绕线信息以及至少一例两端线网信息;
根据所述两端线网信息、所述设备芯片数据库信息、所述电阻电容数据库信息以及所述绕线信息,采用时延最短原则对所述两端线网进行绕线,得到所述两端线网的绕线路径;
根据所述两端线网的绕线路径,计算所述两端线网对应的时延并存储。
8.如权利要求1-7任一项所述的时延评估方法,其特征在于,所述待评估线网以及所述待评估线网所连接单元对应的时延,包括以下至少一种:FPGA阵列引脚对应的时延、FPGA配置连接对应的时延、所述起始端点至最近INT阵列对应的时延、所述结束端点至最近INT阵列对应的时延以及所述绕线路径中转换开关对应的时延。
9.如权利要求1-7任一项所述的时延评估方法,其特征在于,所述路径表按以下至少一种条件归类所述绕线路径:长度、形状。
10.如权利要求1-7任一项所述的时延评估方法,其特征在于,将小于预设时延阈值的所述待评估线网对应的时延或小于预设时延阈值的所述待评估线网所连接单元对应的时延设为0。
11.如权利要求1-7任一项所述的时延评估方法,其特征在于,当所述绕线路径所经过的所述待评估线网所连接单元为非CLB类型的逻辑单元时,判定所述待评估线网对应的时延存在时延偏差,将所述待评估线网对应的时延增加预设修正值;所述预设修正值与所述逻辑单元的数量正相关。
12.一种时延评估装置,其特征在于,包括:
端点获取单元,用于获取待评估线网的起始端点和结束端点;
绕线单元,用于根据所述待评估线网的起始端点和结束端点,在预设的路径表中获取对应的绕线路径,得到所述待评估线网的信息以及所述待评估线网所连接单元的信息;
时延获取单元,用于根据所述待评估线网的信息以及所述待评估线网所连接单元的信息,获取所述待评估线网对应的时延以及所述待评估线网所连接单元对应的时延;
计算单元,用于累加所述待评估线网的时延以及所述待评估线网所连接单元的时延,得到时延评估结果。
13.如权利要求12所述的时延评估装置,其特征在于,所述路径表存储以下至少一种时延:线网对应的时延以及FPGA阵列对应的时延。
14.如权利要求13所述的时延评估装置,其特征在于,所述线网对应的时延为每类线网对应的时延平均值。
15.如权利要求12所述的时延评估装置,其特征在于,所述时延获取单元,用于:获取所述待评估线网的长度;当所述待评估线网的长度超过预设长度阈值时,将所述待评估线网划分为N个长度为预设长度阈值的线网以及至少1个长度不超过所述预设长度阈值的线网;分别查找所述N个长度为预设长度阈值的线网对应的时延,以及所述至少1个长度不超过所述预设长度阈值的线网对应的时延。
16.如权利要求15所述的时延评估装置,其特征在于,所述线网长度为预设长度阈值的线网对应的时延为固定值。
17.如权利要求12所述的时延评估装置,其特征在于,所述计算单元,用于:根据所述待评估线网中每段线网的类型,累加所述待评估线网中所有类型的线网对应时延。
18.如权利要求12所述的时延评估装置,其特征在于,所述路径表采用以下方式构建:获取设备芯片数据库信息、电阻电容数据库信息、绕线信息以及至少一例两端线网信息;根据所述两端线网信息、所述设备芯片数据库信息、所述电阻电容数据库信息以及所述绕线信息,采用时延最短原则对所述两端线网进行绕线,得到所述两端线网的绕线路径;根据所述两端线网的绕线路径,计算所述两端线网对应的时延并存储。
19.如权利要求12-18任一项所述的时延评估装置,其特征在于,所述待评估线网以及所述待评估线网所连接单元对应的时延,包括以下至少一种:FPGA阵列引脚对应的时延、FPGA配置连接对应的时延、所述起始端点至最近INT阵列对应的时延、所述结束端点至最近INT阵列对应的时延以及所述绕线路径中转换开关对应的时延。
20.如权利要求12-18任一项所述的时延评估装置,其特征在于,所述路径表按以下至少一种条件归类所述绕线路径:长度、形状。
21.如权利要求12-18任一项所述的时延评估装置,其特征在于,所述时延获取单元,用于:将小于预设时延阈值的所述待评估线网对应的时延或小于预设时延阈值的所述待评估线网所连接单元对应的时延设为0。
22.如权利要求12-18任一项所述的时延评估装置,其特征在于,所述时延获取单元,用于:当所述绕线路径所经过的所述待评估线网所连接单元为非CLB类型的逻辑单元时,判定所述待评估线网对应的时延存在时延偏差,将所述待评估线网对应的时延增加预设修正值;所述预设修正值与所述逻辑单元的数量正相关。
23.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至11中任一项所述的时延评估方法的步骤。
24.一种时延评估装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至11任一项所述的时延评估方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591019.0A CN112183006A (zh) | 2019-07-02 | 2019-07-02 | 时延评估方法及装置、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591019.0A CN112183006A (zh) | 2019-07-02 | 2019-07-02 | 时延评估方法及装置、可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112183006A true CN112183006A (zh) | 2021-01-05 |
Family
ID=73916048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910591019.0A Withdrawn CN112183006A (zh) | 2019-07-02 | 2019-07-02 | 时延评估方法及装置、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112183006A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542209A (zh) * | 2023-07-05 | 2023-08-04 | 上海韬润半导体有限公司 | 一种soc芯片的布局优化方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629308B1 (en) * | 2000-07-13 | 2003-09-30 | Xilinx, Inc. | Method for managing database models for reduced programmable logic device components |
CN103366028A (zh) * | 2012-03-31 | 2013-10-23 | 中国科学院微电子研究所 | 一种现场可编程门阵列芯片布局方法 |
CN105930601A (zh) * | 2016-04-29 | 2016-09-07 | 中国人民解放军国防科学技术大学 | 一种基于查找表的ddr时序及延时偏斜仿真评估方法 |
CN106066914A (zh) * | 2016-06-02 | 2016-11-02 | 复旦大学 | 考虑串扰效应的静态时序分析方法 |
CN109257243A (zh) * | 2017-07-14 | 2019-01-22 | 深圳市中兴微电子技术有限公司 | 一种往返时延确定方法、装置及计算机可读存储介质 |
CN109583005A (zh) * | 2018-10-16 | 2019-04-05 | 复旦大学 | Grmfpga互联线网延时的计算方法 |
-
2019
- 2019-07-02 CN CN201910591019.0A patent/CN112183006A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629308B1 (en) * | 2000-07-13 | 2003-09-30 | Xilinx, Inc. | Method for managing database models for reduced programmable logic device components |
CN103366028A (zh) * | 2012-03-31 | 2013-10-23 | 中国科学院微电子研究所 | 一种现场可编程门阵列芯片布局方法 |
CN105930601A (zh) * | 2016-04-29 | 2016-09-07 | 中国人民解放军国防科学技术大学 | 一种基于查找表的ddr时序及延时偏斜仿真评估方法 |
CN106066914A (zh) * | 2016-06-02 | 2016-11-02 | 复旦大学 | 考虑串扰效应的静态时序分析方法 |
CN109257243A (zh) * | 2017-07-14 | 2019-01-22 | 深圳市中兴微电子技术有限公司 | 一种往返时延确定方法、装置及计算机可读存储介质 |
CN109583005A (zh) * | 2018-10-16 | 2019-04-05 | 复旦大学 | Grmfpga互联线网延时的计算方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542209A (zh) * | 2023-07-05 | 2023-08-04 | 上海韬润半导体有限公司 | 一种soc芯片的布局优化方法及装置 |
CN116542209B (zh) * | 2023-07-05 | 2023-09-15 | 上海韬润半导体有限公司 | 一种soc芯片的布局优化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776547B1 (en) | Infinite-depth path-based analysis of operational timing for circuit design | |
US8201130B1 (en) | Parallel signal routing | |
US8984462B1 (en) | Physical optimization for timing closure for an integrated circuit | |
CN113408224B (zh) | 利用网表局部再综合实现布局合法化的fpga布局方法 | |
US8181139B1 (en) | Multi-priority placement for configuring programmable logic devices | |
CN113779924A (zh) | 超导集成电路的布线优化方法和装置、存储介质和终端 | |
US7134112B1 (en) | Incremental routing in integrated circuit design | |
US7526743B2 (en) | Method for routing data paths in a semiconductor chip with a plurality of layers | |
US8312405B1 (en) | Method of placing input/output blocks on an integrated circuit device | |
US6698000B2 (en) | Semiconductor process parameter determining method, semiconductor process parameter determining system, and semiconductor process parameter determining program | |
CN117151003B (zh) | 一种基于时钟域划分的fpga布局方法及装置 | |
CN106709119A (zh) | 一种fpga芯片布线方法 | |
US8196081B1 (en) | Incremental placement and routing | |
US6732340B1 (en) | Method for designing a semiconductor integrated circuit which includes consideration of parasitic elements on critical data paths | |
CN116245060A (zh) | 数字电路的分析方法、装置、电子设备、存储介质 | |
CN112183006A (zh) | 时延评估方法及装置、可读存储介质 | |
CN113627120A (zh) | 超导集成电路布局优化方法和装置、存储介质和终端 | |
US11645440B1 (en) | Machine learning based delay estimation | |
CN112464609A (zh) | 一种集成电路相对位置布局优化方法、装置及存储介质 | |
JPWO2005098612A1 (ja) | 重要成分優先計算方式ならびに装置 | |
US8966428B2 (en) | Fixed-outline floorplanning approach for mixed-size modules | |
US11520959B1 (en) | Pruning of buffering candidates for improved efficiency of evaluation | |
US10430539B1 (en) | Method and apparatus for enhancing performance by moving or adding a pipelined register stage in a cascaded chain | |
CN115438611A (zh) | 模块间构建时序图的方法、***、设备、介质 | |
US10963620B1 (en) | Buffer insertion technique to consider edge spacing and stack via design rules |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210105 |