首页> 中国专利> 高可靠性数字集成电路设计方法

高可靠性数字集成电路设计方法

摘要

一种高可靠性数字电路的设计方法,在用传统EDA设计流程得到网表文件后,将网表转换为超图,并基于超图的细粒度划分方法,允许设计者仅通过按传统EDA方法描述电路,以及指定某种故障防卫技术以及某种可靠性指标,即可以自动的完成向电路中添加所指定的故障防卫技术,以得到具有高可靠性的容错电路的数字集成电路。

著录项

  • 公开/公告号CN101149765A

    专利类型发明专利

  • 公开/公告日2008-03-26

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN200710177070.4

  • 发明设计人 周密;尚利宏;张炯;金惠华;

    申请日2007-11-09

  • 分类号G06F17/50(20060101);

  • 代理机构

  • 代理人

  • 地址 100083 北京市海淀区学院路37号

  • 入库时间 2023-12-17 19:54:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-06-13

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20090923 终止日期:20101109 申请日:20071109

    专利权的终止

  • 2011-12-28

    文件的公告送达 IPC(主分类):G06F17/50 收件人:北京航空航天大学 文件名称:专利权终止通知书 申请日:20071109

    文件的公告送达

  • 2011-04-27

    文件的公告送达 IPC(主分类):G06F17/50 收件人:周密 文件名称:缴费通知书 申请日:20071109

    文件的公告送达

  • 2009-09-23

    授权

    授权

  • 2008-07-23

    实质审查的生效

    实质审查的生效

  • 2008-03-26

    公开

    公开

查看全部

说明书

技术领域

本发明涉及一种数字集成电路设计方法,具体涉及的是高可靠性数字集成电路的自动设计方法。

背景技术

研究高可靠性数字集成电路的自动设计方法是很有必要的。目前集成电路的规模日益扩大,单一集成电路上所容纳的晶体管数量越来越多,甚至处理器核、存储器、DSP核等功能模块也被集成到单一芯片中形成SOC(System on Chip,片上系统)。这使得集成电路的复杂度日益增加。而按照容错领域的基本观点,越复杂的系统可靠性越低。另一方面,集成电路的特征尺寸呈现递减趋势,这导致了电迁移、栅氧化层击穿等失效情况发生的概率增加,从而引起永久故障;同时具有小特征尺寸的集成电路也更易于受到高能粒子射线等的影响,出现单粒子反转(SEU,Single EventUpset),形成瞬时故障。上述两方面的原因使得可靠性成为集成电路设计中必须解决的问题。

在专用集成电路(ASIC,Application Specific Integrated Circuit)及现场可编程门阵列(FPGA,Field Programmable Gate Array)设计领域,电子设计自动化(EDA)的工具及方法被广泛使用。其设计流程包括:

●设计人员使用硬件描述语言或原理图对目标电路建立寄存器传输级(RTL,Register Transfer Level)或门级模型;

●使用EDA工具对所建立的RTL级或门级模型进行分析、综合,以生成门级网表;以及

●将所生成的网表映射到物理FPGA器件(布局、布线),并产生可用于在物理FPGA器件上实现所设计电路的配置文件。

然而,目前的EDA工具和方法并不能根据可靠性需求(包括诸如MTTF(Mean Time to Failure,平均无故障时间)等可靠性评价参数)和所选定的故障防卫技术(故障防卫技术包括避错技术、故障掩蔽技术、系统重组技术和失效安全技术等。在电路设计领域常用的故障防卫技术包括:三模冗余(TMR,Triple Modular Redundancy)、成对备份(pair-and-spare)、一致性检测、检错纠错编码等。(本领域技术人员了解上述技术))自动产生高可靠性的电路。现阶段,通常通过选用具有高可靠性的电子器件(如防辐射器件等),或者由设计人员手工描述将用于所设计电路的故障防卫技术,来提高所设计电路的可靠性。

选用具有高可靠性的电子器件不但成本高,并且这些器件在逻辑门容量和速度等性能指标上往往落后于同时期的普通器件。这些缺点制约了基于高可靠性的电子器件的设计方案的实用范围。

