CN113505561A - 一种软错误感知的fpga布局布线方法 - Google Patents

一种软错误感知的fpga布局布线方法 Download PDF

Info

Publication number
CN113505561A
CN113505561A CN202110738637.0A CN202110738637A CN113505561A CN 113505561 A CN113505561 A CN 113505561A CN 202110738637 A CN202110738637 A CN 202110738637A CN 113505561 A CN113505561 A CN 113505561A
Authority
CN
China
Prior art keywords
wiring
layout
net
cost
fpga
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.)
Pending
Application number
CN202110738637.0A
Other languages
English (en)
Inventor
田春生
陈雷
王硕
周婧
庞永江
周冲
马筱婧
张瑶伟
杜忠
张璐
席培培
王郁景
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN202110738637.0A priority Critical patent/CN113505561A/zh
Publication of CN113505561A publication Critical patent/CN113505561A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种软错误感知的FPGA布局布线方法,先完成对FPGA内布线资源发生的软错误的分析与建模;基于对软错误模型的研究,在布局布线过程中引入抗辐射因子,增加布局布线方法的软错误感知能力;针对布局过程中因随机过程和迭代而导致的收敛慢的问题,使用直接过程加强化学习的方法对布局流程进行优化,使布局过程更加智能高效;针对布线速度慢的问题,在新型重布线策略的基础上对不同特征的线网进行递归划分,进而采取不同的并行布线策略完成并行布线过程。该布局布线方法具有软错误感知的能力,可以缓解因FPGA内布线资源发生软错误而对电路性能造成的影响,同时能够在增加系统智能化程度的基础上,降低系统编译时间。

Description

