1 muxtree结构模型的原理
muxtree是一种新型的基于多路复用器基础上的sram fpga的结构模型。由于muxtree结构模型阵列能容易地配置成二叉判定图bdd [1],而bdd又是逻辑函数的有效表示方法,所以muxtree结构模型理论上可以实现所有的数字电路基本单元。muxtree结构模型基本单元包括三个部分:可编程功能模块fu、可编程长距离连接模块sb和配置寄存器creg。
可编程功能模块是由一个多路复用器实现的, d型触发器f用于实现时序功能,单元的输出是组合还是时序由配置信号s控制。在muxtree基本单元中有两套独立的连接线路,一个是短距离连接线路(图中黑色的),另一个是长距离连接线路(图中灰色的)。可编程功能模块与连接模块的配置信号保存在配置寄存器中,整个电路的配置信号数据流决定电路的功能 [2]。
2 muxtree结构的容错模型
muxtree结构容错模型的设计流程主要是由自检测和重配置两个部分组成。它的设计原理是先通过自检测发现错误,然后重新布线使出错的 muxtree单元停止工作,并将出错的muxtree单元的配置信号重新配置到冗余的单元中。
2.1 muxtree容错模型的自检测
容错系统首先是要实现自检测功能。这里自检测要求是能实现错误检测和错误定位,并且自检测逻辑电路要分散在muxtree各个基本单元中。
对于可编程功能模块,由于它的规模比较小,所以可通过完整的备份电路进行测试。用两个相同的子电路,对它们的输出进行简单比较就能检测出故障。同时为了保证电路在修复后不会丢失检测到故障时所存储的信息,又引入了触发器的第三个副本和一个2-3的判决器。
对于配置寄存器,因为基本单元的配置在电路编程后就不变了,所以可以认为,保存在寄存器中的值,在正常运行中发生的任何改变是出现故障的结果。测试变量从左至右移入配置寄存器,如果没有故障,该变量组的头1到达寄存器的头h,而它的尾11将同时到达寄存器的尾部t,这时与门输出为1,异或门的输入由00 变为11,异或门输出0。如果检测到错误,异或门输出为1。
2.2 muxtree容错模型的自修复
要使一个电路系统具有自修复的功能,通常都要求两种内建机制,即资源冗余和功能重配置。
所谓冗余就是当检测到错误时,要求有备份的单元来替代出错的单元。为了指定一组备用单元作为冗余,这里引进了一个可编程自复制机——细胞自动机[3]。这个自动机可以完成下面两项任务:把阵列划分成矩形方块;指定其中一列作为备用列。它可以通过修改备用列的疏密,来改变系统的自修复能力。在不用改变muxtree基本单元的配置信号情况下,就可以使它从没有容错功能(没有备用列)到100%冗余度(一个活动列配一个备用列)。
就功能重配置而言,主要是如何利用这些冗余,将故障单元的信息转移到工作单元中去。这里提出的自修复机制,是通过用右边邻居单元替代故障单元,再对网络进行重配置来实现的。这个右边邻居单元本身的配置信号一直向右移位,直至到达一个备用单元。在信息移位完成后,故障单元对于网络就停止工作,也就是通过重新布线来避开故障单元。
3 容错全加器的设计和实现
下面将在muxtree_sr(自修复muxtree)阵列上设计一个具有容错功能的一位全加器。主要是用xilinx foundation工具实现原理的编辑和仿真。
3.1 容错全加器模型的建立
设计这个系统的第一步就是分析实现muxtree_sr阵列所须基本单元的数目。一位全加器正常运行时的真值表如表1。通过真值表可得到如图2所示的全加器的两个输出 cn+1和sn 的二叉判定图bdd。经过化简后,原本需要14个单元的结构简化为10个单元的最简形式。由bdd图可以得到muxtree各单元的配置信号和连接线路图如图3(a)(b)。因此,要实现一个具有自检测、自修复能力的全加器,需要用到5×2个活动单元和5个备用单元。
3.2 容错全加器的配置实现
容错全加器的配置可分为以下三个阶段:
3.2.1 细胞自动机分区阶段
将15个基本单元排列成5×3的阵列,其中前两列为活动的基本单元,后一列为备用列。由于有15个基本单元,细胞自动机隔板要完全将它们包含起来,需要6×4个细胞自动机模块。
3.2.2 寄存器测试阶段
在输入有效的配置信号数据流之前,要进行
摘要:在sram fpga的muxtree结构模型的基础上,进行了一个具有容错功能的一位全加器的设计和实现。文中介绍了muxtree结构模型的原理,并给出了基于该结构模型容错全加器的设计过程及系统逻辑构成。同时,对该容错系统进行了功能和时序仿真,验证了muxtree结构容错系统的可行性。
关键词:muxtree;全加器;容错系统
中图分类号:tp302 文献标识码:a 文章编号:1003-353x(2003)05-0061-04
|
1 muxtree结构模型的原理
muxtree是一种新型的基于多路复用器基础上的sram fpga的结构模型。由于muxtree结构模型阵列能容易地配置成二叉判定图bdd [1],而bdd又是逻辑函数的有效表示方法,所以muxtree结构模型理论上可以实现所有的数字电路基本单元。muxtree结构模型基本单元包括三个部分:可编程功能模块fu、可编程长距离连接模块sb和配置寄存器creg。
可编程功能模块是由一个多路复用器实现的, d型触发器f用于实现时序功能,单元的输出是组合还是时序由配置信号s控制。在muxtree基本单元中有两套独立的连接线路,一个是短距离连接线路(图中黑色的),另一个是长距离连接线路(图中灰色的)。可编程功能模块与连接模块的配置信号保存在配置寄存器中,整个电路的配置信号数据流决定电路的功能 [2]。
2 muxtree结构的容错模型
muxtree结构容错模型的设计流程主要是由自检测和重配置两个部分组成。它的设计原理是先通过自检测发现错误,然后重新布线使出错的 muxtree单元停止工作,并将出错的muxtree单元的配置信号重新配置到冗余的单元中。
2.1 muxtree容错模型的自检测
容错系统首先是要实现自检测功能。这里自检测要求是能实现错误检测和错误定位,并且自检测逻辑电路要分散在muxtree各个基本单元中。
对于可编程功能模块,由于它的规模比较小,所以可通过完整的备份电路进行测试。用两个相同的子电路,对它们的输出进行简单比较就能检测出故障。同时为了保证电路在修复后不会丢失检测到故障时所存储的信息,又引入了触发器的第三个副本和一个2-3的判决器。
对于配置寄存器,因为基本单元的配置在电路编程后就不变了,所以可以认为,保存在寄存器中的值,在正常运行中发生的任何改变是出现故障的结果。测试变量从左至右移入配置寄存器,如果没有故障,该变量组的头1到达寄存器的头h,而它的尾11将同时到达寄存器的尾部t,这时与门输出为1,异或门的输入由00 变为11,异或门输出0。如果检测到错误,异或门输出为1。
2.2 muxtree容错模型的自修复
要使一个电路系统具有自修复的功能,通常都要求两种内建机制,即资源冗余和功能重配置。
所谓冗余就是当检测到错误时,要求有备份的单元来替代出错的单元。为了指定一组备用单元作为冗余,这里引进了一个可编程自复制机——细胞自动机[3]。这个自动机可以完成下面两项任务:把阵列划分成矩形方块;指定其中一列作为备用列。它可以通过修改备用列的疏密,来改变系统的自修复能力。在不用改变muxtree基本单元的配置信号情况下,就可以使它从没有容错功能(没有备用列)到100%冗余度(一个活动列配一个备用列)。
就功能重配置而言,主要是如何利用这些冗余,将故障单元的信息转移到工作单元中去。这里提出的自修复机制,是通过用右边邻居单元替代故障单元,再对网络进行重配置来实现的。这个右边邻居单元本身的配置信号一直向右移位,直至到达一个备用单元。在信息移位完成后,故障单元对于网络就停止工作,也就是通过重新布线来避开故障单元。
3 容错全加器的设计和实现
下面将在muxtree_sr(自修复muxtree)阵列上设计一个具有容错功能的一位全加器。主要是用xilinx foundation工具实现原理的编辑和仿真。
3.1 容错全加器模型的建立
设计这个系统的第一步就是分析实现muxtree_sr阵列所须基本单元的数目。一位全加器正常运行时的真值表如表1。通过真值表可得到如图2所示的全加器的两个输出 cn+1和sn 的二叉判定图bdd。经过化简后,原本需要14个单元的结构简化为10个单元的最简形式。由bdd图可以得到muxtree各单元的配置信号和连接线路图如图3(a)(b)。因此,要实现一个具有自检测、自修复能力的全加器,需要用到5×2个活动单元和5个备用单元。
3.2 容错全加器的配置实现
容错全加器的配置可分为以下三个阶段:
3.2.1 细胞自动机分区阶段
将15个基本单元排列成5×3的阵列,其中前两列为活动的基本单元,后一列为备用列。由于有15个基本单元,细胞自动机隔板要完全将它们包含起来,需要6×4个细胞自动机模块。
3.2.2 寄存器测试阶段
在输入有效的配置信号数据流之前,要进行
热门点击
推荐技术资料
| |