而在EDA设计流程中,如果采用手工描述将用于所设计电路的故障防卫技术的方式,则需要改变所设计电路的结构,增加新的功能部件。这样做不仅给设计人员带来繁冗的工作负担,也难以实现高效率(占用硬件资源少)的容错设计。具体地说,由于器件内部的可用逻辑资源有限,在使用同样数量冗余资源的情况下应该通过合理的实施故障防卫技术而使得所设计电路的可靠性最大。这就需要对电路进行划分,设置多个彼此隔离的划分区以便提高电路的容错能力。按照EDA设计流程,设计人员可以在RTL建模时对电路进行划分,将电路分隔成多个彼此隔离的区块。通常是按功能模块(或子模块)对电路进行划分。对每个划分区,可以采用诸如TMR的冗余技术,以容忍该划分区中可能出现的电路故障,并继而提高所设计电路整体的可靠性。每个采用TMR冗余技术的划分区能够容忍该划分区中(不包括表决器部分电路)的一处故障。然而,这种划分方法下,划分区的大小取决于功能模块(或子模块)的大小,因此难以保证划分的均匀性。以ISPD98(参看C J Alpert.The ISPD98circuit benchmark suite.In Proc.of the Intl.Symposium of Physical Design,1998,pages 80-85.)基准电路ibm01为例,它包含12752个模块,最大的模块占电路整体面积的6.37%。本领域技术人员可以意识到该电路中最大的划分区将成为制约所设计电路整体可靠性的短板。这一问题只能通过更细粒度(例如门级)的划分来解决。然而对于具有超过10万个晶体管的超大规模集成电路而言,由设计人员手工进行门级划分显然不具有可行性。

因此,为了尽可能的提高所设计电路的容错效率,需要在EDA流程中引入细粒度的自动划分方法。在对电路进行自动化的细粒度划分中有两个关键问题:

一是要确定划分区的大小,即划分的粒度,或者说,每个划分区中将包含多少电路元件;以及

二是要采用合适的策略将电路分割为指定大小的若干划分区,每个划分区中包含具有一定连接关系的元件,使所设计电路的可靠性最高,并使该电路占用的芯片面积和该电路上的电信号之间的传输延迟开销尽量低。

在BulletProof:A Defect-Tolerant CMP Switch Architecture(KConstantinidesz,S Plazaz,J Blomez,et al..High-Performance ComputerArchitecture 2006.The Twelfth International Symposium on 11-15Feb.2006,pages 5-16.)中指出:

(1)对于如何选择划分区的数量,以TMR方法为例,如果整体使用TMR(即一个划分区),只能容忍1个故障;如果划分成两个区分别使用TMR,则每个区能容忍1个故障,容错能力得到了提高;极端情况下,如果每个门都作为一个独立的划分区,由于增加了与原始设计同等数量的表决门,其TMR划分区带来的可靠度的增加由于无法抵偿在TMR增加表决门而增加电路复杂度所引起的可靠度下降,使得整体可靠度反而低于不使用TMR的原始设计。对于特定电路,通过对不同的划分区数量进行实验的方法,可以确定将得到最佳的可靠度的划分区数量。

(2)对于在给定划分区数量的情况下,如何对电路进行划分使得开销最小,解决方法是使用超图来描述电路,并使用以超图的割的数量最小为目标的超图划分算法对该超图所代表的电路进行划分。超图的“割”定义为:所包含的顶点不全在一个划分区内的超边(即被划分区所“割断”的超边)的数量。超图的割对应于电路中需要穿过划分区的信号,也就是每个TMR分区中需要进行表决的信号。假定每个这样的信号需要一个表决门的额外开销,这会增加系统复杂度,并继而使得电路的可靠性降低。如果选择使得割最小的划分方式,在划分数不变的情况下就可望带来最小的可靠性损失,从而使整体可靠性最大。

