一种簇结构的胚胎电子细胞阵列

2018-04-11 07:47李丹阳蔡金燕孟亚峰朱赛
兵工学报 2018年3期
关键词:寄存器计数器移位

李丹阳, 蔡金燕, 孟亚峰, 朱赛

(1.陆军工程大学石家庄校区 电子与光学工程系, 河北 石家庄 050003;2.中国洛阳电子装备试验中心, 河南 洛阳 471003)

0 引言

胚胎电子细胞阵列[1-2]是一种具有故障自修复能力的新型高可靠性硬件,在航海、航天、国防工业等对电子设备可靠性要求极高、环境恶劣以及人工维修难以开展的领域具有广阔应用前景[3]。

在胚胎电子细胞阵列设计中,阵列的可靠性和硬件资源消耗是两项关键设计指标。阵列的可靠性主要与阵列的自修复方法和资源利用率有关。经典的胚胎电子细胞阵列主要采用行(列)移除和单细胞移除的自修复方法。其中行(列)移除方法简单有效,是最常用的自修复方法,但是该方法在自修复过程中会造成大量的资源浪费,资源利用率较低,导致阵列的可靠性相对较低。单细胞移除方法可以充分利用阵列中的资源,可靠性较高,但是随着阵列规模的增加,在硬件级实现单细胞移除的设计难度很大。因此,为了进一步提高胚胎电子细胞阵列的可靠性,国内外学者提出了许多新的阵列结构。例如:文献[4]提出一种分层的阵列结构;文献[5-7]提出一种原核电子细胞阵列结构;文献[8]提出一种电子组织。这些结构(方法)提高了硬件资源的利用率,降低了自修复过程中的资源浪费。

胚胎电子细胞阵列的硬件资源消耗过大,限制了阵列的应用。降低硬件资源消耗的关键是降低阵列中基因存储的硬件资源消耗,主要方法是减少基因的冗余备份数量。文献[5-6]提出的原核电子细胞仅存储自身的基因信息和少量与周围细胞相关的基因信息,减少了基因存储数量;文献[9]提出一种基因循环存储结构;文献[10-11]提出一种部分基因循环存储结构,每个电子细胞仅需存储自身的基因和少量其他细胞的备份基因,降低了基因存储的硬件消耗。

总之,截至目前,胚胎电子细胞阵列仍然存在故障自修复能力有限、资源利用率低、硬件资源消耗大等问题。因此,本文提出一种基于簇结构的胚胎电子细胞阵列,介绍了电子细胞簇的结构,提出了一种基于簇内基因移位的故障自修复方法,对电子细胞簇的功能进行了仿真,并分析了电子细胞簇的硬件资源消耗和阵列的可靠性。通过仿真和分析结果证明了所提出结构和方法的有效性。

1 基于簇的胚胎电子细胞阵列结构

1.1 经典胚胎电子细胞阵列

经典胚胎电子细胞阵列是由电子细胞和细胞间的连线构成的二维网格结构,如图1所示。

由图1可见,胚胎电子细胞阵列中每个电子细胞的结构完全相同,一般由基因模块、地址模块、功能模块和开关盒等构成,具体结构如图2所示。

图2中基因是指存储着电子细胞具体逻辑功能和细胞与周围细胞连接关系等信息的0/1编码,也称为基因编码;电子细胞在特定基因的控制下实现相应的功能,称为基因表达。基因模块存储着整个阵列(或整行整列)电子细胞的全部基因,每个电子细胞根据地址模块确定自身在阵列中的位置,并确定相应的基因表达。电子细胞中正在表达的基因控制开关盒实现电子细胞与相邻电子细胞间的信号传递,并控制功能模块实现具体的组合和时序逻辑功能。

总体上看,经典胚胎电子细胞结构以及行(列)移除和单细胞移除自修复方法还存在很多限制。阵列中每个电子细胞都需要存储大量的冗余基因信息,随着阵列规模的增大,存储基因信息需要消耗大量的硬件资源,导致每个电子细胞的硬件资源消耗急剧增加,限制了阵列规模。行(列)移除自修复方法的硬件实现简单,但是修复1个故障需要移除整行(列)的电子细胞,资源浪费大,修复代价高;单细胞移除自修复方法修复1个故障仅需要移除1个电子细胞,但是硬件实现困难。另外,随着阵列规模的增加,这两种修复方法在应用中受到的限制也越来越大。为了解决这些问题,本文提出一种基于簇结构的新型胚胎电子细胞阵列。

1.2 基于电子细胞簇的阵列结构

一定数量的电子细胞通过内部连接聚集在一起,形成电子细胞簇。一定数量的电子细胞簇之间通过通用布线矩阵连接,就构成了基于簇的电子细胞阵列。具体结构如图3所示。

阵列中所有电子细胞簇的结构都是相同的。电子细胞簇由控制单元、内部连接资源和一定数量的电子细胞构成。在一个电子细胞簇内,电子细胞的功能输出通过内部连接可以传递给簇内其他电子细胞,而且在簇内控制单元的控制下,电子细胞之间可以相互传递基因信息,并共享内建自测试(BIST)资源。基于这些簇结构所具有的特性,下面提出一种基于簇内基因移位的故障自修复方法。

1.3 基于簇内基因移位的故障自修复方法

如图4所示,C1、C2和C3表示电子细胞阵列中的3个电子细胞簇,假设每个电子细胞簇中有4个工作电子细胞和2个空闲电子细胞,a~l表示工作电子细胞表达的不同基因。当电子细胞簇发生故障时,首先进行故障检测,确定所有电子细胞的正常或故障状态;然后簇内电子细胞的基因开始自上而下进行移位,初始状态时最上方的基因移位至第1个正常状态的电子细胞,第2个基因移位至第2个正常状态的电子细胞,其余的基因依次按照这种方法进行移位,直到所有需要表达的基因都移位至正常状态的电子细胞时基因移位停止,此时所有的基因都能够正常表达,实现故障的自修复。基因移位完成时,每个基因移位的距离即为基因所在正常状态电子细胞上方故障细胞的数量。

