一种fpga映射后网表的时序估算方法

文档序号:6509172阅读:256来源:国知局
一种fpga映射后网表的时序估算方法
【专利摘要】本发明提出一种FPGA映射后网表的时序估算方法,包括:针对源块单元与汇块单元之间的单段连线,根据所述源块单元和汇块单元的类型,确定所述单段连线的类型;根据所述单段连线的类型,查找时序模型库文件中所述单段连线落入的全局延时范围及全局拥挤度范围;计算所述单段连线的局部拥挤度,根据所述局部拥挤度,确定所述单段连线所属的局部拥挤度范围和局部延时范围;根据所述单段连线所属的局部拥挤度范围和局部延时范围,计算所述单段连线的延时值。由此可估算出FPGA布局布线前的最高工作频率并生成时钟约束文件,代替用户设置的时钟约束作为布局布线工具的输入,使其能以更少的迭代次数获得更佳的最高频率。
【专利说明】-种FPGA映射后网表的时序估算方法

【技术领域】
[0001] 本发明涉及芯片布局领域,尤其涉及一种FPGA映射后网表的时序估算方法。

【背景技术】
[0002] 现场可编程逻辑门阵列(Field Programmable Gate Array, FPGA)软件所能达到 的最高频率是FPGA芯片性能的一个衡量指标,它与用户设置的初始时钟约束有很大关系, 不同的初始时钟约束可能导致最终达到的最高频率有很大不同,而FPGA时序估计一般在 布局布线后进行。在布局布线前做FPGA时序估计,由于缺乏块单元和布线资源的片上物理 位置信息,要达到较小的误差有很大的难度,该领域的研究在当前业界基本属于空白状态。


【发明内容】

