一种反熔丝系列现场可编程门阵列的布局方法
【专利摘要】本发明公开了一种反熔丝现场可编程门阵列的布局方法,该方法包括:1)创建由水平线网和垂直线网连接M个单元形成的包括N个线网的第一布局;2)获取所述第一布局的代价;3)选取M个单元中的一部分单元进行移动,根据所述步骤1)、2)获取第二布局的代价;4)将所述第二布局的代价与所述第一布局的代价比较,其中,当第二布局的代价大于第一布局的代价时,保留第一布局;当第二布局的代价小于第一布局的代价时,利用第二布局替代第一布局;循环布局,直到执行至少M次移动,确定较优布局。本发明大幅提升反熔丝系列现场可编程门阵列的布局速,优化了布局结果。
【专利说明】一种反熔丝系列现场可编程门阵列的布局方法
【技术领域】
[0001] 本发明涉及集成电路领域,特别涉及一种反熔丝系列现场可编程门阵列的布局方 法。
【背景技术】
[0002] 现场可编程门阵列(Field Programmable Gate Array, FPGA)是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种 半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限 的缺点。FPGA芯片布局主要针对的是芯片上的逻辑单元(反熔丝系列里叫做CELL,即单 元)和它们之间的连接关系的布置,为每一个逻辑单元找到合理的位置。
[0003] 目前常见的三种FPGA分别是SRAM、Flash和反熔丝FPGA。而主流的布局算法主 要是针对SRAM系列的FPGA进行开发和应用的。由于芯片结构存在较大差异,主流的布局 算法在对反熔丝系列的FPGA的应用上存在效率低、布局结果不合理、对布线的压力较大等 明显缺点。
[0004] 现有的布局方法是通过初始布局、迭代进行逻辑单元的移动、核对布局结果等步 骤找到布局结果,此方法在反熔丝系列FPGA芯片应用时,迭代占用时间长、计算结果不合 理,布局速度慢,布局结果不理想。
【发明内容】
[0005] 针对现有技术存在的上述缺陷,本发明提出了一种反熔丝现场可编程门阵列的布 局方法,该方法包括:
[0006] 1)创建由水平线网和垂直线网连接M个单元形成的包括N个线网的第一布局,其 中,
[0007] 为现场可编程门阵列芯片中的水平方向和垂直方向的布线资源分别设定相应参 数βχ和i3y,其中βγ〈βχ ;
[0008] 任选两个单元连接成线网i,根据线网i的水平线网长度和垂直线网长度,设定水 平线网代价框bbx和垂直线网代价框bby,1彡i彡N ;
[0009] 根据所述线网i中的各单元的扇出线网数量,确定扇出线网代价增益Λ I以及所 述线网i的扇出代价fanout (i) = bbxXbbyX Δ I ;
[0010] 2)获取所述第一布局的代价;
[0011] 根据所述水平方向和垂直方向的布线资源参数β X和β y、所述线网i的水平线网 代价框和垂直线网代价框bbx和bby、所述线网i的扇出代价fanout (i)确定第i个线网代 价值,其中,第i个线网代价值与bbx、bby和fanout (i)成正比,与β X和β y成反比,
[0012] 从第一根线网开始一直到第N根线网,将每一个线网代价值相加,得出第一布局 的代价;
[0013] 3)选取M个单元中的一部分单元进行移动,根据所述步骤1)、2)获取第二布局的 代价;
[0014] 4)将所述第二布局的代价与所述第一布局的代价比较,其中,
[0015] 当第二布局的代价大于第一布局的代价时,保留第一布局;
[0016] 当第二布局的代价小于第一布局的代价时,利用第二布局替代第一布局;
[0017] 5)利用步骤3)选取除所述一部分单元外的剩余单元中的一部分单元进行移动, 获取第三布局代价;
[0018] 6)利用步骤4),将第三布局代价与第二布局代价比较,确定保留第二布局或利用 第三布局替代第二布局;
[0019] 7)重复步骤5)和6),直到执行至少M次移动,确定初始布局。
[0020] 本发明通过引入代价判断方法,以及比较机制,能够相对合理的确定较优的反熔 丝系列FPGA初始布局,并基于该初始布局直接布局。
[0021] 在一些实施方式中,所述第一布局的代价的计算公式为:
【权利要求】
1. 一种反熔丝现场可编程门阵列的布局优化方法,包括: 1) 创建由水平线网和垂直线网连接M个单元形成的包括N个线网的第一布局,其中, 为现场可编程门阵列芯片中的水平方向和垂直方向的布线资源分别设定相应参数βX 和βy,其中βy〈βX; 任选两个单元连接成线网i,根据线网i的水平线网长度和垂直线网长度,设定水平线 网代价框bbx和垂直线网代价框bby,1彡i彡N; 根据所述线网i中的各单元的扇出线网数量,确定扇出线网代价增益△I以及所述线 网i的扇出代价fanout(i) =bbxXbbyXΔI; 2) 获取所述第一布局的代价; 根据所述水平方向和垂直方向的布线资源参数βχ和Py、所述线网i的水平线网代 价框和垂直线网代价框bbx和bby、所述线网i的扇出代价fanout(i)确定第i个线网代价 值,其中,第i个线网代价值与bbx、bby和fanout(i)成正比,与βX和βy成反比, 从第一根线网开始一直到第N根线网,将每一个线网代价值相加,得出第一布局的代 价; 3) 选取M个单元中的一部分单元进行移动,根据所述步骤1)、2)获取第二布局的代 价; 4) 将所述第二布局的代价与所述第一布局的代价比较,其中, 当第二布局的代价大于第一布局的代价时,保留第一布局; 当第二布局的代价小于第一布局的代价时,利用第二布局替代第一布局; 5) 利用步骤3)选取除所述一部分单元外的剩余单元中的一部分单元进行移动,获取 第三布局代价; 6) 利用步骤4),将第三布局代价与第二布局代价比较,确定保留第二布局或利用第三 布局替代第二布局; 7) 重复步骤5)和6),直到执行至少M次移动,确定初始布局。
2. 根据权利要求1所述的方法,其特征在于,所述第一初始布局的代价的计算公式为:
3. 根据权利要求1所述的方法,其特征在于,在所述步骤7)后还包括: 8) 设定移动接受概率以1^。。,0〈四1:;311。。〈1; 9) 选取所述初始布局中的M个单元中的一部分单元进行移动,根据所述步骤1)、2)获 取第一移动布局的代价; 10) 将所述第一移动布局的代价与所述初始布局的代价的差值与〇比较,其中, 当差值小于0时,利用第一移动布局替代初始布局; 当差值大于0时,计算第一移动概率,当第一移动概率rat(1)大于移动接受概率ratsu。。时,利用第一移动布局替代初始布局;当第一移动概率小于移动接受概率ratsu。。时, 保留初始布局, 其中,所述第一移动概率根据下述公式计算: rat=exp(_Δt/T), T(t+1) =kXT(t),k(0. 9〈k〈l),t为移动的次数
At为从初始布局开始,两两相邻的布局的代价差; 11) 利用步骤9)选取除所述一部分单元外的剩余单元中的一部分单元进行移动,获取 第二移动布局代价; 12) 利用步骤10),将第二移动布局代价与第一移动布局代价比较,确定保留第一移动 布局或利用第二移动布局替代第一移动布局; 13) 重复步骤11)和12),直到执行至少M次移动,确定选定布局。
4. 根据权利要求3所述的方法,其特征在于,所述步骤9)中,设定水平方向移动距离的 限制rlimx和垂直方向移动距离的限制rlimy,其中, 所述水平方向移动的限制的计算公式为:rlimx=rlimxold(l-〇. 44+ratsucc)Cx Cx是水平方向的平均布线通道宽度,rlimX()ld是当前移动前的上一次水平方向移动距 离限制,rlimX()ld的初始值为现场可编程门阵列芯片的水平方向的可用长度; 所述垂直方向移动的限制的计算公式为:rlimy=rlimyold (l-〇. 44+ratsucc)Cy Cy是垂直方向的平均布线通道宽度,!"Iimytjld是当前移动前的上一次垂直方向移动距 离限制,rlimy^的初始值为现场可编程门阵列芯片的垂直方向的可用宽度。
5. 根据权利要求3或4所述的方法,其特征在于,所述移动接受概率ratsu。。为0. 44。
6. 根据权利要求1或3所述的方法,其特征在于,选取移动的一部分单元为一个单元。
【文档编号】G06F17/50GK104462729SQ201410855240
【公开日】2015年3月25日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】魏岩 申请人:中国电子科技集团公司第四十七研究所