例如:当C1中表达基因c的电子细胞发生故障时,经检测,C1中第1、2、4、5个电子细胞正常,因此第1、2个电子细胞仍然表达基因a和基因b,基因c移位至第4个细胞,基因d移位至第5个细胞,第4、5个电子细胞上方均只有1个故障细胞,因此基因c、d移位的距离均为1;当C2中相邻的电子细胞发生故障时,经过检测可知C2中第1、4、5、6个电子细胞正常,因此第1个电子细胞仍然表达基因e,第4、5、6个电子细胞分别表达基因f、g、h,第4、5、6个电子细胞上方均有2个故障细胞,因此基因的移位距离为2;当C3中不相邻的电子细胞发生故障时,经检测可知第2、3、5、6个电子细胞正常,基因i、j、k、l分别移位至第2、3、5、6个电子细胞,第2、3个电子细胞上方有1个故障细胞,因此基因i、j的移位距离为1,第5、6个电子细胞上方有2个故障细胞,因此基因k、l的移位距离为2.

2 电子细胞簇

2.1 电子细胞簇结构

电子细胞簇由控制单元、簇内开关盒和一定数量的电子细胞构成。簇中每个电子细胞的结构完全相同,仅存储自身的基因。在这些电子细胞中,能够向簇外输出功能的称为功能细胞或工作细胞,不能向簇外输出功能且不实现具体逻辑功能的称为空闲细胞或备份细胞。当阵列实现具体的电路功能时,每个电子细胞簇中实现与电路功能相关的具体逻辑功能的基因称为功能基因,每个电子细胞簇能够包含的功能基因最大个数称为基因容量,在电子细胞簇中只有功能细胞能够表达功能基因,因此基因容量即为簇内功能细胞的个数。簇内电子细胞的总数称为细胞容量。基因容量和细胞容量是描述电子细胞簇的2个重要参数,基因容量和细胞容量确定了电子细胞簇的结构和规模。

电子细胞簇的具体结构如图5所示,记电子细胞簇中的功能细胞个数为N,空闲细胞个数为M,电子细胞总个数为S. 电子细胞簇有K个输入,记为CI;输出个数与功能细胞的个数同为N,记为CO,则电子细胞簇的基因容量为N,细胞容量为S. 在功能分化过程中,每个电子细胞簇内功能基因的个数只能等于或者少于N,且上方电子细胞首先被配置为功能细胞,下方电子细胞被配置为空闲细胞。在自修复过程中,基因从上到下顺序移位。控制单元的主要功能是控制簇内开关盒进行输出信号的选择,实现电子细胞的故障检测并控制电子细胞进行基因移位。簇内开关盒在控制单元的控制下,从S个电子细胞的输出中选择N个输出作为电子细胞簇的输出CO,并将CO反馈至每个电子细胞的输入端。另外,与电子细胞簇的输入CI和输出CO连接的开关盒可以实现不同电子细胞簇之间的信号传递。

2.2 簇内电子细胞

簇内电子细胞主要由功能模块和基因寄存器构成,具体结构如图6所示。图6中16选1的多路选择器记为MUX;功能模块中的功能D触发器记为Df.

图6中:输入信号即为CI和CO;功能模块主要实现电子细胞的组合和时序逻辑功能,其中组合逻辑功能由MUX实现,MUX的输入为存储在基因寄存器中的逻辑功能基因。时序功能由Df实现。它的输入与一个由移位控制信号控制的2选1多路选择器相连接,多路选择器的其中一个输入信号——移位输入,来自上方相邻电子细胞中Df产生的移位输出。Df输出的移位输出信号送至下方的相邻电子细胞。因此簇内所有电子细胞中的Df连接起来构成寄存器链,这样设计不仅可以实现所有Df的扫描测试,而且在故障自修复过程中,Df内的时序状态可以通过寄存器链进行传递,这一功能在时序逻辑的自修复中非常重要。基因寄存器由一定数量的Df构成,主要功能是存储基因信息。簇内相邻电子细胞之间的基因寄存器,可以实现基因信息的并行移位。

在阵列运行过程中,电子细胞主要处于正常工作状态、故障检测状态和移位修复状态3种状态。在阵列实现逻辑功能时,电子细胞处于正常工作状态,此时MUX的4个控制端经过由BIST输入控制信号控制的多路选择器和由存储在基因寄存器中的输入选择基因控制的多路选择器连接至输入信号,实现组合逻辑功能。Df在移位控制信号和时序控制基因的控制下,实现时序逻辑功能。输出信号为电子细胞的功能输出。当阵列启动故障检测时电子细胞处于故障检测状态,簇内控制单元发出BIST输入控制信号和BIST激励信号,将BIST激励信号加载至MUX的4个控制端,MUX输出的BIST响应信号和存储在基因寄存器中的校验信息基因返回至控制单元,控制单元根据BIST响应和校验信息进行响应分析,完成故障检测。当电子细胞簇内的故障检测结束时,电子细胞进入移位修复状态。在移位修复过程中,基因寄存器在寄存器使能信号控制下实现基因移位,与此同时,Df在触发器使能信号和移位控制信号控制下实现时序状态的传递。

记图6中输入信号的个数为J,由图5可知,J为功能细胞个数N和细胞簇输入个数K之和。则多路选择器从J个信号中选择1个信号输出需要「log2J⎤位控制信号。校验信息是为电子细胞的故障检测和诊断提供判断信息的基因数据。本文中仅考虑MUX的固定型故障,校验信息为2位基因数据。记基因编码的长度(数据位数)为L,则L满足(1)式:

L=4×「log2J⎤+19.

(1)

基因编码的具体组成如表1所示。表1中方括号内的数字表示相关基因在编码中的具体位置,基因编码的最高位为[L-1],最低位为[0]。本文设计的校验信息基因主要针对逻辑功能基因,当逻辑功能基因中含有编码1和编码0时,校验信息为10;当逻辑功能基因中仅含有编码1时,校验信息为11;当逻辑功能基因中仅含有编码0时,校验信息为00. 对电子细胞进行故障检测诊断时,如果得到的特征信息与校验信息基因不符,则判断为故障,否则判断为正常。

在如图2所示的经典电子细胞结构中,每个电子细胞都需要存储大量冗余的基因,随着阵列规模的增加,基因存储需要的硬件资源过大,成为限制阵

表1 电子细胞基因信息Tab.1 Gene code of cell

列规模的主要原因。而簇结构中的电子细胞只需要存储自身的基因,不需要存储其他电子细胞的基因,因此基因存储所需的硬件资源消耗大大降低。

总之,簇内电子细胞具有相对完善的BIST系统,通过簇内基因移位可以有效修复时序电路故障,而且基因存储需要的硬件资源消耗低,与经典胚胎电子细胞相比具有一定优势。

