本發明涉及DNA鏈置換領域,具體涉及到利用雙軌邏輯以及Cardelli提出的基于兩域鏈置換的Join門模塊和Fork門模塊設計穩定有效的BCD碼加法器的方法。
背景技術:
在現階段的科技發展中,DNA計算模型受到的關注度和支持率越來越高,DNA鏈置換已成為DNA計算最常用的技術手段,越來越廣泛地被應用于設計各種復雜的生物器件以及實現復雜的DNA計算中,這主要歸因于鏈置換的以下幾個特點:(1)基于鏈置換反應的分子計算模型中,一種DNA單鏈即可表示一種信號,幾條DNA鏈組裝在一起便可構成一個分子元器件。因此DNA鏈置換反應的邏輯計算單元結構更為簡單。(2)基于鏈置換反應的計算模型只需要在20-25℃的常溫下便可完成自組裝,不需要酶等外界條件輔助,因此反應條件更容易實現。(3)因為基于DNA鏈置換反應的計算單元結構簡單,所以構造的計算單元產率更高。(4)因為其并行性高,產率高,實驗耗時被大大縮短。
2000年,Mao等人應用三交叉DNATile構建了異或(XOR)邏輯門,開創了納米邏輯電路研究的先河。隨后,Wang等人利用改進的三交叉DNA Tile構建了一系列邏輯門模型,并進一步實現了半/全加器、半/全減器的邏輯運算。2010年Cardelli利用兩域鏈置換設計了Transducer Gate模型、Join Gate模型和Fork Gate模型。2011年,Qian and Winfree基于雙軌(dual-rail logic)邏輯將與門、或門和扇出門模塊組合起來設計了四個完全相互連接的能實現Hopfield聯想記憶的人工神經元。2013年,Murieta等人提出了DNA鏈置換的計算模型,實現了貝葉斯公式的推導過程。2016年,Lakin等人提出了自適應性DNA鏈置換網絡的監督式學習模型,通過線性函數的隨機梯度下降法設計了基于多域DNA鏈置換的反饋電路。
前人基于DNA鏈置換設計了多種邏輯門,提出了多種運算模型,在鏈置換這個具有無限開發潛力的新領域中,對前人邏輯門模型的改進,開發新的運算模型具有重大意義。
技術實現要素:
本發明的目的在于提出一種基于兩域DNA鏈置換的四位BCD碼加法器的設計方法,將雙軌邏輯,Join門模塊和Fork門模塊相結合,通過兩域DNA鏈置換反應實現模型簡單、實驗結果穩定有效的BCD碼加法器。
本發明的技術方案如下:
基于鏈置換的四位BCD碼加法器的設計方法,包括以下步驟:
步驟1:輸入四位二進制加數、被加數和初始進位;
步驟2:利用雙軌邏輯構造相應的DNA信號鏈;
步驟3:設置相應反應物濃度;
步驟4:通過相同的Join門傳遞不同的參數進行加法運算;
步驟5:通過Fork門判斷結果是否溢出,若有溢出進行更正處理;
步驟6:通過最終輸出信號鏈濃度數值確定反應結果,實現BCD加法器的功能。
步驟1中所述的加數和被加數是以二進制形式表示的8421BCD碼,輸入范圍在0到9之間,初始進位設為0,運算時可忽略。
步驟4中所述的不同的參數為:加數的低位對應被加數的低位,加數的高位對應被加數的高位,一共四組,進行四次加法運算,得到一個四位二進制形式數和進位。
步驟5中對結果進行更正處理的方法為:將加法運算可能得到的結果劃分為五個范圍,對應五個結果區間設計五種更正加法器進行更正處理。
步驟6中輸出信號鏈濃度>900的代表數值為1,輸出信號鏈濃度<100的代表數值為0。
本發明的有益效果是:
1、本發明首次利用兩域DNA鏈置換反應實現了四位BCD碼加法器。
2、該模型可以準確的對加法運算的結果進行溢出判斷,并進行更正處理,使最終輸出結果在BCD碼的合理范圍內。
3、將Join門模型、Fork門模型與雙軌邏輯結合,使鏈置換反應更加充分,輸出結果更加穩定。
附圖說明
圖1為基于鏈置換的BCD碼加法器的整體程序流程圖;
圖2為BCD碼加法器的電子電路圖,圖中A是被加數,B是加數,C是進位,S是輸出位;
圖3為實施例1實驗仿真結果圖。
具體實施方式
下面結合附圖對本發明作進一步說明。
結合圖1的整體程序流程圖,下面進行詳細步驟介紹:
步驟1:輸入四位被加數(A4,A3,A2,A1),四位加數(B4,B3,B2,B1),初始進位C;
步驟2:通過雙軌邏輯思想將(A4,A3,A2,A1)轉化成(A41A40,A31A30,A21A20,A11A10)分別構造信號鏈<t^A41>、<t^A40>、<t^A31>、<t^A30>、<t^A21>、<t^A20>、<t^A11>、<t^A10>,通過輸入數值篩選出其中四條信號鏈分別代表(A4,A3,A2,A1),同理將(B4,B3,B2,B1)轉化成(B41B40B31B30B21B20B11B10)分別構造信號鏈<t^B41>、<t^B40>、<t^B31>、<t^B30>、<t^B21>、<t^B20>、<t^B11>、<t^B10>,通過輸入數值篩選出其中四條信號鏈分別代表(B4,B3,B2,B1)。初始進位C0=1即C=0;
步驟3:初始反應信號鏈濃度為Con;
步驟4:被加數(A4,A3,A2,A1)與加數(B4,B3,B2,B1)組成四對信號鏈在相同的Join門中反應進行加法運算,得到結果R41或R40,R31或R30,R21或R20,R11或R10和最終進位G41或G40;
步驟5:利用Fork門將結果R4,R3,R2,R1和進位G4分成四份如:R21分成R211、R212、R213和R214;
步驟6:若最終G4=1則輸出進位C=C1=1;最低輸出位S1=R1;
步驟7:將加法運算的結果范圍劃分為五個連續區間,分別用五個更正加法器BCDcorrectadder1-5進行更正運算:①G4=0,R4=0則S4S3S2=R4R3R2,即結果的十進制形式在0-7之間的通過BCDcorrectadder1進行更正運算;②G4=0,R4=1,R3=R2=0則S4S3S2=R4R3R2,即結果的十進制形式在8和9的通過BCDcorrectadder2進行更正運算;③G4=0,R4=1,R3=0,R2=1則S4S3S2=R4R3R2+011,即結果的十進制形式在10和11的通過BCDcorrectadder3進行更正運算;④G4=0,R4=R3=1,則S4S3S2=R4R3R2+011,即結果的十進制形式在12-15的通過BCDcorrectadder4進行更正運算;⑤G4=1則S4S3S2=R4R3R2+011,即結果的十進制形式在16-18的通過BCDcorrectadder5進行更正運算;
步驟8:輸出最終結果S4S3S2S1,通過DNA鏈的濃度確定S4S3S2S1和C的數值。
實施例1
本發明的實施例是在以本發明技術方案為前提下進行實施的,運用Visual DSD軟件仿真模擬,給出了詳細的實施方式和具體的操作過程,但本發明的保護范圍不限于下述實施例。因為采用8421BCD碼,加數和被加數的范圍是0到9,本實施例以2加3為例,具體數值見表2。
步驟1:以BCD碼的形式輸入被加數和加數分別為A=(0,0,1,0)和B=(0,0,1,1),初始進位C=0。
步驟2:根據DSD語法和雙軌邏輯思想構造DNA信號鏈<t^A40>、<t^A30>、<t^A21>、<t^A10>、<t^B40>、<t^B30>、<t^B21>、<t^B11>和<t^C0>。
步驟3:定義并初始輸入信號鏈濃度Con,并設置Con=1000,(見表2)。
步驟4:通過傳遞不同的參數在相同的Join門進行加法運算,<t^A40>與<t^B40>做加法,<t^A30>與<t^B30>做加法,<t^A21>與<t^B21>做加法,<t^A10>與<t^B11>做加法,運算結果分別為<t^R40>、<t^R31>、<t^R20>、<t^R11>和進位<t^G40>。
步驟5:通過相同的Fork門傳遞不同的參數,將每位運算結果分成四部分,例如:<t^R40>分為<t^R401>、<t^R402>、<t^R403>、<t^R404>;<t^G40>分為<t^G401>、<t^G402>、<t^G403>、<t^G404>。R401、R402、R403、R404都代表R40,這樣方便在做更正處理分類的情況下相互區別。
步驟6:運算結果最低位不變,輸出信號鏈<t^S11>即S11=R11。
步驟7:加法運算后的結果是0101,G4=0,R4=0,轉換成十進制數是5,屬于五種情況中的第一種情況,則通過BCDcorrectadder1進行更正運算,最終結果為S4S3S2=R4R3R2=010,最終進位C0=1即C=0無進位。
步驟8:運行結果(見圖3),上升的曲線分別是<t^S40>、<t^S31>、<t^S20>、<t^S11>和<t^C0>(因為反應速率影響,曲線<t^S31>、<t^S20>基本重合),根據輸出信號鏈的濃度(見表3)得到最終運算結果是0101。程序結束。
綜上所述,通過將Join門模塊、Fork門模塊與雙軌邏輯相結合,利用兩域DNA鏈置換反應模擬電子邏輯電路(見圖2),設計了基于DNA鏈置換的四位BCD碼加法器,并通過Visual DSD軟件仿真模擬,進一步證明了BCD碼加法器的功能有效性,由此證明該方法是有效可行的。
以上所述,僅為本發明較佳的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明披露的技術范圍內,根據本發明的技術方案及其發明構思加以等同替換或改變,都應涵蓋在本發明的保護范圍內。
表1
表2
表3。