一种软错误感知的FPGA布局布线方法
技术领域
本发明属于集成电路领域,特别是涉及一种软错误感知的FPGA布局布线方法。
背景技术
SRAM型FPGA具有可反复编程、密度高、功耗低、速度快等优点,一经面世就得到了广泛的应用。在军用武器装备、航空、航天、兵器、船舶等各重要核心领域的电子系统,FPGA在正扮演一个其它芯片无法替代的角色。但随着FPGA的大规模使用,其在空间应用中的辐照问题也越来越突出。宇宙空间中存在着大量的高能粒子,这些高能粒子会对SRAM型FPGA电子器件的功能造成影响,产生软错误。因此,针对SRAM型FPGA进行抗辐射缓解策略研究,延长SRAM型FPGA及使用SRAM型FPGA的宇航用电子设备的使用寿命显得尤其重要。
发明内容
本发明解决的技术问题是:提供一种软错误感知的FPGA布局布线方法,在布局布线阶段进行抗辐射优化,提升布局布线方法的软错误感知能力。在此基础上利用强化学习、并行运算等方法设计高效的布局布线策略,减少布局布线所需花费时间,提升运行效率。
本发明解决技术的方案是:一种软错误感知的FPGA布局布线方法,按照以下步骤进行:
步骤S1,分析FPGA内的布线资源由于单粒子效应而造成的软错误;
步骤S2,在FPGA布局过程中引入考虑上述软错误的抗辐射布局因子,定义抗辐射布局成本函数,利用上述抗辐射布局成本函数采用强化学习的方法对FPGA布局过程进行优化,完成FPGA中各逻辑单元的布局;
步骤S3,在FPGA布线过程中引入考虑上述软错误的抗辐射布线因子,重新定义抗辐射布线成本函数,设计重布线策略,最后利用线网递归划分机制,完成并行布线过程。
进一步地,所述步骤S1中,FPGA内的布线资源由于单粒子效应而造成的软错误分为开路错误与短路错误两种类型。
进一步地,所述的开路错误是指由于可编程连接点PIP受单粒子效应的影响,导致PIP的取值由1变为0,致使线网发生开路错误,将所对应的PIP称为开路敏感位。
进一步地,所述的短路错误是指由于PIP受单粒子效应的影响,导致PIP的取值由0变为1,致使线网发生短路错误,将所对应的PIP称为短路敏感位。
进一步地,所述步骤S2按如下步骤执行:
步骤S201:定义抗辐射布局因子为:
SEU_Cost=α×ShortFault_Cost+β×OpenFault_Cost
其中,OpenFault_Cost表示开路错误所对应的抗辐射布局因子,ShortFault_Cost表示短路错误所对应的抗辐射布局因子,α与β表示自定义常量,用于衡量开路错误与短路错误对于抗辐射布局因子的贡献值;α+β=1;
步骤S202:根据所述步骤S201定义的抗辐射布局因子,设计布局成本函数如下:
Figure BDA0003142385670000021
其中,
ΔTiming_Cost=Timing_Cost-Previous_Timing_Cost表示延时成本函数的变化量,ΔWiring_Cost=Wiring_Cost-Previous_Wiring_Cost表示线长成本函数的变化量,ΔSEU_Cost=SEU_Cost-Previous_SEU_Cost表示软错误成本函数的变化量;μ与λ为权重常量;Previous_Timing_Cost、Previous_Wiring_Cost、Previous_SEU_Cost分别为每次移动逻辑运算单元之前的延时成本函数值、线长成本函数值以及软错误成本函数值;
步骤S203:根据上述布局成本函数设计强化学习中的奖赏函数,利用强化学习方法逐步优化FPGA中各逻辑单元的布局。
进一步地,根据线网发生软错误的概率与线长成正相关特性,将OpenFault_Cost的值定义为:
Figure BDA0003142385670000031
其中q(i)表示补偿因子,用于表示随着端口递增而导致线网的非线性增加;bbx(i)与bby(i)表示线网i的边界框在水平和垂直方向的跨度,Nnets表示线网数量。
进一步地,从减少布局过程中线网边界盒重叠区域内终端节点的数量角度,将ShortFault_Cost的值定义为:
Figure BDA0003142385670000032
其中,q(i,j)表示线网i与线网j在重叠区域内的终端节点的数量;cbbx(i,j)与cbby(i,j)分别表示线网i与线网j重叠区域的长与宽的值,Nnets表示线网数量。
进一步地,步骤S3按如下步骤执行:
步骤S301:定义抗辐射布线因子为
SEU_Cost(n)=χ×OpenSenBit(n,n*)+δ×ShortSenBit(n,n*)
其中,ShortSenBit(n,n*)表示开路敏感位所对应的抗辐射布线因子,是一个布线资源n与n*间所需要的可编程连接点数量的函数;ShortSenBit(n,n*)表示短路敏感位所对应的抗辐布线因子,以潜在的短路敏感位的数量来衡量,敏感位的数量越多,其值越大;χ与δ为自定义常量,用来衡量开路错误与短路错误对抗辐射布线因子的贡献值;
步骤S302:根据所述步骤S301定义全新的抗辐射布线成本函数如下:
Figure BDA0003142385670000033
其中,Cost(n)表示节点的拥挤成本,delayElmore(n,topology)表示节点的延时成本,Crit(i,j)表示延时关键度,
Figure BDA0003142385670000041
为权重常量;
步骤S303:确定重布线策略,即每次只对拥挤路径上的线网进行“拆线—重布”;
步骤S304:采用递归的方式对线网进行划分,完成线网递归划分过程中,迭代对线网集合中的线网进行布线,直到布线方案合法为止。
进一步地,通过下述方式完成线网的划分:
使用二分法对线网进行递归划分,将线网划分为m个区域,m为线程数,m个区域内的线网组成线网集合
Figure BDA0003142385670000042
不同
Figure BDA0003142385670000043
中的线网互不重叠;
为每一个
Figure BDA0003142385670000044
分配一个线程同时进行布线;
将跨区域的线网全部加入到数组Anet中,对Anet中的线网执行遍历操作,将其划分为线网集合Α={θ12,…,θn};其中,θi(0≤i≤n)内的线网互不重叠,使用多线程对θi内的线网并行布线。
进一步地,通过下述方式迭代对线网集合中的线网进行布线,直至布线方案合法:
一次迭代过程:多线程同时对集合θ1中的线网进行并行布线,遍历集合θ1中线网所对应的布线资源树,根据重布线策略,计算线网所对应的漏端的数量,平均分配给多线程,多线程根据抗辐射布线成本函数,调用迷宫布线方法对所分配的漏端逐一执行布线操作;当多线程对集合θ1中的线网布线完成后,同步所有线程,继续对θ2执行并行布线操作,当所述集合Α中的线网全部完成布线操作后,对所述集合B中的线网执行布线操作,每个线程分配给一个
Figure BDA0003142385670000045
且只对
Figure BDA0003142385670000046
内的线网执行布线操作,当所有线网执行完布线迭代后,对抗辐射布线成本函数进行更新;
分析电路的时序信息,若没有布线资源节点重复使用的情况,完成布线过程;否则,继续执行下一次迭代过程。
本发明与现有技术相比的有益效果是:
本发明通过对软错误模型的分析研究,设计抗辐射因子,定义全新的布局、布线成本函数使布局布线方法具有软错误感知的能力;针对布局方法中由于随机过程和迭代导致的收敛时间过长的问题,利用直接过程加Bandit强化学习的方法,优化布局过程,在不需要人为介入与干预的情况下自动高效地完成布局过程,优化在问题空间中搜索全局最优解的过程,提升布局方法的鲁棒性,降低系统编译时间;在布线过程中,采用高效的重布线策略,每次只对拥挤路径上的线网进行“拆线—重布”,解决布线方法运行效率低的问题。进一步地,采用递归划分的方法,根据线网的不同特征将线网划分为不同类型的集合,提升布线方法的并行度,减少布线时间。
附图说明
图1是本发明中的一种软错误感知的布局布线方法的执行流程图;
图2是本发明中的软错误模型;
图3是本发明中布局方法的执行流程;
图4是本发明中布线方法的执行流程。
具体实施方式
下面结合实施例对本发明作进一步阐述。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的思路如图1所示:步骤S1,首先对FPGA中的布线资源由于单粒子效应而出现的软错误进行分析建模;步骤S2,在FPGA布局过程中引入抗辐射布局因子,定义抗辐射布局成本函数,在此基础上利用直接过程加强化学习的方法对布局流程进行优化;步骤S3,在FPGA布线过程中引入抗辐射布线因子,重新定义抗辐射布线成本函数,设计重布线策略,最后利用线网递归划分机制,完成并行布线过程。
所述步骤S1中FPGA内的布线资源由于单粒子效应而造成的软错误分为开路错误与短路错误两种类型,如图2所示。在开关盒中,线网通过布线资源相互连接,若此时线网D的可编程连接点M发生单粒子翻转(Single Event Upset,SEU),M点将由1变为0,导致线网D断开,则M点是开关盒中的开路错误点,将M称之为开路敏感位。线网A、B、C分别通过1,8,2三个可编程连接点连接,若此时SEU正好作用在图中3、4、5或6点时,便会导致线网形成短路,将这种配置位称为短路敏感位。在布局、布线时应减少开路与短路敏感位的数量。
进一步地,在FPGA布局过程中引入抗辐射布局因子,定义抗辐射布局成本函数,在此基础上利用直接过程加强化学习的方法对布局流程进行优化,进行步骤如下:
步骤S201:定义抗辐射布局因子为
SEU_Cost=α×ShortFault_Cost+β×OpenFault_Cost (1)
其中,OpenFault_Cost表示开路错误所对应的抗辐射布局因子,通过对软错误模型的分析可知,线网发生软错误的概率与线长成正相关,因此本发明将OpenFault_Cost的值定义为
Figure BDA0003142385670000061
其中q(i)表示补偿因子,用于表示随着端口递增而导致线网的非线性增加。bbx(i)与bby(i)表示线网i的边界框在水平和垂直方向的跨度,Nnets表示线网数量。ShortFault_Cost表示短路错误所对应的抗辐射布局因子,为了减少布局过程中线网边界盒重叠区域内终端节点的数量,本发明将ShortFault_Cost的值定义为
Figure BDA0003142385670000071
其中,q(i,j)表示线网i与线网j在重叠区域内的终端节点的数量。cbbx(i,j)与cbby(i,j)分别表示线网i与线网j重叠区域的长与宽的值。α与β表示自定义常量,用于衡量开路错误与短路错误对于抗辐射布局因子的贡献值。Nnets表示线网数量。
步骤S202:根据所述步骤S201定义的抗辐射布局因子,设计布局成本函数如下
Figure BDA0003142385670000072
其中
ΔTiming_Cost=Timing_Cost-Previous_Timing_Cost表示延时成本函数的变化量,ΔWiring_Cost=Wiring_Cost-Previous_Wiring_Cost表示线长成本函数的变化量,ΔSEU_Cost=SEU_Cost-Previous_SEU_Cost表示软错误成本函数的变化量。μ于λ表示自定义常量,例如本发明中λ=0.8,μ=0.5。Previous_Timing_Cost、Previous_Wiring_Cost、Previous_SEU_Cost分别每次移动逻辑运算单元之前的延时成本函数值、线长成本函数值以及软错误成本函数值;
步骤S203:使用直接过程加Bandit强化学习的方法优化布局过程,定义Bandit方法中智能体、动作集合、奖赏函数Rt、动作值函数Q(at)的值如下
智能体:本发明所描述的布局方法。
动作集合:
At={adirect_move_1,adirect_move_2,adirect_move_3,…} (5)
表示一系列直接过程的集合,在t时刻的动作at可以是集合At中任一元素。
奖赏函数Rt
Figure BDA0003142385670000081
动作值函数Q(at)的更新过程:
Q(at+1)=Q(at)+γ(Rt+1-Q(at)) (7)
其中,γ表示学习因子,随着迭代次数的增加,Q值函数不断更新,当所有的动作值都被频繁地执行后,便可以获得最优的策略。
综上,完整的布局过程如图3所示。首先随机生成一个初始布局状态,随后对逻辑单元进行若干次的移动,产生新的解并计算初始温度T,布局的主体中包含了内外两层循环,外层的循环控制温度以及交换半径,内层循环根据所述步骤S203中所提出的Bandit方法选取直接过程,进行逻辑单元的交换。按照所述步骤S202中重新定义的成本函数,计算交换前后成本函数的差值ΔC,若ΔC<0,则代表移动后的布局结果优于原有的布局结果,接受此次交换;否则以e-ΔC/T的概率接受新解。接受或拒绝交换后,一次内循环过程结束,若此时内循环的次数到达迭代次数的上限,则退出内循环进入外循环,更新温度,当温度降低至外循环退出温度时,退出外循环。否则继续以Bandit方法选取直接过程执行逻辑单元的交换操作。
布局过程完成后,在FPGA布线过程中引入抗辐射布线因子,重新定义抗辐射布线成本函数,设计全新的重布线策略,最后利用线网递归划分机制,完成并行布线过程。具体步骤如下:
步骤S301:定义抗辐射布线因子为
SEU_Cost(n)=χ×OpenSenBit(n,n*)+δ×ShortSenBit(n,n*) (8)
其中,OpenSenBit(n,n*)表示开路敏感位所对应的抗辐射布线因子,是一个布线资源n与n*间所需要的可编程连接点,随着所的可编程连接点数量的增加,OpenSenBit(n,n*)将按照一定的规律执行递增操作。ShortSenBit(n,n*)表示短路敏感位所对应的抗辐布线射因子,以潜在的短路敏感位的数量来衡量,敏感位的数量越多,其值越大。χ与δ为自定义常量,用来衡量开路错误与短路错误对抗辐射布线因子的贡献值。
步骤S302:根据所述步骤S301定义全新的抗辐射布线成本函数如下:
Figure BDA0003142385670000091
其中,Cost(n)=b(n)×h(n)×p(n)表示节点的拥挤成本,delayElmore(n,topology)表示节点的延时成本,延时关键度Crit(i,j)用来权衡拥挤成本和延时成本各自的重要性。
Figure BDA0003142385670000092
为自定义常量,例如本发明中
Figure BDA0003142385670000093
步骤S303:本发明在重布线时,采用一种高效的重布线策略,即每次只对拥挤路径上的线网进行“拆线—重布”。
步骤S304:为了提升所述布线方法的并行度,减少布线时间,采用一种递归的方式对线网进行不断的划分。首先使用二分法对线网进行递归划分,最终可以将线网划分为m个区域(m为线程数),这m个区域内的线网组成线网集合
Figure BDA0003142385670000094
不同
Figure BDA0003142385670000095
中的线网互不重叠,因此可以为每一个
Figure BDA0003142385670000096
分配一个线程同时进行布线,而不会产生布线资源竞争。对于那些跨区域的大线网,将其全部加入到数组Anet中,接下来对Anet中的线网执行遍历操作,将其划分为线网集合Α={θ12,…,θn}。其中,θi(0≤i≤n)内的线网互不重叠,因此可以使用多线程对θi内的线网并行布线而不会产生资源竞争。
综上,完整的布线过程如图4所示,当完成线网递归划分的过程后,迭代对线网集合中的线网进行布线,直到布线方案合法为止。根据划分的线网集合的不同,每次布线迭代被划分为两个阶段采取不同的并行布线机制。第一阶段中,多线程同时对所述步骤S304中得到的集合θ1中的线网进行并行布线,遍历集合θ1中线网所对应的布线资源树,根据所述步骤S303只对非法路径执行拆除操作,计算线网所对应的漏端的数量,平均分配给多线程,多线程根据所述步骤S302中重新定义的抗辐射布线成本函数,调用迷宫布线方法对所分配的漏端逐一执行布线操作。当多线程对集合θ1中的线网布线完成后,同步所有线程,继续对θ2执行并行布线操作,当所述集合Α中的线网全部完成布线操作后,进入第二阶段,对所述集合B中的线网执行布线操作,每个线程分配给一个
Figure BDA0003142385670000101
且只对
Figure BDA0003142385670000102
内的线网执行布线操作。当所有线网执行完布线迭代后,对所述步骤S302中定义的抗辐射布线成本函数进行更新,分析电路的时序信息。若没有布线资源节点重复使用的情况,完成布线过程;否则,继续执行下一次布线迭代操作。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
本发明未详细说明部分属于本领域技术人员的公知常识。