2.3 簇内开关盒

簇内开关盒的功能是从S个电子细胞的输出中选择N个输出作为电子细胞簇的输出,并将输出反馈至簇内的电子细胞。通过对簇内开关盒的控制,可以保证在基因移位自修复过程中电子细胞所连接的输入信号和电子细胞簇的输出均不发生变化,因此在此过程中不需要改变基因信息,也不需要重新配置与电子细胞簇连接的开关盒,使电子细胞簇在硬件级实现自修复。

为了对簇内开关盒的功能进行具体说明,以基因容量为4、细胞容量为6的电子细胞簇为例(见图7),将此电子细胞簇中的簇内开关盒记为SW,Cell 1~Cell 6为电子细胞簇内的6个电子细胞,a、b、c和d为4个功能基因。I1~I6为SW的6个输入端,分别与Cell 1~Cell 6的输出连接,O1~O4为SW的4个输出端。

如图7(a)所示,在电子细胞簇完成功能分化的初始状态,Cell 1~Cell 4为默认的4个功能细胞,分别表达功能基因a~d,SW的输出端口O1~O4默认选择输入端口I1~I4的信号输出。如图7(b)所示,当Cell 2和Cell 4出现故障时,基因b、c、d进行移位,Cell 3表达基因b,空闲细胞Cell 5和Cell 6表达基因c和基因d,变为功能细胞,SW中各输出端口选择的输入端口也相应移位,O2端口选择I3输出,O3端口选择I5输出,O4端口选择I6输出。

SW由4个3选1多路选择器构成,具体结构如图8所示。4个多路选择器分别在控制信号00、01、10、10的控制下实现对输入端口I1~I6的选择。

当簇内电子细胞个数为S、功能细胞个数为N、空闲细胞个数为M时,簇内开关盒的结构如图9所示。图9中:I1~IS为簇内开关盒的S个输入端,O1~ON为簇内开关盒的N个输出端,mux1~muxN为构成簇内开关盒的N个多路选择器,每个多路选择器输入端个数为M+1,f1~fN分别为控制mux1~muxN的N个控制信号。则多路选择器muxi的输入为Ii~Ii+M,控制信号fi的位宽为「log2(M+1)⎤.

2.4 控制单元

2.4.1控制单元构成

控制单元的主要功能是实现对电子细胞簇内电子细胞的故障检测、基因移位的控制和簇内开关盒的控制。控制单元主要由4位计数器、细胞计数器、故障计数器、更新计数器、功能校验器、细胞状态寄存器、簇内开关盒控制信号寄存器和移位信号控制寄存器等构成。电子细胞中采用16选1的多路选择器作为主要逻辑单元,因此采用4位计数器产生BIST激励。功能校验器主要根据校验信息和BIST响应对所有的电子细胞进行故障判断。各个电子细胞故障诊断的结果存储在细胞状态寄存器中。细胞计数器的功能是从第1个电子细胞开始,对所有的电子细胞进行遍历计数。故障计数器和更新计数器的主要功能是分别计算电子细胞中故障细胞和正常细胞的个数。移位信号控制寄存器为电子细胞中基因和Df提供移位控制信号。簇内开关盒控制信号寄存器为簇内开关盒提供控制信号。控制单元的组成结构如图10所示,图中粗实线表示多路信号线。

控制单元的主要输入信号包括来自阵列的故障信号、复位信号和来自簇内电子细胞的校验信息、BIST响应。主要输出信号包括送往阵列的修复完成、故障个数、故障进位、正常个数、正常进位信号和送往电子细胞的BIST激励信号、移位控制信号以及送往簇内开关盒的簇内开关盒控制信号。

在故障自修复过程中,控制单元按照运行状态,可分为复位状态、BIST故障检测状态和移位控制状态。当控制单元接收到来自阵列的故障信号和复位信号时首先进入复位状态,控制单元中所有的计数器和寄存器同步复位。复位完成后,控制单元进入BIST故障检测状态,对簇内所有电子细胞进行并行检测,4位计数器产生4位的BIST激励信号送往所有的电子细胞,功能校验器接收来自所有电子细胞的BIST响应信号和存储在电子细胞基因寄存器中的校验信息,进行分析和判断并将判断结果送往细胞状态寄存器。细胞状态寄存器更新后,BIST故障检测状态结束,细胞计数器激活,控制单元进入移位控制状态。细胞状态寄存器输出各电子细胞的状态信息,细胞计数器控制多路选择器遍历所有的电子细胞,依次输出各个电子细胞的状态。移位控制信号寄存器根据输出的电子细胞状态输出移位控制信号,控制所有电子细胞的基因移位和Df移位。故障计数器和更新计数器根据输出的电子细胞状态值进行计数,当电子细胞发生故障时故障计数器计数,否则更新计数器计数。当更新计数器计数时激活簇内开关盒控制信号寄存器存储当前故障计数器中的故障个数信号,此时故障个数信号即为簇内开关盒中相应多路选择器的控制信号。故障计数器的最大计数值为电子细胞簇中空闲细胞的个数,如果计数值超过空闲细胞个数,则说明电子细胞簇没有足够的电子细胞实现故障自修复,故障计数器输出故障进位信号,控制单元返回修复完成信号,修复失败。更新计数器的最大计数值为电子细胞簇中正常细胞的个数,当达到最大计数值时更新计数器输出更新进位信号,完成基因移位,簇内开关盒实现移位选择,控制单元返回修复完成信号,修复成功。另外,在控制单元正常工作情况下,细胞计数器的计数值等于故障计数器和更新计数器的计数值之和,否则计数器出现故障,因此可以利用这一特点对控制单元进行简单的故障自检。

2.4.2计数器

控制单元中的4位计数器、细胞计数器、故障计数器和更新计数器都是典型的具有计数、保持、置位等功能的同步计数器,并具有进位输出功能。计数器的设计方法很多,本文以4位计数器为例,给出一种基于D触发器和多路选择器的设计方法,如图11所示。

由图11可知,4位计数器中有5个D触发器,4个用来完成计数功能,1个用来保存进位结果。图11中:reset为置位信号,低电平置位;D3~D0为计数器输出,D0为最低位,D3为最高位;C为进位输出,触发沿来临时刻,当D3~D0为1111时,进位触发器更新进位数据,进位输出C为1,同时锁定5个触发器,4位计数器保持当前的计数值。细胞计数器、故障计数器和更新计数器与4位计数器的结构非常相似,只是计数器中的触发器个数和控制逻辑稍有不同,不再赘述。

