KR101499791B1 - 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기 - Google Patents

자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기 Download PDF

Info

Publication number
KR101499791B1
KR101499791B1 KR20130098972A KR20130098972A KR101499791B1 KR 101499791 B1 KR101499791 B1 KR 101499791B1 KR 20130098972 A KR20130098972 A KR 20130098972A KR 20130098972 A KR20130098972 A KR 20130098972A KR 101499791 B1 KR101499791 B1 KR 101499791B1
Authority
KR
South Korea
Prior art keywords
bit
significant
carry
sum
adder
Prior art date
Application number
KR20130098972A
Other languages
English (en)
Other versions
KR20150021696A (ko
Inventor
이정아
무하마드 알리 아크바르
Original Assignee
조선대학교산학협력단
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 조선대학교산학협력단 filed Critical 조선대학교산학협력단
Priority to KR20130098972A priority Critical patent/KR101499791B1/ko
Publication of KR20150021696A publication Critical patent/KR20150021696A/ko
Application granted granted Critical
Publication of KR101499791B1 publication Critical patent/KR101499791B1/ko

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기에 관한 것으로, 보다 구체적으로는 연산 결과에 영향을 미치지 않으면서 간단한 구성으로 오류 발생 여부를 자가 검사할 수 있고, 복수 비트의 입력에 대해 전 가산 연산을 수행할 때 오류가 발생한 전 가산기의 위치 탐지가 가능하여 고장이 발생한 전 가산기만을 빠르게 복구할 수 있으며, 하나의 리플 캐리 가산기만으로도 간단하게 캐리 선택 가산 연산을 수행할 수 있는 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기에 관한 것이다.

Description

자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기{Self-checking full adder and self-checking carry select adder having the full adder}
본 발명은 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기에 관한 것으로, 보다 구체적으로는 연산 결과에 영향을 미치지 않으면서 간단한 구성으로 오류 발생 여부를 자가 검사할 수 있고, 복수 비트의 입력에 대해 전 가산 연산을 수행할 때 오류가 발생한 전 가산기의 위치 탐지가 가능하여 고장이 발생한 전 가산기만을 빠르게 복구할 수 있으며, 하나의 리플 캐리 가산기만으로도 간단하게 캐리 선택 가산 연산을 수행할 수 있는 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기에 관한 것이다.
전 가산기(Full-adder)란 가수(added), 피가수(augend) 및 캐리(carry-in,올림수)를 입력받아 합(sum)과 캐리(carry-out)를 출력하는 가산기로 반 가산기(half-adder)에서는 고려되지 않았던 하위의 가산결과로부터 캐리를 처리할 수 있도록 구성한 가산기이다.
또한, 리플 캐리 가산기(Ripple carry adder)란 복수의 비트를 갖는 가수 및 피가수의 전 가산 연산을 수행하는 전 가산기로서, 가수 및 피가수의 서로 다른 각 자리 비트들을 가산 연산하는 복수의 전 가산기를 포함하고, 각 전 가산기는 상위 전 가산기로 계산된 캐리를 전파해주며 가수 및 피가수의 전 비트에 대해 가산하는 가산기이다.
또한, 캐리 선택 가산기(Carry select adder)란 입력되는 캐리의 비트 값이 '0'일 때, 대한 가산 연산을 수행하는 제1 리플 캐리 가산기, '1'일 때, 가산 연산을 수행하는 제2 리플 캐리 가산기 및 입력되는 캐리의 비트 값에 따라 상기 제1 리플 캐리 가산기 또는 상기 제2 리플 캐리 가산기의 출력을 선택적으로 출력해주는 멀티플렉서를 포함하는 전 가산기로서, 입력되는 캐리에 따라 미리 계산된 가산 연산의 결과를 빠르게 출력할 수 있는 가산기이다(미국등록특허 제5018093호, 미국등록특허 제5506800호).
한편, 최근 실리콘 단도체 제조기술의 발달로 최근 몇 년 사이에 28nm 공정에서 2500만 게이트를 집적할 수 있는 FPGA 디바이스가 출현했다.
이러한 초미세 공정으로 제작된 디바이스를 사용하는 재구성가능 시스템에서 가장 일반적인 결함은 외부적 요인과 반도체 물질의 불순도, 제작과정상의 문제, 사용시간의 증가로 인한 오류, 설계파라미터의 오류, 타이밍 오류 등의 내부적 요인으로 분류된다.
또한, 반도체 디바이스와 중성자, 알파입자의 반응으로 인해 설계와 실제 구현상의 차이에 의해 결함이 발생할 수도 있으며 이는 시스템의 오류로 귀결될 수 있다.
또한, 방사(radiation)에 의해 제작되는 CMOS 회로에서의 오류는 회로의 특정부분이 '0' 또는 '1'로 고정되는 styck-at-0, stuck-at-1 오류를 초래할 수 있으며 이진 데이터의 논리 값을 단일 값으로 고정시키는 결함을 초래할 수 있다.
이러한 오류들을 검출하기 위한 오류검출기능은 반도체의 크기가 미세해짐에 따라 시스템의 신뢰성을 확보하기 위해 최근 더욱 중요한 관심을 받고 있으며, 오류에도 시스템의 동작이 중단되지 않고 원래 의도한 기능을 정상적으로 수행할 수 있는 결함허용가능 시스템의 연구가 활발하다.
따라서 가산 결과에는 영향이 없이 결함허용가능하고, 오류 발생을 자가 검사할 수 있는 전 가산기의 요구가 있다.
또한, 리플 캐리 가산기의 경우, 어느 하나의 가산기에 오류 발생시 발생한 오류가 상위 가산기로 전파될 수 있는 데, 이를 방지하기 위해 어느 가산기에서 오류가 발생하였는지 여부를 검사할 수 있는 리플 캐리 가산기의 요구가 있다.
또한, 하나의 리플 캐리 가산기만으로 캐리 선택 연산을 수행할 수 있는 캐리 선택 가산기(미국등록특허 제4525797호)가 개발된 바 있으나 논리 게이트의 구성이 복잡하고 리플 캐리 가산기를 구성하는 전 가산기의 오류를 각각 자가 검사할 수 없는 문제가 있다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로 본 발명의 목적은 연산결과에는 영향이 없이 간단한 구성으로 자가 검사를 수행할 수 있는 전 가산기를 제공하는 것이다.
또한, 본 발명의 목적은 복수 개의 전 가산기로 구성되는 캐리 리플 가산기에서 오류가 발생한 전 가산기의 위치를 빠르게 탐지하여 복구함으로써 발생한 오류가 상위 전 가산기로 전파되지 않게 할 수 있는 리플 캐리 가산기를 제공하는 것이다.
또한, 본 발명의 목적은 상기 리플 캐리 가산기와 멀티플렉서 및 간단한 논리 게이트의 조합으로 하나의 리플 캐리 가산기만으로 캐리 선택 가산을 수행할 수 있고, 리플 캐리 가산기를 구성하는 전 가산기들 각각의 오류를 검사할 수 있는 캐리 선택 가산기를 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위하여 본 발명은 피가수(augend) 비트, 가수(added) 비트 및 캐리 인(carry-in) 비트를 입력받고, 상기 피가수 비트, 상기 가수 비트 및 상기 캐리 인 비트의 합 연산결과인 합(sum) 비트와 캐리 아웃(carry-out) 비트를 연산하여 출력하는 전 가산기(full adder) 모듈; 및 상기 전 가산기 모듈의 출력 오류를 검사하는 오류 검사 모듈;을 포함하고, 상기 오류 검사 모듈은 상기 전 가산기 모듈의 입력 비트들이 모두 동일하고 출력 비트들이 서로 동일할 경우 또는 상기 입력 비트들 중 어느 하나의 비트가 상이하고 상기 출력 비트들이 서로 상이할 경우에는 오류가 발생하지 않은 것으로 판단하고, 상기 입력 비트들은 모두 동일하나 상기 출력 비트들이 서로 상이한 경우 또는 상기 입력 비트들 중 어느 하나의 비트가 상이하나 상기 출력 비트들은 서로 동일한 경우 오류가 발생한 것으로 판단하는 것을 특징으로 하는 자가 검사 전 가산기를 제공한다.
바람직한 실시예에 있어서, 상기 오류 검사 모듈:은 상기 전 가산기 모듈로 입력되는 상기 피가수 비트, 상기 가수 비트 및 상기 캐리 인 비트를 병렬로 입력받고, 상기 피가수 비트, 상기 가수 비트 및 상기 캐리 인 비트의 동일성을 판단하는 동일성 판단기; 상기 전 가산기 모듈에서 출력되는 상기 합 비트와 상기 캐리 아웃 비트를 입력받고, 상기 합 비트와 상기 캐리 아웃 비트의 동일성을 판단하는 동일성 판단 게이트; 및 상기 동일성 판단기에서 출력되는 입력 동일성 판단 비트와 상기 동일성 판단 게이트에서 출력되는 출력 동일성 판단 비트를 입력받고, 상기 입력 동일성 판단 비트와 상기 출력 동일성 판단 비트의 동일성을 판단하며, 동일성 판단결과를 에러 비트로 출력하는 에러 비트 출력 게이트;를 포함한다.
바람직한 상기 피 가수 비트와 상기 가수 비트는 각각 2비트 신호로 이루어지고, 상기 전 가산기 모듈:은, 상기 피 가수 비트와 상기 가수 비트의 최하위 비트 및 상기 캐리 인 비트를 가산하여 최하위 합 비트와 리플 캐리(ripple carry)를 출력하는 최하위 전 가산기 모듈; 및 상기 피 가수 비트와 상기 가수 비트의 최상위 비트 및 상기 최하위 전 가산기 모듈의 리플 캐리를 가산하여 최상위 합 비트와 상기 캐리 아웃 비트를 출력하는 최상위 전 가산기 모듈;을 포함하고, 상기 오류 검사 모듈:은 상기 최하위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최하위 오류 검사 모듈; 및 상기 최상위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최상위 오류 검사 모듈;을 포함한다.
바람직한 실시예에 있어서, 상기 피 가수 비트와 상기 가수 비트는 각각 적어도 3비트 신호로 이루어지고, 상기 전 가산기 모듈:은, 상기 피 가수 비트와 상기 가수 비트의 최하위 비트 및 상기 캐리 인 비트를 가산하여 최하위 합 비트와 최하위 리플 캐리(ripple carry)를 출력하는 최하위 전 가산기 모듈; 상기 피 가수 비트와 상기 가수 비트의 중간 비트 및 상기 최하위 리플 캐리를 가산하여 중간 합 비트와 중간 리플 캐리를 출력하는 중간 전 가산기 모듈; 상기 피 가수 비트와 상기 가수 비트의 최상위 비트 및 상기 중간 리플 캐리를 가산하여 최상위 합 비트와 상기 캐리 아웃 비트를 출력하는 최상위 전 가산기 모듈;을 포함하고, 상기 오류 검사 모듈:은 상기 최하위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최하위 오류 검사 모듈; 상기 중간 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 중간 오류 검사 모듈; 및 상기 최상위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최상위 오류 검사 모듈;을 포함한다.
바람직한 실시예에 있어서, 상기 동일성 판단기는 아래의 수학식 1을 만족하는 논리회로로 구성되고,
[수학식1]
Figure 112013075849876-pat00001
(여기서, A는 상기 피가수 비트, B는 상기 가수 비트 및 C는 상기 캐리 인 비트이다.)
상기 동일성 판단 게이트 및 상기 에러 비트 출력 게이트는 각각 부정 배타적 논리합 게이트(XNOR gate)로 구성되며, 상기 에러 비트 출력 게이트는 오류 발생시 비트 값 "0"을 출력한다.
또한, 본 발명은 상기 자가 검사 전 가산기; 상기 최하위 합 비트 및 상기 최하위 합 비트의 부정 비트인 부정 최하위 합 비트를 입력받고 상기 캐리 인 비트에 따라 상기 최하위 합 비트 또는 상기 부정 최하위 합 비트를 최종 최하위 합 비트로 선택적으로 출력하는 최하위 멀티 플렉서(Multiplxer); 상기 최상위 합 비트 및 상기 최하위 합 비트와 상기 최상위 합 비트의 배타적 논리합 비트(이하 "최상위 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 최상위 합 비트 또는 상기 최상위 배타적 논리합 비트를 최종 최상위 합 비트로 선택적으로 출력하는 최상위 멀티 플렉서; 및 상기 캐리 아웃 비트 및 상기 최하위 합 비트와 상기 최상위 합 비트의 논리곱 비트인 최상위 논리곱 비트에 상기 캐리 아웃 비트를 배타적 논리합한 배타적 논리합 비트(이하 "캐리용 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 캐리 아웃 비트 또는 상기 캐리용 배타적 논리합 비트를 최종 캐리 아웃 비트로 선택적으로 출력하는 캐리 출력 멀티 플렉서;를 포함하는 자가 검사 캐리 선택 가산기를 더 제공한다.
바람직한 실시예에 있어서, 상기 최하위 합 비트와 상기 최상위 합 비트의 배타적 논리합 연산을 수행하고, 상기 최상위 배타적 논리합 비트를 상기 최상위 멀티 플렉서로 출력하는 최상위 배타적 논리합 게이트; 상기 최하위 합 비트와 상기 최상위 합 비트의 논리 곱 연산을 수행하고, 상기 최상위 논리곱 비트를 출력하는 최상위 논리곱 게이트; 및 상기 캐리 아웃 비트와 상기 최상위 논리곱 비트를 입력받아 배타적 논리합 연산을 수행하고, 상기 캐리용 배타적 논리합 비트를 상기 캐리 출력 멀티 플렉서로 출력하는 캐리용 배타적 논리합 게이트;를 더 포함한다.
바람직한 실시예에 있어서, 상기 최상위 합 비트와 상기 최하위 합 비트를 입력받아 반 가산 연산을 수행하여 반 가산 합 비트와 반 가산 캐리 아웃 비트를 생성하며, 생성된 반 가산 합 비트는 상기 최상위 배타적 논리합 비트로 출력하고, 반 가산 캐리 아웃 비트는 상기 최상위 논리곱 비트로 출력하는 최상위 반 가산기;를 더 포함한다.
또한, 본 발명은 상기 자가 검사 전 가산기; 상기 최하위 합 비트 및 상기 최하위 합 비트의 부정 비트인 부정 최하위 합 비트를 입력받고 상기 캐리 인 비트에 따라 상기 최하위 합 비트 또는 상기 부정 최하위 합 비트를 최종 최하위 합 비트로 선택적으로 출력하는 최하위 멀티 플렉서(Multiplxer); 상기 중간 합 비트 및 상기 최하위 합 비트와 상기 중간 합 비트의 배타적 논리합 비트(이하 "중간 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 중간 합 비트 또는 상기 중간 배타적 논리합 비트를 최중 중간 합 비트로 선택적으로 출력하는 중간 멀티 플렉서; 상기 최상위 합 비트 및 상기 최상위 합 비트와 상기 중간 논리합 비트의 배타적 논리합 비트(이하 "최상위 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 최상위 합 비트 또는 상기 최상위 배타적 논리합 비트를 최종 최상위 합 비트로 선택적으로 출력하는 최상위 멀티 플렉서; 및 상기 캐리 아웃 비트 및 상기 중간 논리곱 비트와 상기 최상위 합 비트의 논리곱 비트인 최상위 논리곱 비트에 상기 캐리 아웃 비트를 배타적 논리합한 배타적 논리합 비트(이하 "캐리용 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 캐리 아웃 비트 또는 상기 캐리용 배타적 논리합 비트를 최종 캐리 아웃 비트로 선택적으로 출력하는 캐리 출력 멀티 플렉서;를 포함한다.
바람직한 실시예에 있어서, 상기 최하위 합 비트와 상기 중간 합 비트를 입력받아 배타적 논리합 연산을 수행하고, 상기 중간 배타적 논리합 비트를 상기 중간 멀티 플렉서로 출력하는 중간 배타적 논리합 게이트; 상기 최하위 합 비트와 상기 중간 합 비트의 논리곱 연산을 수행하고, 상기 중간 논리곱 비트를 출력하는 중간 논리곱 게이트; 상기 중간 논리곱 비트와 상기 최상위 합 비트의 배타적 논리합 연산을 수행하고, 상기 최상위 배타적 논리합 비트를 상기 최상위 멀티 플렉서로 출력하는 최상위 배타적 논리합 게이트; 상기 중간 논리곱 비트와 상기 최상위 합 비트의 논리곱 연산을 수행하고 상기 최상위 논리곱 비트를 출력하는 최상위 논리곱 게이트; 및 상기 캐리 아웃 비트와 상기 최상위 논리곱 비트를 입력받아 배타적 논리합 연산을 수행하고, 상기 캐리용 배타적 논리합 비트를 상기 캐리 출력 멀티 플렉서로 출력하는 캐리용 배타적 논리합 게이트;를 더 포함한다.
바람직한 실시예에 있어서, 상기 최하위 합 비트와 상기 중간 합 비트를 입력받아 반 가산 연산을 수행하여 반 가산 합 비트와 반 가산 캐리 아웃 비트를 생성하며, 생성된 반 가산 합 비트는 상기 중간 배타적 논리합 비트로 출력하고, 반 가산 캐리 아웃 비트는 상기 중간 논리곱 비트로 출력하는 중간 반 가산기; 및 상기 최상위 합 비트와 상기 중간 논리곱 비트를 입력받아 반 가산 연산을 수행하여 반 가산 합 비트와 반 가산 캐리 아웃 비트를 생성하며, 생성된 반 가산 합 비트는 상기 최상위 배타적 논리합 비트로 출력하고, 반 가산 캐리 아웃 비트는 상기 최상위 논리곱 비트로 출력하는 최상위 반 가산기;를 더 포함한다.
또한, 본 발명은 상기 자가 검사 전 가산기가 임베디드된 임베디드 프로세서를 더 제공한다.
또한, 본 발명은 상기 자가 검사 전 가산기로 기능하는 컴퓨팅 장치를 더 제공한다.
또한, 본 발명은 컴퓨터를 상기 자가 검사 전 가산기로 기능하게 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 매체를 더 제공한다.
또한, 본 발명은 상기 자가 검사 캐리 선택 가산기가 임베디드된 임베디드 프로세서를 더 제공한다.
또한, 상기 자가 검사 캐리 선택 가산기로 기능하는 컴퓨팅 장치를 더 제공한다.
또한, 본 발명은 컴퓨터를 상기 자가 검사 캐리 선택 가산기로 기능하게 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 매체를 더 제공한다.
본 발명은 다음과 같은 우수한 효과를 가진다.
먼저, 본 발명의 자가 검사 전 가산기에 의하면, 연산 결과에는 영향이 없이 하나의 동일성 판단기와 두 개의 논리 게이트를 이용하여 자가 검사를 수행할 수 있으므로 구성이 간단한 장점이 있다.
또한, 복수 개의 자가 검사 전 가산기로 캐리 리플 가산기를 구성할 때, 각 자가 검사 전 가산기의 오류를 자가 검사할 수 있으므로 오류가 발생한 전 가산기의 위치를 빠르게 탐지하여 복구할 수 있는 장점이 있다.
또한, 자가 검사 캐리 선택 가산기에 의하면, 하나의 리플 캐리 가산기와 멀티플렉서 및 간단한 논리 게이트의 조합으로 캐리 선택 가산을 수행할 수 있고, 리플 캐리 가산기를 구성하는 전 가산기들 각각의 오류를 검사할 수 있어 오류가 발생한 전 가산기만을 빠르게 탐지하여 복구할 수 있는 장점이 있다.
도 1은 본 발명의 제1 실시예에 따른 자가 검사 전 가산기를 보여주는 도면,
도 2는 본 발명의 실시예들에 따른 자가 검사 전 가산기의 오류 검출 원리를 설명하기 위한 1비트 전 가산기의 진리표,
도 3은 본 발명의 제2 실시예에 따른 자가 검사 전 가산기를 도여주는 도면,
도 4는 본 발명의 제3 실시예에 따른 자가 검사 전 가산기를 보여주는 도면,
도 5는 본 발명의 제4 실시예에 따른 캐리 선택 가산기를 보여주는 도면,
도 6은 본 발명의 제5 실시예에 따른 캐리 선택 가산기를 보여주는 도면이다.
본 발명에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있는데 이 경우에는 단순한 용어의 명칭이 아닌 발명의 상세한 설명 부분에 기재되거나 사용된 의미를 고려하여 그 의미가 파악되어야 할 것이다.
이하, 첨부한 도면에 도시된 바람직한 실시예들을 참조하여 본 발명의 기술적 구성을 상세하게 설명한다.
그러나, 본 발명은 여기서 설명되는 실시예에 한정되지 않고 다른 형태로 구체화 될 수도 있다. 명세서 전체에 걸쳐 동일한 참조번호는 동일한 구성요소를 나타낸다.
[제1 실시예]
도 1을 참조하면, 본 발명의 제1 실시예에 따른 자가 검사 전 가산기(100)는 전 가산기의 가산 연산 오류를 자가 탐지(Self-checking)하기 위한 것으로 전 가산 연산을 수행하는 전 가산기 모듈(110)과 상기 전 가산기 모듈(110)의 입력 및 출력 값의 동일성을 각각 판단하여 오류 발생 여부를 검출하는 오류 검사 모듈(120)을 포함하여 이루어진다.
또한, 본 발명의 자가 검사 전 가산기(100)는 논리 게이트 소자들로 구성되는 하드웨어 또는 상기 하드웨어가 임베디드된 임베디드 프로세서로 제공될 수 있다.
또한, 본 발명의 자가 검사 전 가산기(100)는 컴퓨터를 기능시켜 컴퓨터가 자가 검사 전 가산기로 동작하게 하는 프로그램으로 코딩되어 제공될 수 있으며, 상기 프로그램은 컴퓨터로 읽을 수 있는 매체에 저장되어 컴퓨터에 의해 읽혀짐으로써 컴퓨터가 자가 검사 전 가산기로 기능하게 한다.
또한, 상기 임베디드 프로세서는 상기 프로그램이 임베디드되어 제공될 수 있다.
상기 전 가산기 모듈(110)은 피가수 비트(A)와 가수 비트(B) 및 캐리 인 비트(Cin)를 입력받아 전 가산 연산을 수행하며, 가산 연산의 결과인 합 비트(Sum)와 올림수인 캐리 아웃 비트(Cout)를 출력한다.
또한, 상기 전 가산기 모듈(110)은 상기 피가수 비트(A)와 상기 가수 비트(B) 및 상기 캐리 인 비트(Cin)를 입력받아 상기 합 비트(Sum)와 상기 캐리 아웃 비트(Cout)를 출력할 수 있는 다양한 공지된 전 가산기 모듈일 수 있다.
또한, 상기 오류 검사 모듈(120)은 상기 피가수 비트(A), 상기 가수 비트(B), 상기 캐리 인 비트(Cin), 상기 합 비트(Sum) 및 상기 캐리 아웃 비트(Cout)를 입력받아, 상기 전 가산기 모듈(110)의 연산결과에 오류가 발생하였는지 판단한다.
또한, 상기 오류 검사 모듈(120)은 상기 피가수 비트(A), 상기 가수 비트(B) 및 상기 캐리 인 비트(Cin)가 서로 동일하고 상기 합 비트(Sum) 및 상기 캐리 아웃 비트(Cout)가 서로 동일할 경우 또는 상기 피가수 비트(A), 상기 가수 비트(B) 및 상기 캐리 인 비트(Cin) 중 어느 하나의 비트가 상이하고 상기 합 비트(Sum) 및 상기 캐리 아웃 비트(Cout)가 서로 상이할 경우에는 오류가 발생하지 않은 것으로 판단하고, 상기 피가수 비트(A), 상기 가수 비트(B) 및 상기 캐리 인 비트(Cin)는 모두 서로 동일하나 상기 합 비트(Sum) 및 상기 캐리 아웃 비트(Cout)가 서로 상이한 경우 또는 상기 피가수 비트(A), 상기 가수 비트(B) 및 상기 캐리 인 비트(Cin) 중 어느 하나의 비트가 상이하나 상기 합 비트(Sum) 및 상기 캐리 아웃 비트(Cout)가 서로 동일한 경우 오류가 발생한 것으로 판단한다.
이하에서는 도 2를 참조하여 상기 오류 검사 모듈(120)의 오류 발생 판단원리를 설명한다.
도 2는 1비트의 피가수 비트(A) 및 가수 비트(B)의 전 가산 연산 진리표로써 입력비트와 출력비트의 동일성에 관한 두 가지 경우가 존재함을 알 수 있다.
먼저, 케이스 a(case a)의 경우 입력이 '000' 또는 '111'로 동일할 경우 출력이 '00' 또는 '11'로 서로 동일함을 알 수 있고, 다음, 케이스 b(case b)의 경우에는 입력 중 어느 하나가 상이하면 출력이 서로 상이함을 알 수 있다.
즉, 입력은 서로 동일한데 출력이 서로 상이하거나 입력 중 어느 하나가 상이한데 출력이 서로 동일할 경우 오류가 발생한 것으로 판단할 수 있는 것이다.
또한, 상기 오류 검사 모듈(120)은 동일성 판단기(121), 동일성 판단 게이트(122) 및 에러 비트 출력 게이트(123)을 포함하여 이루어진다.
또한, 상기 동일성 판단기(121)는 입력이 상기 전 가산기 모듈(110)의 입력과 병렬로 연결되어 상기 피가수 비트(A), 상기 가수 비트(B) 및 상기 캐리 인 비트(Cin)를 입력받고, 상기 피가수 비트(A), 상기 가수 비트(B) 및 상기 캐리 인 비트(Cin) 간의 동일성을 판단한다.
예를 들면, 상기 동일성 판단기(121)는 아래의 수학식 1을 만족하는 논리회로로 구성할 수 있다.
[수학식1]
Figure 112013075849876-pat00002
(여기서, A는 상기 피가수 비트, B는 상기 가수 비트 및 C는 상기 캐리 인 비트이다.)
즉, 상기 동일성 판단기(121)는 입력이 서로 동일할 경우 비트 값 '0'(low 신호)을 출력한다.
그러나 상기 동일성 판단기(121)의 논리식은 일례일 뿐이며, 세 개의 입력에 대해 서로 동일한 경우와 상이한 경우를 구분하여 '0' 또는 '1'의 신호를 출력할 수 있다면 어떠한 논리식에 의한 회로로도 구성이 가능하다.
또한, 상기 동일성 판단 게이트(122)는 상기 전 가산기 모듈(110)에서 출력되는 합 비트(Sum) 및 캐리 아웃 비트(Cout)의 동일성을 판단하고, 판단 결과에 따라 '0' 또는 '1'의 신호를 출력한다.
본 발명에서는 상기 동일성 판단 게이트(122)를 부정 배타적 논리합 게이트(XNOR gate)로 구성하여 상기 합 비트(Sum) 및 상기 캐리 아웃 비트(Cout)가 서로 동일할 경우 신호 '1'이 출력되게 하였고 서로 상이한 경우에는 신호 '0'이 출력되게 하였다.
그러나 상기 동일성 판단 게이트(122)는 배타적 논리합 게이트(XOR)와 같이 입력에 동일성에 따라 일정한 출력을 낼 수 있는 게이트라면 어떠한 논리 게이트로도 구비될 수 있으며, 논리 게이트들의 조합으로도 구성이 가능하다.
또한, 상기 에러 비트 출력 게이트(123)는 상기 동일성 판단기(121)에서 출력되는 동일성 판단결과(이하, '입력 동일성 판단 비트'라 함)와 상기 동일성 판단 게이트(122)에서 출력되는 동일성 판단결과(이하, '출력 동일성 판단 비트'라 함)를 입력받고, 상기 입력 동일성 판단 비트와 상기 출력 동일성 판단 비트 간의 동일성을 판단하여 동일성 판단 결과를 에러 비트(Ef)로 출력한다.
또한, 본 발명에서는 상기 에러 비트 출력 게이트(123)를 부정 배타적 논리합 게이트로 구성하였다.
즉, 상기 동일성 판단기(121)는 입력 비트들이 서로 동일할 경우 '0'의 비트 값을 출력하고, 상기 동일성 판단 게이트(122)는 입력 비트들이 서로 동일 할 경우 '1'을 출력하므로, 상기 에러 비트 출력 게이트(123)는 에러가 발생하지 않을 경우 상기 에러 비트(Ef)가 '1'로 출력되고 에러가 발생한 경우 상기 에러 비트(Ef)는 '0'으로 출력된다.
그러나 설계자의 선택에 따라 에러가 발생할 경우 상기 에러 비트(Ef)가 '1'이 되도록 설계가 가능하다.
예를 들면, 상기 에러 비트 출력 게이트(123)를 배타적 논리합 게이트로 구성할 경우 상기 에러 비트(Ef)는 에러가 발생할 경우 '1'이 된다.
[제2 실시예]
도 3는 본 발명의 제2 실시예에 따른 자가 검사 전 가산기(200)를 보여주는 것으로 본 발명의 제2 실시예에 따른 자가 검사 전 가산기(200)는 상기 피가수 비트(A)와 가수 비트(B)가 각각 2비트일 경우, 자가 검사를 수행할 수 있는 자가 검사 전 가산기이다.
도 3을 참조하면 본 발명의 제2 실시예에 따른 자가 검사 전 가산기(200)는 최하위 자가 검사 전 가산기(100a) 및 최상위 자가 검사 전 가산기(110b)를 포함하여 이루어진다.
또한, 상기 최하위 자가 검사 전 가산기(100a) 및 상기 최상위 자가 검사 전 가산기(110b)는 각각 상기 본 발명의 제1 실시예에 따른 자가 검사 전 가산기(100)와 실질적으로 동일한 가산기이다.
또한, 상기 최하위 자가 검사 전 가산기(100a)는 상기 피가수 비트(A)와 상기 가수 비트(B)의 최하위 비트(A0,B0) 및 상기 캐리 인 비트(Cin)를 가산하여 최하위 합 비트(Sum_lsb)와 리플 캐리(Crip)를 출력하는 최하위 전 가산기 모듈(110a) 및 상기 최하위 전 가산기 모듈(110a)의 오류를 검사하는 최하위 오류 검사 모듈(120a)를 포함하고, 상기 최상위 자가 검사 전 가산기(100b)는 상기 피가수 비트(A)와 상기 가수 비트(B)의 최상위 비트(A1,B1) 및 상기 리플 캐리(Crip)를 가산하여 최상위 합 비트(Sum_msb)와 캐리 아웃 비트(Cout)를 출력하는 최상위 전 가산기 모듈(110b) 및 상기 최상위 전 가산기 모듈(110b)의 오류를 검사하는 최상위 오류 검사 모듈(120b)을 포함하여 이루어진다.
즉, 본 발명의 제2 실시예에 따른 자가 검사 전 가산기(200)는 하위 전 가산기 모듈에서 발생하는 리플 캐리를 고려하여 전 가산 연산을 수행하고, 자가 검사할 수 있는 2비트 자가 검사 리플 캐리 가산기이다.
또한, 본 발명의 제2 실시예에 따른 자가 검사 전 가산기(200)는 상기 최하위 자가 검사 전 가산기(100a) 및 상기 최상위 자가 검사 전 가산기(110b)가 각각 자가 검사를 수행하여 에러 비트(Ef_lsb,Ef_msb)를 출력하므로 어느 가산기에서 오류가 발생하였는지를 알 수 있어 오류 발생 위치를 파악할 수 있는 장점이 있다.
즉, 사용자는 상기 최하위 자가 검사 전 가산기(100a) 및 상기 최상위 자가 검사 전 가산기(100b) 중,오류가 발생한 자가 검사 전 가산기 또는 전 가산기 모듈만을 제거한 후 복구할 수 있으므로 오류 발생시 적은 비용으로 빠르게 복구할 수 있는 장점이 있다.
[제3 실시예]
도 4는 본 발명의 제3 실시예에 따른 자가 검사 전 가산기(300)를 보여주는 것으로 본 발명의 제3 실시예에 따른 자가 검사 전 가산기(300)는 상기 피가수 비트(A)와 상기 가수 비트(B)가 각각 3비트일 경우, 자가 검사를 수행할 수 있는 자가 검사 전 가산기이다.
또한, 상기 피가수 비트(A)와 상기 가수 비트(B)가 4비트 이상일 경우 아래에서 설명할 중간 자가 검사 전 가산기(100c)를 비트 수에 대응하여 추가함으로써 응용이 가능하다.
또한, 본 발명의 제3 실시예에 따른 자가 검사 전 가산기(300)는 본 발명의 제2 실시예에 따른 자가 검사 전 가산기(300)와 비교하여 상기 피가수 비트(A)와 상기 가수 비트(B)의 중간비트(A0,B0)를 전 가산 연산하는 중간 자가 검사 전 가산기(100c)가 추가된 형태이다.
또한, 상기 중간 자가 검사 전 가산기(100c)는 본 발명의 일 실시예에 따른 자가 검사 전 가산기(100)와 실질적으로 동일하다.
또한, 상기 중간 자가 검사 전 가산기(100c)는 상기 피가수 비트(A)와 상기 가수 비트(B)의 중간 비트(A1,B1) 및 상기 최하위 자가 검사 전 가산기(100a)에서 출력되는 최하위 리플 캐리(Crip_0)를 가산하여 중간 합 비트(Sum_mid)와 중간 리플 캐리(Crip_1)를 출력하는 중간 전 가산기 모듈(110c) 및 상기 중간 전 가산기 모듈(110c)의 오류를 검사하는 중간 오류 검사 모듈(120c)를 포함한다.
또한, 상기 중간 자가 검사 전 가산기(100c)는 출력되는 중간 리플 캐리(Crip _1)를 최상위 자가 검사 전 가산기(100b)로 입력해주며, 상기 최상위 자가 검사 전 가산기(100b)는 상기 중간 리플 캐리(Crip_1)와 상기 피가수 비트(A)와 상기 가수 비트(B)의 최상위 비트(A2,B2)를 전 가산 연산한다.
즉, 본 발명의 제3 실시예에 따른 자가 검사 전 가산기(300)는 3비트 리플 캐리 가산기이다.
[제4 실시예]
도 5는 본 발명의 제4 실시예에 따른 자가 검사 캐리 선택 가산기를 보여주는 것으로, 도 5를 참조하면 본 발명의 제4 실시예에 따른 자가 검사 캐리 선택 가산기(400)는 상기 제3 실시예의 자가 검사 전 가산기(200)에 최하위 멀티 플렉서(410), 최상위 멀티 플렉서(420) 및 캐리 출력 멀티 플렉서(430)가 추가되어 구성된다.
또한, 상기 최하위 멀티 플렉서(410)는 상기 최하위 자가 검사 전 가산기(100a)에서 출력되는 최하위 합 비트(Sum_lsb_0)와 상기 최하위 합 비트(Sum_lsb_0)의 부정 비트인 부정 최하위 합 비트(Sum_lsb_1)를 입력받고, 상기 캐리 인 비트(Cin)의 값에 따라 상기 최하위 합 비트(Sum_lsb_0)와 상기 부정 최하위 합 비트(Sum_lsb_1) 중 어느 하나를 선택하여 최종 최하위 합 비트(Sum_lsb_sel)로 출력한다.
또한, 상기 최상위 멀티 플렉서(420)는 상기 최상위 자가 검사 전 가산기(100b)에서 출력되는 최상위 합 비트(Sum_msb_0)와 상기 최하위 합 비트(Sum_lsb_0)와 상기 최상위 합 비트(Sum_msb_0)의 배타적 논리합 비트(Sum_msb_1, 이하 "최상위 배타적 논리합 비트"라 함)을 입력받고, 상기 캐리 인 비트(Cin)의 값에 따라 상기 최상위 합 비트(Sum_msb_0)와 상기 최상위 배타적 논리합 비트(Sum_msb_1) 중 어느 하나를 선택하여 최종 최상위 합 비트(Sum_msb_sel)로 출력한다.
또한, 상기 최종 최하위 합 비트(Sum_lsb_sel)와 상기 최종 최상위 합 비트(Sum_msb_sel)는 피가수 비트(A1,A0)와 가수 비트(B1,B0)의 최종적인 전 가산 연산 결과로 출력된다.
또한, 상기 캐리 출력 멀티 플렉서(430)는 상기 최상위 멀티 플렉서(420)의 캐리 아웃 비트(Cmsb) 및 상기 최하위 합 비트(Sum_lsb_0)와 상기 최상위 합 비트(Sum_msb_0)의 논리 곱 비트인 최상위 논리곱 비트(Cmsb_and)에 상기 캐리 아웃 비트(Cmsb)를 배타적 논리합한 배타적 논리합 비트(Cmsb_1, 이하 "캐리용 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트(Cin)의 값에 따라 상기 캐리 아웃 비트(Cmsb(Cmsb_0))와 상기 캐리용 배타적 논리합 비트(Cmsb_1) 중 어느 하나를 선택하여 최종 캐리 아웃 비트(Cout_sel)를 출력한다.
또한, 상기 최종 캐리 아웃 비트(Cout_sel)는 피가수 비트(A1,A0)와 가수 비트(B1,B0)의 최종적인 캐리 아웃 연산 결과가 된다.
또한, 본 발명의 제4 실시예에 따른 자가 검사 캐리 선택 가산기(400)는 상기 최하위 합 비트(Sum_lsb_0)와 상기 최상위 합 비트(Sum_msb_0)의 배타적 논리합 연산을 수행하고, 상기 최상위 배타적 논리합 비트(Sum_msb_1)를 상기 최상위 멀티 플렉서(420)로 출력하는 최상위 논리합 게이트(440), 상기 최하위 합 비트(Sum_lsb_0)와 상기 최상위 합 비트(Sum_msb_0)의 논리 곱 연산을 수행하고, 상기 최상위 논리곱 비트(Cmsb_and)를 출력하는 최상위 논리곱 게이트(450) 및 상기 캐리 아웃 비트(Cmsb)와 상기 최상위 논리곱 비트(Cmsb_and)를 입력받아 배타적 논리합 연산을 수행하고, 상기 캐리용 배타적 논리합 비트(Cmsb_1)를 상기 캐리 출력 멀티 플렉서(430)로 출력하는 캐리용 배타적 논리합 게이트(460)를 포함한다.
즉, 본 발명의 제4 실시예에 의하면, 2비트 리플 캐리 가산기에 세 개의 멀티플렉서(410,420,430)와 세 개의 논리 게이트(440,450,460)를 간단히 추가함으로써 2비트 캐리 선택 가산기를 구현할 수 있는 장점이 있다.
한편, 상기 최상위 논리합 게이트(440)과 상기 최상위 논리곱 게이트(450)는 하나의 반 가산기(470, 이하 "최상위 반 가산기"라 함)로 대체될 수 있고, 상기 최상위 반 가산기(470)는 상기 최상위 합 비트(Sum_msb_0)와 상기 최하위 합 비트(Sum_lsb_0)를 입력받아 반 가산 합 비트와 반 가산 캐리 아웃 비트를 생성하며, 생성된 반 가산 합 비트는 상기 최상위 배타적 논리합 비트(Sum_msb_1)로 출력되고, 반 가산 캐리 아웃 비트는 상기 최상위 논리곱 비트(Cmsb_and)로 출력된다.
즉, 본 발명의 제4 실시예에 따른 자가 검사 캐리 선택 가산기(400)에 의하면 미리 제작된 반 가산기 모듈을 그대로 사용하여 캐리 선택 가산 연산을 수행할 수 있다.
[제5 실시예]
도 6은 본 발명의 제5 실시예에 따른 자가 검사 캐리 선택 가산기를 보여주는 것으로, 도 5를 참조하면 본 발명의 제5 실시예에 따른 자가 검사 캐리 선택 가산기(500)는 3비트의 피가수 비트와 가수 비트를 캐리 선택 가산하기 위한 것이다.
또한, 4비트 이상의 피가수 비트와 가수 비트의 캐리 선택 가산을 위해서는 아래에서 설명할 중간 멀티 플렉서(510), 중간 배타적 논리 합 게이트(520) 및 중간 논리곱 게이트(520)를 추가함으로써 응용설계가 가능하다.
또한, 본 발명의 제5 실시예에 따른 자가 검사 캐리 선택 가산기(500)는 본 발명의 제3 실시예에 따른 자가 검사 전 가산기(300)에 최하위 멀티 플렉서(410), 중간 멀티 플렉서(510), 최상위 멀티 플렉서(420) 및 캐리 출력 멀티 플렉서(430)가 추가되어 구성된다.
또한, 본 발명의 제4 실시예에 따른 자가 검사 캐리 선택 가산기(400)와 비교하여, 상기 중간 멀티 플렉서(510)가 추가된 형태이며, 제5 실시예의 최하위 멀티 플렉서(410), 최상위 멀티 플렉서(420) 및 캐리 출력 멀티 플렉서(430)는 제4 실시예의 최하위 멀티 플렉서, 최상위 멀티 플렉서 및 캐리 출력 멀티 플렉서와 실질적으로 동일하므로 설명을 생략한다.
다만, 본 발명의 제5 실시예에 따른 최상위 논리곱 게이트(450)로 입력되는 신호는 최하위 합 비트(Sum_lsb_0)와 중간 합 비트(Sum_mid_0)의 논리곱 비트(Cmid_and)와 최상위 합 비트(Sum_msb_0)라는 점에서 제4 실시예의 최상위 논리곱 게이트와 차이가 있다.
또한, 상기 중간 멀티 플렉서(510)는 상기 중간 자가 검사 전 가산기(100c)에서 출력되는 중간 합 비트(Sum_mid_0) 및 상기 최하위 자가 검사 전 가산기(100a)에서 출력되는 최하위 합 비트(Sum_lsb_0)와 상기 중간 합 비트(Sum_mid_0)의 배타적 논리합 비트(Sum_mid_1, 이하 "중간 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트(Cin)의 값에 따라 상기 최하위 합 비트(Sum_lsb_0)와 상기 중간 배타적 논리합 비트(Sum_mid_1) 중 어느 하나를 선택하여 최종 중간 합 비트(Sum_mid_sel)로 출력한다.
또한, 본 발명의 제5 실시예에 따른 자가 검사 캐리 선택 가산기(500)는 상기 최하위 합 비트(Sum_lsb_0)와 상기 중간 합 비트(Sum_mid_0)를 입력받아 배타적 논리합 연산을 수행하고, 상기 중간 배타적 논리합 비트(Sum_mid_1)를 상기 중간 멀티 플렉서(510)로 출력하는 중간 배타적 논리합 게이트(520) 및 최하위 합 비트(Sum_lsb_0)와 상기 중간 합 비트(Sum_mid_0)의 논리곱 연산을 수행하여 중간 논리곱 비트(Cmid_and)를 생성하고, 상기 중간 논리곱 비트(Cmid_and)를 상기 최상위 논리곱 게이트(450)로 입력해주는 중간 논리곱 게이트(450)를 더 포함하여 이루어진다.
또한, 상기 중간 배타적 논리합 게이트(520)와 상기 중간 논리곱 게이트(450)는 제4 실시예에서 상술한 바와 같이 하나의 반 가산기(이하 '중간 반 가산기'라 함)로 대체가 가능하다.
이상에서 살펴본 바와 같이 본 발명은 바람직한 실시예를 들어 도시하고 설명하였으나, 상기한 실시예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변경과 수정이 가능할 것이다.
100,200,300:자가 검사 전 가산기
110:전 가산기 모듈 120:오류 검사 모듈
121:동일성 판단기 122:동일성 판단 게이트
123:에러 비트 출력 게이트
400,500:자가 검사 캐리 선택 가산기
410:최하위 멀티 플렉서 420:최상위 멀티 플렉서
430:캐리 출력 멀티 플렉서 440:최상위 배타적 논리합 게이트
450:최상위 논리곱 게이트 460:캐리용 배타적 논리합 게이트
510:중간 멀티 플렉서 520:중간 배타적 논리합 게이트
530:중간 논리곱 게이트

Claims (17)

  1. 피가수(augend) 비트, 가수(added) 비트 및 캐리 인(carry-in) 비트를 입력받고, 상기 피가수 비트, 상기 가수 비트 및 상기 캐리 인 비트의 합 연산결과인 합(sum) 비트와 캐리 아웃(carry-out) 비트를 연산하여 출력하는 전 가산기(full adder) 모듈; 및
    상기 전 가산기 모듈의 출력 오류를 검사하는 오류 검사 모듈;을 포함하고,
    상기 오류 검사 모듈은 상기 전 가산기 모듈의 입력 비트들이 모두 동일하고 출력 비트들이 서로 동일할 경우 또는 상기 입력 비트들 중 어느 하나의 비트가 상이하고 상기 출력 비트들이 서로 상이할 경우에는 오류가 발생하지 않은 것으로 판단하고, 상기 입력 비트들은 모두 동일하나 상기 출력 비트들이 서로 상이한 경우 또는 상기 입력 비트들 중 어느 하나의 비트가 상이하나 상기 출력 비트들은 서로 동일한 경우 오류가 발생한 것으로 판단하며,
    상기 피 가수 비트와 상기 가수 비트가 각각 2비트 신호일 경우,
    상기 전 가산기 모듈:은,
    상기 피 가수 비트와 상기 가수 비트의 최하위 비트 및 상기 캐리 인 비트를 가산하여 최하위 합 비트와 리플 캐리(ripple carry)를 출력하는 최하위 전 가산기 모듈; 및
    상기 피 가수 비트와 상기 가수 비트의 최상위 비트 및 상기 최하위 전 가산기 모듈의 리플 캐리를 가산하여 최상위 합 비트와 상기 캐리 아웃 비트를 출력하는 최상위 전 가산기 모듈;을 포함하고,
    상기 오류 검사 모듈:은
    상기 최하위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최하위 오류 검사 모듈; 및
    상기 최상위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최상위 오류 검사 모듈;을 포함하는 것을 특징으로 하는 자가 검사 전 가산기.
  2. 제 1 항에 있어서,
    상기 오류 검사 모듈:은
    상기 전 가산기 모듈로 입력되는 상기 피가수 비트, 상기 가수 비트 및 상기 캐리 인 비트를 병렬로 입력받고, 상기 피가수 비트, 상기 가수 비트 및 상기 캐리 인 비트의 동일성을 판단하는 동일성 판단기;
    상기 전 가산기 모듈에서 출력되는 상기 합 비트와 상기 캐리 아웃 비트를 입력받고, 상기 합 비트와 상기 캐리 아웃 비트의 동일성을 판단하는 동일성 판단 게이트; 및
    상기 동일성 판단기에서 출력되는 입력 동일성 판단 비트와 상기 동일성 판단 게이트에서 출력되는 출력 동일성 판단 비트를 입력받고, 상기 입력 동일성 판단 비트와 상기 출력 동일성 판단 비트의 동일성을 판단하며, 동일성 판단결과를 에러 비트로 출력하는 에러 비트 출력 게이트;를 포함하는 것을 특징으로 하는 자가 검사 전 가산기.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 피 가수 비트와 상기 가수 비트가 각각 적어도 3비트 신호일 경우,
    상기 전 가산기 모듈:은,
    상기 피 가수 비트와 상기 가수 비트의 최하위 비트 및 상기 캐리 인 비트를 가산하여 최하위 합 비트와 최하위 리플 캐리(ripple carry)를 출력하는 최하위 전 가산기 모듈;
    상기 피 가수 비트와 상기 가수 비트의 중간 비트 및 상기 최하위 리플 캐리를 가산하여 중간 합 비트와 중간 리플 캐리를 출력하는 중간 전 가산기 모듈;
    상기 피 가수 비트와 상기 가수 비트의 최상위 비트 및 상기 중간 리플 캐리를 가산하여 최상위 합 비트와 상기 캐리 아웃 비트를 출력하는 최상위 전 가산기 모듈;을 포함하고,
    상기 오류 검사 모듈:은
    상기 최하위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최하위 오류 검사 모듈;
    상기 중간 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 중간 오류 검사 모듈; 및
    상기 최상위 전 가산기 모듈의 입력 비트들과 출력 비트들의 동일성을 판단하여 오류를 검사하는 최상위 오류 검사 모듈;을 포함하는 것을 특징으로 하는 자가 검사 전 가산기.
  5. 제 2 항에 있어서,
    상기 동일성 판단기는 아래의 수학식 1을 만족하는 논리회로로 구성되고,
    [수학식1]
    Figure 112013075849876-pat00003

    (여기서, A는 상기 피가수 비트, B는 상기 가수 비트 및 C는 상기 캐리 인 비트이다.)
    상기 동일성 판단 게이트 및 상기 에러 비트 출력 게이트는 각각 부정 배타적 논리합 게이트(XNOR gate)로 구성되며,
    상기 에러 비트 출력 게이트는 오류 발생시 비트 값 "0"을 출력하는 것을 특징으로 하는 자가 검사 전 가산기.
  6. 제 1 항의 자가 검사 전 가산기;
    상기 최하위 합 비트 및 상기 최하위 합 비트의 부정 비트인 부정 최하위 합 비트를 입력받고 상기 캐리 인 비트에 따라 상기 최하위 합 비트 또는 상기 부정 최하위 합 비트를 최종 최하위 합 비트로 선택적으로 출력하는 최하위 멀티 플렉서(Multiplxer);
    상기 최상위 합 비트 및 상기 최하위 합 비트와 상기 최상위 합 비트의 배타적 논리합 비트(이하 "최상위 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 최상위 합 비트 또는 상기 최상위 배타적 논리합 비트를 최종 최상위 합 비트로 선택적으로 출력하는 최상위 멀티 플렉서; 및
    상기 캐리 아웃 비트 및 상기 최하위 합 비트와 상기 최상위 합 비트의 논리곱 비트인 최상위 논리곱 비트에 상기 캐리 아웃 비트를 배타적 논리합한 배타적 논리합 비트(이하 "캐리용 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 캐리 아웃 비트 또는 상기 캐리용 배타적 논리합 비트를 최종 캐리 아웃 비트로 선택적으로 출력하는 캐리 출력 멀티 플렉서;를 포함하는 자가 검사 캐리 선택 가산기.
  7. 제 6 항에 있어서,
    상기 최하위 합 비트와 상기 최상위 합 비트의 배타적 논리합 연산을 수행하고, 상기 최상위 배타적 논리합 비트를 상기 최상위 멀티 플렉서로 출력하는 최상위 배타적 논리합 게이트;
    상기 최하위 합 비트와 상기 최상위 합 비트의 논리 곱 연산을 수행하고, 상기 최상위 논리곱 비트를 출력하는 최상위 논리곱 게이트; 및
    상기 캐리 아웃 비트와 상기 최상위 논리곱 비트를 입력받아 배타적 논리합 연산을 수행하고, 상기 캐리용 배타적 논리합 비트를 상기 캐리 출력 멀티 플렉서로 출력하는 캐리용 배타적 논리합 게이트;를 더 포함하는 것을 특징으로 하는 자가 검사 캐리 선택 가산기.
  8. 제 6 항에 있어서,
    상기 최상위 합 비트와 상기 최하위 합 비트를 입력받아 반 가산 연산을 수행하여 반 가산 합 비트와 반 가산 캐리 아웃 비트를 생성하며, 생성된 반 가산 합 비트는 상기 최상위 배타적 논리합 비트로 출력하고, 반 가산 캐리 아웃 비트는 상기 최상위 논리곱 비트로 출력하는 최상위 반 가산기;를 더 포함하는 것을 특징으로 하는 자가 검사 캐리 선택 가산기.
  9. 제 4 항의 자가 검사 전 가산기;
    상기 최하위 합 비트 및 상기 최하위 합 비트의 부정 비트인 부정 최하위 합 비트를 입력받고 상기 캐리 인 비트에 따라 상기 최하위 합 비트 또는 상기 부정 최하위 합 비트를 최종 최하위 합 비트로 선택적으로 출력하는 최하위 멀티 플렉서(Multiplxer);
    상기 중간 합 비트 및 상기 최하위 합 비트와 상기 중간 합 비트의 배타적 논리합 비트(이하 "중간 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 중간 합 비트 또는 상기 중간 배타적 논리합 비트를 최중 중간 합 비트로 선택적으로 출력하는 중간 멀티 플렉서;
    상기 최상위 합 비트 및 상기 최상위 합 비트와 상기 중간 논리합 비트의 배타적 논리합 비트(이하 "최상위 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 최상위 합 비트 또는 상기 최상위 배타적 논리합 비트를 최종 최상위 합 비트로 선택적으로 출력하는 최상위 멀티 플렉서; 및
    상기 캐리 아웃 비트 및 상기 중간 논리곱 비트와 상기 최상위 합 비트의 논리곱 비트인 최상위 논리곱 비트에 상기 캐리 아웃 비트를 배타적 논리합한 배타적 논리합 비트(이하 "캐리용 배타적 논리합 비트"라 함)를 입력받고, 상기 캐리 인 비트에 따라 상기 캐리 아웃 비트 또는 상기 캐리용 배타적 논리합 비트를 최종 캐리 아웃 비트로 선택적으로 출력하는 캐리 출력 멀티 플렉서;를 포함하는 자가 검사 캐리 선택 가산기.
  10. 제 9 항에 있어서,
    상기 최하위 합 비트와 상기 중간 합 비트를 입력받아 배타적 논리합 연산을 수행하고, 상기 중간 배타적 논리합 비트를 상기 중간 멀티 플렉서로 출력하는 중간 배타적 논리합 게이트;
    상기 최하위 합 비트와 상기 중간 합 비트의 논리곱 연산을 수행하고, 상기 중간 논리곱 비트를 출력하는 중간 논리곱 게이트;
    상기 중간 논리곱 비트와 상기 최상위 합 비트의 배타적 논리합 연산을 수행하고, 상기 최상위 배타적 논리합 비트를 상기 최상위 멀티 플렉서로 출력하는 최상위 배타적 논리합 게이트;
    상기 중간 논리곱 비트와 상기 최상위 합 비트의 논리곱 연산을 수행하고 상기 최상위 논리곱 비트를 출력하는 최상위 논리곱 게이트; 및
    상기 캐리 아웃 비트와 상기 최상위 논리곱 비트를 입력받아 배타적 논리합 연산을 수행하고, 상기 캐리용 배타적 논리합 비트를 상기 캐리 출력 멀티 플렉서로 출력하는 캐리용 배타적 논리합 게이트;를 더 포함하는 것을 특징으로 하는 자가 검사 캐리 선택 가산기.
  11. 제 9 항에 있어서,
    상기 최하위 합 비트와 상기 중간 합 비트를 입력받아 반 가산 연산을 수행하여 반 가산 합 비트와 반 가산 캐리 아웃 비트를 생성하며, 생성된 반 가산 합 비트는 상기 중간 배타적 논리합 비트로 출력하고, 반 가산 캐리 아웃 비트는 상기 중간 논리곱 비트로 출력하는 중간 반 가산기; 및
    상기 최상위 합 비트와 상기 중간 논리곱 비트를 입력받아 반 가산 연산을 수행하여 반 가산 합 비트와 반 가산 캐리 아웃 비트를 생성하며, 생성된 반 가산 합 비트는 상기 최상위 배타적 논리합 비트로 출력하고, 반 가산 캐리 아웃 비트는 상기 최상위 논리곱 비트로 출력하는 최상위 반 가산기;를 더 포함하는 것을 특징으로 하는 자가 검사 캐리 선택 가산기.
  12. 제 1 항, 제 2 항, 제 4 항 및 제 5 항 중 어느 한 항의 자가 검사 전 가산기가 임베디드된 임베디드 프로세서.
  13. 제 1 항, 제 2 항, 제 4 항 및 제 5 항 중 어느 한 항의 자가 검사 전 가산기로 기능하는 컴퓨팅 장치.
  14. 컴퓨터를 제 1 항, 제 2 항, 제 4 항 및 제 5 항 중 어느 한 항의 자가 검사 전 가산기로 기능하게 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 매체.
  15. 제 6 항 내지 제 11 항 중 어느 한 항의 자가 검사 캐리 선택 가산기가 임베디드된 임베디드 프로세서.
  16. 제 6 항 내지 제 11 항 중 어느 한 항의 자가 검사 캐리 선택 가산기로 기능하는 컴퓨팅 장치.
  17. 컴퓨터를 제 6 항 내지 제 11 항 중 어느 한 항의 자가 검사 캐리 선택 가산기로 기능하게 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 매체.



KR20130098972A 2013-08-21 2013-08-21 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기 KR101499791B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130098972A KR101499791B1 (ko) 2013-08-21 2013-08-21 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130098972A KR101499791B1 (ko) 2013-08-21 2013-08-21 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기

Publications (2)

Publication Number Publication Date
KR20150021696A KR20150021696A (ko) 2015-03-03
KR101499791B1 true KR101499791B1 (ko) 2015-04-01

Family

ID=53019948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130098972A KR101499791B1 (ko) 2013-08-21 2013-08-21 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기

Country Status (1)

Country Link
KR (1) KR101499791B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101618227B1 (ko) 2015-08-25 2016-05-04 조선대학교산학협력단 자가검사 이진 부호숫자 가산기의 결함검출 및 오류정정 방법, 그 방법을 수행하기 위한 디지털 논리 회로

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080074448A (ko) * 2007-02-09 2008-08-13 연세대학교 산학협력단 모듈 단위 자가 검출 방식 기반의 캐리 선택 덧셈기의 에러수정 방법 및 그 캐리 선택 덧셈기
KR20120070873A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 부채널 방지 마스킹 덧셈 연산 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080074448A (ko) * 2007-02-09 2008-08-13 연세대학교 산학협력단 모듈 단위 자가 검출 방식 기반의 캐리 선택 덧셈기의 에러수정 방법 및 그 캐리 선택 덧셈기
KR20120070873A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 부채널 방지 마스킹 덧셈 연산 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Dilip P. Vasudevan 외 2인, "Self-Checking Carry-Select Adder Design Based on Two-Rail Encoding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS_I: REGULAR PAPERS, VOL. 54, NO. 12, (2007.12) *
Dilip P. Vasudevan 외 2인, "Self-Checking Carry-Select Adder Design Based on Two-Rail Encoding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS―I: REGULAR PAPERS, VOL. 54, NO. 12, (2007.12)*

Also Published As

Publication number Publication date
KR20150021696A (ko) 2015-03-03

Similar Documents

Publication Publication Date Title
US5508950A (en) Circuit and method for detecting if a sum of two multibit numbers equals a third multibit constant number prior to availability of the sum
Palframan et al. Precision-aware soft error protection for GPUs
Lipetz et al. Self checking in current floating-point units
Mukherjee et al. Real-time fault-tolerance with hot-standby topology for conditional sum adder
Kumar et al. Real-time fault tolerant full adder design for critical applications
EP2270648A1 (en) Arithmetic circuit, arithmetic processing device, and arithmetic processing method
Kito et al. Concurrent error detectable carry select adder with easy testability
Kumar et al. On-line detection of faults in carry-select adders
KR101499791B1 (ko) 자가 검사 전 가산기 및 그 전 가산기를 포함하는 자가 검사 캐리 선택 가산기
US7290023B2 (en) High performance implementation of exponent adjustment in a floating point design
Pandharpurkar et al. Design of BIST using self-checking circuits for multipliers
Vasudevan et al. A technique for modular design of self-checking carry-select adder
Cardarilli et al. Fault localization, error correction, and graceful degradation in radix 2 signed digit-based adders
US7356553B2 (en) Data processing apparatus and method for determining a processing path to perform a data processing operation on input data elements
Palsodkar et al. Multiple error self checking-repairing fault tolerant adder-multiplier
Maniatakos et al. Exponent monitoring for low-cost concurrent error detection in FPU control logic
Ocheretnij et al. A modulo p checked self-checking carry select adder
Purnima et al. VHDL Environment for Floating point Arithmetic Logic Unit-ALU Design and Simulation
Raghavendra Kumar et al. Optimized fault-tolerant adder design using error analysis
Alderighi et al. Achieving fault-tolerance by shifted and rotated operands in TMR non-diverse ALUs
Mukherjee et al. Design of a fault-tolerant conditional sum adder
Marienfeld et al. A new self-checking code-disjoint carry-skip adder
Marienfeld et al. Partially duplicated code-disjoint carry-skip adder
KR100252766B1 (ko) 고속으로 동작하는 스티키 신호 생성기
Marienfeld et al. A new self-checking multiplier by use of a code-disjoint sum-bit duplicated adder

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180205

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 5