然而,对于第一个问题,作者没有给出如何确定最佳划分数的具体方法。对于第二个问题,引入的表决门最少未必表示整体可靠性最大。因为电路的各个功能模块之间的连线的数量不是均匀的,所以,对应的最小割的划分方案也未必是划分区绝对均匀的。如果某一种方案能够使得割减小1,却造成最大划分区的面积增加100,则反而引起整体可靠性降低。因此超图划分算法对电路进行划分时,应该以电路整体可靠性为目标,而不是割的数量的最小化。

由此可见,现有的EDA方法除了将用户所描述的数字电路转换为可在物理器件上实现的数字电路形式外,不具备自动地在用户设计的电路中实施故障防卫技术的能力。而有关高效率的自动实施故障防卫技术的方法也因为难以确定最佳划分粒度、难以进行可靠性最有划分等问题尚无法达到令人满意的效果。

因而,本发明的目的在于解决现有的EDA方法和流程在高可靠性电路设计中存在的不足。本发明提出一种基于超图的细粒度划分方法,允许电路设计者仅通过按传统EDA方法描述电路,以及指定某种故障防卫技术以及某种可靠性指标,即可以自动的完成向电路中添加所指定的故障防卫技术,并对其进行优化,以得到具有高可靠性的容错电路的数字集成电路。

发明内容

本发明的技术方案如下实现:高可靠性数字集成电路设计方法,包括用硬件描述语言描述要设计的目标电路,对所述目标电路进行综合,得到相应的电路的网表形式的描述,以及对以所述网表形式描述的电路进行布局和布线,并将其映射到物理器件的步骤,其特征在于所述高可靠性数字电路的设计方法,在综合得到网表和对网表进行布局布线的步骤之间,还包括以下步骤:

选择特定的故障防卫技术和特定的可靠性指标;

将网表形式的数字电路设计描述转换为超图;

依据由所述特定的故障防卫技术以及所述特定的可靠性指标而建立的特定的优化目标函数,对所述超图进行划分,得到具有最佳划分的超图;以及

对所述最佳划分的超图,应用所述特定的故障防卫技术进行防护,并将所得的新的超图转换回网表形式的数字电路设计描述,所述网表形式的数字电路设计描述对应于具有高可靠性的数字电路;

其中,依据由所述特定的故障防卫技术以及所述特定的可靠性指标而建立的特定的优化目标函数的步骤,进一步包括:

建立目标电路的可靠性指标随超图的特征参数而变化的函数,并将将所述函数作为超图优化的目标函数。

在本发明的另一方面,还包括一种用于设计高可靠性数字集成电路的装置,包括用户输入部件,用于接收用户输入的用硬件描述语言描述要设计的目标电路,综合部件,用于对所述目标电路进行综合,得到相应的电路的网表形式的描述,布局和布线部件,用于以所述网表形式描述的电路进行布局和布线,并将其映射到物理器件;所述高可靠性数字电路的设计装置,在综合部件和布局和布线部件还包括以下部件:

选择部件,用于选择特定的故障防卫技术和特定的可靠性指标;

转换部件,用于将网表形式的数字电路设计描述转换为超图;

划分部件,用于依据由所述特定的故障防卫技术以及所述特定的可靠性指标而建立的特定的优化目标函数,对所述超图进行划分,得到具有最佳划分的超图;以及

故障防卫技术实施部件,对所述最佳划分的超图,应用所述特定的故障防卫技术进行防护,并将所得的新的超图转换回网表形式的数字电路设计描述,所述网表形式的数字电路设计描述对应于具有高可靠性的数字电路;

其中,依据用于由所述特定的故障防卫技术以及所述特定的可靠性指标而建立特定的优化目标函数的划分部件,进一步包括:

函数建立部件,用于建立目标电路的可靠性指标随超图的特征参数而变化的函数,所述函数作为超图优化的目标函数。

本发明由于采用了上述的技术方案,与现有技术相比具有以下优点和积极效果:

1可自动产生高可靠性电路

设计人员只需输入欲保护的目标电路和特定的故障防卫技术,按本方法就可自动生成划分后的高可靠性容错电路。

2所生成的电路的可靠性优于同等冗余资源下的传统容错技术