2.4.3功能校验器

功能校验器根据来自各个电子细胞的BIST响应信号,判断响应信号中是否存在逻辑0信号和逻辑1信号,将校验结果与来自电子细胞的校验信息进行比较,判断电子细胞故障。如图12所示,Check 1~CheckS为簇内S个电子细胞故障检测结果,COMP为比较器。每个电子细胞的BIST响应信号送往一对与D触发器构成反馈连接的与门和或门,分别实现对响应信号中逻辑0和逻辑1的检测,并将检测结果与校验信息进行对比,当检测结果与校验信息相同时输出逻辑1,否则输出逻辑0.

2.4.4细胞状态寄存器

细胞状态寄存器的具体结构如图13所示。输入主要为功能校验器输出的S个电子细胞故障检测结果和置位信号,输出为细胞状态信号和移位状态信号。其中,输出细胞状态信号的S个触发器存储簇内电子细胞的正常或故障状态信息,这些触发器称为当前细胞状态寄存器,它们只在电子细胞阵列初始化时进行置位,在自修复过程中不进行置位,保留簇内电子细胞自完成功能分化至当前时刻的状态信息。输出移位状态信号的S个触发器存储电子细胞簇的移位状态信息,称为移位状态寄存器,它们在进行故障自修复前需要进行置位。

功能校验器输出的故障检测结果中,逻辑1表示细胞无故障,即电子细胞处于正常状态,逻辑0表示细胞有故障,即电子细胞处于故障状态。当前细胞状态寄存器初始时刻置位为全1,移位状态寄存器在初始时刻置位为全0. 当前细胞状态寄存器的输出与故障检测结果相与,作为当前细胞状态寄存器的输入。当前细胞状态寄存器中存储的细胞状态数据取反,与故障检测结果相或,作为移位状态寄存器的输入。因此,当某电子细胞被判断为故障后,其状态将被当前细胞状态寄存器记录为故障状态0,直至系统失效或发生重构,避免了间歇故障的影响。只有当原本正常的电子细胞(当前细胞状态寄存器中记录为1)变为故障状态时,移位状态寄存器在触发沿到来时才记录为0,即移位,否则记录为1,即不移位。因此,只有新的故障发生时簇内电子细胞才发生移位。

2.4.5簇内开关盒控制信号寄存器

簇内开关盒控制信号寄存器由N行「log2(M+1)⎤列D触发器构成,具体结构如图14所示。

2.4.6移位信号控制寄存器

移位信号控制寄存器产生控制电子细胞基因寄存器和Df移位的控制信号,具体结构如图15所示。图15中:置位信号需低电平置位,置位后寄存器内D触发器的值为0;Cell_state为细胞状态信号,Cell_state为1时表示细胞正常、为0时表示细胞故障;Shift 1~ShiftS分别为控制S个电子细胞移位的控制信号,当控制信号为逻辑0时,对应的电子细胞中基因寄存器和Df移位,否则不移位。在细胞计数器计数过程中,移位信号控制寄存器中S个D触发器内存储的逻辑值依次由0变为1,即依次锁定相应的控制信号为逻辑1.

3 仿真实验

为了对电子细胞簇的功能进行验证,下面在电子设计软件Xilinx ISE Design Suite 12.2环境下进行仿真实验。选用如图16所示的3输入4输出累计加法器作为目标电路,用一个电子细胞簇实现累计加法器的功能。实验中设定电子细胞簇基因容量为4、细胞容量为6,电子细胞簇的输入个数设为10.

图16所示为具有置位和自检功能的2位累计加法器。图16中:reset为置位输入,Clk为时钟,DI[1:0]为2位数据输入,DO[1:0]为2位数据输出,CO[1:0]为2位自检输出。累计加法器采用时钟上升沿触发,主要功能是将输入数据与当前加法器中存储的数据相加,并在时钟上升沿将计算结果保存至加法器,实现计算累加和的功能。本文中,累计加法器的输出端DO[1:0]输出当前加法器中存储的数据,CO[1:0]输出当前输入数据DI[1:0]与存储数据DO[1:0]之和。因此,可以根据CO[1:0]、DI[1:0]和DO[1:0]3个数据的关系实现累计加法器的自检,当任意时刻出现CO[1:0]的输出值不为DI[1:0]和DO[1:0]之和时电路发生故障。

电子细胞簇实现累计加法器功能时,各电子细胞的布局和布线结果如图17所示。图17中:电子细胞簇的输入为10位数据线,最高位设定为输入逻辑0,低3位分别为置位输入reset和2位数据输入DI;DO和CO为电子细胞簇的4位数据输出,分别表示2位数据输出和2位自检输出;gene 1~gene 6为电子细胞簇内存储的基因,其中gene 1~gene 4为功能基因,gene 5和gene 6为空闲基因。

基因编码共由35位0/1数据构成,采用16进制表示,如表2所示。

累计加法器仿真结果如图18所示。图18中:cluster_in[9:0]为电子细胞簇的10位数据输入线,cluster_in[2]为置位信号,cluster_in[1:0]为累计加法器的2位数据输入;cluster_out[3:0]为电子细胞

表2 基因编码Tab.2 Gene codes

簇的4位输出信号,cluster_out[3:2]为2位数据输出,cluster_out[1:0]为2位自检输出;d_state 1~d_state 6为6个电子细胞中Df的状态;completed为修复完成信号,高电平表示修复完成;fault_carry为故障进位信号,高电平表示修复失败;update_carry为更新进位信号,高电平表示修复成功;bist_gen[3:0]为4位BIST激励信号;fault为故障信号,高电平表示电子细胞簇出现故障;fault_load为故障注入信号,高电平表示注入固定1型故障,低电平表示注入固定0型故障; reset为置位信号,低电平有效;load为基因配置信号,高电平时表示电子细胞簇在进行基因配置; clk为系统时钟。

如图18所示,时钟周期为20 ns,其中:0~110 ns电子细胞簇进行基因配置,110~200 ns电子细胞簇正常运行累计加法器功能,cluster_out[1:0]的值为cluster_out[3:2]的值和cluster_in[1:0]的值之和。因为cluster_in[9:0]不变,所以每个时钟上升沿时刻,累计加法器的数据输出值加1;在200 ns时刻对第2个电子细胞注入固定1型故障,此时cluster_out[1:0]值为11,cluster_out[3:2]值为11,cluster_in[1:0]值为01,自检到故障,假设系统在此时立即激活电子细胞簇,进入故障自修复过程。

