专利名称:高可靠性数字集成电路设计方法
技术领域:
本发明涉及一种数字集成电路设计方法,具体涉及的是高可靠性数字 集成电路的自动设计方法。
背景技术:
研究高可靠性数字集成电路的自动设计方法是很有必要的。目前集成 电路的规模日益扩大,单一集成电路上所容纳的晶体管数量越来越多,甚至处理器核、存储器、DSP核等功能模块也被集成到单一芯片中形成SOC (System on Chip,片上系统)。这使得集成电路的复杂度日益增加。而按 照容错领域的基本观点,越复杂的系统可靠性越低。另一方面,集成电路 的特征尺寸呈现递减趋势,这导致了电迁移、栅氧化层击穿等失效情况发 生的概率增加,从而引起永久故障;同时具有小特征尺寸的集成电路也更 易于受到高能粒子射线等的影响,出现单粒子反转(SEU, Single Event Upset),形成瞬时故障。上述两方面的原因使得可靠性成为集成电路设计 中必须解决的问题。在专用集成电3各(ASIC, Application Specific Integrated Circuit)及现 场可编程门阵列(FPGA, Field Programmable Gate Array ) i殳计领域,电子 设计自动化(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 JAlpert.TheISPD98 circuit 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 ( K Constantinidesz, S Plazaz, J Blomez, et al. . High-Performance Computer Architecture 2006. The Twelfth International Symposium on 11-15 Feb. 2006, pages 5-16.)中指出(1)对于如何选择划分区的数量,以TMR方法为例,如果整体使 用TMR (即一个划分区),只能容忍l个故障;如果划分成两个区分别 使用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,选择特定的故障防卫技术和可靠性指标。在此处适用的 故障防卫技术包括^f旦不限于三模冗余(TMR, Triple Modular Redundancy )、成对备份(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 的Virtuoso 中包含了读取EDIF并生成LEF/DEF的工具;Saumbh Adya 和Igor Markov提供了 Bookshelf格式与LEF/DEF相互转换的工具(参 见http:〃vlsicad.eecs.umich.edu/BK/PlaceUtils/)等。或者,也可直接从 HDL描述的电路^t型中产生超图,例如NuChip公司可提供从EDIF或 VerilogHDL文件生成DEF超图的服务。步骤114,依据由所述特定的故障防卫技术以及所述特定的可靠性 指标而建立的特定的优化目标函数,对所述超图进行划分,得到最佳划 分的超图。步骤115,根据划分后的超图,使用预先设定的故障防卫技术对被 划分的各个电路块(即划分区)进行保护,从而得到具有高可靠性的容 错电路。所述故障防卫技术在步骤112中由用户设定。适合于在此使用 的故障防卫技术包括三模冗余,成对备份(pair-and-spare)、 一致性检测、 检错纠错编码等。这里生成的超图形式的电路如有必要可以再转换为EDIF等格式 (步骤116),以便于结合EDA工具,经过布局、布线等步骤并最终在 物理FPGA器件中实现所描述的电路(步骤117 )。图2中进一步示出了根据本发明的高可靠性数字电路设计方法的使 用超图划分算法对所述从网表得到的超图进行划分的步骤的子步骤。该 子步骤包括i步骤201,根据设定的故障防卫技术,建立电路的可靠性指标随超 图的特征参数(表达超图的节点、边以及节点和边的关系等的参数)变 化的函数,并将其作为超图划分的最优化问题的目标函数。步骤202,选择划分数k。用于对该超图进行试探划分,具体为可 以使用诸如黄金分割法的一维搜索方法在当前选定的搜索区间上选取 合适的k值。该搜索方法的初始搜索区间为[l,n],其中n表示原始电路 的顶点数,也是其对应的超图的顶点数。当然,这里记述的使用黄金分 割法进行一维搜索并非出于限制的目的,其他类似的搜索最优解的方法 也可以在此应用。步骤203,对于选定的划分数,使用超图划分算法,如K-L算法等, 对该对应于原始电路的超图进行划分使得该电路的可靠性指标最大。有 关K画L算法的详细实施过禾呈,在An Efficient Heuristic Procedure for Partitioning 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为可靠性指标 的情况下,进行高可靠性一位全加器电路设计的过程。一位全加器功能可由下式描述C0 = ^(.5 ++ ............................................................( 1 )其中A、 B为输入信号,表示两个被加数;CI为输入信号,表示进 位输入;S为输出信号,表示全加和;CO为输出信号,表示进位输出。 对于本领域技术人员,可以容易地在EDA工具中使用诸如VHDL、 VerilogHDL等硬件描述语言描述该一位全加器的电路结构,用于在物理 数字逻辑器件中实现该一位全加器。然而,应该理解,所示出的一位全加器仅是出于描述上的简便的目
的而用来描述根据本发明的方法的示例性电路。本发明的实施方案中, 由于无论时序电路,还是非时序的组合逻辑电路,都可以用超图表示, 因此,本领域技术人员将意识到根据本发明的方法可以应用于任意类型的数字逻辑电路的EDA设计中。参考图3,其示出了实现式(l)所描述的一位全加器电路的原理图。 其中包括3个非门(图中标记为"1"的框),7个与门(图中标记为"&" 的框)以及2个或非门(标记">1")。 "A,,和"B"表示该全加器电 路的两个输入端,而"C,,表示该全加器电路的进位输入端,"S"表示 全加器的当前位输出,而"CO"表示进位输出。EDA工具可以通过对 用户用诸如VHDL 、 VerilogHDL的硬件描述语言所描述的 一位全加器的 源代码文件进行分析,而自动地生成等价于图1所示的电路的EDIF文 件。由于电路图本质上就是超图,因而,将EDIF文件转换为诸如 LEF/DEF格式的超图文件的方法为本领域技术人员所知,或者也可以利 用诸如Virtuoso 等工具,将图1的原理图所对应的EDIF文件转换为 诸如LEF/DEF格式的超图。本领域技术人员将意识到,此处仅以举例 的方式利用了由EDA工具综合得到的EDIF文件,也可以利用其他的能 够描述数字电路的结构的描述形式,其中所包含的逻辑单元也不限于逻 辑门,而可以是诸如寄存器、计数器、存储器等其他逻辑单元结构。参考图4,其示出了用超图元素标记的所述一位全加器电路的原理 图。将图3中的3个输入端、3个非门、7个与门、2个或非门作为超图 的顶点,线网作为超图的超边,则对应一个包含15个顶点、13条超边 的超图(图2)。注意输出端不作为超图的顶点。其中Vi表示超图的顶 点,而ej表示超图的边(i=l,...,15, j=l,...,13)。然而,本领域技术人员 将意识到,由于EDIF文件可对应于具体的物理FPGA器件,所以在将 EDIF文件转换为超图的过程中,可以不以诸如与门、非门的逻辑门作 为超图的顶点,而可以用将映射到物理FPGA器件的诸如查找表的逻辑 单元作为超图的顶点。类似地,还可以将作为EDIF文件中描述的包括 若干个逻辑门的子电路作为超图的顶点,而获得描述层次较高的超图。利用所得到的该一位全加器电路所对应的超图,可以使用超图划分
算法对该超图进行划分,以期得到在所选定的故障防卫技术下,使得该
电路的所选定的可靠性评价指标最好的划分方式。在本例中,选择TMR 作为故障防卫技术,以MTTF作为所选定的可靠性评价指标。将图2中 示出的根据本发明的高可靠性数字电路设计方法应用于该电路。
首先,根据设定的故障防卫技术(TMR),建立电路的可靠性指标 (MTTF)随超图的特征参数变化的函数,并将其作为超图划分算法的 最4尤4匕目才示函凄史。
在使用TMR作为基本故障防卫技术时,对应的可靠性模型为
= e-("2)义'n (3e一2。'力-2e—W ) ............................................................. (2)
其中R(t)另电路的整体可靠性,随时间t变化;C为电路的超边割
的数量,取决于划分区数和划分方式;k为划分区的数量。在本例中;ai 为第i个划分区的大小,即第i个划分区所包含的顶点数;入为电路单 位面积的故障率,在本例中为每个门的故障率(假定每个门的故障率相 同)。
然而,应该意识到,可以根据实际的可靠性需求而选择不同的可靠 性指标,作为超图划分的目标函数。常用的可靠性指标包括MTTF、 MDTF( Mean Defects To Failure,造成失效的平均缺陷数)、SPF ( Silicon Protection Factor,硅保护因子)、到产品寿命T时电路的可靠性R(T)、 保持可靠性高于某个阔值r的产品寿命T (T=Max{t|R(t)>r})等。下面 以MTTF作为超图划分的目标函数为例,说明根据本发明的方法。MTTF 的表达式如(3)式所示,其值越高,表明对应的可靠性越好。
M7TF = -f虛W ..........................................................................................。)
对MTTF的计算比较复杂,可以结合MATLAB等数学工具实现。 其次,选取划分数k,用于对该超图进行试探划分,具体为使用诸 如黄金分割法的一维搜索方法在当前选定的搜索区间上选取合适的k 值。该搜索方法的初始搜索区间为[l,n],其中n表示原始电路的顶点数,
也是其对应的超图的顶点数。
具体而言,对于规模为n的电路,划分数k的选择范围从1到n。 已有的实验数据表明在此区间内电路的可靠性通常是关于划分数的单
峰函数,因此可以使用1维搜索领域的常用算法来选择划分数。在本例
中使用黄金分割法(即0.618法)。实施黄金分割法的具体步骤是对于 在区间[a。,b。]内具有唯一极大值的单峰函数f(x),每次试探选取两个试探 点a尸bo-(bo國a。)承0.618和b产ao+(b。-ao)承0,618;若f(a0〉f(bj,则在区间[aoM 内重复上述过程进行搜索;否则,在区间[a,bo]内重复上述过程进行搜 索。对于非单峰函数的情况,也可以按照一维搜索领域的常用算法,并 根据搜索过程中积累的数据划分区间再分別进行搜索。然而,应该理解, 可以选用其他的方法用于确定每次试探时,所应选取的k的值。在本例 中,由于n=15,依照黄金分割法,第一次选定的是划分数为k=7以及 k=10的两个试探点。
继而,对于选定的划分数k,使用超图划分算法进行划分,使得电 路可靠性指标最大。对应本示例性实施方案,第一次搜索时选取k^7以 及k-10。
本例中,利用K-L算法,以(3)所示的MTTF为目标,对该超图 进行启发式搜索,以寻找当k为选定的划分数时,使得MTTF最大的超 边割C的取值和对应的划分区Pi所包含的超图的顶点,其中i= l...k。
图5中示出了该次划分搜索所得到的结果。当k=7时,在超边割 06,并且各划分区为第一分区Pl包括顶点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应该在区间[I,IO]内。
保存上面计算得到的k=7和k=10时对应的MTTF的值,以及对应 于每个MTTF值的该电路的划分结果。
由于尚无法确定是否找到使该电路MTTF最大的划分数,则重复图 2中的步骤(2) - (5)。在第二次试探中,在图2中的步骤(2)中依黄金分割法,得到所 选取的k值为4和7。而在步骤3中,得到当k-4时,取c二lO,可以获 得对应于k=4的最大的MTTF=0.0561/入。而已经知道当k=7时,取c=6, 可以获得对应于k=7的最大的MTTF ( 0.0612/X )。这表明使得MTTF最 大的划分数k应该在区间[4, IO]内。保存计算所得的该结果。由于没有 依然没有找到无法确定使该电路MTTF最大的划分数,继续重复图2中 的步骤(2) - (5)。
第三次试探选取k-6和k二8。当1<:=6时,取0=6,可以获得对应于 k=6的最大的MTTF=0.0603A 。当k=8时,耳又c=6,可以获得对应于 k=8的最大的MTTF=0.0622/入。表明使得MTTF最大的划分数k应该 在区间[6, IO]内。第四次试探选取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个分区,第一分区PI包括顶点VI,第二分区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: Method
for 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 Automation Conf., 1997, pp. 526-529.),在4GB内存的Pentium IV 2.0GHz的32位 PC上,以最小割或子域度为优化目标的对包含3.5M个顶点的超图进行 划分,可以在20分钟内完成。而且以特定可靠性指标为目标的划分算 法在时间复杂度与上述划分过程相同。因此,根据本发明的方法,所需 要的计算量是为当前的EDA行业所可接受的。
基于所得到的可使该一位全加器获得最大MTT 的条件(k=8, c=6 等),在图6所示的划分的基础上,对每个分区采用TMR的故障防卫技 术,对该电路进行保护。其具体方法是,将每个划分区分别复制3份; 在每个被划分区割断的线网(对应于超图的超边)中插入一个3路表决 门;将被割断的线网的3个驱动(driver)端分别连接到新插入的3路 表决门的输入端;将被割断的线网的吸收(sinker)端分别连接到新插 入的表决门的输出端;最后在电路的每个输出端插入一个3路表决门, 将在原电路中与输出端相连的线网的3个驱动(driver)端连接到表决 门的输入端,将原电路的输出端连接到表决门的输出端。经过上述步骤, 得到如图7所示的具有高可靠性的一位全加器的电路的原理图。
可由存储于计算机可读介质上的软件,在包括处理器的计算机中执 行所述软件,而实施本发明。实施本发明的用于设计高可靠性数字集成 电路软件包括用户输入;f莫块,用于接收用户输入的用硬件描述语言描述 要设计的目标电路,综合模块,用于对所述目标电路进行综合,得到相 应的电路的网表形式的描述,布局和布线模块,用于以所述网表形式描 述的电路进行布局和布线,并将其映射到物理器件;所述高可靠性数字 电路的设计装置,在综合部件和布局和布线部件,还包括以下模块
选择模块,用于选择特定的故障防卫技术和特定的可靠性指标;
转换模块,用于将网表形式的数字电路设计描述转换为超靠性指标而建立的特定的优化目标函数,对所迷超图进行划分,得到具
有最佳划分的超图;以及
故障防卫技术实施模块,对所述最佳划分的超图,应用所述特定的 故障防卫技术进行防护,并将所得的新的超图转换回网表形式的数字电 路设计描述,所述网表形式的数字电路设计描述对应于具有高可靠性的
数字电路;
指标而建立特定的优化目标函数的划分模块,进一步包括
函数建立模块,用于建立目标电路的可靠性指标随超图的特征参数 而变化的函数,所述函数作为超图优化的目标函数。
本发明所涉及领域的技术人员将知道本发明的许多修改和其他实 施方式,这些技术领域具有上述描述和相关附图所示的教导的有益效 果。因此,将理解到本发明不限于公开的特定的实施方式并且旨在将修 改和其他实施方式包括在所附权利要求书的范围中。尽管在这里使用了 特定的术语,它们仅是在一般地和描述性意义上的使用而不用于限制性 的目的。
权利要求
1.一种高可靠性数字电路的设计方法,包括用硬件描述语言描述要设计的目标电路,对所述目标电路进行综合,得到相应的电路的网表形式的描述,以及对以所述网表形式描述的电路进行布局和布线,并将其映射到物理器件的步骤,其特征在于所述高可靠性数字电路的设计方法,在综合得到网表和对网表进行布局布线的步骤之间,还包括以下步骤选择特定的故障防卫技术和特定的可靠性指标;将网表形式的数字电路设计描述转换为超图;依据由所述特定的故障防卫技术以及所述特定的可靠性指标而建立的特定的优化目标函数,对所述超图进行划分,得到具有最佳划分的超图;以及对所述最佳划分的超图,应用所述特定的故障防卫技术进行防护,并将所得的新的超图转换回网表形式的数字电路设计描述,所述网表形式的数字电路设计描述对应于具有高可靠性的数字电路;其中,依据由所述特定的故障防卫技术以及所述特定的可靠性指标而建立的特定的优化目标函数的步骤,进一步包括建立目标电路的可靠性指标随超图的特征参数而变化的函数;以及将所述函数作为超图优化的目标函数。
2. 根据权利要求1中所述的高可靠性数字电路的设计方法,其中所述 特定的故障防卫技术,是三模冗余技术、成对备份技术、 一致性检测技术 以及检错纠错编码技术。
3. 根据权利要求1中所述的高可靠性数字电路的设计方法,其中所述 特定的可靠性指标,包括平均无故障时间、造成失效的平均缺陷数、硅保 护因子、到产品寿命T时电路的可靠性、保持可靠性高于某个阈值r的产 品寿命T。
4. 根据权利要求1中所述的高可靠性数字电路的设计方法,其中所述其中对所述超图进行划分,得到具有最佳划分的超图的步骤进一步包括选择划分数k;对于所述选定的划分数k ,使用超图划分算法对所述超图进行划分,使得所述电路的可靠性指标最大;保存所得到的划分结果,以及所述划分数k;大;以及 如果尚未找到所述最佳划分的超图,则重复上述步骤,直到找到所述最佳划分的超图。
5. 根据权利要求4中所述的高可靠性数字电路的设计方法,其中所 述选择划分数k,可以使用名为黄金分割法的一维搜索方法,所述一维 搜索方法的初始搜索区间是1到n,其中,n是所述超图的顶点数。
6. 根据权利要求4中所述的高可靠性数字电路的设计方法,其中所 述超图划分算法,是K-L算法,所述K-L算法,依据应用于所述电路的 TMR防卫技术和所述电路的MTTF而建立起来的目标函数,对所述超 图进行启发式搜索。
7. 根据权利要求1中所述的高可靠性数字电路的设计方法,其中所 述将网表形式的数字电路设计描述转换为超图的步骤,其特征在于,将 网表形式的数字电路设计中的基本逻辑门作为转换后的超图的顶点。
8. 根据权利要求1中所述的高可靠性数字电路的设计方法,其中所 述将网表形式的数字电路设计描述转换为超图的步骤,其特征在于,将 网表形式的数字电路设计中的可以映射到物理器件的逻辑单元作为超 图的顶点。
9. 根据权利要求8中所述的高可靠性数字电路的设计方法,其中所 述逻辑单元,其特征在于所述物理器件的逻辑单元是查找表。
全文摘要
一种高可靠性数字电路的设计方法,在用传统EDA设计流程得到网表文件后,将网表转换为超图,并基于超图的细粒度划分方法,允许设计者仅通过按传统EDA方法描述电路,以及指定某种故障防卫技术以及某种可靠性指标,即可以自动的完成向电路中添加所指定的故障防卫技术,以得到具有高可靠性的容错电路的数字集成电路。
文档编号G06F17/50GK101149765SQ200710177070
公开日2008年3月26日 申请日期2007年11月9日 优先权日2007年11月9日
发明者密 周, 尚利宏, 炯 张, 金惠华 申请人:北京航空航天大学