由于确定了最优划分粒度,并进行以可靠性为目标的细粒度的划分,最终电路的可靠性优于传统的系统级冗余技术。

3划分效果不依赖于电路的具体特征

对于任何门级网表描述的电路,本发明均能通过将其转换为超图并进行划分。组合逻辑和时序逻辑电路均可根据本发明的方法进行划分处理。

4降低高可靠性电路设计成本

通过本发明设计高可靠性电路,使用普通器件即可达到高可靠性要求,避免了使用高端器件带来的开销,节约生产成本。

附图说明

上面已经在一般意义上描述了本发明,下面结合附图介绍本发明的

具体实施方式。

图1是示出了传统EDA设计流程和根据本发明的方法的高可靠性数字电路设计方法的流程的流程图。

图2对图1的步骤5的进一步描述,是以某种特定故障防卫技术,寻找使得目标电路的特定可靠性指标最好的划分方式的流程图。

图3是示出了一位全加器电路原理图。

图4是示出了用超图元素标记的所述一位全加器电路原理图。

图5是示出了对所述全加器电路进行一次划分所得结果的原理图。

图6是MTTF最优的所述一位全加器的划分的原理图。

图7是由具有MTTF最优的划分方式而得到的具有高可靠性的一位全加器电路原理图。

具体实施方式

在附图中示出了本发明的优选实施方式。然而,本发明可以通过许多种不同的形式实现而不应当被理解为限于这里阐述的实施方式。相反,提供这些实施方式使得本公开是透彻和完整的,并且将向本领域的技术人员全面传达本发明的范围。

图1的左侧示出了传统EDA设计流程和根据本发明的方法的高可靠性数字电路设计方法的流程。从中可以清晰地比较出二者的差异。传统的EDA方法中的设计流程包括如下步骤:

用硬件描述语言描述所设计的目标电路101。可以使用VHDL、Verilog HDL、原理图等描述手段对目标电路进行建模。所建模的目标电路中不包含需要自动实现的包含故障防卫技术的部分。并可以利用EDA工具将所设计的电路综合成门级网表102,再经过布局、布线,生成可映射到物理FPGA器件的配置文件103。

而图1的右侧示出了根据本发明的方法,设计高可靠性数字电路的方法的流程图。其不同于传统的EDA设计流程之处在于,在得到所设计电路的网表的步骤之后,进一步包括如下步骤:

步骤112,选择特定的故障防卫技术和可靠性指标。在此处适用的故障防卫技术包括但不限于三模冗余(TMR,Triple ModularRedundancy)、成对备份(pair-and-spare)、一致性检测、检错纠错编码等。而常用的可靠性指标包括:MTTF、MDTF(Mean Defects To Failure,造成失效的平均缺陷数)、SPF(Silicon Protection Factor,硅保护因子)、到产品寿命T时电路的可靠性R(T)、保持可靠性高于某个阈值r的产品寿命T(T=Max{t|R(t)>r})等。

步骤113,将目标电路转换为超图格式;