Claims (10)

1.一种软错误感知的FPGA布局布线方法,其特征在于,按照以下步骤进行:
步骤S1,分析FPGA内的布线资源由于单粒子效应而造成的软错误;
步骤S2,在FPGA布局过程中引入考虑上述软错误的抗辐射布局因子,定义抗辐射布局成本函数,利用上述抗辐射布局成本函数采用强化学习的方法对FPGA布局过程进行优化,完成FPGA中各逻辑单元的布局;
步骤S3,在FPGA布线过程中引入考虑上述软错误的抗辐射布线因子,重新定义抗辐射布线成本函数,设计重布线策略,最后利用线网递归划分机制,完成并行布线过程。
2.根据权利要求1所述的一种软错误感知的FPGA布局布线方法,其特征在于,所述步骤S1中,FPGA内的布线资源由于单粒子效应而造成的软错误分为开路错误与短路错误两种类型。
3.根据权利要求2所述的一种软错误感知的FPGA布局布线方法,其特征在于,所述的开路错误是指由于可编程连接点PIP受单粒子效应的影响,导致PIP的取值由1变为0,致使线网发生开路错误,将所对应的PIP称为开路敏感位。
4.根据权利要求2所述的一种软错误感知的FPGA布局布线方法,其特征在于,所述的短路错误是指由于PIP受单粒子效应的影响,导致PIP的取值由0变为1,致使线网发生短路错误,将所对应的PIP称为短路敏感位。
5.根据权利要求2所述的一种软错误感知的FPGA布局布线方法,其特征在于,所述步骤S2按如下步骤执行:
步骤S201:定义抗辐射布局因子为:
SEU_Cost=α×ShortFault_Cost+β×OpenFault_Cost
其中,OpenFault_Cost表示开路错误所对应的抗辐射布局因子,ShortFault_Cost表示短路错误所对应的抗辐射布局因子,α与β表示自定义常量,用于衡量开路错误与短路错误对于抗辐射布局因子的贡献值;α+β=1;
步骤S202:根据所述步骤S201定义的抗辐射布局因子,设计布局成本函数如下:
Figure FDA0003142385660000021
其中,
ΔTiming_Cost=Timing_Cost-Previous_Timing_Cost表示延时成本函数的变化量,ΔWiring_Cost=Wiring_Cost-Previous_Wiring_Cost表示线长成本函数的变化量,ΔSEU_Cost=SEU_Cost-Previous_SEU_Cost表示软错误成本函数的变化量;μ与λ为权重常量;Previous_Timing_Cost、Previous_Wiring_Cost、Previous_SEU_Cost分别为每次移动逻辑运算单元之前的延时成本函数值、线长成本函数值以及软错误成本函数值;
步骤S203:根据上述布局成本函数设计强化学习中的奖赏函数,利用强化学习方法逐步优化FPGA中各逻辑单元的布局。
6.根据权利要求5所述的一种软错误感知的FPGA布局布线方法,其特征在于,根据线网发生软错误的概率与线长成正相关特性,将OpenFault_Cost的值定义为:
Figure FDA0003142385660000022
其中q(i)表示补偿因子,用于表示随着端口递增而导致线网的非线性增加;bbx(i)与bby(i)表示线网i的边界框在水平和垂直方向的跨度,Nnets表示线网数量。
7.根据权利要求5所述的一种软错误感知的FPGA布局布线方法,其特征在于,从减少布局过程中线网边界盒重叠区域内终端节点的数量角度,将ShortFault_Cost的值定义为:
Figure FDA0003142385660000023
其中,q(i,j)表示线网i与线网j在重叠区域内的终端节点的数量;cbbx(i,j)与cbby(i,j)分别表示线网i与线网j重叠区域的长与宽的值,Nnets表示线网数量。
8.根据权利要求1所述的一种软错误感知的FPGA布局布线方法,其特征在于,步骤S3按如下步骤执行:
步骤S301:定义抗辐射布线因子为
SEU_Cost(n)=χ×OpenSenBit(n,n*)+δ×ShortSenBit(n,n*)
其中,ShortSenBit(n,n*)表示开路敏感位所对应的抗辐射布线因子,是一个布线资源n与n*间所需要的可编程连接点数量的函数;ShortSenBit(n,n*)表示短路敏感位所对应的抗辐布线因子,以潜在的短路敏感位的数量来衡量,敏感位的数量越多,其值越大;χ与δ为自定义常量,用来衡量开路错误与短路错误对抗辐射布线因子的贡献值;
步骤S302:根据所述步骤S301定义全新的抗辐射布线成本函数如下:
Figure FDA0003142385660000031
其中,Cost(n)表示节点的拥挤成本,delayElmore(n,topology)表示节点的延时成本,Crit(i,j)表示延时关键度,
Figure FDA0003142385660000032
为权重常量;
步骤S303:确定重布线策略,即每次只对拥挤路径上的线网进行“拆线—重布”;
步骤S304:采用递归的方式对线网进行划分,完成线网递归划分过程中,迭代对线网集合中的线网进行布线,直到布线方案合法为止。
9.根据权利要求8所述的一种软错误感知的FPGA布局布线方法,其特征在于,通过下述方式完成线网的划分:
使用二分法对线网进行递归划分,将线网划分为m个区域,m为线程数,m个区域内的线网组成线网集合
Figure FDA0003142385660000033
不同
Figure FDA0003142385660000034
中的线网互不重叠;
为每一个
Figure FDA0003142385660000041
分配一个线程同时进行布线;
将跨区域的线网全部加入到数组Anet中,对Anet中的线网执行遍历操作,将其划分为线网集合Α={θ12,…,θn};其中,θi(0≤i≤n)内的线网互不重叠,使用多线程对θi内的线网并行布线。
10.根据权利要求9所述的一种软错误感知的FPGA布局布线方法,其特征在于,通过下述方式迭代对线网集合中的线网进行布线,直至布线方案合法:
一次迭代过程:多线程同时对集合θ1中的线网进行并行布线,遍历集合θ1中线网所对应的布线资源树,根据重布线策略,计算线网所对应的漏端的数量,平均分配给多线程,多线程根据抗辐射布线成本函数,调用迷宫布线方法对所分配的漏端逐一执行布线操作;当多线程对集合θ1中的线网布线完成后,同步所有线程,继续对θ2执行并行布线操作,当所述集合Α中的线网全部完成布线操作后,对所述集合B中的线网执行布线操作,每个线程分配给一个
Figure FDA0003142385660000042
且只对
Figure FDA0003142385660000043
内的线网执行布线操作,当所有线网执行完布线迭代后,对抗辐射布线成本函数进行更新;
分析电路的时序信息,若没有布线资源节点重复使用的情况,完成布线过程;否则,继续执行下一次迭代过程。
CN202110738637.0A 2021-06-30 2021-06-30 一种软错误感知的fpga布局布线方法 Pending CN113505561A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110738637.0A CN113505561A (zh) 2021-06-30 2021-06-30 一种软错误感知的fpga布局布线方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110738637.0A CN113505561A (zh) 2021-06-30 2021-06-30 一种软错误感知的fpga布局布线方法