修复过程主要分为如下3个步骤:

1)控制单元置位。在接收到故障信号时,控制单元首先对计数器、寄存器等进行置位。在200~220 ns时段,reset信号保持1个系统时钟的低电平,控制单元在时钟上升沿完成置位。

2)BIST故障检测。控制单元中的4位计数器产生BIST激励信号,功能校验器接收BIST响应信号并进行故障检测判断,将判断结果保存至细胞状态寄存器。在210~530 ns时段,bist_gen[3:0]产生0000~1111共16个BIST激励信号,同时功能校验器完成故障检测和判断。在550 ns时刻,判断结果存储在细胞状态寄存器。

3)移位修复。控制单元中细胞计数器从第1个细胞开始计数,控制多路选择器依次输出存储在细胞状态寄存器中的各电子细胞状态,电子细胞根据状态值进行移位,故障计数器和更新计数器根据状态值分别进行计数。在550 ~570 ns时段,输出第1个电子细胞状态,细胞正常,不发生移位,更新计数器计数;在570 ~590 ns时段,输出第2个细胞状态,细胞发生故障,第2~6个电子细胞的基因和Df进行移位,故障计数器计数;在590~650 ns时段,第3~5个细胞均正常,不发生移位;在650 ns时刻更新计数器计数到达最大值,update_carry进位输出信号变为高电平,同时completed修复完成信号变为高电平,故障修复完成,修复成功。

在650~700 ns时段,电子细胞簇重新实现累计加法器功能,且在650 ns时刻电子细胞簇恢复至200 ns故障发生之前时刻的计算状态,计算可继续运行,这对于需要长时间连续运算的系统具有重要意义。这种电子细胞簇结构及自修复方法不仅可以通过基因移位实现硬件故障的自修复,而且在自修复过程中保存了系统运行的中间状态,节省了大量运算时间,提高了系统可靠性和工作效率。

4 可靠性及硬件资源消耗分析

4.1 可靠性分析

当经典的胚胎电子细胞阵列和基于簇结构的胚胎电子细胞阵列实现相同的电路时,设实现电路需要的电子细胞个数为P,阵列中空闲电子细胞个数为Q,电子细胞的总个数为V. 经典的胚胎电子细胞阵列中工作细胞的行数为α、列数为β,采用列移除自修复方法。为使阵列的平均失效前时间(MTTF)值最大,设电子细胞阵列的行数与工作细胞的行数同为α,列数为φ. 阵列中的电子细胞簇个数为U,由文献[12-13]可知当功能细胞个数为4~10时,电子细胞簇的延时、面积等性能最优,本文中设定电子细胞簇基因容量为4. 采用簇内基因移位的自修复方法,α和β的计算公式如(2)式,U和M的计算公式如(3)式:

V=P+Q,α=「P⌉,β= Pα ,φ= Vα ,ìîíïïïïïïïïï

(2)

(3)

假设每个电子细胞的可靠度[14-16]为r(t)=e-λt,其中λ=10-6h-1,则采用列移除的经典胚胎电子细胞阵列可靠度为

(4)

MTTF值为

(5)

基于电子细胞簇的电子细胞阵列可靠度为

(6)

MTTF值为

(7)

在总的电子细胞个数相同的情况下,当阵列中的电路规模和空闲细胞个数发生变化时,由图19可以看出:

1)当电路规模确定时,随着电子细胞阵列中空闲电子细胞个数的增加,MTTFa和MTTFc值升高,而且MTTFc的上升速度远大于MTTFa,MTTFc值也远大于MTTFa,说明基于簇结构的胚胎电子细胞阵列的资源利用率更高,因此MTTF值更高。

2)当阵列中空闲细胞的个数不足电路规模的1/4时,经典电子细胞阵列的MTTF值高于电子细胞簇阵列。这主要是因为受到簇结构中基因容量和细胞容量的限制,无法保证每个电子细胞簇中至少存在1个空闲细胞,导致可靠性降低。因此,为了保证具有更高的可靠性,可以根据电路规模大小,选用不同基因容量和细胞容量的电子细胞簇结构。

4.2 硬件资源消耗分析

以金属- 氧化物半导体(MOS)场效应晶体管的数量估计电子细胞簇的硬件资源消耗。设定电子细胞簇的输入个数为K,由文献[13]可知,当K值为2N+2时,电子细胞簇在逻辑利用率和簇输入个数之间达到较好的平衡,因此本文设定K值为2N+2.

由第2节给出的电子细胞簇中电子细胞、簇内开关盒、控制单元等结构,估计电子细胞簇的MOS管数量。假设本文中所有的多路选择都由2选1多路选择器组合而成,记1个2选1多路选择器的MOS管数量为A,基于传输管结构的2选1多路选择器的MOS管数量为8[17],D触发器的MOS管数量为24,与门、或门的MOS管数量为6,异或门的MOS管数量为9,非门的MOS管数量为2[18].

4.2.1簇内开关盒的资源消耗模型

簇内开关盒由N个M+1输入的多路选择器构成,这些多路选择器由2选1多路选择器级联构成,簇内开关盒的MOS管数量为

(8)

4.2.2控制单元的资源消耗模型

4位计数器包括4位数据输出和1位进位输出,每个输出对应1个D触发器和3个2选1多路选择器以及3个与门构成的进位控制逻辑。4位计数器的MOS管数量为

H1=(24+A×3)×5+6×3.

(9)

细胞计数器、故障计数器和更新计数器与4位计数器的结构非常相似,仅计数位数和进位控制逻辑稍有不同,在进行硬件资源消耗估计时进位控制逻辑可忽略不计。细胞计数器的MOS管数量为

H2=(24+A×3)×(「log2S⎤+1)+
6×(「log2S⎤-1).

(10)

故障计数器、更新计数器与细胞计数器的计数位数相同,3个计数器具有相同的MOS管数量,记故障计数器的MOS管数量为H3、更新计数器的MOS管数量为H4,则

H3=H4=H2.

(11)

功能校验器中,每1个BIST响应信号对应2个D触发器、2个2选1多路选择器、1个与门、1个或门和1个4输入比较器。4输入比较器由2个2输入异或门和1个2输入或门构成。功能校验器的MOS管数量为

