发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于化学反应动力学的组合逻辑电路设计方法,该方法借助于卡诺图作部分映射,减少使用的化学反应方程数目而不影响所实现的逻辑功能,具有普适一般性,且通俗易懂。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于化学反应动力学的组合逻辑电路设计方法,根据设定的逻辑功能,得到一张反映输入信号、输出信号逻辑关系的真值表,将该真值表通过卡诺图作部分映射到形式化学反应网络CRNs,从而实现该设定逻辑功能。
优选的:所述形式化学反应网络CRNs包括背景反应、主要反应和修正反应;其中,背景反应用于通过表示稳定的单个比特,得到稳定的输入、输出信号;主要反应用于将真值表所涵盖的逻辑功能,部分映射到形式化学反应网络CRNs当中,使得的形式化学反应网络CRNs能实现其真值表所涵盖的逻辑功能;修正反应用于使得输出稳定在同等输入水平上,不产生输出的放大。
优选的:所述部分映射是指对于卡诺图中的小分隔,只将逻辑值为1的小分隔映射为化学反应方程。
优选的:对输入、输出均作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初在系统中Z′0的浓度为0,得到的修正反应为:
Z′1+Z0→Z1
;
Z′1+Z1→Z1
其中,Z′1表示预生成物Z′的逻辑值为1,Z0表示输出信号Z的逻辑值为0,Z1表示输出信号Z的逻辑值为1,Z′0表示预生成物Z′的逻辑值为0。
对输入、输出均作双稳态的背景反应或者仅对输入作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初系统总Z′0的浓度为10nM,得到的修正反应为:
Z′1+Z0→Z1
;
Z′0+Z1→Z0
其中,Z′1表示预生成物Z′的逻辑值为1,Z0表示输出信号Z的逻辑值为0,Z1表示输出信号Z的逻辑值为1,Z′0表示预生成物Z′的逻辑值为0。
优选的:对2输入-1输出的逻辑电路,其输入、输出均作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初在系统中Z′0的浓度为0构建形式化学反应网络CRNs的方法:
步骤11,构建背景反应,根据两个输入信号构建输入、输出均作双稳态的背景反应;
根据第一输入信号构建其稳态背景反应方程式:
X0+X1→SX
SX+X0→3X0;
SX+X1→3X1
其中,X表示第一输入信号,X1表示第一输入信号逻辑1,X0表示第一输入信号逻辑0,SX表示第一输入信号中间产物,→表示反应符号,其左边表示反应物,右边表示生成物。
根据第二输入信号构建其稳态背景反应方程式:
Y0+Y1→SY
SY+Y0→3Y0;
SY+Y1→3Y1
其中,Y表示第二输入信号,Y1表示第二输入信号逻辑1,Y0表示第二输入信号逻辑0,SY表示第二输入信号中间产物。
根据输出信号构建其稳态背景反应方程式:
Z0+Z1→SZ
SZ+Z0→3Z0;
SZ+Z1→3Z1
其中,Z表示输出信号,Z1表示输出信号逻辑1,Z0表示输出信号逻辑0,SZ表示输出信号中间产物。
步骤12,构建真值表:根据第一输入信号、第二输入信号的逻辑值建立真值表;
其中,X表示第一输入信号,Y表示第二输入信号。
步骤13,构建主要反应,以步骤11生成的第一输入信号、第二输入信号作为反应物,以步骤12建立的真值表,基于卡诺图仅对逻辑1的小分隔作主要反应的映射,得到其主要反应方程式:
X0+Y1→X0+Y1+Z′1
;
X1+Y0→X1+Y0+Z′1
其中,Z′1表示主要反应里的预生成物逻辑1。
步骤14,构建修正反应,以步骤11生成的输出信号以及步骤13生成的主要反应里的预生成物逻辑1作为反应物得到修正反应方程式:
Z′1+Z1→Z1
;
Z′1+Z0→Z1
若生成的输出信号Z1不稳定,则将该生成的输出信号Z1作为步骤11中输出信号背景反应方程式的反应物。
优选的:对2输入-1输出的逻辑电路,其输入、输出均作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初系统总Z′0的浓度为10nM构建形式化学反应网络CRNs的方法:
步骤21,构建背景反应,根据两个输入信号构建输入、输出均作双稳态的背景反应;
根据第一输入信号构建其稳态背景反应方程式:
X0+X1→SX
SX+X0→3X0;
SX+X1→3X1
其中,X表示第一输入信号,X1表示第一输入信号逻辑1,X0表示第一输入信号逻辑0,SX表示第一输入信号中间产物,→表示反应符号,其左边表示反应物,右边表示生成物。
根据第二输入信号构建其稳态背景反应方程式:
Y0+Y1→SY
SY+Y0→3Y0;
SY+Y1→3Y1
其中,Y表示第二输入信号,Y1表示第二输入信号逻辑1,Y0表示第二输入信号逻辑0,SY表示第二输入信号中间产物。
根据输出信号构建其稳态背景反应方程式:
Z0+Z1→SZ
SZ+Z0→3Z0;
SZ+Z1→3Z1
其中,Z表示输出信号,Z1表示输出信号逻辑1,Z0表示输出信号逻辑0,SZ表示输出信号中间产物。
步骤22,构建真值表:根据第一输入信号、第二输入信号的逻辑值建立真值表;
其中,X表示第一输入信号,Y表示第二输入信号。
步骤23,构建主要反应,以步骤21生成的第一输入信号、第二输入信号作为反应物,以步骤22建立的真值表,基于卡诺图仅对逻辑1的小分隔作主要反应的映射,得到其主要反应方程式:
X0+Y1→X0+Y1+Z′1
;
X1+Y0→X1+Y0+Z′1
其中,Z′1表示主要反应里的预生成物逻辑1。
步骤24,构建修正反应,以步骤21生成的输出信号以及步骤23生成的主要反应里的预生成物逻辑1作为反应物得到修正反应方程式:
Z′1+Z0→Z1
;
Z′0+Z1→Z0
若生成的输出信号Z1不稳定,则将该生成的输出信号Z1作为步骤11中输出信号背景反应方程式的反应物。
优选的:对2输入-1输出的逻辑电路,其仅对输入作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初系统总Z′0的浓度为10nM构建形式化学反应网络CRNs的方法:
步骤31,构建背景反应,根据两个输入信号构建输入均作双稳态的背景反应;
根据第一输入信号构建其稳态背景反应方程式:
X0+X1→SX
SX+X0→3X0;
SX+X1→3X1
其中,X表示第一输入信号,X1表示第一输入信号逻辑1,X0表示第一输入信号逻辑0,SX表示第一输入信号中间产物,→表示反应符号,其左边表示反应物,右边表示生成物。
根据第二输入信号构建其稳态背景反应方程式:
Y0+Y1→SY
SY+Y0→3Y0;
SY+Y1→3Y1
其中,Y表示第二输入信号,Y1表示第二输入信号逻辑1,Y0表示第二输入信号逻辑0,SY表示第二输入信号中间产物。
步骤32,构建真值表:根据第一输入信号、第二输入信号的逻辑值建立真值表;
其中,X表示第一输入信号,Y表示第二输入信号。
步骤33,构建主要反应,以步骤31生成的第一输入信号、第二输入信号作为反应物,以步骤32建立的真值表,基于卡诺图仅对逻辑1的小分隔作主要反应的映射,得到其主要反应方程式:
X0+Y1→X0+Y1+Z′1
;
X1+Y0→X1+Y0+Z′1
其中,Z′1表示主要反应里的预生成物逻辑1。
步骤34,构建修正反应,以最初系统总Z′0的浓度为10nM以及步骤33生成的主要反应里的预生成物逻辑1作为反应物得到修正反应方程式:
Z′1+Z0→Z1
。
Z′0+Z1→Z0
进一步地:对于N>2的输入-1输出的逻辑电路,借助中间反应物进行化简形成2输入-1输出的逻辑电路;对于N输入M输出的组合逻辑电路,化为M种N输入1输出逻辑电路的叠加。
优选的:所述中间反应物包括(N-2)代中间反应物,第1代中间反应物由输入信号中的两个信号产生,而第a代中间反应物由第(a-1)代中间反应物中的两个信号产生,a为2,3,4…N-2。
有益效果:本发明提供的一种基于化学反应动力学的组合逻辑电路设计方法,相比现有技术,具有以下有益效果:
1.本发明将卡诺图作为辅助工具,按照一定的映射规则,有效地对卡诺图的小方格进行“部分映射”到化学反应网络,使得该化学反应网络能实现一定的组合逻辑功能,且一定程度上考虑并解决了复杂度、能耗等问题。同时能够对2输入异或门进行化简。
2.设计更加简单,根据一张卡诺图作“部分映射”,将目标逻辑功能映射到形式化学反应网络中,该过程只需3个步骤即可完成;“部分映射”成功地将化学反应数目锐减,使得前端设计更贴近现实考虑,解决了一定的能耗问题,且具有一般性;设计过程中,无需考虑具体的电路架构,只要一张反映组合逻辑功能的卡诺图,就能得到一个形式化学反应网络,大大简化了设计流程,属于DNA计算的前端。
本发明借助于卡诺图作部分映射,减少使用的化学反应方程数目而不影响所实现的逻辑功能,具有普适一般性,且通俗易懂。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
由文献1-3可知,我们能够专注于设计抽象化了的CRNs,用形如A+B→C+D的基元反应,实现特定的逻辑功能,最终映射到DNA分子的链置换反应,构建DNA逻辑门。对于一个CRNs来说,它由一系列的化学反应方程构成,而构成一个化学反应方程至少需要三大要素:反应物、生成物、化学反应速率。由文献2我们知道,设计恰当的话,可以不考虑化学反应速率的具体大小。因此,我们在设计能够实现特定逻辑功能的CRNs时,只需考虑反应物、生成物是什么即可。
仍沿用由背景反应、主要反应和修正反应的“三步走”构造格式,本发明着重强调“部分映射”所得的化学反应网络结构,具体方法如下。
一种基于化学反应动力学的组合逻辑电路设计方法,如图7所示,根据设定的逻辑功能,得到一张反映输入信号、输出信号逻辑关系的真值表,将该真值表通过卡诺图作部分映射到形式化学反应网络CRNs,从而实现该设定逻辑功能。
该形式化学反应网络CRNs由3个部分构成,背景反应、主要反应和修正反应。
对于2输入-1输出的逻辑电路,我们用X、Y表示输入信号,Z表示输出信号。单个比特以X为例,用X1表示逻辑1,X0表示逻辑0。
背景反应:其目的是通过表示稳定的单个比特,得到稳定的输入、输出信号。
以式子(1)为例,该反应表明,一分子的X0和一分子的X1反应,生成一分子的中间产物SX,该中间产物SX既可以和X0结合,又可以和X1结合,最后到底生成什么,端看SX先遇到谁并扩大复制生成谁,最终使得输入信号的值不再模糊,从逻辑0和逻辑1中分化开来。
主要反应:其目的是将真值表所涵盖的逻辑功能,“部分”映射到CRNs当中,使得设计的CRNs能实现一定的逻辑功能。
表1
表1展示了如何从卡诺图映射到主要反应。如表1,将二输入真值表中四个小分隔,从左到右、从上到下,分别定义为T00、T01、T10、T11,小分隔里不是逻辑0就是逻辑1,各自对应于主要反应里的预生成物Z′0、Z′1。
“部分映射”的含义是,对于卡诺图中的小分隔,只将逻辑值为1的小分隔映射为化学反应方程。由于逻辑值为0的小分隔并未构建,故主要反应的化学反应速率常数k需要变小,且越小越好。
修正反应:其目的是使得输出稳定在同等输入水平上,不产生输出的放大。
对输入、输出均作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初在系统中Z′0的浓度为0,得到的修正反应为:
Z′1+Z0→Z1
;
Z′1+Z1→Z1
其中,Z′1表示预生成物Z′的逻辑值为1,Z0表示输出信号Z的逻辑值为0,Z1表示输出信号Z的逻辑值为1,Z′0表示预生成物Z′的逻辑值为0。
该结构表明预生成物Z′1只有遇到Z0时才会起作用,并将其修正为Z1,反之则不作修正。此结构中,由于并未引入Z′0,故最初在系统中Z′0浓度为0。
对输入、输出均作双稳态的背景反应或者仅对输入作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初系统总Z′0的浓度为10nM,得到的修正反应为:
Z′1+Z0→Z1
;
Z′0+Z1→Z0
其中,Z′1表示预生成物Z′的逻辑值为1,Z0表示输出信号Z的逻辑值为0,Z1表示输出信号Z的逻辑值为1,Z′0表示预生成物Z′的逻辑值为0。
该结构表明预生成物Z′0遇到Z1时将其修正为Z0,而Z′1遇到Z0时将其修正为Z1。此结构中引入了Z′0,故最初系统总Z′0浓度为10nM。
部分映射主要有3种化学反应网络结构。为了更少的反应方程数目,本发明共提出如图7所示的三种部分映射的方法,即3种可以实现同样逻辑功能的CRNs,只是反应结构或者反应方程数目有所区别。
方法1:对2输入-1输出的逻辑电路,其输入、输出均作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初在系统中Z′0的浓度为0构建形式化学反应网络CRNs的方法,如表2所示:
表2
如表2所示,展示了以[0110]为例作部分映射的CRNs的方法,具体包括以下步骤:
步骤11,构建背景反应,根据两个输入信号构建输入、输出均作双稳态的背景反应;
根据第一输入信号构建其稳态背景反应方程式:
X0+X1→SX
SX+X0→3X0;
SX+X1→3X1
其中,X表示第一输入信号,X1表示第一输入信号逻辑1,X0表示第一输入信号逻辑0,SX表示第一输入信号中间产物,→表示反应符号,其左边表示反应物,右边表示生成物。
根据第二输入信号构建其稳态背景反应方程式:
Y0+Y1→SY
SY+Y0→3Y0;
SY+Y1→3Y1
其中,Y表示第二输入信号,Y1表示第二输入信号逻辑1,Y0表示第二输入信号逻辑0,SY表示第二输入信号中间产物。
根据输出信号构建其稳态背景反应方程式:
Z0+Z1→SZ
SZ+Z0→3Z0;
SZ+Z1→3Z1
其中,Z表示输出信号,Z1表示输出信号逻辑1,Z0表示输出信号逻辑0,SZ表示输出信号中间产物。
步骤12,构建真值表:根据第一输入信号、第二输入信号的逻辑值建立真值表;
其中,X表示第一输入信号,Y表示第二输入信号。
步骤13,构建主要反应,以步骤11生成的第一输入信号、第二输入信号作为反应物,以步骤12建立的真值表,基于卡诺图仅对逻辑1的小分隔作主要反应的映射,得到其主要反应方程式:
X0+Y1→X0+Y1+Z′1
;
X1+Y0→X1+Y0+Z′1
其中,Z′1表示主要反应里的预生成物逻辑1。
步骤14,构建修正反应,以步骤11生成的输出信号以及步骤13生成的主要反应里的预生成物逻辑1作为反应物得到修正反应方程式:
Z′1+Z1→Z1
;
Z′1+Z0→Z1
若生成的输出信号Z1不稳定,则将该生成的输出信号Z1作为步骤11中输出信号背景反应方程式的反应物。
方法2,对2输入-1输出的逻辑电路,其输入、输出均作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初系统总Z′0的浓度为10nM构建形式化学反应网络CRNs的方法;
如表3所示:
表3
如表3所示,以[0110]为例展示了作部分映射的CRNs的方法,具体包括以下步骤:
步骤21,构建背景反应,根据两个输入信号构建输入、输出均作双稳态的背景反应;
根据第一输入信号构建其稳态背景反应方程式:
X0+X1→SX
SX+X0→3X0;
SX+X1→3X1
其中,X表示第一输入信号,X1表示第一输入信号逻辑1,X0表示第一输入信号逻辑0,SX表示第一输入信号中间产物,→表示反应符号,其左边表示反应物,右边表示生成物。
根据第二输入信号构建其稳态背景反应方程式:
Y0+Y1→SY
SY+Y0→3Y0;
SY+Y1→3Y1
其中,Y表示第二输入信号,Y1表示第二输入信号逻辑1,Y0表示第二输入信号逻辑0,SY表示第二输入信号中间产物。
根据输出信号构建其稳态背景反应方程式:
Z0+Z1→SZ
SZ+Z0→3Z0;
SZ+Z1→3Z1
其中,Z表示输出信号,Z1表示输出信号逻辑1,Z0表示输出信号逻辑0,SZ表示输出信号中间产物。
步骤22,构建真值表:根据第一输入信号、第二输入信号的逻辑值建立真值表;
其中,X表示第一输入信号,Y表示第二输入信号。
步骤23,构建主要反应,以步骤21生成的第一输入信号、第二输入信号作为反应物,以步骤22建立的真值表,基于卡诺图仅对逻辑1的小分隔作主要反应的映射,得到其主要反应方程式:
X0+Y1→X0+Y1+Z′1
;
X1+Y0→X1+Y0+Z′1
其中,Z′1表示主要反应里的预生成物逻辑1。
步骤24,构建修正反应,以步骤21生成的输出信号以及步骤23生成的主要反应里的预生成物逻辑1作为反应物得到修正反应方程式:
Z′1+Z0→Z1
;
Z′0+Z1→Z0
若生成的输出信号Z1不稳定,则将该生成的输出信号Z1作为步骤11中输出信号背景反应方程式的反应物。
方法3:对2输入-1输出的逻辑电路,其仅对输入作双稳态的背景反应,仅对逻辑1的小分隔作主要反应的映射,且最初系统总Z′0的浓度为10nM构建形式化学反应网络CRNs的方法,如表4所示:
表4
如表4所示,以[0110]为例,展示了部分映射的CRNs的方法,具体包括以下步骤:
步骤31,构建背景反应,根据两个输入信号构建输入均作双稳态的背景反应;
根据第一输入信号构建其稳态背景反应方程式:
X0+X1→SX
SX+X0→3X0;
SX+X1→3X1
其中,X表示第一输入信号,X1表示第一输入信号逻辑1,X0表示第一输入信号逻辑0,SX表示第一输入信号中间产物,→表示反应符号,其左边表示反应物,右边表示生成物。
根据第二输入信号构建其稳态背景反应方程式:
Y0+Y1→SY
SY+Y0→3Y0;
SY+Y1→3Y1
其中,Y表示第二输入信号,Y1表示第二输入信号逻辑1,Y0表示第二输入信号逻辑0,SY表示第二输入信号中间产物。
步骤32,构建真值表:根据第一输入信号、第二输入信号的逻辑值建立真值表;
其中,X表示第一输入信号,Y表示第二输入信号。
步骤33,构建主要反应,以步骤31生成的第一输入信号、第二输入信号作为反应物,以步骤32建立的真值表,基于卡诺图仅对逻辑1的小分隔作主要反应的映射,得到其主要反应方程式:
X0+Y1→X0+Y1+Z′1
;
X1+Y0→X1+Y0+Z′1
其中,Z′1表示主要反应里的预生成物逻辑1。
步骤34,构建修正反应,以最初系统总Z′0的浓度为10nM以及步骤33生成的主要反应里的预生成物逻辑1作为反应物得到修正反应方程式:
Z′1+Z0→Z1
。
Z′0+Z1→Z0
其中,上述3种方法的主要反应的化学反应速率,越小越好。
此外,我们的方法可以推广到N输入、M输出的组合逻辑的情况。
对于N>2的输入-1输出的逻辑电路,借助中间反应物进行化简形成2输入-1输出的逻辑电路;对于N输入M输出的组合逻辑电路,就相当于M种N输入1输出逻辑电路的叠加,我们至多需要M张N输入1输出的卡诺图来实现。
中间反应物包括(N-2)代中间反应物,第1代中间反应物由输入信号中的两个信号产生,而第a代中间反应物由第(a-1)代中间反应物中的两个信号产生,a为2,3,4…N-2。
另外,对于申请号为201510369748.3的中国专利基于DNA分子链置换反应提取实现组合逻辑的CRNs的方法,如表5所示。
表5
表5以[0110]为例,展示了该卡诺图化简的方法前作全部一一映射的CRNs。
如图4是其仿真结果。
表6
如表6所示,罗列了本发明的实施方法1-3实施[0110]时的化学反应数目,以及与此前方法进行的对比。
实例1
以[0110]为例,按照上述方法1-3对卡诺图进行部分映射,CRNs分别见表2、3、4。
使用mathematica仿真,初始浓度Z0为10,除输入信号外其余均为0,依次从0到10开始扫描输入信号X1和Y1浓度(X0和Y0则从10到0变化),检测输出信号Z1浓度,仿真结果见图1、2、3(a图为侧视图,b图为俯视图)。
注意,俯视图和卡诺图有着惊人的相似。
实例2
以[01010101]为例,图5展示了一个3输入1输出的组合逻辑所需的卡诺图。其中,X、Y、O为输入,Z为输出。此外,还需引入Y与O生成的中间反应物I1、I2、I3、I4,而后再与X的两种状态X0、X1反应。由于只构建含逻辑1的小分隔,故共有4个小分隔需要映射到化学反应网络,从而将3输入简化成2输入的表;
类似2输入逻辑门的3种部分映射方法,只需在公式(2)的基础上添加相应的背景反应和修正反应,即可得到目标CRNs。仿真结果如图6所示。其中,黑色表示逻辑1,白色表示逻辑0。
由上可知,本发明无需知晓具体组合逻辑的电路架构,具有普适一般性,且通俗易懂,使得不能用卡诺图化简的逻辑电路得以用更少的化学反应,甚至能推广到解决N输入M输出的组合逻辑的设计当中。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。