Publications (1)

Publication Number Publication Date
CN113505561A true CN113505561A (zh) 2021-10-15

Family

ID=78009466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110738637.0A Pending CN113505561A (zh) 2021-06-30 2021-06-30 一种软错误感知的fpga布局布线方法

Country Status (1)

Country Link
CN (1) CN113505561A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114371970A (zh) * 2022-01-10 2022-04-19 电子科技大学 一种基于图强化学习的fpga互联资源测试算法
CN115496025A (zh) * 2022-11-07 2022-12-20 中科亿海微电子科技(苏州)有限公司 一种可编程逻辑器件的自动优化布局方法及设备
CN116991679A (zh) * 2023-09-26 2023-11-03 四川华鲲振宇智能科技有限责任公司 一种内存压力测试时自动分配最佳线程数的方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104211A (en) * 1998-09-11 2000-08-15 Xilinx, Inc. System for preventing radiation failures in programmable logic devices
CN102054056A (zh) * 2009-11-06 2011-05-11 复旦大学 一种现场可编程门阵列的抗辐射性能快速模拟方法
WO2012047735A2 (en) * 2010-09-29 2012-04-12 The Regents Of The University Of California In-place resynthesis and remapping techniques for soft error mitigation in fpga
CN104461808A (zh) * 2014-11-06 2015-03-25 北京空间飞行器总体设计部 一种fpga单粒子软错误影响评估方法
CN105468798A (zh) * 2014-09-02 2016-04-06 复旦大学 一种集成电路的抗辐射布局布线方法
CN105808367A (zh) * 2016-03-04 2016-07-27 上海交通大学 一种现场可编程门阵列软错误容错方法及结构
WO2018225136A1 (ja) * 2017-06-05 2018-12-13 富士通株式会社 ソフトエラー検査方法、ソフトエラー検査装置及びソフトエラー検査システム
CN109408839A (zh) * 2017-08-17 2019-03-01 复旦大学 一种通过局部冗余减少敏感配置比特的抗辐射容错fpga电路设计方法
CN111008514A (zh) * 2019-10-28 2020-04-14 北京时代民芯科技有限公司 一种抗辐射加固模块级电路仿真测试方法
CN111241765A (zh) * 2020-03-01 2020-06-05 冷明 基于布尔可满足性的sram型fpga软错误容错方法
WO2021082867A1 (zh) * 2019-10-30 2021-05-06 福州大学 偏差驱动的总线感知总体布线方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104211A (en) * 1998-09-11 2000-08-15 Xilinx, Inc. System for preventing radiation failures in programmable logic devices
CN102054056A (zh) * 2009-11-06 2011-05-11 复旦大学 一种现场可编程门阵列的抗辐射性能快速模拟方法
WO2012047735A2 (en) * 2010-09-29 2012-04-12 The Regents Of The University Of California In-place resynthesis and remapping techniques for soft error mitigation in fpga
CN105468798A (zh) * 2014-09-02 2016-04-06 复旦大学 一种集成电路的抗辐射布局布线方法
CN104461808A (zh) * 2014-11-06 2015-03-25 北京空间飞行器总体设计部 一种fpga单粒子软错误影响评估方法
CN105808367A (zh) * 2016-03-04 2016-07-27 上海交通大学 一种现场可编程门阵列软错误容错方法及结构
WO2018225136A1 (ja) * 2017-06-05 2018-12-13 富士通株式会社 ソフトエラー検査方法、ソフトエラー検査装置及びソフトエラー検査システム
CN109408839A (zh) * 2017-08-17 2019-03-01 复旦大学 一种通过局部冗余减少敏感配置比特的抗辐射容错fpga电路设计方法
CN111008514A (zh) * 2019-10-28 2020-04-14 北京时代民芯科技有限公司 一种抗辐射加固模块级电路仿真测试方法
WO2021082867A1 (zh) * 2019-10-30 2021-05-06 福州大学 偏差驱动的总线感知总体布线方法
CN111241765A (zh) * 2020-03-01 2020-06-05 冷明 基于布尔可满足性的sram型fpga软错误容错方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HUALIANG LI: "TILoc:Improving the Robustness and Accuracy for Fingerprint-Based Indoor Localization", IEEE INTERNET THINGS, 31 December 2020 (2020-12-31) *
缪斯;王伶俐;曹伟;童家榕;: "抗软错误SRAM单元设计", 复旦学报(自然科学版), no. 04, 15 August 2011 (2011-08-15) *
赵磊;王祖林;郭旭静;华更新;: "一种SRAM型FPGA抗软错误物理设计方法", 电子与信息学报, no. 04, 15 April 2013 (2013-04-15) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114371970A (zh) * 2022-01-10 2022-04-19 电子科技大学 一种基于图强化学习的fpga互联资源测试算法
CN114371970B (zh) * 2022-01-10 2023-05-02 电子科技大学 一种基于图强化学习的fpga互联资源测试方法
CN115496025A (zh) * 2022-11-07 2022-12-20 中科亿海微电子科技(苏州)有限公司 一种可编程逻辑器件的自动优化布局方法及设备
CN115496025B (zh) * 2022-11-07 2023-03-03 中科亿海微电子科技(苏州)有限公司 一种可编程逻辑器件的自动优化布局方法及设备
CN116991679A (zh) * 2023-09-26 2023-11-03 四川华鲲振宇智能科技有限责任公司 一种内存压力测试时自动分配最佳线程数的方法
CN116991679B (zh) * 2023-09-26 2023-12-08 四川华鲲振宇智能科技有限责任公司 一种内存压力测试时自动分配最佳线程数的方法