H5=(24×2+A×2+6×2+9×2+6)×S.

(12)

细胞状态寄存器由2S个D触发器、S个2选1多路选择器、S个2输入与门、S个2输入或门和S个非门组成,MOS管数量为

H6=S×(2×24+A+2×6+2).

(13)

簇内开关盒控制信号寄存器由N行「log2(M+1)⎤列的D触发器构成,MOS管数量为

H7=24×N×「log2(M+1)⎤.

(14)

移位信号控制寄存器中,每个移位控制信号对应1个D触发器、1个2选1多路选择器和1个或门,MOS管数量为

H8=(24+A+6)×S.

(15)

控制单元中还包括2个S输入的多路选择器和1个3输入或门(由2个2输入或门级联构成)。则总的MOS管数量为

(16)

控制单元总的MOS管数量为

(17)

4.2.3 电子细胞的资源消耗模型

电子细胞中的基因寄存器由L个D触发器构成,寄存器的MOS管数量为

Hg=24×L.

(18)

(19)

4.2.4电子细胞簇的资源消耗分析

下面根据簇内开关盒、控制单元和电子细胞的硬件资源消耗模型,计算电子细胞簇的硬件资源消耗,分析各模块在电子细胞簇中的资源占用率特点。

构成电子细胞簇的总的MOS管数量为

Ha=Hs+Hc+He×S.

(20)

簇内开关盒在电子细胞簇中的资源占用率为

(21)

控制单元在电子细胞簇中的资源占用率为

(22)

电子细胞在电子细胞簇中的资源占用率为

(23)

基因寄存器在电子细胞簇中的资源占用率为

(24)

当电子细胞簇的基因容量N在4~10之间、空闲细胞个数M在1~10之间变化时,电子细胞簇中各模块的资源占用率Uc、Us、Ue、Ug如图20所示。由图20可见,随着基因容量和空闲细胞个数的变化,簇内开关盒、控制单元、电子细胞和基因寄存器在整个电子细胞簇中的资源占用率主要呈现以下2个特点:

1)控制单元、电子细胞和基因寄存器的资源占用率基本保持稳定,其中电子细胞的资源占用率最高,约80%以上,电子细胞中基因寄存器的资源占用率约在40%~50%之间;控制单元的资源占用率较低,约20%以下;簇内开关盒的资源占用率最低,可忽略不计。

2)随着基因容量的增大和空闲细胞个数的增加,电子细胞所占的比例越来越大,控制单元所占的比例越来越小。当基因容量为4、空闲细胞个数为1时,电子细胞的资源占用率为77.52%,控制单元的资源占用率为22.15%;当基因容量为10、空闲电子细胞个数为10时,电子细胞的资源占用率升高至84.76%,控制单元的资源占用率降低至13.32%.

基因存储的硬件资源消耗过大是造成电子细胞阵列硬件资源消耗大、限制电子细胞阵列规模的关键原因。在经典胚胎电子细胞阵列中,基因存储的硬件消耗占所有硬件消耗的90%以上;在电子细胞簇中,基因存储的硬件消耗占到约50%. 因此,本文对经典胚胎电子细胞阵列和基于簇结构的电子细胞阵列中基因存储硬件消耗进行对比分析。

经典胚胎电子细胞结构中,开关盒至少由4个4选1多路选择器构成,每个多路选择器有2位控制信号;功能模块一般由16位的LUT和D触发器构成,LUT有4个输入端,每个输入端至少从开关盒4个方向的输入信号中选择1个信号,LUT的每个输入端连接1个4选1多路选择器,每个多路选择器有2位控制信号。因此,经典胚胎电子细胞中,基因至少有33位编码,具体的基因编码如表3所示。

表3 电子细胞基因信息Tab.3 Gene code of cell

在经典胚胎电子细胞阵列中实现确定的目标电路时,可由(2)式计算得到阵列的行数α和列数β. 基因存储模块由SRAM存储器构成,在计算阵列中基因存储需要的MOS管数量时,忽略SRAM存储器中的译码电路等控制逻辑,仅计算SRAM单元数量,每个SRAM单元由6个MOS管构成。采用列移除的自修复方法,每个电子细胞需要存储所在行的所有电子细胞基因信息。因此,基因存储需要的MOS管数量为

Hm=6×33×β×P.

(25)

当电子细胞簇阵列实现相同的电路时,所需要的电子细胞簇个数为

Nc=「P/N⎤.

(26)

记阵列中基因寄存器的MOS管数量为

Hg(N,M)=Hg×(N+M)×Nc.

(27)

假设电子细胞簇的基因容量为4,当电子细胞簇中空闲细胞个数分别为2、4、6、8时,随着电路规模由100增加至400,Hm和Hg(4,2)、Hg(4,4)、Hg(4,6)、Hg(4,8)的硬件消耗变化情况如图21所示。由图21可见:随着电路规模的增加,Hg(4,2)、Hg(4,4)、Hg(4,6)、Hg(4,8)呈线性增长,而Hm则急剧增长,当电路规模为100时Hm略低于Hg(4,8);当电路规模为400时Hm增长至Hg(4,8)的约1.6倍;Hg(4,2)、Hg(4,4)、Hg(4,6)和Hg(4,8)之间呈确定的比例关系,如Hg(4,8)为Hg(4,2)的2倍。

假设电子细胞簇中的空闲电子细胞个数为2,当电子细胞簇的基因容量分别为4、6、8、10时,随着电路规模由100增加至400,Hm和Hg(4,2)、Hg(6,2)、Hg(8,2)、Hg(10,2)的变化情况如图22所示。由图22可见:随着电路规模的增加,Hg(4,2)、Hg(6,2)、Hg(8,2)、Hg(10,2)呈线性增长,Hm则急剧增长;Hg(4,2)、Hg(6,2)、Hg(8,2)、Hg(10,2)的值相差不大,且远低于Hm.

由图21和图22可以得出,当需要实现的电路规模较大时,基于簇结构的胚胎电子细胞阵列基因存储所需的MOS管数量更少,硬件消耗更低。而且基于簇结构的胚胎电子细胞阵列在实现确定的电路时,基因存储所需要的硬件消耗与电子细胞簇的基因容量关系不大,与电子细胞簇中的空闲细胞个数相关,空闲细胞个数越少,基因存储的硬件消耗越低。

4.3 与传统冗余备份方法的比较