在EDA设计流程中,综合阶段得到的网表本质上就是超图。各个器件厂家所支持的网表格式不尽相同,一种通用的格式是EDIF。为了便于处理,可以将EDIF格式的网表超图转换为超图划分领域常用的更简单的超图存储格式。常见的超图格式包括Bookshelf、LEF/DEF、NET、NETD等。上述超图格式均可以通过工具软件相互转换,例如Cadence的VirtuosoTM中包含了读取EDIF并生成LEF/DEF的工具;Saurabh Adya和Igor Markov提供了Bookshelf格式与LEF/DEF相互转换的工具(参见http://vlsicad.eecs.umich.edu/BK/PlaceUtils/)等。或者,也可直接从HDL描述的电路模型中产生超图,例如NuChip公司可提供从EDIF或VerilogHDL文件生成DEF超图的服务。

步骤114,依据由所述特定的故障防卫技术以及所述特定的可靠性指标而建立的特定的优化目标函数,对所述超图进行划分,得到最佳划分的超图。

步骤115,根据划分后的超图,使用预先设定的故障防卫技术对被划分的各个电路块(即划分区)进行保护,从而得到具有高可靠性的容错电路。所述故障防卫技术在步骤112中由用户设定。适合于在此使用的故障防卫技术包括三模冗余,成对备份(pair-and-spare)、一致性检测、检错纠错编码等。

这里生成的超图形式的电路如有必要可以再转换为EDIF等格式(步骤116),以便于结合EDA工具,经过布局、布线等步骤并最终在物理FPGA器件中实现所描述的电路(步骤117)。

图2中进一步示出了根据本发明的高可靠性数字电路设计方法的使用超图划分算法对所述从网表得到的超图进行划分的步骤的子步骤。该子步骤包括:

步骤201,根据设定的故障防卫技术,建立电路的可靠性指标随超图的特征参数(表达超图的节点、边以及节点和边的关系等的参数)变化的函数,并将其作为超图划分的最优化问题的目标函数。

步骤202,选择划分数k。用于对该超图进行试探划分,具体为可以使用诸如黄金分割法的一维搜索方法在当前选定的搜索区间上选取合适的k值。该搜索方法的初始搜索区间为[1,n],其中n表示原始电路的顶点数,也是其对应的超图的顶点数。当然,这里记述的使用黄金分割法进行一维搜索并非出于限制的目的,其他类似的搜索最优解的方法也可以在此应用。

步骤203,对于选定的划分数,使用超图划分算法,如K-L算法等,对该对应于原始电路的超图进行划分使得该电路的可靠性指标最大。有关K-L算法的详细实施过程,在An Efficient Heuristic Procedure forPartitioning Graphs(B.W.Kernighan and S.Lin,.Bell System Tech.Journal,49(1970),pp.291-307.)进行了详细的描述。

步骤204,并保存该划分数和相应的划分结果。

步骤205,重复3.2-3.5的步骤,直到按照搜索策略,已经找到了对应于使原始电路的该特定可靠性指标最大的划分方式。

在图3到图7中,以用TMR故障防卫方法对一位全加器电路进行保护为例,具体地介绍了根据本发明的方法,在以MTTF为可靠性指标的情况下,进行高可靠性一位全加器电路设计的过程。

一位全加器功能可由下式描述:

S=ABCI

CO=A·B+A·CI+B·Cl-------------------------------------------------------------(1)

其中A、B为输入信号,表示两个被加数;CI为输入信号,表示进位输入;S为输出信号,表示全加和;CO为输出信号,表示进位输出。对于本领域技术人员,可以容易地在EDA工具中使用诸如VHDL、VerilogHDL等硬件描述语言描述该一位全加器的电路结构,用于在物理数字逻辑器件中实现该一位全加器。

然而,应该理解,所示出的一位全加器仅是出于描述上的简便的目的而用来描述根据本发明的方法的示例性电路。本发明的实施方案中,由于无论时序电路,还是非时序的组合逻辑电路,都可以用超图表示,因此,本领域技术人员将意识到根据本发明的方法可以应用于任意类型的数字逻辑电路的EDA设计中。

参考图3,其示出了实现式(1)所描述的一位全加器电路的原理图。其中包括3个非门(图中标记为“1”的框),7个与门(图中标记为“&”的框)以及2个或非门(标记“≥1”)。“A”和“B”表示该全加器电路的两个输入端,而“C”表示该全加器电路的进位输入端,“S”表示全加器的当前位输出,而“CO”表示进位输出。EDA工具可以通过对用户用诸如VHDL、VerilogHDL的硬件描述语言所描述的一位全加器的源代码文件进行分析,而自动地生成等价于图1所示的电路的EDIF文件。由于电路图本质上就是超图,因而,将EDIF文件转换为诸如LEF/DEF格式的超图文件的方法为本领域技术人员所知,或者也可以利用诸如VirtuosoTM等工具,将图1的原理图所对应的EDIF文件转换为诸如LEF/DEF格式的超图。本领域技术人员将意识到,此处仅以举例的方式利用了由EDA工具综合得到的EDIF文件,也可以利用其他的能够描述数字电路的结构的描述形式,其中所包含的逻辑单元也不限于逻辑门,而可以是诸如寄存器、计数器、存储器等其他逻辑单元结构。

参考图4,其示出了用超图元素标记的所述一位全加器电路的原理图。将图3中的3个输入端、3个非门、7个与门、2个或非门作为超图的顶点,线网作为超图的超边,则对应一个包含15个顶点、13条超边的超图(图2)。注意输出端不作为超图的顶点。其中Vi表示超图的顶点,而ej表示超图的边(i=1,...,15,j=1,...,13)。然而,本领域技术人员将意识到,由于EDIF文件可对应于具体的物理FPGA器件,所以在将EDIF文件转换为超图的过程中,可以不以诸如与门、非门的逻辑门作为超图的顶点,而可以用将映射到物理FPGA器件的诸如查找表的逻辑单元作为超图的顶点。类似地,还可以将作为EDIF文件中描述的包括若干个逻辑门的子电路作为超图的顶点,而获得描述层次较高的超图。

利用所得到的该一位全加器电路所对应的超图,可以使用超图划分算法对该超图进行划分,以期得到在所选定的故障防卫技术下,使得该电路的所选定的可靠性评价指标最好的划分方式。在本例中,选择TMR作为故障防卫技术,以MTTF作为所选定的可靠性评价指标。将图2中示出的根据本发明的高可靠性数字电路设计方法应用于该电路。

首先,根据设定的故障防卫技术(TMR),建立电路的可靠性指标(MTTF)随超图的特征参数变化的函数,并将其作为超图划分算法的最优化目标函数。

在使用TMR作为基本故障防卫技术时,对应的可靠性模型为:

<mrow><mi>R</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>e</mi><mrow><mo>-</mo><mrow><mo>(</mo><mi>c</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow><mi>&lambda;t</mi></mrow></msup><munderover><mrow><mi>&Pi;</mi><mo></mo></mrow><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><mrow><mo>(</mo><msup><mrow><mn>3</mn><mi>e</mi></mrow><mrow><mo>-</mo><mn>2</mn><msub><mi>a</mi><mi>i</mi></msub><mi>&lambda;t</mi></mrow></msup><mo>-</mo><msup><mrow><mn>2</mn><mi>e</mi></mrow><mrow><mo>-</mo><mn>3</mn><msub><mi>a</mi><mi>i</mi></msub><mi>&lambda;t</mi></mrow></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>

其中R(t)为电路的整体可靠性,随时间t变化;c为电路的超边割的数量,取决于划分区数和划分方式;k为划分区的数量。在本例中;ai为第i个划分区的大小,即第i个划分区所包含的顶点数;λ为电路单位面积的故障率,在本例中为每个门的故障率(假定每个门的故障率相同)。

然而,应该意识到,可以根据实际的可靠性需求而选择不同的可靠性指标,作为超图划分的目标函数。常用的可靠性指标包括:MTTF、MDTF(Mean Defects To Failure,造成失效的平均缺陷数)、SPF(SiliconProtection Factor,硅保护因子)、到产品寿命T时电路的可靠性R(T)、保持可靠性高于某个阈值r的产品寿命T(T=Max{τ|R(t)>r})等。下面以MTTF作为超图划分的目标函数为例,说明根据本发明的方法。MTTF的表达式如(3)式所示,其值越高,表明对应的可靠性越好。

<mrow><mi>MTTF</mi><mo>=</mo><mo>-</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mo>&infin;</mo></msubsup><mi>tdR</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>

对MTTF的计算比较复杂,可以结合MATLAB等数学工具实现。

其次,选取划分数k,用于对该超图进行试探划分,具体为使用诸如黄金分割法的一维搜索方法在当前选定的搜索区间上选取合适的k值。该搜索方法的初始搜索区间为[1,n],其中n表示原始电路的顶点数,也是其对应的超图的顶点数。

具体而言,对于规模为n的电路,划分数k的选择范围从1到n。已有的实验数据表明在此区间内电路的可靠性通常是关于划分数的单峰函数,因此可以使用1维搜索领域的常用算法来选择划分数。在本例中使用黄金分割法(即0.618法)。实施黄金分割法的具体步骤是:对于在区间[a0,b0]内具有唯一极大值的单峰函数f(x),每次试探选取两个试探点a1=b0-(b0-a0)*0.618和b1=a0+(b0-a0)*0.618;若f(a1)>f(b1),则在区间[a0,b1]内重复上述过程进行搜索;否则,在区间[a1,b0]内重复上述过程进行搜索。对于非单峰函数的情况,也可以按照一维搜索领域的常用算法,并根据搜索过程中积累的数据划分区间再分别进行搜索。然而,应该理解,可以选用其他的方法用于确定每次试探时,所应选取的k的值。在本例中,由于n=15,依照黄金分割法,第一次选定的是划分数为k=7以及k=10的两个试探点。

继而,对于选定的划分数k,使用超图划分算法进行划分,使得电路可靠性指标最大。对应本示例性实施方案,第一次搜索时选取k=7以及k=10。

本例中,利用K-L算法,以(3)所示的MTTF为目标,对该超图进行启发式搜索,以寻找当k为选定的划分数时,使得MTTF最大的超边割C的取值和对应的划分区Pi所包含的超图的顶点,其中i=1...k。

图5中示出了该次划分搜索所得到的结果。当k=7时,在超边割C=6,并且各划分区为第一分区P1包括顶点V1和V4,第二分区P2包括顶点V2,第三分区P3包括顶点V3,第四分区P5包括顶点V5,第5分区P5包括顶点V6,第六分区P6包括顶点V7,V8,V9,V14,第7分区P7包括顶点V10,V11,V12,V13,V15的情况下,可以得到该电路对应于k=7时的最大的MTTF(0.0612/λ)。

在k=10的情况下,搜索得到c=8时可以获得该电路对应于k=10的最大的MTTF(0.0609/λ)。依黄金分割法,这表明使得MTTF最大的划分数k应该在区间[1,10]内。

保存上面计算得到的k=7和k=10时对应的MTTF的值,以及对应于每个MTTF值的该电路的划分结果。

由于尚无法确定是否找到使该电路MTTF最大的划分数,则重复图2中的步骤(2)-(5)。

在第二次试探中,在图2中的步骤(2)中依黄金分割法,得到所选取的k值为4和7。而在步骤3中,得到当k=4时,取c=10,可以获得对应于k=4的最大的MTTF=0.0561/λ。而已经知道当k=7时,取c=6,可以获得对应于k=7的最大的MTTF(0.0612/λ)。这表明使得MTTF最大的划分数k应该在区间[4,10]内。保存计算所得的该结果。由于没有依然没有找到无法确定使该电路MTTF最大的划分数,继续重复图2中的步骤(2)-(5)。

第三次试探选取k=6和k=8。当k=6时,取c=6,可以获得对应于k=6的最大的MTTF=0.0603/λ。当k=8时,取c=6,可以获得对应于k=8的最大的MTTF=0.0622/λ。表明使得MTTF最大的划分数k应该在区间[6,10]内。第四次试探选取k=8和k=9。当k=9时,取c=7,得到最大的MTTF=0.0618/λ。表明使得MTTF最大的划分数k应该在区间[6,9]内。第五次试探选取k=7和k=8。从前几次试探得到的数据表明使得MTTF最大的划分数k应该在区间[7,9]内。

由于本电路的规模较小,根据5次试探就可知当k=8时,电路的MTTF最大,为0.0622/λ。此时可执行图1的流程图中的依据所得到的最佳划分方式,划分超图,以对所设计的电路应用所选定的故障防卫技术步骤,确定使得目标电路可靠性指标最大时对应的划分数与相应的划分结果,所得到的超图划分方法如图6所示。在该划分结果中,将该超图划分为8个分区,第一分区P1包括顶点V1,第二分区P2包括顶点V2,第三分区P3包括顶点V3,第四分区P4包括顶点V4,第5分区P5包括顶点V5,第六分区P6包括顶点V6,第7分区P7包括顶点V7,V8,V9,V14,而第八分区包括顶点V10,V11,V12,V13,V15。

当电路规模较大时,按照上述步骤继续进行搜索,直到找到使目标电路可靠性指标最大的划分数和对应的划分方法。以黄金分割法为例,由于每次可将搜索区间减少38.2%,对于1000000门的电路,最多只需29次试探就可定位到最佳划分数。而对于每次试探,在对对应于目标电路的超图进行搜索时,根据现有资料(参看A.E.Caldwell,A.B.Kahng,and I.L.Markov,“Hypergraph partitioning for VLSI CAD:Methodfor heuristic development,experimentation and reporting,”in Proc.ACM/IEEE Design Automation Conf.,1999,pp.349-354.和G.Karypis,R.Aggarwal,V.Kumar,and S.Shekhar,“Multilevel hypergraph partitioning:Application in VLSI domain,”in Proc.ACM/IEEE Design AutomationConf.,1997,pp.526-529.),在4GB内存的Pentium IV 2.0GHz的32位PC上,以最小割或子域度为优化目标的对包含3.5M个顶点的超图进行划分,可以在20分钟内完成。而且以特定可靠性指标为目标的划分算法在时间复杂度与上述划分过程相同。因此,根据本发明的方法,所需要的计算量是为当前的EDA行业所可接受的。

基于所得到的可使该一位全加器获得最大MTTF的条件(k=8,c=6等),在图6所示的划分的基础上,对每个分区采用TMR的故障防卫技术,对该电路进行保护。其具体方法是,将每个划分区分别复制3份;在每个被划分区割断的线网(对应于超图的超边)中插入一个3路表决门;将被割断的线网的3个驱动(driver)端分别连接到新插入的3路表决门的输入端;将被割断的线网的吸收(sinker)端分别连接到新插入的表决门的输出端;最后在电路的每个输出端插入一个3路表决门,将在原电路中与输出端相连的线网的3个驱动(driver)端连接到表决门的输入端,将原电路的输出端连接到表决门的输出端。经过上述步骤,得到如图7所示的具有高可靠性的一位全加器的电路的原理图。

可由存储于计算机可读介质上的软件,在包括处理器的计算机中执行所述软件,而实施本发明。实施本发明的用于设计高可靠性数字集成电路软件包括用户输入模块,用于接收用户输入的用硬件描述语言描述要设计的目标电路,综合模块,用于对所述目标电路进行综合,得到相应的电路的网表形式的描述,布局和布线模块,用于以所述网表形式描述的电路进行布局和布线,并将其映射到物理器件;所述高可靠性数字电路的设计装置,在综合部件和布局和布线部件,还包括以下模块:

选择模块,用于选择特定的故障防卫技术和特定的可靠性指标;

转换模块,用于将网表形式的数字电路设计描述转换为超图;

划分模块,用于依据由所述特定的故障防卫技术以及所述特定的可靠性指标而建立的特定的优化目标函数,对所述超图进行划分,得到具有最佳划分的超图;以及

故障防卫技术实施模块,对所述最佳划分的超图,应用所述特定的故障防卫技术进行防护,并将所得的新的超图转换回网表形式的数字电路设计描述,所述网表形式的数字电路设计描述对应于具有高可靠性的数字电路;

其中,依据用于由所述特定的故障防卫技术以及所述特定的可靠性指标而建立特定的优化目标函数的划分模块,进一步包括:

函数建立模块,用于建立目标电路的可靠性指标随超图的特征参数而变化的函数,所述函数作为超图优化的目标函数。

本发明所涉及领域的技术人员将知道本发明的许多修改和其他实施方式,这些技术领域具有上述描述和相关附图所示的教导的有益效果。因此,将理解到本发明不限于公开的特定的实施方式并且旨在将修改和其他实施方式包括在所附权利要求书的范围中。尽管在这里使用了特定的术语,它们仅是在一般地和描述性意义上的使用而不用于限制性的目的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号