Similar Documents

Publication Publication Date Title
CN113505561A (zh) 一种软错误感知的fpga布局布线方法
Burstein et al. Timing influenced layout design
Ting et al. Routing techniques for gate array
CN112257364B (zh) 一种gpu加速计算的集成电路静态时序分析方法
CN111814420B (zh) 基于拓扑优化和启发式搜索的总体布线方法
US5930499A (en) Method for mixed placement of structured and non-structured circuit elements
US20030005398A1 (en) Timing-driven global placement based on geometry-aware timing budgets
US20030084416A1 (en) Scalable, partitioning integrated circuit layout system
US10915685B1 (en) Circuit stage credit based approaches to static timing analysis of integrated circuits
US6958545B2 (en) Method for reducing wiring congestion in a VLSI chip design
Wong et al. Negotiation-based track assignment considering local nets
US8250513B1 (en) Parallel process optimized signal routing
CN112183007B (zh) 一种多个fpga的设计分割方法
TW201926217A (zh) 針對設計半導體裝置的資源規劃的方法、系統及儲存媒介
CN112861466A (zh) 一种布线轨道分配方法、电子设备及计算机可读存储介质
Li et al. High quality hypergraph partitioning for logic emulation
CN111723545A (zh) 超大规模集成电路下基于通孔感知的并行层分配方法
CN113673195B (zh) 一种基于网络拓扑顺序的电路门尺寸优化方法
Takahashi et al. Min-cut placement with global objective functions for large scale sea-of-gates arrays
CN115114877B (zh) Fpga芯片的布线方法和系统
Liu et al. Incremental layer assignment for timing optimization
JP3433025B2 (ja) モジュール配置方法
CN114896941B (zh) 一种时钟树的布局优化方法、优化装置和相关设备
US11537775B1 (en) Timing and placement co-optimization for engineering change order (ECO) cells
US11681846B1 (en) Sub-FPGA level compilation platform with adjustable dynamic region for emulation/prototyping designs

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