在传统基于冗余备份的容错方法中,混合式三模冗余[19]是一种常用的容错方法。基于这种方法设计的容错系统称为混合式三模冗余系统,该系统由一定数量完全相同的电路模块构成,其中3个电路模块同时工作,构成三模冗余结构,其余电路模块作为备份模块。当工作模块中出现故障时,系统通过控制电路将故障的工作模块移除,同时选择一个备份模块作为工作模块重新构成三模冗余结构,实现故障修复。

在混合式三模冗余系统中,所有的电路模块由相同数量的基本逻辑单元构成。基本逻辑单元中包括1个至少33位的SRAM存储器(约198个晶体管)、1个4输入1输出的LUT单元(由16位SRAM存储单元和16选1的多路选择器等效,其中多路选择器约120个晶体管)、1个D触发器(24个晶体管)、1个开关盒(至少由4个4选1多路选择器构成,约96个晶体管)、4个控制LUT输入端选择的多路选择器(至少由4个4选1多路选择器构成,约96个晶体管)和1个控制时序输出的2选1多路选择器(8个晶体管)。因此,记基本逻辑单元包含的晶体管数量为Hx,则Hx的估计值为542.

选择基因容量为4、细胞容量为6的电子细胞簇阵列实现相同的目标电路,记构成电子细胞簇的晶体管数量为Hy,则由(8)式~(20)式可知Hy的估计值为11 394.

实现目标电路需要的基本逻辑单元个数记为Z,当Z已知时,由(26)式得到电子细胞簇个数Nc,则电子细胞簇阵列的硬件资源消耗为

Cy=Hy×Nc.

(28)

记混合式三模冗余系统中电路模块的数目为n,则当n满足(29)式时,认为系统与电子细胞簇阵列的硬件资源消耗相似。

n= CyHx×Z .

(29)

混合式三模冗余系统中,当至少2个电路模块能够正常工作时系统正常,则系统可靠度为

(30)

式中:λ=10-6h-1.

系统的MTTF值记为MTTFs:

(31)

电子系统中能够修复故障的最大次数称为系统故障修复次数。在混合式三模冗余系统中,修复一次故障需要移除整个电路模块,因此故障修复次数为

N1=n-2.

(32)

电子细胞簇阵列的故障修复次数记为N2,当电子细胞簇的基因容量为4、细胞容量为6时,计算公式为

N2=Nc×2.

(33)

为了对电子细胞簇阵列和混合式三模冗余系统进行详细比较,选择不同规模的并行乘法器电路和数字滤波器电路,以硬件资源消耗、故障修复次数、系统可靠性等为具体指标进行分析和计算。其中:并行乘法器分别选择16位乘法器Mult16、32位乘法器Mult32和64位乘法器Mult64;Xilinx ISE 12.2软件给出3种乘法器需要的LUT个数,分别为72、280和1 088. 设定数字滤波器电路的输入信号位宽为8位,冲击响应位宽为8位,对于10阶数字滤波器Filter10、15阶数字滤波器Filter15和20阶数字滤波器Filter20,分别计算经过Odin_II和ABC逻辑综合、映射后,数字滤波器消耗的基本逻辑单元个数。根据基本逻辑单元个数估算混合式三模冗余系统中单个电路模块的晶体管数量、电子细胞簇个数和簇阵列中晶体管数量,具体结果如表4所示。

表4 硬件资源消耗Tab.4 Hardware cost

由表4可以看出,由基本逻辑单元和电子细胞簇分别实现目标电路时,电子细胞簇阵列的硬件资源消耗更大;由(29)式可知,电子细胞簇阵列的硬件资源消耗与电路模块数目为6的混合式三模冗余系统相似。因此,当目标电路的可靠性要求较低、使用混合式三模冗余方法设计时,电路模块数目小于等于6,混合式三模冗余系统在硬件资源消耗上更具有优势。

当硬件资源消耗相似时,由(6)式、(7)式、(30)式、(31)式、(32)式、(33)式分别计算混合式三模冗余系统和电子细胞簇阵列的故障修复次数、可靠性,具体结果如表5所示。

表5 硬件资源消耗、故障修复次数和可靠性对比Tab.5 Comparison of hardware cost, fault repair times and MTTF

由表5可以看出,在硬件资源消耗相似情况下,电子细胞簇阵列的故障修复次数和可靠性都远高于混合式三模冗余系统,而且随着目标电路规模的增大,电子细胞簇阵列的高可靠性优势越来越明显。例如:对于Mult16电路,电子细胞簇阵列MTTF值是混合式三模冗余系统MTTF值的约7.66倍;对于Filter20电路,电子细胞簇阵列MTTF值与混合式三模冗余系统MTTF值的比值达到约86.84倍,说明电子细胞簇阵列能够更好地利用冗余资源。因此,对于规模较小、极少发生故障、可靠性要求不高的电路,可以使用传统冗余备份方法实现容错;对于运行在极端条件下可靠性要求较高的大规模电路,电子细胞簇阵列能够更好地满足电路可靠性要求。

5 结论

本文提出了一种基于簇结构的胚胎电子细胞阵列,介绍了电子细胞簇的结构,提出了一种基于簇内基因移位的故障自修复方法。通过仿真实验对电子细胞簇的功能进行了验证,并对电子细胞簇的可靠性和硬件资源消耗进行了分析。主要结论如下:

1)电子细胞簇的故障自修复能力强。基于簇内基因移位的故障自修复方法,在自修复过程中可有效保留电路运行的中间状态,适用于时序电路的自修复。而且电子细胞簇可对簇内所有的电子细胞进行并行BIST检测,检测速度快,可同时检测、修复多个电子细胞的故障,故障自修复能力更强。

2)电子细胞簇的资源利用率高,可靠性高。与采用行(列)移除自修复方法的电子细胞阵列相比,在总的电子细胞个数相同时,随着阵列中的空闲电子细胞个数增加,基于簇结构的电子细胞阵列对空闲细胞具有更高的资源利用率,因此具有更高的可靠性。

3)基因存储所需的硬件资源消耗低。随着需要实现的电路规模增加,经典胚胎电子细胞阵列中基因存储所需的硬件资源急剧增长,而基于簇结构的电子细胞阵列中基因存储所需的硬件资源呈线性增长,且远低于经典胚胎电子细胞阵列,具有更低的硬件资源消耗。

参考文献(References)

[1]Mange D, Sanchez E, Stauffer A, et al. Embryonics: a new methodology for designing field-programmable gate arrays with self-repair and self-replicating[J]. IEEE Transactions on Very Large Scale Integration Systems,1998,6(3):387-399.

