TWI245218B - Apparatus and method for converting, and adder circuit - Google Patents

Apparatus and method for converting, and adder circuit Download PDF

Info

Publication number
TWI245218B
TWI245218B TW092126122A TW92126122A TWI245218B TW I245218 B TWI245218 B TW I245218B TW 092126122 A TW092126122 A TW 092126122A TW 92126122 A TW92126122 A TW 92126122A TW I245218 B TWI245218 B TW I245218B
Authority
TW
Taiwan
Prior art keywords
output
operand
transistor
bit
bits
Prior art date
Application number
TW092126122A
Other languages
English (en)
Other versions
TW200410131A (en
Inventor
Astrid Elbe
Norbert Janssen
Holger Sedlak
Original Assignee
Infineon Technologies Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies Ag filed Critical Infineon Technologies Ag
Publication of TW200410131A publication Critical patent/TW200410131A/zh
Application granted granted Critical
Publication of TWI245218B publication Critical patent/TWI245218B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3872Precharge of output to prevent leakage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7266Hardware adaptation, e.g. dual rail logic; calculate add and double simultaneously
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Hardware Redundancy (AREA)

Description

1245218 九、發明說明: 【發明所屬之技術領域】 本發明乃是有關於安全加法器電路。特別是,本發明乃是有關於一種將 雙軌(dual—mil)輸入轉換成單態(one-hot)輸出的裝置及方法。 【先前技術】 德國專利說明書DE 3631992 C2已經揭露一種執行RSA公鑰加密系統 的加密處理器。在這篇德國專利說明書中,具有一個基底、一個指數、及 一個模數的一個模指數運算會分割成複數個三運算元加法運算。這三個運 算元分別是:一個模數運算元N、一個被乘數運算元C、及一個中間結果運 算元Z。在這個加法運算以前,透過這三個運算元的適當平移/加權,利用 一種乘法預看演算法及歸約預看演算法進行加速的一個乘法/歸約運算便 可以執行。 第8圖乃是表示這個加法器的部分電路圖,並且,這個加法器乃是德國 專利說明書DE 3631992 C2所示加密處理器的核心電路。特別是,第8圖 乃是表示兩個連續位元片段,並且,這兩個連續位元片段乃是利用這三個 輸入運算元位元 Ci、Ni、Zi ; Ci—:l、Ni—:l、Zi—1 ; Ci —2、Ni —2、Zi —2, 藉以精確計算這兩個總計位元i — 1及i。 根據一個位元平面的觀點,這三個運算元C、N、Z的三運算元加法運 算會分割成一個兩階段運算。其中,一個三位元半加法器80乃是用來執行 這個三運算元加法運算的第一階段運算,並且,各個三位元半加法器80乃 是一個二位元全加法器81的上游電路。這個三位元半加法器80會提供兩 1245218 個輸出位元xi、yi,並且,這些輸出位元xi、yi會饋至第8圖所示的下游二 位元全加法器81。特別是,在各個位元片段的二位元全加法器中,這個三 位元半加法器輸出的低有效位元yi,在這個二位元全加法器81中,會與次 一級三位元半加法器輸出的高有效位元xi - 1組合,藉以計算一個總計位元 82及一個進位位元83。因此,這個三運算元加法運算可以分割成兩個段落。 在第一段落中,這些運算元的三個位元總和會形成在各個二進位數字。這 個總和可能會呈現0至3的數値(利用十進位表示)。因此,這個總和可以 利用這兩個位元X,y二進位表示。由於這個總和乃是形成在各個二進位數 字,因此,兩個新數字亦可以經由這兩個總計位元組合。 在第二段落中,兩個數字會利用這個二位元全加法器8 i相加◦利用這 種電路連接(一個二位元全加法器始終可以具有兩個不同三位元半加法器 的兩個輸出位元做爲輸入),這個計算單元便可以得到一個位元的延伸。 在第8圖所示的三運算元加法器中,主要問題乃是存在於:這些輸入運 算元C、N、Z無法進行備份,並且,這些”中間運算元”x、y亦無法進行備 份。特別是,在完全利用CMOS邏輯電路構成的正常電路中,只要任何一 個位元在〇切換至1或1切換至〇時產生一個電流脈衝(這個電流脈衝乃 是在位元狀態切換時發生),這個問題便會持續存在。已知,在穩定狀態時, CMOS邏輯電路並不會消耗電流。然而,在切換狀態時,CMOS邏輯電路 確實會消耗電流。這個電流消耗可以利用功率分析方法進行決定。有鑑於 此,原則上,這些運算元C、N、Z的資訊便可以導出,藉以推論,舉例來 說,一個RSA運算使用的安全金鑰。 1245218 舉例來說,一個攻擊者可以擷取電流曲線,藉以決定是否發生0至1或 1至〇的位元切換。在一個不安全電路中,各個位元切換將會發生在這個電 流曲線的各個電流高峰。有鑑於此’一個攻擊者便可以利用這個電流曲線, 記憶重演一個計算單元的全部位元切換行爲。隨後’這個攻擊者將僅需要 完整順列的單一位元,進而重建是否發生1至0或0至1的位元切換。 另外,特定CMOS邏輯電路亦會呈現下列特性,亦即:0至1的位元切 換與1至0的位元切換可能會具有不同的功率消耗。在這個例子中,藉由 兩個不同電流高峰的比較,一個攻擊者便可以即刻瞭解這個計算單元已經 處理的那些位元。 相對於這種功率分析方法的攻擊,另一種手段乃是應用一種所謂的雙軌 (dual rail)技術。原則上,在這種雙軌(dual rail)技術中,各個信號路徑 均會利用雙重方式架構。舉例來說,在第一信號路徑上,一個信號X會利 用正常方式處理。但是,在整合於相同晶片的第二信號路徑上,處理的信 號則不是這個信號X,而是其補數信號。結果是,無論這個信號線路在 什麼時候發生,舉例來說,〇至1的一個位元切換,另一個信號線路(亦即: 第二”軌”)亦會發生互補的一個位元切換。有鑑於此,各個位元切換,在兩 個線路上,均會具有兩個位元切換。如此,在0至1與1至0位元切換分 別需要不同電流量的電路中,一個攻擊者將無法得知是否發生0至1或1 至0的一個位元切換。這乃是由於,各個電路位元切換的電流曲線均是重 疊雙軌(dual rail)電流消耗的高峰。這種雙軌(dual rail)技術具有高度安 全性的優點,但是,這種雙軌(dual rail)技術同時具有下列缺點,亦即: 1245218 所有電路均需要雙重架構’以及’整體電路會需要雙倍功率消耗。另一方 面,在某種程度上,這個電路亦可以免於功率分析方法的攻擊。 然而,若僅僅應用這種雙軌(dual rail)技術,一個攻擊者仍然可以經 由電流曲線,藉以瞭解是否存在0至1或1至0的一個位元切換’或者’ 這個位元是否與先前一個時脈周期具有相同狀態。在一個位元切換時’實 際上會出現相當明顯的一個功率高峰。然而,在位元狀態維持在1或0時 (亦即:在兩時脈周期間未發生變化時),這個功率高峰卻不會這麼明顯。 爲了避開這種效應的攻擊,這種雙軌(duai raii)技術最好能夠再補充一個 預充電/預放電模式。並且,這個電路會交替地操作在一個資料模式及一 個準備模式(預充電/預放電模式)。各個資料周期的前面會具有一個準備 周期,其中,在預充電的例子中,雙軌信號(舉例來說,亦即:信號X及 互補信號)會預充電至1,藉以在資料模式中將欲處理的互補輸入信號饋 入雙軌。如此,由一個資料周期至一個準備周期、或由一個準備周期至一 個準備周期的位元切換便可以具有完全相同的數目。相對地’若這個準備 模式的架構是一個預充電模式,在這個準備模式中’所有輸入資料將不會 啓始爲i (如這個預充電模式),而是,,預放電,,至0。如此,由一個準備周期 至一個準備周期、或由一個資料周期至一個準備周期的位元切換便可以具 有完全相同的數目。 如先前所述,舉例來說,在諸如RSA或楕圓曲線模數的加密演算法架 構中,模數運算(舉例來說,加法運算或乘法運算)可能會需要一個三運 算元加法器。由於各種原因,這些運算的執行(利用這個加法器完成)必 1245218 須能夠免於功率分析方法的攻擊。由於加密計算會需要極大量的計算費 用,這個加法器亦需要應用大量功率。特別是在加密學裡面,由於需要處 理長運算元(在楕圓曲線中,運算元的長度會介於100至200位元;在RSA 中,運算元的長度會介於1024至2048位元),因此,這個加法器本身的位 元長度亦需要很長,藉以達成這個計算單元的速度要求。然而,由於位元 長度很長,根據經濟的觀點,這個加法器最好亦能夠具有最小的面積-大 量成本通常會花費在晶片面積。有鑑於此,本發明的主要目的便是提供一 種高速且安全的計算單元,並且,這種計算單元僅僅需要少量面積。 如先前所述,德國專利說明書DE 363 1992 C2所揭露的三運算元加法 器並無法免於功率分析方法的攻擊。另外,若這個三位元半加法器及這個 二位元全加法器兩者均架構爲具有預充電模式的雙軌(dual mil)結構,雖 然這種三運算元加法器可以獲致高度安全性,但是,這種三運算元加法器 亦可能會需要大量空間。 本發明的主要目的乃是提供一種安全且有效的觀念,藉以執行至少具有 三個運算元的加法運算。 爲達到上述及其他目的,本發明會提供一種根據申請專利範圍第1項所 述的轉換裝置、一種根據申請專利範圍第2〇項所述的三運算元加法裝置、 一種根據申請專利範圍第22項所述的轉換方法、及一種根據申請專利範圍 第23項所述的電腦程式。 【發明内容】 本發明乃是基於下列觀察,亦即:只要這個三位元半加法器能夠架構 10 1245218 爲具有預充電/預放電的雙軌(dual rail)結構、且這個二位元全加法器(包 括一個進位預看元件及一個總和進位元件的串聯)仍然架構爲單軌結構, 這個電路便可以達到相當程度的高度安全性。在這個例子中,即使這個三 位元半加法器會因爲雙軌(dual mil)結構而消耗兩倍晶片面積,然而,這 個二位元全加法器卻仍會架構爲單軌結構,並且,僅僅消耗全雙軌(dual rail) 架構的半數晶片面積。 根據本發明,這個進位預看元件會有利於一個單態(one—hot)編碼輸 出的提供,藉以計算一個傳遞數値P、一個刪除數値K、及一個產生數値G。 在具有數個輸出線路的單態(one—hot)編碼輸出中,僅僅有一個輸出線路 會不同於其他全部線路。在一個資料模式(其中,一個輸出線路的狀態不 同於其他全部線路的狀態)及一個後續準備模式(其中,這個準備模式可 能是一個預充電模式或一個預放電模式)中,經由這個單態(〇此一hot)編 碼輸出的運算,這個進位預看元件的輸出,在一個時脈周期至次一個時脈 周期的轉換時,將會具有相同數目的位元切換,舉例來說:單一位元切換 或兩個位元切換。 有鑑於此,本發明的三運算元加法器,其一方面可以變得快速、另一方 面亦可以節省空間,可以利用一個雙軌(dual — rail) /單態(one —hot)轉 換器達到,藉以將一個雙軌(dual — rail)輸入轉換爲一個至少具有三個運 算元的單態(one—hot)編碼輸出。 根據本發明,在一個資料模式及一個準備模式中,一個單態(0狀一hot) 編碼與一個雙軌(dual-rail)系統將可以具有相同的安全性要求,這個要 1245218 求乃是:在一個時脈周期至另一個時脈周期的轉換時(舉例來說,由一個 準備時脈周期至一個資料時脈周期,或者,由一個資料時脈周期至一個準 備時脈周期),狀態變動的發生數目將會完全相同,藉此,經由功率分析方 法,一個攻擊者將無法識別這個資料時脈周期實際處理的有那些位元。 本發明將一個雙軌(dual — rail)輸入轉換至一個單態(one-hot)編碼 輸出的裝置的一個好處是:一個雙軌(dual-mil)三位元半加法器及一個 單軌(single-rail)二位元全加法器可以組合,藉以提供一個快速、安全、 且空間節省的加法器,特別是適用於一個加密處理器或加密共處理器。 本發明由雙軌(dual — rail)至單態(one —hot)的轉換電路的另一個好 處是:這個轉換電路可以同時實現兩種功能;特別是,這個轉換電路一方 面可以正確地組合這個雙軌(dual —rail)輸入信號以得到正確的單態(one — hot)編碼輸出信號,並且,這個轉換電路另一方面亦可以’’自由地”提供 雙軌(dual—rail) /單軌(single—rail)轉換。 通常,在加法器中,一個單態(one—hot)編碼乃是指傳遞、刪除、及 產生編碼。這三個常見於加法器的信號會進行定義,藉以使任何時間僅會 啓動一個信號。因此,一對位元將僅會具有傳遞信號=1、或刪除信號=1、 或產生信號=1。在輸出側邊,根據本發明的這個雙軌(dual-rail) /單態 (one—hot)轉換器會耦接至共用的單軌(single — rail)總和進位元件,藉 以同時計算目前位元片段的傳遞位元(由三個預看參數P、K、G及由次一 個加法器電路級的進位得到);以及決定/輸出目前位元片段的進位位元至 下一個位元片段。 12 1245218 本發明轉換裝置的另一個好處是:多餘的這個雙軌(dual-rail)半加法 器(因安全理由而存在)可以提供給本發明裝置的邏輯電路使用,藉以利 用最少數目的電晶體i十具迫個早悲(one - hot )編碼輸出,因爲進輯連結(或 組合)不但可以利用這個半加法器的輸出信號達成、並且亦可以利用目前 的互補輸出信號達成,藉此,本發明的轉換電路(其同時計算預看參數、 並提供雙軌(dual—rail) /單態(one—hot)轉換)便可以利用較少的電晶 體達成。 在本發明的較佳實施例中,這個轉換裝置的邏輯部分並不是利用正常的 互補式CMOS邏輯電路構成、而是僅利用NMOS電晶體構成,藉以一方面 達成較快的電路操作、另一方面得到較容易的電路驅動及/或處理(相較 於PMOS電晶體)。有鑑於此,根據本發明較佳實施例的轉換電路將會具有 全NMOS邏輯電路(相對於常見的CMOS邏輯電路,其中,電晶體類型總 是成對出現,亦即··一個NM〇S電晶體便會搭配一個PMOS電晶體以共同 操作)。 【實施方式】 第1圖乃是表示一種將一個雙軌(dual-rail)輸入,這個雙軌(dual 一mil)輸入至少包括二個運算元位元X,Y,Z及對應數目的輔助運算元位 元I,F,2,轉換爲一個單態(one-hot)輸出,這個單態(one_hot)輸出至少 具有三個輸出運算元a,b,c,的裝置,其中,這兩個輔助運算元位元’在 一個資料模式中,乃是這兩個運算元位元的補數’並且’根據本發明的較 佳實施例,這兩個輔助運算元位元,在一個準備模式中’會與這兩個運算 13 1245218 元位元具有相同的數値。若這個準備模式是一個預充電模式’則這些運算 元位元及這些輔助運算兀位兀均會具有相同的局電位。另一*方面’若迨個 準備模式是一個預放電模式’則這些運算元位元及這些輔助運算元位元均 會具有相同的低電位。通常,這個高電位可以稱爲vdd,並且,這個低電 位可以稱爲Vss (通常爲0V )。 根據本發明,第1圖所示的轉換裝置會包括:一個控制裝置10,用以 操作這個轉換裝置於一個資料模式,以及,用以操作這個轉換裝置於一個 準備模式,並且,這個準備模式乃是在這個資料模式後面。根據實際狀況’ 這個準備模式乃是一個準備時脈周期的長度,並且,這個資料模式亦是一 個資料時脈周期的長度,其中,一個時脈周期乃是利用一個時脈產生器產 生。 另外,第1圖所示的轉換裝置更包括:一個邏輯電路12,用以組合至 少兩個運算元位元X,Y,Z及至少兩個輔助運算元位元无,?,乏,藉以 使這三個輸出運算元a,b,c的兩個輸出運算元(舉例來說:a,b) ’在這 個資料模式中,與第三個輸出運算元(舉例來說:c)具有不同的數値,且 其中,第1圖的轉換裝置,在這個準備模式中,更可以進行架構,藉以使 三個輸出運算元具有完全相同的數値。換句話說,第1圖所示的單態(one 一hot)編碼輸出,在這個資料模式中,將可以稱爲具有預充電及/或具有 預放電特性的”單軌(single — rail)輸出”。在這個準備模式中,這三個輸出 運算元a,b,c,在預放電的事件中,均會具有低電位的數値,諸如:ov 或Vss。另外,在這個準備模式中,這三個輸出運算元a,b,c,在預充電 14 1245218 的事件中,均會具有邏輯高電位的數値,諸如:vdd ◦ 此時,應該指明的是,本發明的轉換裝置不僅會經由雙軌(dual—rail) 輸入位元X,Y及歹,?,計算這些預看參數P,K,G,並且,各個雙軌 (dual — rail)輸入位元(亦即··具有不止兩個運算元位元的輸入)亦可以 車專換爲具有不止兩個輸出線路的一^固單態(one - hot)編碼◦因此,第1圖 所不的轉換裝置可以適用於雙軌(dual-rail) /單態(one-hot)轉換,只 要本發明的轉換裝置能夠架構一個邏輯電路,藉以根據某種映射規格,將 這些運算元位元X,Y,Z,···轉換爲一個單態(one—hot)編碼。 另外,即使先前及隨後所述的較佳實施例均會利用”單態(one-hot) ” 編碼做爲範例,此時,應該指明的是,一個單態(one-hot)編碼的構成可 以包括··舉例來說,三個線路的一個線路具有高電位(Vdd),以及,另二 個線路具有低電位(Vss)。另外,一個單態(one —hot)編碼亦可能會具有 相反映射,亦即:三個線路的一個線路具有低電位(Vss),以及,另二個 線路會具有局電位(Vdd)。在相反映射的例子中,第1圖所示轉換裝置的 輸出,在進行一個預充電模式至一個資料模式的轉換時,必然會發生一個 資料狀態切換。在這個準備模式中,所有輸出線路均會具有高電位(Vdd ), 並且,在這個資料模式中,至少一個輸出線路會具有低電位(Vss)。若這 個預充電模式與一個非反相單態(one-hot)編碼合倂進行,在進行這個資 料模式至這個準備模式的轉換時,必然會發生兩個資料狀態切換。 然而,若這個預放電模式與一個反相資料模式合倂進行,在進行一個準 備時脈周期至一個資料時脈周期的轉換時、或在進行一個資料時脈周期至 15 1245218 一個準備時脈周期的轉換時,必然會發生兩個資料狀態切換。另一方面, 若這個預放電模式與這個單態(one_hot)編碼的非反相映射合倂進行,在 一個準備時脈周期至一個資料時脈周期的轉換時、或在一個資料時脈周期 至一個準備時脈周期的轉換時,將僅會發生一個資料狀態切換。 第2圖乃是表示第1圖所示邏輯電路12的功能真値表,並且,這個功 能真値表乃是利用一個二位元全加法器的預看參數P,K,G的產生爲例。 已知,這個預看參數p,亦稱爲傳遞信號’乃是表示欲相力Π的兩個位元恰好 有一個位元等於”1”狀態。在這個例子中,來自前一個位元片段的一個進位 會直接前進及傳遞。然而,若一個位元片段的兩個輸入位元均等於”1”狀態, 則這個位元片段便會產生一個新進位(產生信號)。另一方面,若一個位元 片段的兩個輸入位元均等於”0”進位,則可能會進入這個位元片段的一個進 位將會被目前考量位元片段的下一個電路級吸收,亦即:這個進位係”刪除”。 由第2圖所示功能真値表的右半部可知,在這些預看參數P,K,G中, 僅有一個預看參數會具有邏輯”1”狀態,亦即:這些預看參數P,K,G乃是 共同表不一個單態(one~~hot)編石馬。 這個預看參數P乃是XOR這兩個運算元位元X及Y以得到。這個預看 參數K乃是NOR這兩個運算元位元X及γ以得到。這個預看參數G乃是 AND 這兩個運算兀 X 及 Y 以得到,誠如”Computer Architecture a Quantitative Approach” ’ Hennessy and Patterson,Morgan Kaufmann Publishers,Inc., 1996,Annex A戶斤揭露。 由於本發明轉換裝置的輸入乃是一個雙軌(dual —rail)輸入,亦即:這 16 1245218 個輸入不僅具有至少二個運算元位元X,Υ、並且亦具有對應數目的輔助運 算元位元I,Ϊ7,因此,複數個不同的邏輯運算均可以運用,藉以有效地 計算這些預看參數Ρ,κ,G。第3圖乃是表示本發明的一種較佳實施例。 第3圖所示的邏輯電路可以實施在第1圖所示的邏輯電路12中。這個邏輯 電路I2會具有一個第一 AND閘30、一個第二AND閘31、一個第三AND 閘32、一個第四AND閘33、及一個OR閘34。一個輔助運算元位元及 一個運算兀位兀Y會饋入這個第一 AND閘30。一個運算元位元X及一個 輔助運算元位元會饋入這個第二AND閘3這兩個AND閘30及31的 輸出會饋入這個OR閘34,藉以得到這個預看參數P的輸出信號。這個預 看參數K的輸出信號乃是利用這個第三AND閘32,對一個輔助運算元位 元及一個輔助運算元位元進行AND運算以得到。另外,這個預看參婁女 G的輸出信號乃是利用第3圖的第四AND閘33,對一個運算元位元X及 一個運算元位元Y進行AND運算以得到。 另外,第3圖所示的邏輯電路還包括下列好處,亦即:當這些輸入參婁女 X,γ,z,F,在這個準備模式中,全部位於低電位狀態時,這個輸出側 邊,在這個準備模式中,仍然會提供低電位狀態的結果。因此,不需要進 f了任何變動,第3圖所不的邏輯電路便可以做爲一個轉換裝置,並且,在 這個轉換裝置中,這些輸入變數X,I,Y,?均會在這個準備模式中進行 一個預放電操作。若第3圖所示邏輯電路的輸入側邊乃是操作在這個預充 電模式,則這個AND閘33、這個AND閘32、及這個〇R閘34的輸出側 邊,在一個預充電的事件中,將會提供邏輯高電位的結果。隨後,在這個 17 1245218 準備模式中,這些預看參數P、Κ、G便可以等於”1”狀態。因此,第3圖所 示的邏輯電路便可以即刻用於預充電動作的輸入資料,並且,這個AND閘 33、這個AND閘32、及這個OR閘34的輸出側邊,在這個準備模式中, 亦可以提供三個完全相同的預看參數(具有邏輯高電位Vdd)。另一方面, 若這些輸入變數X,亍,Y,F乃是操作於這個預充電模式,並且,這個輸 出側邊,在這個準備模式中,想要具有低電位的單態(one-hot)參數,則 這些邏輯閘34,33,32將可以分別連接一個反相器。或者,這些邏輯閘亦 可以進行調整,藉以提供反相的輸出信號。亦即,本發明電路可以架構於 各種不同的應用,其中,這個輸入側邊可能會需要預充電或預放電資料, 並且,這個輸出側邊可能會需要預充電及預放電參數。 第4圖乃是表示根據本發明較佳實施例的一個轉換裝置的整體方塊 圖。第4圖所示的轉換電路包括:一個輸入電路級40、一個邏輯電路級41、 一個預充電電路級42、一個維持—”Γ電路級43、一個維持—“0”電路級44、 一個輸出電路級45 (這些元件40,41,42,43,44及45乃是對應於第1 圖所示的邏輯裝置12)、及控制裝置10 (這個元件10乃是對應於第1圖所 示的控制裝置10)。在本發明的較佳實施例中,這個控制裝置10會進行架 構,藉以分別經由線路46,47提供一個信號至這個預充電電路級42及這 個維持電路級44、經由輸入控制線路48提供一個信號至這個輸入電 路級40、及經由輸出控制線路49提供一個信號至這個輸出電路級45,藉 以提供前一個電路及下一個電路的明確資料切割,亦即:表示這個轉換裝 置目前是位於這個準備模式或是位於這個資料模式。 18 1245218 在第4圖所示的轉換電路中,這個維持-“Γ電路級43及這個維持-“Ο” 電路級44才是特別値得關注的部分。這個維持-“Γ電路級43乃是確保: 在這個資料模式中,某一個線路Ρ,Κ,G會固定地維持在一個”1”狀態,相 對於此,這個維持—電路級44乃是確保:某一個線路Ρ,Κ,G會固定 地維持在一個狀態。在這個資料時脈速率會使這個轉換電路,在一個資 料時脈周期至下一個資料時脈周期的轉換期間,發生電荷漂移(當這個電 荷漂移過長時,這個電路的可靠度將會降低)的例子中,這兩個電路級會 格外重要。特別是,這兩個電路級43及44亦可以使這個邏輯電路級41的 實施”僅具有NMOS邏輯電路”或”僅具有PMOS邏輯電路”。即使邏輯電路 通常會偏好NMOS電晶體,但是,熟習此技術領域的人士亦可以基於本發 明的詳細說明,架構出僅具有PMOS電晶體的邏輯電路。相對於常用的 CMOS模組,其中,邏輯閘通常是由成對的互補性電晶體構成,本發明轉 換電路的實施並不需要具有互補性的邏輯閘,因此,電晶體的數目便可以 降低,進而節省昂貴的晶片面積。另外,爲了避免產生瞬變漂流的缺點, 本發明轉換電路亦最好能夠提供這兩個維持電路43及44。然而,這些電路 並不是用來維持雙軌(dual-rail)輸入資料,而是用來維持數目小於輸入 資料的單態(one-hot)編碼輸出資料,因此,即使提供這兩個維持電路 43及44,相較於常見的互補式邏輯閘實施,晶片面積仍會有所增加。 第5圖乃是表示本發明較佳實施例的轉換裝置的電晶體層電路示意 圖。第一運算元位元X乃是經由一個輸入500進行施加。第二運算元位元 Y乃是經由一個輸入502進行施加。第一輔助運算元位元I乃是經由一個 19 1245218 輸入5〇4進行施加,並且,這個輔助運算元位元歹,在這個資料模式中, 乃是經由這個輸入500進行施加的這個運算元位元X的補數。第二輔助運 算元位元?乃是經由一個輸入506進行施加,並且,這個輔助運算元位元p, 在這個資料模式中,乃是經由這個輸入502進行施加的這個運算元位元γ 的補數。第5圖所示的轉換裝置具有第4圖所示的邏輯電路級41,並且, 在第5圖所示的較佳實施例中,這個邏輯電路級41僅具有NMOS電晶體。 另外,這個單態(one-hot)編碼輸出的第一輸出信號及是經由一個輸出 508進行輸出的傳遞信號P。這個刪除信號K乃是經由一個輸出510進行輸 出。這個產生信號G乃是經由一個輸出512進行輸出。 在第5圖所示的較佳實施例中,這個邏輯電路級41的輸出並不會直接 產生這個傳遞信號P,而是這個反相傳遞信號Z,如:一個節點514所示。 另外,這個邏輯電路級41的輸出會產生這個反相刪除信號ό,如:在一個 節點516所示。並且,這個邏輯電路級的輸出會產生這個反相產生信號, 如:在一個節點518所示。另外,第一 NM0S電晶體520及第二NM0S電 晶體522乃是用來產生這個產生信號5。在第一 NM0S電晶體520的一個 側邊會施加這個低電位的參考電壓Vss,藉以在兩運算元位元Υ (輸入502 ) 及X (輸入500)均具有邏輯高電位時,在這個節點518產生低電位狀態。 在這個例子中,兩個電晶體520及522均會閘通,並且,這個低電位的參 考電壓Vss會直接施加在這個節點518。另一方面,若運算元位元X或Y 或兩者具有邏輯低電位狀態,則這個節點518的電位一開始將會無法確定 (亦即··浮動),且隨後將會利用這個維持一“Γ電路級43,固定地維持在 20 1245218 邏輯高電位狀態(說明如下)。 第三NMOS電晶體524及第四NMOS電晶體526乃是用來產生這個反 相刪除信號$。若這兩個輔助運算元位元文及F均是邏輯高電位狀態,則這 些電晶體524及526將會被聞通,藉此,這個低電位的參考電壓Vss便可 以直接施加在這個節點510 〇隨後,這個反相刪除信號會處在低電位。然 而,若運算元/X或/Y或兩者具有邏輯低電位狀態(低電位Vss),則這個節 點516的反相刪除信號Z—開始將會浮動,且隨後將會利用這個維持-“Γ 電路級43,驅動至邏輯高電位狀態(高電位Vss),其說明如下。 第三NMOS電晶體524與第五NMOS電晶體528會構成第3圖所示的 第二AND閘31。然而,第3圖所示的第一 AND閘30則是利用第一 NMOS 電晶體520及第六NMOS電晶體530構成。這兩個電晶體528及530的輸 出會連接至節點514,並且,模擬第3圖所示的OR閘34。當任何一個AND 閘(30或31)的輸出側邊提供邏輯低電位狀態(Vss)時,這個反相傳遞 信號7及/或這個節點514會定義爲低電位狀態Vss (由於電晶體524及/ 或電晶體520)。在其他的例子中,這個節點514的狀態將會一開始浮動, 且隨後利用這個維持—“Γ電路級43進入邏輯高電位狀態(Vdd)。 因此,在第5圖所示的較佳實施例中,這個邏輯電路級41首先將會進 行運算,藉以計算這些預看參數75的定義”〇”狀態,相對於此,這 個邏輯電路級41將不會主動建立邏輯高電位狀態,特別是,在這個邏輯電 路級僅利用低電位Vss建立,而不包括連接高電位Vdd的節點時。 這些邏輯高電位狀態的固定建立乃是利用這個維持-“Γ電路級43達 21 1245218 成。這個維持— “1”電路級43具有三個電路,這三個電路彼此類似,且分別 利用PMOS電晶體構成。這個維持— “1”電路級43的第一電路乃是利用第 一 PMOS電晶體531及第二PMOS電晶體532構成。這兩個PMOS電晶體 531及532乃是將其高電位Vdd切換至這個節點516 ( Z )及這個節點518 (5 )。然而,將這個高電位Vdd切換至這個節點516及這個節點518僅會 發生在追個節點514具有低電位狀態的時候。因此,若這個傳遞信號p爲 低位準,如這個邏輯電路級41所決定,則這兩個節點516及518便會連接 至高電位Vdd、並利用預先定義方式由實際浮動狀態拉升到高電位(vdd )。 拉升節點514及518的類比電路會具有第三PMOS電晶體533及第四 PMOS電晶體534。在節點516 (亦即:Z )位於低電位的時候,這兩個電 晶體533及534通常會利用事先定義的方法,將節點514及518拉升至事 先決定的邏輯高電位。 第三類比電路,其包括第五PMOS電晶體535及第六PMOS電晶體 536,的操作方式亦大同小異。若這個邏輯電路判定這個反相產生信號爲 低電位狀態,則這個反相刪除信號及這個反相傳遞信號將會自動拉升 至邏輯高電位,亦即:利用電晶體535及536連接至高電位Vdd。因此, 當一個輸出線路的信號具有這個邏輯電路計算的資料狀態時,本發明電路 便可以”無條件地”將兩個或其他輸出線路拉升至”高電位”。這乃是可能的情 況,因爲單態(one — hot)編碼的主要原理便是,除了某個輸出線路以外, 全部輸出線路均會具有相同狀態,並且,這個狀態會與這個輸出線路的狀 態互補。 22 1245218 這個維持一“〇”電路級44乃是用來執行兩種功能。首先,這個維持一“Ο” 電路級44會具有各個節點的一個反相器541,542,543,藉以分別反相這 些反相輸出信號7,无,3,並在輸出508,510,512得到非反相輸出信號 Ρ,Κ,G。在連接至這個輸出電路級45的下一個電路級(舉例來說,總和 進位電路級)乃是利用反相預看參數進行運算的情況下,如第8圖所示, 這些反相器並非不可或缺。在第5圖所示的較佳實施例中,然而,下一個 總和進位電路級卻需要進行架構,藉以利用這些非反相預看參數進行運 算。然而,這個維持-“〇”電路級44亦可以具有另一個有利的功能。無論這 個輸入電路級4〇的邏輯狀態爲何,這個維持-“0”電路級44均可以在節點 514,516,518維持”0”狀態(亦即:邏輯低電位狀態)。爲達此目的,各個 節點514,516,518會分別提供這些回饋線路544,545,546,並且,這些 回饋線路544,Μ5,546會分別連接至這些NMOS電晶體547,548,549 的閘極。這些電晶體547,548,549會進行操作,藉以利用這個控制器10, 將這個鎖定線路550的信號放置於據此閘通的一個節點518,516,或514。 右鎖疋{目號爲0V (亦即· Vss ),在任何一*個節點P,尤,(?等方令+Vdd的情 況下,任何事情均不會發生。另外,若任何一個節點?,Z5等於〇v, 任何事情亦不會發生。即使在這種情況中,這個鎖定信號550亦不會造成 任何位元切換。然而,這個維持-”0”電路級44的好處是,在任何一個節點 514,516,518等於”0”狀態(亦即:Vss)的情況中,這個”〇”狀態(亦即: Vss)仍會維持,即使這個邏輯電路級41發生一個處理動作,亦即,舉例 來說:這個邏輯電路級41的電晶體520,524因任何理由而出現位元切換, 23 1245218 藉此,對應的節點514,516,518將不再具有低電位Vss。 如第6圖的詳細說明,將高電位Vdd施加至這個鎖定信號輸入550會 導致:在這些節點514,516,518分別具有,,0,,狀態(亦即:低電位Vss) 的時候,這個”〇”狀態會轉換爲”1”狀態,因爲這個反相器543會在輸入一 個”〇”狀態(舉例來說,節點518)的時候,在輸出側邊產生”1”狀態的反相 輸出信號,並且,當這個反相輸出信號施加至這個NMOS電晶體549的閘 極時,會將鎖定線路550出現的高電位Vdd閘通至節點518。因此,這個 鎖定位置將不會在這個資料模式中選擇,而會在這個準備模式中選擇,藉 以做爲預充電動作的準備。高電位(Vdd)的鎖定信號並不會對這些節點 514 ’ 516 ’ 518的高電位(亦即,若這些節點具有高電位Vdd)造成影響, 因爲在這個例子中,電晶體547,548及/或549絕不會中斷,藉以使這個 鎖定信號的電位能夠不轉移至節點514,516,518。 如第5圖所示,這個預充電電路級42會具有各個節點514,516,518 的一個預充電電晶體551,552,553。這些預充電電晶體551,552,553乃 是架構爲PMOS電晶體。若控制器10將低電位Vss (舉例來說,0V )施加 於一個預充電輸入554 (亦稱爲PrchQ),則這三個預充電電晶體551,552, 553將會切換爲導電狀態,藉以使高電位Vdd能夠直接施加至節點514, 516,518。另一方面,若這個預充電輸入554的信號爲高電位(Vdd),則 這三個電晶體551,552,553將會中斷,藉以使這些電晶體及這個預充電 輸入554不會對電路行爲造成任何影響。因此,這個預充電輸入便可以在 資料模式中設定爲高電位狀態Vdd。 24 1245218 這個準備模式及這個資料模式的信號狀態順序及資料輸入//輸出控制 將會配合第6圖詳細說明如下。在步驟61中,任意挑選,鎖定信號55〇 - (lockQ)首先會設定爲0 (亦即:低電位Vss)。由於步驟61乃是發生在 - 準備模式中,三個反相輸出信號PQ,KQ,GQ (亦即:7Z5 )會全 部具有高電位Vdd,並且,這些輸出508,510,512會全部具有低電位Vss。 鎖定信號等於的結果是,這個輸出電路級會維持在”0”狀態,亦即:節點 514,516,518會維持”1”狀態。隨後,預充電信號554 (PreQ)會設定爲,,〇,, 狀態(步驟62),藉以執行這個預充電時脈周期。如此,這些節點514,516, 518便會全部充電至預先定義的高電位狀態Vdd,藉此,在步驟61中,這 些輸出508,510,512才會全部具有準備模式(亦即:預充電模式或預放 電模式)想要的低電位Vss。 如第6圖的步驟63所示,在這個預充電時脈周期的末端,這個預充電 線路554會施加高電位Vdd而中斷,然而,這個動作並不會因鎖定信號仍舊 爲”〇”狀態而對節點514,516,518或輸出508,510,512而有所影響。如 第6圖的步驟64所示,有效資料可以饋入輸入500,502,504,506,其基 本上同時於這個預充電狀態的中斷動作或跟隨在這個中斷動作後面。在這 個例子中,這些輸出500及504的信號乃是彼此互補。另外,這些輸入502 及506的信號亦是彼此互補。這個邏輯電路級41將會使一個節點(諸如·· 節點518 )由高電位狀態Vdd改變爲低電位狀態Vss。有鑑於此,這個維持 -“1”電路級43便可以同時讓節點514,516 (這些節點並非利用事先定義的 方法建立)拉升至(或維持在)定義的高電位狀態Vdd。由於這個資料饋 25 1245218 入,在這個例子中,節點518便可以經由電晶體522及520連接至低電位 Vss,如先前所述。 如此,這個反相器543的輸入便會產生”〇”狀態。這個”0”狀態會利用這個 反相器543反相爲”1”狀態(亦即:高電位Vdd),並且,這個反相器543 輸出的高電位Vdd會讓這個電晶體549變成導通。由於這個鎖定信號55〇 仍然具有低電位Vss,因此,這個回饋線路546的回饋及這個電晶體549的 閘通便可以維持節點518的低電位狀態。由於節點518可以穩定地具有低 電位,因此,這個輸出512便可以穩定地具有高電位,並且,”評價”亦可以 執行(步驟65 ),亦即:有效輸出資料將可以經由輸出電路級45進行輸出。 這個資料輸出可以經由一個輸出控制線路進行控制,或者,這個資料輸出 可以計時,使下一個總和進位電路級不會收到本發明轉換裝置的資料,直 到輸出508,510,512具有固定狀態。 隨後,本發明的轉換方法便會由這個資料模式再回到這個準備模式,如 第6圖的步驟66所示。在這個準備模式中,這些輸入500-5〇6的輸入資 料會全部相等,並且,在第5圖所示的較佳實施例中,這些輸入資料均會 等於狀態。亦即··前一個電路級(亦即:具有雙軌(dual —rail)輸出的 三位元半加法器)已經在準備模式中執行一個預放電動作。直接施加於輸 入500 - 506可能會使這三個節點514,516,518全部變成浮動(亦即··這 三個節點均無法具有低電位Vss)。然而,這個資料模式的啓始狀態卻可以 維持在這個維持-“Γ電路級43及這個維持電路級44的輸出,完全不考 慮這個輸入電路級已經得到準備模式的資料。有鑑於此,資料讀取亦可以 26 1245218 在步驟66執行,即使在第6圖所示的術語中,步驟66已經視爲準備模式 的一部分。若這個術語,,資料模式,’及”準備模式”乃是指這個輸入(亦即:這 個輸入電路級4〇的情況),則這個步驟66便可以做爲這個準備模式的一部 分。然而,若這個術語乃是指這個輸出(亦即:這個輸出電路級45 ),則這 個步驟66便仍然是這個資料模式的一部分。這個輸出並不會切換至這個準 備模式,直到這個鎖定信號切換爲”Γ狀態。 在這個例子中,節點518 (實際上浮動、且利用維持電路級44維持) 會與低電位Vss隔離,藉以使回饋線路546、反相器543及電晶體549具有 瞬變狀態,並且,維持-‘T,電路級43 (基於節點518的”0”狀態,藉以將另 二個線路維持爲”1”狀態)亦會進入瞬變狀態。在這個狀態中,節點518將 無法繼I買固定地連接至低電位Vss。在鎖定線路55〇上’在局電位Vdd的 開啓時間,由於這個電晶體549仍然會因爲先前條件而維持開啓,因此, 至少有部分電荷會經由電晶體549注入節點518,直到節點518具有足夠電 荷,進而反轉這個反相器543並中斷這個電晶體549。 接著’這個鎖定信號會再度回至”0”狀態,並且,這個動作通常不會對節 點5M,516,51S造成任何影響。隨後,在·^一個啓動預充電動作的預充 電時脈周期中(步驟62),這三個節點514,516,518因爲步驟66及67而 喪失的固定電位便可以將各個節點514,516,518固定連接至高電位Vdd 而加以矯正,亦即:將各個節點置於預充電狀態,並在中斷後轉換至資料 模式。 利用下列步驟順序,亦即:l〇ckQ= 1 (步驟67 )、lockQ = 0 (步驟61)、 27 1245218 及PrchQ = 0 (步驟62),可以確保各個反相器541,542,543不會’超過” 其狀態,其理論上可行、但卻可能會得到相當數量的反相器軌道電流,進 而受到現有電流曲線分析方法的攻擊。相對地,這個反相器543仍然可以 維持在目前狀態(舉例來說,在步驟66中施加鎖定信號),因爲低電位Vss 乃是經由輸入側邊的鎖定線路550施加,並且,高電位Vdd乃是經由輸出 側邊施加。隨後,鎖定信號便可以切換至高電位Vdd。這可能會導致瞬變 行爲,其中,電荷會注入節點518,直到這個反相器543自動反轉,藉以在 反轉後中斷電晶體549,進而使電荷即刻停止注入節點51δ 〇因此,這個反 相器543將不會具有與輸入側邊及輸出側邊相同的狀態,藉以強制超過這 個反相器543輸出的”1”狀態轉換至”0”狀態。 第7圖乃是表示本發明三運算元加法器的電路方塊圖。根據本發明,在 各個位元片段中,這個三位元半加法器會實施爲一個雙軌(dual-mil)電 路,藉此,在輸入側邊,這三個運算元將可以饋入做爲三個運算元位元, 並且,這三個反相運算元亦可以饋入做爲資料模式的三個輔助運算元位 元,另外,在輸出側邊,兩個位元X,Y會輸出做爲運算元位元,並且, 二個反相位元I,F亦可以輸出雙軌(dual-mil)的輔助運算元位元。在準 備模式中,這個三位元半加法器可以進行運算,藉以使所有輸入運算元等 於”〇”狀態(對應於預放電操作),或者,藉以使所有輸入運算元等於”1”狀 態(對應於預充電操作)。在輸出側邊,這些信號Xi,,Yi,朽最好能 夠做爲預放電信號,亦即:在準備模式中具有低電位Vss。第7圖所示的雙 軌(dual-rail)三位元半加法器70會具有一個二位元全加法器71,連接至 28 1245218 下一個電路級的位元片段,並且,這個二位元全加法器71會具有第1圖及 第5圖所示的雙軌/單態轉換器71A (第一級)及計算各個位元片段的總 計位元及下一個位元片段的進位位元的總和進位電路級71B (第二級)。應 該指明的是,由於這個雙軌轉換器71A,本發明才可以使用常見的總和進 位電路級71B,因爲這個電路級71B無法得知單態(one-hot)編碼預看參 數P,K,G已經由雙軌(dual—rail)輸入數値產生。 相較於第8圖所示的已知三運算元加法器,第7圖所示的三運算元加法 器可以具有下列好處: 由於實施具有預充電/預放電的雙軌(dual—rail)技術,這個半加法器 電路級可以免於硬體攻擊。即使第7圖所示的二位元全加法器電路級僅是 利用單軌實施,這個加法器仍然可以免於硬體攻擊,因爲這種加法器可以 繼承單態(one-hot)編碼的固有特性,但卻僅需要一半的晶片面積(相較 於全雙軌實施的二位元全加法器電路級)。因此,第7圖所示的三運算元加 法器可以節省空間。 由於第7圖所示的計算單元及第8圖所示的計算單元可以快速相加三個 運算元,因此,第7圖所示的電路並不會損失速度(相較於第8圖所示的 電路),若考量第7圖電路的準備模式(亦即:預充電/預放電動作)可以 快速執行,且同時可以用來執行輸入/輸出動作或儲存動作,因此,這個 準備模式並不是最重要的部分。 特別是,第7圖所示的加法器觀念不一定要限定在三運算元加法器,並 且,亦可以延伸至N運算元加法器(N大於3 ),因爲:N運算元加法器可 29 1245218 以利用複數個第7圖所示的三運算元加法器進行架構。 第7圖所不加法器觀念的另一個好處是’利用雙軌(dual-rail)技術實 施的三位元加法器已經存在(特別是,三位元進位儲存加法器),因此,本 發明的三運算元加法器便可以利用現存加法器觀念達成,這些現存的加法 器觀念可以具有節省開發及測試時間的好處。 本發明的雙軌(dual-rail) /單態(one-hot)轉換器可以與一個總和 進位電路級(其亦是現存觀念且已經通過測試)組合,藉以在預充電模式 中(所有電路節點7,Z,忑等於”1”狀態)及資料模式中(存在單態(one 一hot)編碼,僅有一個線路具有,,〇,,狀態),建構一個進位傳遞加法器,在 先前所述的較佳實施例中。特別是,若考量第5圖,相反例子將可以顛倒 這些電晶體(亦即:由NMOS變成PMOS及由PMOS變成NMOS)以實 現,在這個相反例子中,第5圖的所有節點514,516,518在準備模式中 均爲低電位Vss,並且,在資料模式中僅有一個節點會根據單態(one一hot) 編碼切換至高電位Vdd。如先前所述,本發明的轉換裝置最好具有一個電 路,藉以確保:根據一個節點的有效資料狀態,其他節點均可以互補地設 定,另外,另一電路最好能夠維持及/或”固定”這個有效資料狀態。 本發明轉換裝置的另一個好處是,這種轉換電路可以具有較少的電晶體 數目(亦即··具有較小的晶片面積),若雙軌輸入的互補信號(亦即:輔助 運算元位元)分別利用單電晶體類型的電晶體構成邏輯電路(諸如:NMOS 或PMOS )。爲達此目的,本發明係偏好NMOS電晶體,因爲這種電晶體類 型具有方便電路設計者處理且快速的優點。 30 1245218 根據實際情況,本發明轉換方法亦可以實施爲硬體或軟體。這個實施可 以作用於數位儲存媒體,特別是,具有電子可讀取控制信號且可以與可程 式電腦系統共用操作的磁碟或光碟,藉以執行本發明方法。因此,本發明 亦包括具有程式碼的電腦程式產品,儲存於機械可讀取的載體,藉以在電 腦程式產品執行於電腦時,執行本發明方法。換句話說,本發明亦可以包 括具有程式碼的電腦程式’錯以在電腦程式執彳了於電腦時,達成本發明的 轉換方法。 【圖式簡單說明】 第1圖乃是將一個雙軌(dual—rail)輸入轉換至一個單態(one-hot)輸出 的裝置方塊圖; 弟2圖乃是弟1圖轉換電路,在資料模式中,的操作模式真値表; 第3圖乃是第1圖轉換電路的邏輯電路的具體實施例; 第4圖乃是第1圖轉換電路的詳細電路圖,其中,資料模式及準備模式均 可以提供固定電位位準; 第5圖乃是本發明轉換電路的電晶體層電路示意圖; 第6圖乃是第5圖轉換電路,在資料模式及準備模式中,的操作流程圖; 第7圖乃是本發明三運算元加法器的電路方塊圖,其中,這個三運算元加 法器具有第1圖的轉換裝置;以及 第§圖乃是沒有外加安全特徵的三運算元加法器。 【主要元件符號說明】 31 1245218 30、31、32、33 AND 運算裝置 34 OR運算裝置 40輸入電路級 41邏輯電路級 42預充電電路級 43維持-“Γ電路級 44維持-“0”電路級 45輸出電路級 48輸入控制線路 49輸出控制線路 500、502、504、506 輸入 71二位元全加法器 514、516、518 節點 520、522、524、526、528、530 電晶體 531、533、534、535、536 PMOS 電晶體 541、542、543 反相器 547、548電晶體 549 NMOS電晶體 550鎖定信號輸入 551、552、553 電晶體 554預充電輸入 32 1245218 61在輸出電路級維持”〇” 62預充電時脈 63預充電中止 64維持P信號、K信號、G信號 65 “評量”P或K或G=1,(資料有效)餘數=0 66在輸入電路級預放電 67輸出資料無效 33

Claims (1)

1245218 十、申請專利範圍: 1·一種將一具有二運算元位元(X,γ)及二輔助運算元位元(I,?)之 雙軌輸入轉換成一具有三輸出運算元(ρ、κ、G)之輸出之裝置,其中, 該二輔助運算元位元,在一資料模式中,係該二運算元位元之補數,該裝 置係包括: 控制裝置(10),用以操作該裝置於一資料模式中,以及,用以操作該裝 置於一準備模式中,該準備模式係在該資料模式後面;以及 一邏輯電路(12),用以組合該二有用運算元位元及該二輔助運算元位 元,藉此,在該資料模式中,該三輸出運算元之二輸出運算元係具有一數 値,並且,該數値係不同於該三輸出運算元之一第三輸出運算元者,以及 其中,該邏輯電路係進一步架構,藉此,在該準備模式中,該三輸出運 算元係具有相同之數値。 2·如申請專利範圍第1項所述之裝置,其中,該邏輯電路係架構一加法器預 看功能,藉此,該三輸出運算元係表示該二有用運算元位元之預看參數。 3. 如申請專利範圍第2項所述之裝置,其中, 一第一輸出運算元係表示該二有用運算元位元之一傳遞參數(p)或一互 補傳遞參數(?); 一第二輸出運算元係表示該二有用運算元位元之一刪除參數(K)或一互 補刪除參數(无);以及 一第三輸出運算元係表示該二有用運算兀位兀之一產生梦數(G)或一互 補產生參數(5)。 4. 如申請專利範圍第1項所述之裝置,其中,該邏輯電路更包括: 34 1245218 一第一 AND運算裝置(30),用以組合該第一輔助運算元(I )及該第 二運算元(Y),藉以產生一第一 AND輸出信號; 一第二AND運算裝置(31 ),用以組合該第一有用運算元及該第二輔助 運算元(?),藉以產生一第二AND輸出信號;以及 一 OR運算裝置(34 ),用以組合該第一 AND輸出信號及該第二AND輸 出信號,藉以提供一傳遞參數(P); 一第三AND運算裝置(32),用以組合該第一輔助運算元位元(T )及 該第二輔助運算元位元(?),藉以產生一刪除參數(K);以及 一第四AND運算裝置(33 ),用以組合該第一有用運算元位元(X)及該 第二運算元位元(Y),藉以產生一產生參數(G)。 5·如申請專利範圍第1項所述之裝置,其中,該邏輯電路(I2)係包括: 用以邏輯組合該二有用運算元位元及該二輔助運算元位元之裝置(41),藉 此,在該資料模式中,該三輸出運算元係根據一預定組合規格進行計算; 以及 用以確保在該資料模式中該三輸出運算元之二輸出運算元係該第三輸出 運算元之補數之裝置(43,44)。 6·如申請專利範圍第5項所述之裝置,其中,該確保裝置係根據一輸出運算 元之一有效狀態,架構一維持一”1”電路級(43),該另二輸出運算元狀 態係該輸出運算元狀態之補數。 7.如申請專利範圍第5項所述之裝置,其中,該固定裝置係根據一輸出運算 元之一有效狀態,獨立於該邏輯電路U2)之輸入,架構一維持一 ”0” 35 1245218 電路級以維持該"〇π狀態。 8. 如申請專利範圍第1項所述之裝置’其中’ 該控制裝置(10)係架構以控制該邏輯電路(12 ),藉此,一資料模式係 跟隨一準備模式,並且,一準備模式係另外跟隨一資料模式。 9. 如申請專利範圍第1項所述之裝置’其中’ 該邏輯電路(12)更包括準備裝置(42 ),該準備裝置(42 )係架構以在 該準備模式中放置該三輸出運算元於相同數値,獨立於一邏輯裝置之一輸 出,藉以在該準備模式中組合該輸入資料;以及 該邏輯電路更架構以在該準備模式中壓抑具有一高電位(Vdd)之一點至 一參考電位(Vss)之一轉軌電流。 10. 如申請專利範圍第1項所述之裝置,其中,該邏輯電路(12)係包括: 一邏輯電路級(41 ),用以根據一組合規格,邏輯組合該等運算元位元及 該等輸入運算元位元; 一預充電電路級(42),用以在該準備模式中放置該等輸出運算元於相同 狀態; 一維持一”1”電路級(43),用以維持二輸出運算元於相同狀態,並且,該 第三輸出運算元之狀態係該二輸出運算元狀態之補數;以及 一維持-”0”電路級(44),用以在該互補狀態中維持該第三輸出運算元。 11. 如申請專利範圍第10項所述之裝置,其中,該邏輯電路級(41)係架構 爲僅具有NOMS電晶體。 12·如申請專利範圍第1〇項所述之裝置,其中,該邏輯電路級係包括: 36 1245218 一第一電晶體(52〇)及一第二電晶體(522),該第一電晶體(520)係 利用該第二有用運算元位元(Y)控制,並且,該第二電晶體(522)係利 用該第一有用運算元位元(X)控制,該第一電晶體(52〇)及該第二電晶 體(522)係彼此串聯,一參考電位(Vss)係施加至該第一電晶體(520)及 該第二電晶體(522)之一輸入,並且,一互補產生參數(5 )係產生於該第 一電晶體(520)及該第二電晶體(522)之一輸出(518); 一第三電晶體(524)及一第四電晶體(52〇,該第三電晶體(524)及 該第四電晶體(526)係彼此串聯,一該等電晶體(524)係連接至該參考 電位(Vss),並且,一反相刪除參數(Κ )係產生於另一該等電晶體(526) 之一輸出(516),該第三電晶體(524)係利用該第二輔助運算元位元(?) 控制,並且,該第四電晶體(526)係利用該第一輔助運算元位元(Υ )控 制;以及 一第五電晶體(528 ),串聯於該第三電晶體(524 ),該第五電晶體(528) 係能夠在一相同輸出(514 )提供一反相傳遞參數(7 ),該第五電晶體(528 ) 係利用該第一運算元位元(X )控制,一第六電晶體(530 )係另外提供, 該第六電晶體係利用該第一輔助運算元位元(I )控制,該第六電晶體(530 ) 之一輸出係等於該第五電晶體(528)之輸出(514),並且,該第六電晶體 (530)係串聯於該第一電晶體。 13.如申請專利範圍第10項所述之裝置,其中, 在該準備模式中’該等有用運算兀位兀及該等輔助運算兀位兀係位於一 低電位狀態,在該準備模式中’該等有用運算元位元及該等輔助運算元位 37 1245218 元係執行一預放電操作。 14.如申請專利範圍第10項所述之裝置,其中, 該預充電電路級(42 )及該維持一 ” 1 ”電路級(43 )僅具有PMOS電晶體。 15•如申請專利範圍第10至14任一項所述之裝置,其中,對於各輸入運算 元而言,該維持-T電路級係包括: 一反相器(541,542,543)、一回授路徑(544,545,546)、及一鎖定 電晶體(547,548,549),該鎖定電晶體之一輸入係連接至一鎖定信號 (550),並且,該鎖定電晶體之一輸出係連接至該反相器之一輸入。 16. 如申請專利範圍第15項所述之裝置,其中,該鎖定電晶體係架構爲一 NMOS電晶體。 17. 如申請專利範圍第16項所述之裝置,其中,該鎖定信號係可以在該資料 模式中設定爲一低參考電位(Vss),並且,該鎖定信號係可以在該準備模 式中首先切換至一高電位(Vdd)、隨後再切換至該低參考電位(Vss)。 18. 如申請專利範圍第10項所述之裝置,其中,該邏輯電路級(41)係進行 架構,藉此,在該準備模式中,其中,該等有用運算元位元及該等輔助運 算元位元係具有相同狀態,一定義參考電位將不會施加於輸出參數節點 (514,516,518)。 19. 如申請專利範圍第10項所述之裝置,其中,該控制裝置(10)係進行架 構,藉以在該資料模式中維持該鎖定信號(550)於一低電位狀態,藉以在 該資料模式中維持該預充電信號(554)於一高電位狀態,藉以在該準備狀 態中放置該鎖定信號(550)於一高電位狀態(67),藉以隨後再放置該鎖 38 1245218 雜號(550)於-低電位狀態(61 ),以及,在該鎖定信雛置於〜低電 位狀纖’麵麵充電信號(554)於一低電位狀態,藉以執行〜預充電 操作。 20·—種加法器’用以相加二運算元,包括·· 利用雙軌技術之-三位元半加法器(7〇),其係運算於一準備模式及〜資 料模式中,藉以經由三雙軌輸入運算元,計算二雙軌輸出運算元; 一二位元全加法器(71 ),包括: 一裝置(71A),如申請專利範圍第1至19項之任何一項所述,用以終 由二雙軌輸出位元,產生單軌預看參數(p,K,G);以及 工 -總麵位電賺(71Β),用以經_轉軌麗雜,計算 位元及一進位位元。 21·如申請專利範圍第20項所述之加法器,其中,該三位元半力晦器係進行 架構,藉以在該準備模式中提供一低電位(Vss)之輸出資料,且其中,該 裝置(71A )係具有一邏輯電路級(41),其僅具有NM〇s電晶體。 22.—種將一具有二有用運算元位元(X,Y)及二輔助運算元位元(j,?) 之雙軌輸入轉換成一具有三輸出運算元(p、K、G)之輸出之方法,其中, 該二輔助運算元位元,在一資料模式中,係該二運算元位元之補數,該方 法係包括下列步驟: 操作(10)該裝置於一資料模式或一準備模式中,其中,該準備模式係 在該資料模式後面;以及 組合(12)該二有用運算元位元及該二輔助運算元位元,藉此,在該資 39 1245218 料模式中,該三輸出運算元之二輸出運算元係具有一數値,其係不同於該 三輸出運算元之一第三輸出運算元者,以及 確保(62),在該準備模式中,該三輸出運算元係具有相同之數値。 23.—種具有一電腦程式之媒體,其中該電腦程式具有一程序碼,藉以在該 電腦程式執行於一電腦時,執行申請專利範圍第22項所述之轉換方法。
TW092126122A 2002-09-25 2003-09-22 Apparatus and method for converting, and adder circuit TWI245218B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10244738A DE10244738B3 (de) 2002-09-25 2002-09-25 Vorrichtung und Verfahren zum Umsetzen und Addierer

Publications (2)

Publication Number Publication Date
TW200410131A TW200410131A (en) 2004-06-16
TWI245218B true TWI245218B (en) 2005-12-11

Family

ID=31197619

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092126122A TWI245218B (en) 2002-09-25 2003-09-22 Apparatus and method for converting, and adder circuit

Country Status (6)

Country Link
US (1) US7613763B2 (zh)
EP (2) EP1540460B1 (zh)
AU (1) AU2003270251A1 (zh)
DE (3) DE10244738B3 (zh)
TW (1) TWI245218B (zh)
WO (1) WO2004031938A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI567640B (zh) * 2011-12-23 2017-01-21 英特爾公司 用於不引發算術旗標的三輸入運算元加法指令之方法及處理器

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520951A (ja) * 2004-01-27 2007-07-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力解析攻撃対策保護
DE102004009144B4 (de) * 2004-02-25 2011-03-17 Infineon Technologies Ag Logikzelle und Verfahren zum Durchführen einer Dual-Rail-Logikoperation und Speichermedium
DE102004020576B4 (de) * 2004-04-27 2007-03-15 Infineon Technologies Ag Datenverarbeitungsvorrichtung mit schaltbarer Ladungsneutralität und Verfahren zum Betreiben einer Dual-Rail-Schaltungskomponente
US7610628B2 (en) * 2005-03-01 2009-10-27 Infineon Technologies Ag Apparatus and method for calculating a representation of a result operand
DE102005011374B3 (de) * 2005-03-11 2006-07-13 Infineon Technologies Ag Sicheres und schnelles Rechenwerk für Addiereschaltungen von Kryptographieprozessoren
DE102005037357B3 (de) * 2005-08-08 2007-02-01 Infineon Technologies Ag Logikschaltung und Verfahren zum Berechnen eines maskierten Ergebnisoperanden
US7881465B2 (en) * 2005-08-08 2011-02-01 Infineon Technologies Ag Circuit and method for calculating a logic combination of two encrypted input operands
US20080042681A1 (en) * 2006-08-11 2008-02-21 Infineon Technologies Ag Integrated circuit device with current measurement
US7707237B2 (en) * 2008-08-01 2010-04-27 Infineon Technologies Ag Macrocell and method for adding
US20180089426A1 (en) * 2016-09-29 2018-03-29 Government Of The United States As Represented By The Secretary Of The Air Force System, method, and apparatus for resisting hardware trojan induced leakage in combinational logics
CN109474268B (zh) * 2018-12-19 2024-02-06 北京比特大陆科技有限公司 电路结构、电路板和超算设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3631992A1 (de) * 1986-03-05 1987-11-05 Holger Sedlak Kryptographie-verfahren und kryptographie-prozessor zur durchfuehrung des verfahrens
US5208490A (en) * 1991-04-12 1993-05-04 Hewlett-Packard Company Functionally complete family of self-timed dynamic logic circuits
DE19782228C2 (de) * 1996-12-31 2001-10-31 Intel Corp N-Bit-Adder mit Adderblöcken
US6334136B1 (en) * 1997-12-11 2001-12-25 Intrinsity, Inc. Dynamic 3-level partial result merge adder
US6496846B1 (en) * 1999-07-13 2002-12-17 Hewlett-Packard Company Conditional carry encoding for carry select adder
US7290027B2 (en) * 2002-01-30 2007-10-30 International Business Machines Corporation Circuit suitable for use in a carry lookahead adder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI567640B (zh) * 2011-12-23 2017-01-21 英特爾公司 用於不引發算術旗標的三輸入運算元加法指令之方法及處理器

Also Published As

Publication number Publication date
EP1677185A1 (de) 2006-07-05
US20050193052A1 (en) 2005-09-01
DE10244738B3 (de) 2004-03-04
TW200410131A (en) 2004-06-16
US7613763B2 (en) 2009-11-03
AU2003270251A1 (en) 2004-04-23
EP1540460B1 (de) 2006-11-15
DE50312099D1 (de) 2009-12-17
EP1677185B1 (de) 2009-11-04
EP1540460A2 (de) 2005-06-15
DE50305704D1 (de) 2006-12-28
WO2004031938A3 (de) 2004-07-01
AU2003270251A8 (en) 2004-04-23
WO2004031938A2 (de) 2004-04-15

Similar Documents

Publication Publication Date Title
US7613763B2 (en) Apparatus and method for converting, and adder circuit
US5329176A (en) Self-timed clocking system and method for self-timed dynamic logic circuits
US4523292A (en) Complementary FET ripple carry binary adder circuit
Islam et al. Reversible logic synthesis of fault tolerant carry skip BCD adder
Lala et al. Adder designs using reversible logic gates
Aradhya et al. Design of control unit for low power AU using reversible logic
Zulehner et al. Design automation for adiabatic circuits
TWI299134B (en) Wide adder with critical path of three gates
JPH0233174B2 (zh)
Mahapatro et al. Design of arithmetic circuits using reversible logic gates and power dissipation calculation
JPH08123665A (ja) 差分桁上げ保存加算器と乗算器
Somani et al. Reversible adder design for ripple carry and carry look ahead (4, 8, 16, 32-bit)
US6711633B2 (en) 4:2 compressor circuit for use in an arithmetic unit
JP3467286B2 (ja) 論理評価システム
Mitra et al. Optimized logarithmic barrel shifter in reversible logic synthesis
US7284029B2 (en) 4-to-2 carry save adder using limited switching dynamic logic
Dave et al. Performance evaluation of flagged prefix adders for constant addition
Tapadar et al. Power and area aware improved SQRT carry select adder (CSIA)
US5978826A (en) Adder with even/odd 1-bit adder cells
US7797364B2 (en) Booth decoder apparatus and method
Au et al. Unified Radix-4 Multiplier for GF (p) and GF (2^ n)
Khandelwal et al. Parity preserving adder/subtractor using a novel reversible gate
Kumar et al. Design of low power adder and multiplier using reversible logic gates
JP2563473B2 (ja) 2進演算器
Shriram et al. A high speed 256-bit carry look ahead adder design using 22nm strained silicon technology

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees