可进化数字电路及其进化方法

文档序号:7525449阅读:276来源:国知局

专利名称::可进化数字电路及其进化方法
技术领域
:本发明涉及一种可进化硬件设备,尤其涉及一种具有通用测试接口的可进化数字电路及其进化方法。
背景技术
:可进化硬件技术的研究分为外部可进化硬件研究和内部可进化硬件的研究。外部可进化硬件的研究是利用软件的算法和电路建模来模拟实际电路的进化过程,从而得到合适的电路信息,例如网表,将最终得到的信息用硬件电路实现。内部可进化硬件的研究是利用可编程可重构的硬件作为电路的载体而不是在软件中建模,从而能使电路在进化过程中真正与环境交互影响,达到真正意义上实用的可进化硬件。参考文件[l]、[2],近年来随着各种商用高性能现场可编程门阵列(FieldProgrammableGateArray)(下称"FPGA")的不断涌现,借助于主流商用FPGA平台的内部可进化电路研究方法是目前大多学者的选择。现有的可进化平台的内部可进化电路大多是时序电路,在电路的任何节点都有可能出现触发器,也可能出现异步反馈回路,这些可能性不但使电路进化过程变慢,还可能使电路不稳定,增加了评估电路适应度的难度,参考文件[2]、[3]和[4]。因此,需要提供一种有效的电路框架来避免上述这些问题。现有的商用FPGA平台的内部结构复杂,通常不能进行随机的配置,否则会对芯片造成损害,所以一般要先在芯片内部搭建一个初始电路,这个电路并不完成预期的功能,但提供了完成预期功能的可能性。同时,在利用FPGA作为硬件电路载体的平台中,通常需要定义可进化数字电路与控制其变异的控制模块间的接口,如Xilinx有ICAP接口(参考文件[5])和XHWIF接口(参考文件[6])。这些接口经过FPGA厂商的包装,用户只能看到其提供的编程接口,受到很多应用上的限制。因为技术的涉密性质,各厂商商用FPGA平台内部的控制配置接口互不兼容,可进化电路的电路框架和算法在各平台不通用。因此,需要提供一种可进化数字电路,以克服上述电路的通用性差、接口应用不灵活等缺陷。参考文件[l]安德森'P(1998),演变的硬件(EvolvableHardware):在模拟和现实中的硬件电路的人为演变,M.Sc论文,丹麦奥尔胡斯大学。胡林乌斯*G、史密斯*S、特雷尔'A.;Virtex设备的安全内在演变(SafeintrinsicevolutionofVirtexdevices),演变的硬件,2000年。2000年7月13-15日的第二个NASA/DoD车间,第195-202页。胡林乌斯*G、史密斯*S、特雷尔'A.;通过互联网可重新配置的逻辑的virtex设备的内在演变(Theintrinsicevolutionofvirtexdevicesthroughinternetreconfigurablelogic),第三次国际会议关于演变系统的记录,2000年4月。D.LEVI禾卩S.Guccione,Geneticfpga:在主流FPGA设备上演变的稳定电路(Evolvingstablecircuitsonmainstreamfpgadevices)。在关于演变硬件的第一个NASA/DoD车间中。正EE计算机协会,1999年。B'布鲁杰特,P'詹姆斯-洛克斯皮,E'凯勒,S*麦克米兰和P'Sundararajan,"自动重新构造的平台模式"(ASelf-reconfiguringPlatform),现场可编程序的逻辑和应用的处理,(Springer-Verlag),2003年9月第565-574页。Xilinx公司,JBits2.8SDK用于Virtex文献[M],2001年。
发明内容本发明的目的在于提供一种具有通用测试接口的可进化数字电路及其进化方法,提高可进化数字电路的通用性,该电路兼容时序电路与组合电路。本发明提供了一种可进化数字电路,包括可进化组合电路和用作接口的边界扫描模块和连接单元,其中,所述连接单元的输出端与可进化组合电路的输入端连接,所述连接单元与所述边界扫描模块相连,以将边界扫描模块施加的激励向量输入到所述可进化组合电路。本发明还提供了上述可进化数字电路的进化方法,该方法包括以下步骤构造所述可迸化数字电路;连接单元将所述边界扫描模块的输出作为激励向量,输入到所述可进化组合电路的输入端,并在下一个周期从所述边界扫描模块中读回响应向量,顺序输入各种可能的测试向量,通过输入输出的关系,用评估算法确定电路是否完成进化,若未完成进化,通过控制机制改变电路的功能,再重新评估,直到认为电路完成进化。本发明又提供了一种可进化数字电路,还包括状态寄存器,其中,所述可进化组合电路的输出端与所述状态寄存器的输入端连接,所述连接单元为多路选择器,所述多路选择器的一路与所述边界扫描模块相连,另一路与所述状态寄存器的输出端相连,在选通与所述边界扫描模块相连的一路时,将边界扫描模块施加的激励向量输入到所述可进化组合电路,在选通与所述状态寄存器相连的一路时,将所述状态寄存器的输出反馈到所述可进化组合电路中。本发明还提供了上述可进化数字电路的进化方法,该方法包括以下步骤构造所述可进化数字电路;所述多路选择器将所述边界扫描模块的输出作为激励向量,输入到所述可进化组合电路的输入端,并在下一个周期从所述边界扫描模块中读回响应向量,顺序输入各种可能的测试向量,通过输入输出的关系,用评估算法确定电路是否完成进化,若未完成进化,通过控制机制改变电路的功能,再重新评估,直到认为电路完成进化;将多路选择器的功能改变,将所述状态寄存器的输出输入到可进化组合电路中,形成反馈。其中,边界扫描模块由JTAG边界扫描链构成,它由各个边界扫描单元连接而成。JTAG边界扫描链是一条由FPGA内部可编程资源构建的可变长度的扫描链,兼容正EE1149.1标准,用于对电路进行测试,包括测试向量的输入及响应向量的回读。通过将时序电路分解为组合电路加状态寄存器两部分,使组合电路的部分可以使用全无反馈回路的单向结构,避免了电路的异步反馈,同时使电路变得可测试,即能够像测试组合电路一样测试时序电路,只要将时序电路的状态表对应成组合电路的真值表即可。通过可变长度的JTAG边界扫描链对电路进行测试,能在任何FPGA上实现标准的测试结口,实现了通用性,并且因为JTAG扫描链是两个并行的移位寄存器,占用资源极少,是一种高效的测试结构。图l是可进化数字电路的电路结构及与TAP(TestAccessPort)控制器的连接的示意图2是描述LUT阵列的内部细节的示意图。具体实施例方式下面结合附图和具体实施方式对本发明的方案作进一步描述。本发明的可进化数字电路电路结构主要是用于内部可进化硬件的应用,如图1所示。此电路主要分为三部分,第一部分是可进化组合电路,具体为用于实现各种逻辑功能的LUT(LookUpTable,查找表)阵列,LUT阵列的细节如图2所示,也可以是其他结构例如门阵列;第二部分是作为状态寄存器的D触发器组,第三部分是用作接口的边界扫描模块,具体为JTAG边界扫描链,它由各个边界扫描单元连接而成,各单元可用于向电路施加激励,也可用于从电路读回响应,根据需要来连接。其中第一部分的输入是作为连接单元的多路选择器的输出,在该实施例中为一个2选1的选择器的输出。可选择信号源来自状态寄存器的输出和JTAG边界扫描链施加的激励向量。将本发明的基础电路结构在FPGA中构造出来即可通过位于FPGA芯片内部的TAP控制器(即JTAG控制器)对其进行测试。因为一般的FPGA支持利用JTAG对FPGA内电路进行重新配置,包括全部重新配置和部分配置,并且一般支持自定义的用户指令,可用于存取利用FPGA可编程资源构建的JTAG链条。所以利用本文提出的电路结构可实现利用标准的JTAG控制器进行可进化电路的进化实验。构造此电路结构的方法与一般基于FPGA的电路开发一致,可从不同层次描述此硬件结构,对于支持在线重新配置的FPGA,可通过其所支持的手段(例如JTAG在线下载,主动串并行下载,从动串并行下载)对硬件进行重新配置,例如使用Xilinx公司的FPGA,可以利用其开发工具。LUT输出阵列的输出是否经过D触发器是可选的,因为FPGA是个可编程的器件,SLICE里的连接关系可通过位流文件中不同的信息来决定,其中一些小部分位流信息用于配置LUT的输出是否通过D触发器再输送到SLICE外部。当LUT的输出通过了D触发器再输出到SLICE外部,则形成时序电路结构,否则形成组合电路结构。利用图1中的电路进行时序电路进化的具体步骤如下(1)将图1的电路结构在FPGA中构造出来。电路中各个节点与JTAG扫描链相连,连接的节点包括输入端口,输出端口和其他重要的要监测或者控制的节点。此时电路实现的功能并不是预期的功能。通过以下的流程逐步得到预期的功能电路。(2)第一阶段,多路选择器将JTAG扫描链的输出输送到图1中LUT阵列的输入端口,作为激励向量,并在下一个周期从JTAG扫描链中读回响应向量,顺序输入各种可能的测试向量,通过输入输出的关系,评估电路的适应度,即与目标的接近程度。(3)通过评估算法,得到电路接近目标电路的程度,即适应度,如果电路已经与目标电路功能一样,即完全适应,得到满的适应度,否则根据评估算法,得到一个标记目前可进化电路的功能与目标功能差距的一个适应度值。对比进化算法所要达到的适应度,确定电路是否完成进化,若未完成进化,通过JTAG或其他控制机制改变电7路的功能,再重新评估,直到认为电路己完成预期功能。(4)第二阶段,将多路选择器的功能改变,使之能将状态寄存器的输出与LUT阵列的输入连接起来,形成反馈。如果要完成的电路是组合电路,只要在配置电路结构时去除图1中的作为状态寄存器的D触发器组,并一直将作为连接单元的多路选择器的功能选择为将JTAG扫描链的激励与LUT输入相连即可,即只要上述步骤的(1)(2)(3)。图1所示结构使电路能被有效地评估,同时因为通过JTAG链将控制电路与可进化电路相连,可进化电路的每一个输入输出只对应一个D触发器,使可进化电路与控制电路之间的接口所占用的资源最小化,并且提高接口应用的灵活性和通用性。可见,本发明的电路可以进行数字电路的进化,并提供通用的测试评估接口,而完成这些多功能要用到的附加资源极少。上述仅为本发明的较佳实施例,并非用来限定本发明的保护范围。本发明应由所附权利要求加以限定。权利要求1.一种可进化数字电路,其特征在于,包括可进化组合电路、用作接口的边界扫描模块和连接单元,其中,所述连接单元的输出端与可进化组合电路的输入端连接,所述连接单元与所述边界扫描模块相连,以将边界扫描模块施加的激励向量输入到所述可进化组合电路。2.如权利要求1所述的可进化数字电路,其特征在于,所述可进化数字电路还包括状态寄存器,其中,所述可进化组合电路的输出端与所述状态寄存器的输入端连接,所述连接单元为多路选择器,所述多路选择器的一路与所述边界扫描模块相连,另一路与所述状态寄存器的输出端相连,在选通与所述边界扫描模块相连的一路时,将边界扫描模块施加的激励向量输入到所述可进化组合电路,在选通与所述状态寄存器相连的一路时,将所述状态寄存器的输出反馈到所述可进化组合电路中。3.如权利要求2所述的可进化数字电路,其特征在于,状态寄存器是D触发器组。4.如权利要求1或2所述的可进化数字电路,其特征在于,所述可进化数字电路在FPGA中构造出来。5.如权利要求1或2所述的可进化数字电路,其特征在于,所述可进化组合电路为用于实现各种逻辑功能的LUT阵列。6.如权利要求1或2所述的可进化数字电路,其特征在于,所述边界扫描模块为可变长度的JTAG边界扫描链。7.如权利要求6所述的可进化数字电路,其特征在于,所述JTAG边界扫描链由各个边界扫描单元连接而成,各扫描单元可用于向电路施加激励,也可用于从电路读回响应,根据需要来连接。8.—种可进化数字电路的进化方法,其中,该可进化数字电路为权利要求l所述的可进化数字电路,其特征在于,该方法包括以下步骤构造所述可进化数字电路;连接单元将所述边界扫描模块的输出作为激励向量,输入到所述可进化组合电路的输入端,并在下一个周期从所述边界扫描模块中读回响应向量,顺序输入各种可能的测试向量,通过输入输出的关系,用评估算法确定电路是否完成进化,若未完成进化,通过控制机制改变电路的功能,再重新评估,直到认为电路完成进化。9.一种可进化数字电路的进化方法,其中,该可进化数字电路为权利要求2所述的可进化数字电路,其特征在于,该方法包括以下步骤构造所述可进化数字电路;所述多路选择器将所述边界扫描模块的输出作为激励向量,输入到所述可进化组合电路的输入端,并在下一个周期从所述边界扫描模块中读回响应向量,顺序输入各种可能的测试向量,通过输入输出的关系,用评估算法确定电路是否完成进化,若未完成进化,通过控制机制改变电路的功能,再重新评估,直到认为电路完成进化;将多路选择器的功能改变,将所述状态寄存器的输出输入到可进化组合电路中,形成反馈。全文摘要本发明提供了一种可进化数字电路及其进化方法,可进化数字电路包括可进化组合电路、用作接口的边界扫描模块和连接单元,可进化组合电路的输出端与所述状态寄存器的输入端连接,连接单元为多路选择器,多路选择器的一路与边界扫描模块相连,另一路与状态寄存器的输出端相连,在选通与边界扫描模块相连的一路时,将边界扫描模块施加的激励向量输入到可进化组合电路,在选通与状态寄存器相连的一路时,将状态寄存器的输出反馈到所述可进化组合电路中。该可进化数字电路具有通用测试接口,提高可进化数字电路的通用性,该电路兼容时序电路与组合电路。文档编号H03K19/177GK101510775SQ20091004785公开日2009年8月19日申请日期2009年3月20日优先权日2009年3月20日发明者来金梅,杨华秋,童家榕,陈利光申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1