[0003] 本发明的目的是提供一种对用户设计的门级电路进行综合及库映射之后形成的 网表进行时序估算的方法,从而生成更合适的时钟约束文件,代替用户时钟约束作为布局 布线工具的输入,使FPGA软件能以更少的迭代次数获得更佳的最高频率。
[0004] 为实现上述目的,第一方面,本发明提供了一种FPGA映射后网表的时序估算方 法,该方法包括 :
[0005] 针对源块单元与汇块单元之间的单段连线,根据所述源块单元和汇块单元的类 型,确定所述单段连线的类型;
[0006] 根据所述单段连线的类型,查找时序模型库文件中所述单段连线落入的全局延时 范围及全局拥挤度范围;
[0007] 计算所述单段连线的局部拥挤度,根据所述局部拥挤度,确定所述单段连线所属 的局部拥挤度范围和局部延时范围;
[0008] 根据所述单段连线所属的局部拥挤度范围和局部延时范围,计算所述单段连线的 延时值。
[0009] 在上述方法中,所述根据所述单段连线的类型,查找时序模型库文件中所述单段 连线落入的全局延时范围及全局拥挤度范围包括:
[0010] 根据预设的网表中记录的各类连线的源块单元的数目和芯片上所述源块单元的 总数,计算各类连线的源块单元的利用率;
[0011] 根据预设的网表中记录的各类连线的汇块单元的数目和芯片上所述汇块单元的 总数,计算各类连线的汇块单元的利用率;
[0012] 根据所述单段连线的类型、源块单元的利用率和汇块单元的利用率,查找所述时 序模型库文件中所述单段连线落入的全局延时范围及全局拥挤度范围。
[0013] 在上述方法中,所述计算所述单段连线的局部拥挤度包括:
[0014] 计算源块单元和汇块单元的扇出拥挤度;
[0015] 根据所述源块单元和汇块单元的扇出拥挤度,计算所述源块单元与汇块单元之间 单段连线的局部拥挤度。
[0016] 在上述方法中,所述计算源块单元和汇块单元的扇出拥挤度包括:
[0017] 根据1(1、1(2、1(3、1(4和1(5计算源块单元的扇出拥挤度;
[0018] 根据K0、K2、K3、K4和K5计算汇块单元的扇出拥挤度;
[0019] 其中,KO为源块单元的扇出单元中,与汇块单元类型相同的数目;Kl为汇块单元 的扇出单元中,与源块单元类型相同的数目再加1 (源节点单元本身);K2为源块单元的扇 入扇出单元总数;Κ3为汇块单元的扇入扇出单元总数;Κ4为Κ2集合中的单元数目减去KO 集合中的单元数目;Κ5为Κ3集合中的单元数目减去Kl集合中的单元数目。
[0020] 第二方面,本发明提供了一种FPGA映射后网表的时序估算方法,该方法包括:
[0021] 根据源块单元和汇块单元的类型,对源块单元与汇块单元之间的单段连线进行分 类;
[0022] 针对各类单段连线中的每一类单段连线,根据布局布线后生成的网表标注文件中 各单段连线在芯片上经过的连线盒跳数,划分为多个跳数集合;
[0023] 根据所述各集合中单段连线的局部拥挤度,确定所述各跳数集合的局部拥挤度范 围;
[0024] 根据所述各集合中单段连线的布局布线后的延时值,确定所述各跳数集合的局部 延时范围;
[0025] 根据所述各集合的局部延时范围和局部拥挤度范围,建立时序模型库文件。
[0026] 在上述方法中,所述多个跳数集合是指3个跳数集合。
[0027] 在上述方法中,所述针对各类单段连线中的每一类单段连线,根据布局布线后生 成的网表标注文件中各单段连线在芯片上经过的连线盒跳数,划分为3个跳数集合包括:
[0028] 针对各类单段连线中的每一类单段连线,根据布局布线后生成的网表标注文件中 各单段连线在芯片上经过的连线盒跳数的不同,将各类连线分为N档,统计各档内的单段 连线总数,将具有最大单段连线总数的第i档对应的连线盒跳数作为典型跳数j,并统计出 第i档内单段连线的第一最小延时值和第一最大延时值;
[0029] 遍历所有单段连线在芯片上经过的连线盒跳数大于j的档,计算各档内所有单段 连线的几何平均延时值;
[0030] 将所述所有单段连线的几何平均延时值大于所述第一最大延时值的M个档归为 大跳数集合,剩余的N-M个档归为典型跳数集合;
[0031] 根据大跳数集合与典型跳数集合的交集,将所述N个档重新划分为小跳数集合、 典型跳数集合和大跳数集合。
[0032] 在上述方法中,所述根据所述各集合中单段连线的局部拥挤度,确定所述各跳数 集合的局部拥挤度范围包括:
[0033] 根据所述各集合中单段连线的局部拥挤度,统计所述各集合中单段连线的最小局 部拥挤度和最大局部拥挤度,并计算所述各集合中所有单段连线的几何平均局部拥挤度, 所述最小局部拥挤度、最大局部拥挤度和几何平均局部拥挤度组成各集合的局部拥挤度范 围。
[0034] 在上述方法中,所述根据所述各集合中单段连线的延时值,确定所述各跳数集合 的局部延时范围包括:
[0035] 根据所述各集合中单段连线的布局布线后的延时值,统计所述各集合中单段连线 的第二最小延时值和第二最大延时值,并计算所述各集合中所有单段连线的几何平均延时 值,所述第二最小延时值、第二最大延时值和几何平均延时值组成各集合的局部延时范围。
[0036] 本发明提供的FPGA映射后网表的时序估算方法,在FPGA芯片上首先完成一次布 局布线,然后基于该次布线后各单段连线的延时值及局部拥挤度,建立时序模型库文件,然 后对网表中任一单段连线,通过在时序模型库文件中匹配与其相应的局部拥挤度范围和局 部延时范围,计算该单段连线的延时值。

【专利附图】

【附图说明】
[0037] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0038] 图1是本发明实施例一提供的FPGA映射后网表的时序估算方法流程图;
[0039] 图2为一种网表的结构示意图;
[0040] 图3是本发明实施例二提供的FPGA映射后网表的时序估算方法流程图。

【具体实施方式】
[0041] 将用户设计的电路进行综合以及库映射之后形成网表,从而也可以得到基本单元 以及它们的连接关系,其中,基本单元包括:查找表、寄存器、存储器、输入输出等等,基本单 元之间的连线称为单段连线,通常在FPGA芯片上完成一次布局布线,根据该布局布线的结 果就可以唯一的确定任意单段连线的延时值。
[0042] 图1是本发明实施例一提供的FPGA映射后网表的时序估算方法流程图。如图1 所示,本发明实施例提供的方法包括:
[0043] 步骤101,针对源块单元与汇块单元之间的单段连线,根据所述源块单元和汇块单 元的类型,确定所述单段连线的类型。
[0044] 对于预设的网表中记录的连线可以分为两类:硬连线和非硬连线,硬连线是指 FPGA芯片上端口到端口之间的连线是唯一确定的;非硬连线是指FPGA芯片上端口与端口 之间的连线可以有多种方式,通常时序估计算法针对的是预设的网表中的非硬连线。预设 的网表中记录的基本单元包括:LUT、LUTC、REG和IO等几种,而预设的网表中的连线根据 连接该连线的源节点和汇节点类型的不同而可以分为多种类型,即任意一单段连线,根据 源节点和汇节点的类型,可以唯一的确定该单段连线的类型,举例为,LUT-LUT、LUTC-LUT、 REG-LUT 和 IO-LUT 等。
[0045] 需要说明的是,对预设的网表中的单段连线分类后,就可以计算每类连线的源节 点的利用率和汇节点的利用率,源节点的利用率可以反映源节点资源的全局拥堵状态,汇 节点的利用率可以反映汇节点资源的全局拥堵状态,举例为,上述源、汇节点均为LUT,且它 的利用率为3%,那么说明该类连线目前在芯片上还不是很拥堵。在一种具体实施例中,源节 点和汇节点的利用率的公式如下所示:
[0046] 源节点的利用率=预设的网表中源节点的数目/芯片上源节点的数目(1)
[0047] 汇节点的利用率=预设的网表中汇节点的数目/芯片上汇节点的数目(2)
[0048] 根据公式(1)和(2)计算得到每类连线的源节点和汇节点的利用率之后,再结合 在FPGA芯片上完成一次布局布线后单段连线的延时值,就可以唯一的确定出每类连线中 最小延时值和最大延时值。
[0049] 步骤102,根据所述单段连线的类型,查找时序模型库文件中所述单段连线落入的 全局延时范围及全局拥挤度范围。
[0050] 具体地,对于任意一单段连线,依照步骤101就可以确定该单段连线的类型,再结 合该单段连线所属连线类型的利用率,就可以查找到时序模型库文件中该单段连线落入的 全局延时范围及全局拥挤度范围,如下所示:

【权利要求】
1. 一种FPGA映射后网表的时序估算方法,包括: 针对源块单元与汇块单元之间的单段连线,根据所述源块单元和汇块单元的类型,确 定所述单段连线的类型; 根据所述单段连线的类型,查找时序模型库文件中所述单段连线落入的全局延时范围 及全局拥挤度范围; 计算所述单段连线的局部拥挤度,根据所述局部拥挤度,确定所述单段连线所属的局 部拥挤度范围和局部延时范围; 根据所述单段连线所属的局部拥挤度范围和局部延时范围,计算所述单段连线的延时 值。
2. 根据权利要求1所述的FPGA映射后网表的时序估算方法,其特征在于,所述根据所 述单段连线的类型,查找时序模型库文件中所述单段连线落入的全局延时范围及全局拥挤 度范围包括: 根据预设的网表中记录的各类连线的源块单元的数目和芯片上所述源块单元的总数, 计算各类连线的源块单元的利用率; 根据预设的网表中记录的各类连线的汇块单元的数目和芯片上所述汇块单元的总数, 计算各类连线的汇块单元的利用率; 根据所述单段连线的类型、源块单元的利用率和汇块单元的利用率,查找所述时序模 型库文件中所述单段连线落入的全局延时范围及全局拥挤度范围。
3. 根据权利要求1所述的FPGA映射后网表的时序估算方法,其特征在于,所述计算所 述单段连线的局部拥挤度包括: 计算源块单元和汇块单元的扇出拥挤度; 根据所述源块单元和汇块单元的扇出拥挤度,计算所述源块单元与汇块单元之间单段 连线的局部拥挤度。
4. 根据权利要求3所述的FPGA映射后网表的时序估算方法,其特征在于,所述计算源 块单元和汇块单元的扇出拥挤度包括: 根据Kl、K2、K3、K4和K5计算源块单元的扇出拥挤度; 根据KO、K2、K3、K4和K5计算汇块单元的扇出拥挤度; 其中,K0为源块单元的扇出单元中,与汇块单元类型相同的数目;K1为汇块单元的扇 出单元中,与源块单元类型相同的数目再加1 (源节点单元本身);K2为源块单元的扇入扇 出单元总数;K3为汇块单元的扇入扇出单元总数;K4为K2集合中的单元数目减去K0集合 中的单元数目;K5为K3集合中的单元数目减去K1集合中的单元数目。
5. -种FPGA映射后网表的时序估算方法,包括: 根据源块单元和汇块单元的类型,对源块单元与汇块单元之间的单段连线进行分类; 针对各类单段连线中的每一类单段连线,根据布局布线后生成的网表标注文件中各单 段连线在芯片上经过的连线盒跳数,划分为多个跳数集合; 根据所述各集合中单段连线的局部拥挤度,确定所述各跳数集合的局部拥挤度范围; 根据所述各集合中单段连线的布局布线后的延时值,确定所述各跳数集合的局部延时 范围; 根据所述各集合的局部延时范围和局部拥挤度范围,建立时序模型库文件。
6. 根据权利要求5所述的FPGA映射后网表的时序估算方法,其特征在于,所述多个跳 数集合是指3个跳数集合。
7. 根据权利要求6所述的FPGA映射后网表的时序估算方法,其特征在于,所述针对各 类单段连线中的每一类单段连线,根据布局布线后生成的网表标注文件中各单段连线在芯 片上经过的连线盒跳数,划分为3个跳数集合包括: 针对各类单段连线中的每一类单段连线,根据布局布线后生成的网表标注文件中各单 段连线在芯片上经过的连线盒跳数的不同,将各类连线分为N档,统计各档内的单段连线 总数,将具有最大单段连线总数的第i档对应的连线盒跳数作为典型跳数j,并统计出第i 档内单段连线的第一最小延时值和第一最大延时值; 遍历所有单段连线在芯片上经过的连线盒跳数大于j的档,计算各档内所有单段连线 的几何平均延时值; 将所述所有单段连线的几何平均延时值大于所述第一最大延时值的M个档归为大跳 数集合,剩余的N-M个档归为典型跳数集合; 根据大跳数集合与典型跳数集合的交集,将所述N个档重新划分为小跳数集合、典型 跳数集合和大跳数集合。
8. 根据权利要求5所述的FPGA映射后网表的时序估算方法,其特征在于,所述根据所 述各集合中单段连线的局部拥挤度,确定所述各跳数集合的局部拥挤度范围包括: 根据所述各集合中单段连线的局部拥挤度,统计所述各集合中单段连线的最小局部拥 挤度和最大局部拥挤度,并计算所述各集合中所有单段连线的几何平均局部拥挤度,所述 最小局部拥挤度、最大局部拥挤度和几何平均局部拥挤度组成各集合的局部拥挤度范围。
9. 根据权利要求5所述的FPGA映射后网表的时序估算方法,其特征在于,所述根据所 述各集合中单段连线的布局布线后的延时值,确定所述各跳数集合的局部延时范围包括: 根据所述各集合中单段连线的布局布线后的延时值,统计所述各集合中单段连线的第 二最小延时值和第二最大延时值,并计算所述各集合中所有单段连线的几何平均延时值, 所述第二最小延时值、第二最大延时值和几何平均延时值组成各集合的局部延时范围。
【文档编号】G06F17/50GK104424369SQ201310380431
【公开日】2015年3月18日 申请日期:2013年8月28日 优先权日:2013年8月28日
【发明者】李璇, 樊平, 刘明 申请人:京微雅格(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1