[2]Ortega-Sanchez C, Mange D, Smith S, et al. Embryonics: a bio-inspired celluar architecture with fault-tolerant properties[J].Genetic Programming and Evolvable Machines,2000,1(3):187-215.

[3]李丹阳,蔡金燕,孟亚峰,等. 基于双模冗余的胚胎电子阵列在线故障检测[J].北京航空航天大学学报,2017,43(6):1112-1122.

LI Dan-yang, CAI Jin-yan, MENG Ya-feng, et al. Online fault detection based on dual modular redundancy for embryonics array[J]. Journal of Beijing University of Aeronautics and Astronautics, 2017, 43(6):1112-1122. (in Chinese)

[4]Kim S, Chu H, Yang I, et al. A hierarchical self-repairing architecture for fast fault recovery of digital systems inspired from paralogous gene regulatory circuits[J]. IEEE Transactions on Very Large Scale Integration Systems,2012, 20(12):2315-2328.

[5]Samie M, Dragffy G, Tyrrell A M. Novel bio-inspired approach for fault-tolerant VLSI systems[J]. IEEE Transactions on Very Large Scale Integration Systems, 2013,21(10):1878-1891.

[6]Bremner P, Liu Y, Samie M, et al. SABRE: a bio-inspired fault-tolerant electronic architecture[J]. Bioinspiration & Biomimetics,2013,8(1):1-16.

[7]李岳, 王南天, 钱彦岭. 原核细胞仿生自修复电路设计[J].国防科技大学学报, 2012, 34(3): 154-157.

LI Yue, WANG Nan-tian, QIAN Yan-ling. Self-healing circuit design inspired by prokaryotic cell[J]. Journal of National University of Defense Technology, 2012, 34(3): 154-157.(in Chinese)

[8]徐佳庆, 窦勇, 吕启, 等. 电子组织: 一种具有自适应能力的可重构仿生硬件结构[J]. 计算机研究与发展, 2012, 49(9): 2005-2017.

XU Jia-qing, DOU Yong,LYU Qi, et al. eTissue: an adaptive reconfigurable bio-inspired hardware architecture[J]. Journal of Computer Research and Development, 2012, 49(9): 2005-2017. (in Chinese)

[9]Samie M, Farjah E, Dragffy G. Cyclic metamorphic memory for cellular bio-inspired electronic systems[J]. Genetic Programming and Evolvable Machines,2008,9(3):183-201.

[10]朱赛, 蔡金燕, 孟亚峰,等. 胚胎电子细胞的部分基因循环存储结构[J]. 国防科技大学学报, 2016, 38(1): 78-85.

ZHU Sai, CAI Jin-yan, MENG Ya-feng, et al. Structure of partial-DNA cyclic memory for embryonics cell[J]. Journal of National University of Defense Technology, 2016, 38(1): 78-85. (in Chinese)

[11]Zhu S, Cai J Y, Meng Y F, et al. Partial-DNA cyclic memory for bio-inspired electronic cell[J]. Genetic Programming and Evolvable Machines,2016,17(2):83-117.

[12]Alexander M, Vaughn B, Jonathan R. Speed and area tradeoffs in cluster-based FPGA architectures[J]. IEEE Transactions on Very Large Scale Integration Systems,2000,8(1):84-93.

[13]Vaughn B, Jonathan R, Alexander M. 深亚微米FPGA结构与CAD设计[M].王伶俐, 杨萌, 周学功,译.北京:电子工业出版社, 2008:123.

Vaughn B, Jonathan R, Alexander M. Architecture and CAD for deep-submicron FPGAs[M]. WANG Ling-li,YANG Meng,ZHOU Xue-gong,translated. Beijing: Publishing House of Electronics Industry, 2008:123. (in Chinese)

[14]张砦, 王友仁. 基于可靠性优化的芯片自愈型硬件细胞阵列布局布线方法[J]. 航空学报, 2014, 35(12): 3392-3402.

ZHANG Zhai, WANG You-ren. Method to reliability improvement of chip self-healing hardware by array layout reformation[J].Acta Aeronautica et Astronautica Sinica, 2014, 35(12): 3392-3402. (in Chinese)

[15]朱赛, 蔡金燕, 孟亚峰, 等. 具有故障细胞的胚胎电子阵列上目标电路评估[J]. 兵工学报, 2016, 37(11): 2120-2127.

ZHU Sai, CAI Jin-yan, MENG Ya-feng, et al. Evaluation of target circuit realized on embryonics array with faulty cells[J].Acta Armamentarii, 2016, 37(11): 2120-2127. (in Chinese)

[16]王涛, 蔡金燕, 孟亚峰, 等. 胚胎电子细胞阵列中空闲细胞的配置[J]. 航空学报, 2017, 38(4): 320266-1-320266-16.

WANG Tao, CAI Jin-yan, MENG Ya-feng, et al. Configuration of idle cells in embryonics electronic cell array[J]. Acta Aeronautica et Astronautica Sinica, 2017, 38(4): 320266-1-320266-16. (in Chinese)

[17]杨之廉,许军.集成电路导论[M].第3版.北京:清华大学出版社,2012:103.

YANG Zhi-lian, XU Jun. Integrate circuit introduction[M].3rd ed. Beijing: Tsinghua University Press,2012:103.(in Chinese)

[18]James A H, James A W, Andy M. Optimising variability tolerant standard cell libraries[C]∥Proceedings of 2009 IEEE Congress on Evolutionary Computation. Trondheim, Norway: IEEE, 2009:2273-2280.

[19]Avizienis A, Gilley G C, Mathur F P, et al. The STAR(self-testing and repairing) computer: an investigation of the theory and practice of fault-tolerant computer design[J]. IEEE Transactions on Computers,1971, C-20(11):1312-1321.

猜你喜欢
寄存器计数器移位
MDT诊疗模式在颞下颌关节盘不可复性盘前移位中的治疗效果
采用虚拟计数器的电子式膜式燃气表
Lite寄存器模型的设计与实现
关于Bergman加权移位算子的n-亚正规性
常用电子测速法在某数字信号处理器中的应用*
大型总段船坞建造、移位、定位工艺技术
移位寄存器及算术运算应用
基于Multisim10.1的任意进制计数器的设计与实现
SR620型与53230A型计数器的性能测试
算盘是个“小气鬼”