KR102596434B1 - 삼진 곱셈기 - Google Patents

삼진 곱셈기 Download PDF

Info

Publication number
KR102596434B1
KR102596434B1 KR1020210131932A KR20210131932A KR102596434B1 KR 102596434 B1 KR102596434 B1 KR 102596434B1 KR 1020210131932 A KR1020210131932 A KR 1020210131932A KR 20210131932 A KR20210131932 A KR 20210131932A KR 102596434 B1 KR102596434 B1 KR 102596434B1
Authority
KR
South Korea
Prior art keywords
ternary
approximate
multiplier
appx
operands
Prior art date
Application number
KR1020210131932A
Other languages
English (en)
Other versions
KR20230017700A (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 포항공과대학교 산학협력단
Publication of KR20230017700A publication Critical patent/KR20230017700A/ko
Application granted granted Critical
Publication of KR102596434B1 publication Critical patent/KR102596434B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • 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/49Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Abstract

두 개의 피연산자에 대하여 복수의 부분 곱의 조합을 생성하고 - 각각의 상기 부분 곱의 조합은 2×2 삼진 곱셈기(ACC), 제1 2×2 근사 삼진 곱셈기(APPX), 제2 2×2 근사 삼진 곱셈기(APPX+6) 및 제3 2×2 근사 삼진 곱셈기(APPX+9) 중 어느 하나에 의해 계산됨 -, 각각의 상기 부분 곱의 조합에 대하여 정확도-전력 분석을 수행하고, 상기 복수의 부분 곱의 조합 중에서 목표 정확도를 갖는 제1 부분 곱의 조합을 선택하고, 상기 제1 부분 곱의 조합 중에서 소모 전력이 최소인 제2 부분 곱의 조합을 선택하고, 상기 제2 부분 곱의 조합을 합산하는, 각각이 6-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 6×6 근사 삼진 곱셈기가 제공된다.

Description

삼진 곱셈기{TERNARY MULTIPLIER}
본 발명은 삼진 곱셈기에 관한 것이다.
지난 수십년간 CMOS(complementary metal-oxide semiconductor) 기술은 디지털 시스템의 성장을 주도해왔다. 그러나 CMOS의 크기 스케일링(dimensional scaling)이 한계에 이름에 따라 지속적인 디지털 시스템의 성장을 위한 새로운 패러다임이 요구되고 있다. CNTFET(carbon nanotube field-effect transistor)은 탄도 전송(ballistic transport) 특성으로 인해 CMOS의 대체재로 부상하고 있다. 또한 탄소 나노튜브의 직경을 바꿈에 따라 문턱 전압의 조정이 가능한 CNTFET의 특성은 MVL(multi-valued logic) 회로와 같은 회로 설계의 새로운 패러다임을 가능하게 했다. MVL 회로는 기본 연산 당 세 개 이상의 값을 처리하여 하드웨어 비용을 최소화하는데 주력한다. 그러므로 MVL 회로는 이진법 회로에 비해 디지털 시스템의 상호 연결(interconnect) 복잡도를 감소시킬 수 있다. 뿐만 아니라, MVL 회로는 상호 연결 병목(bottleneck) 및 상호 연결 전력 소모 등과 같은 BEOL(back end of line)과 관련하여 제시된 문제들에 대한 해결책이 될 수 있다.
최근 MVL 회로 구현의 첫 걸음으로서 다양한 삼진법 회로 설계들이 제안되고 있다. 회로 수준에서 에너지 효율을 최적화하기 위해 CNTFET을 이용한 설계 방법이 연구되고 있다. 또한 삼진법 회로 설계 방법을 이용한 다양한 조합 논리 회로 및 순차 논리 회로의 설계들이 개발되고 있다. 한편 효율적인 삼진 시스템 설계에 대한 필요성에도 불구하고, 시스템 수준의 설계에 대한 연구는 상대적으로 적은 상황이다.
회로 설계에서 근사 연산은 영상(예: 이미지, 비디오) 처리, 데이터 마이닝과 같은 애플리케이션에서 계산 정확도를 조정함으로써 전력 제약을 완화하는 기법이다. 근사 회로는 곱셈과 같은 복잡한 연산을 단순화하여 정확한 회로보다 더 적은 전력을 소모하면서 성능을 개선한다. 삼진 산술 논리 회로의 에너지 효율을 높이기 위해 몇몇 근사 덧셈기 또는 근사 곱셈기의 설계가 제안되었다. 그러나 종래의 설계들은 스위칭 논리 회로(switching logic circuits) 및 덧셈기 구조의 복잡도로 인해 에너지 효율이 제한된다.
예를 들어, 근사 덧셈기 기반의 설계는 입력의 개수가 증가함에 따라 덧셈기 수의 증가에 따른 정확도 손실을 피할 수 없다. 근사 곱셈기 기반의 설계는 근사 덧셈기 기반의 설계보다 더 높은 정확도와 더 적은 수의 덧셈기 사용을 보장하지만, 종래의 설계들은 전달 게이트 기반 논리 설계와 복잡한 덧셈 구조로 인하여 정확도-전력 트레이드 오프 특성이 좋지 못하다.
A. Panahi, F. Sharifi, M. H. Moaiyeri and K. Navi, "CNFET-based approximate ternary adders for energy-efficient image processing applications", Microprocessors and Microsystems 47 (2016), pp. 454-465.
본 발명의 목적은 삼진 곱셈의 부분 곱(partial product)을 감소시킬 수 있는 1×1 근사 삼진 곱셈기를 제공하는 것이다.
본 발명의 다른 목적은 계산 복잡도를 감소시키기 위해 덧셈기의 개수가 감소된 2×2 근사 삼진 곱셈기를 제공하는 것이다.
본 발명의 다른 목적은 근사 삼진 곱셈의 정확도를 높이기 위한 오류 보상을 제공하는 2×2 근사 삼진 곱셈기를 제공하는 것이다.
본 발명의 다른 목적은 정확도-전력을 조정할 수 있는 6×6 근사 삼진 곱셈기를 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
본 발명의 일 실시예에 따른 1×1 근사 삼진 곱셈기(ATMul)는 각각이 1-트릿(trit)인 두 개의 피연산자에 대하여 근사 곱(APPX. product)을 계산하되, 상기 근사 곱은 하기의 진리표
Figure 112021114188011-pat00001
에 의해 결정된다.
본 발명의 일 실시예에 따른 각각이 2-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 2×2 근사 삼진 곱셈기(APPX)는 상기 두 피연산자의 최상위트릿(most significant trit, MST)끼리의 곱셈을 수행하는 1×1 삼진 곱셈기(Tmul), 상기 두 피연산자의 상기 최상위트릿(MST)을 제외한 나머지 트릿의 조합에 대하여 근사 곱셈을 수행함으로써 세 개의 부분 곱을 계산하는 세 개의 1×1 근사 삼진 곱셈기(ATmul), 상기 세 개의 부분 곱 중 상기 두 개의 피연산자의 최하위트릿(least significant trit, LST)끼리의 곱셈에 의한 부분 곱을 제외한 나머지 두 개의 부분 곱을 합산하는 제1 삼진 반가산기(THA), 상기 제1 삼진 반가산기(THA)에서 출력된 캐리 및 상기 1×1 삼진 곱셈기(Tmul)에서 출력된 곱을 합산하는 제2 삼진 반가산기(THA), 및 상기 제2 삼진 반가산기(THA)에서 출력된 캐리 및 상기 1×1 삼진 곱셈기(Tmul)에서 출력된 캐리를 합산하는 삼진 Sum 게이트(TSum)을 포함한다.
본 발명의 일 실시예에 따른 각각이 2-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 2×2 근사 삼진 곱셈기(APPX+6)는 상기 두 피연산자의 최상위트릿(most significant trit, MST)끼리의 곱셈을 수행하는 1×1 삼진 곱셈기(Tmul), 상기 두 피연산자의 상기 최상위트릿(MST)을 제외한 나머지 트릿의 조합에 대하여 근사 곱셈을 수행함으로써 세 개의 부분 곱을 계산하는 세 개의 1×1 근사 삼진 곱셈기(ATmul), 상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 중요도를 감소시키기 위한 제1 보상 값을 생성하는 제1 오류 보상 회로, 상기 세 개의 부분 곱 중 상기 두 개의 피연산자의 최하위트릿(least significant trit, LST)끼리의 곱셈에 의한 부분 곱을 제외한 나머지 두 개의 부분 곱 및 상기 제1 보상 값을 합산하는 삼진 전가산기(TFA), 상기 삼진 전가산기(TFA)에서 출력된 캐리 및 1×1 삼진 곱셈기(Tmul)에서 출력된 곱을 합산하는 삼진 반가산기(THA), 및 상기 삼진 반가산기(THA)에서 출력된 캐리 및 1×1 삼진 곱셈기(Tmul)에서 출력된 캐리를 합산하는 삼진 Sum 게이트(TSum)를 포함한다.
일 측면에 따르면, 상기 제1 보상 값은 6일 수 있다.
본 발명의 일 실시예에 따른 각각이 2-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 2×2 근사 삼진 곱셈기(APPX+9)는 상기 두 피연산자의 최상위트릿(most significant trit, MST)끼리의 곱셈을 수행하는 1×1 삼진 곱셈기(Tmul), 상기 두 피연산자의 상기 최상위트릿(MST)을 제외한 나머지 트릿의 조합에 대하여 근사 곱셈을 수행함으로써 세 개의 부분 곱을 계산하는 세 개의 1×1 근사 삼진 곱셈기(ATmul), 상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 중요도를 감소시키기 위한 제2 보상 값을 생성하는 제2 오류 보상 회로, 상기 세 개의 부분 곱 중 상기 두 개의 피연산자의 최하위트릿(least significant trit, LST)끼리의 곱셈에 의한 부분 곱을 제외한 나머지 두 개의 부분 곱을 합산하는 삼진 반가산기(THA), 상기 1×1 삼진 곱셈기(Tmul)에서 출력된 곱, 상기 삼진 반가산기(THA)에서 출력된 캐리 및 상기 제2 보상 값을 합산하는 삼진 전가산기(TFA), 및 상기 삼진 전가산기(TFA)에서 출력된 캐리 및 1×1 삼진 곱셈기(Tmul)에서 출력된 캐리를 합산하는 삼진 Sum 게이트(TSum)를 포함한다.
일 측면에 따르면 상기 제2 보상 값은 9일 수 있다.
본 발명의 일 실시예에 따른 각각이 6-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 6×6 근사 삼진 곱셈기는 상기 두 개의 피연산자에 대하여 복수의 부분 곱의 조합을 생성하고 - 각각의 상기 부분 곱의 조합은 2×2 삼진 곱셈기(ACC), 제1 2×2 근사 삼진 곱셈기(APPX), 제2 2×2 근사 삼진 곱셈기(APPX+6) 및 제3 2×2 근사 삼진 곱셈기(APPX+9) 중 어느 하나에 의해 계산됨 -, 각각의 상기 부분 곱의 조합에 대하여 정확도-전력 분석을 수행하고, 상기 복수의 부분 곱의 조합 중에서 목표 정확도를 갖는 제1 부분 곱의 조합을 선택하고, 상기 제1 부분 곱의 조합 중에서 소모 전력이 최소인 제2 부분 곱의 조합을 선택하고, 상기 제2 부분 곱의 조합을 합산한다.
일 측면에 따르면, 상기 제1 2×2 근사 삼진 곱셈기(APPX)는 한 개의 1×1 삼진 곱셈기(Tmul), 세 개의 1×1 근사 삼진 곱셈기(ATmul), 두 개의 삼진 반가산기(THA) 및 하나의 삼진 Sum 게이트(TSum)로 구성될 수 있다.
일 측면에 따르면, 상기 제2 2×2 근사 삼진 곱셈기(APPX+6)는 한 개의 1×1 삼진 곱셈기(Tmul), 세 개의 1×1 근사 삼진 곱셈기(ATmul), 제1 오류 보상 회로, 한 개의 삼진 전가산기(TFA), 한 개의 삼진 반가산기(THA) 및 한 개의 삼진 Sum 게이트(TSum)로 구성되되, 상기 제1 오류 보상 회로는 상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 중요도를 감소시키기 위한 제1 보상 값을 생성할 수 있다.
일 측면에 따르면, 상기 제3 2×2 근사 삼진 곱셈기(APPX+9)는 한 개의 1×1 삼진 곱셈기(Tmul), 세 개의 1×1 근사 삼진 곱셈기(ATmul), 제2 오류 보상 회로, 한 개의 삼진 반가산기(THA), 한 개의 삼진 전가산기(TFA) 및 한 개의 삼진 Sum 게이트(TSum)로 구성되되, 상기 제2 오류 보상 회로는 상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 편향을 감소시키기 위한 제2 보상 값을 생성할 수 있다.
일 측면에 따르면, 상기 정확도-전력 분석은 각각의 상기 부분 곱의 조합에 대하여 MAPE(mean absolute percentage error) 및 평균 소모 전력을 계산하는 것일 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
전술한 본 발명의 실시예들에 따른 1×1 근사 삼진 곱셈기에 따르면, 삼진 곱셈의 부분 곱(partial product)을 감소시킬 수 있다.
전술한 본 발명의 실시예들에 따른 2×2 근사 삼진 곱셈기에 따르면, 계산 복잡도를 감소시키고 덧셈기의 개수를 감소시킬 수 있다.
전술한 본 발명의 실시예들에 따른 2×2 근사 삼진 곱셈기에 따르면, 오류 보상을 통해 삼진 곱셈의 정확도를 높일 수 있다.
전술한 본 발명의 실시예들에 따른 6×6 근사 삼진 곱셈기에 따르면, 근사 삼진 곱셈의 정확도-전력을 조정할 수 있다.
도 1은 1×1 삼진 곱셈기(TMul)의 심볼 및 진리표를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 1×1 근사 삼진 곱셈기(ATMul)의 심볼 및 진리표를 도시한 것이다.
도 3은 2×2 삼진 곱셈기(ACC)의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 2×2 근사 삼진 곱셈기(APPX)의 블록도이다.
도 5는 2×2 근사 삼진 곱셈기(APPX)에서 발생하는 오류 및 오류 보상 결과를 나타낸 표이다.
도 6은 본 발명의 일 실시예에 따른 제2 2×2 근사 삼진 곱셈기(APPX+6)의 블록도이다.
도 7은 본 발명의 일 실시예에 따른 제3 2×2 근사 삼진 곱셈기(APPX+9)의 블록도이다.
도 8은 2×2 삼진 곱셈기(ACC), 제1 2×2 근사 삼진 곱셈기(APPX), 제2 2×2 근사 삼진 곱셈기(APPX+6) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)의 트랜지스터 수준의 설계도이다.
도 9은 종래의 2Х2 정확한 삼진 곱셈기들과 제안된 근사 설계들의 특성들을 비교한 것이다.
도 10은 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기의 블록도이다.
도 11은 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기의 동작 순서도이다.
도 12는 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기(1000)의 모든 부분 곱의 조합에 대한 정확도-전력 그래프이다.
도 13은 다양한 삼진 곱셈기를 영상 처리 애플리케이션에 적용한 결과를 비교한 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람이 본 발명을 쉽게 실시할 수 있도록 명확하고 상세하게 설명하기로 한다.
도 1은 1×1 삼진 곱셈기(TMul)(100)의 심볼 및 진리표를 도시한 것이다.
도 1의 (a)에 도시된 바와 같이, 1×1 삼진 곱셈기(TMul)(100)는 각각이 1-트릿(trit)인 두 개의 피연산자(A0 및 B0)에 대하여 곱(ACC. Product)과 캐리(ACC. Carry)를 계산한다. 1×1 삼진 곱셈기(TMul)(100)의 곱(ACC. Product)과 캐리(ACC. Carry)는 각각 도 1의 (b) 및 (c)에 도시된 진리표에 따라 결정된다. 이때 캐리는 입력된 두 개의 피연산자가 모두 2인 경우에만 1이고, 그렇지 않은 경우에는 0이다.
도 2는 본 발명의 일 실시예에 따른 1×1 근사 삼진 곱셈기(ATMul)(200)의 심볼 및 진리표를 도시한 것이다.
도 2의 (a)에 도시된 바와 같이, 본 발명의 일 실시예에 따른 1×1 근사 삼진 곱셈기(ATMul)(200)는 각각이 1-트릿인 두 개의 피연산자(A0 및 B0)에 대하여 근사 곱(APPX. Product)을 계산하며, 근사 곱(APPX. Product)은 도 2의 (b)에 도시된 진리표에 따라 결정된다. 본 발명의 일 실시예에 따른 1×1 근사 삼진 곱셈기(ATMul)(200)는 1×1 삼진 곱셈기(TMul)(100)의 캐리(ACC. Carry)를 생략함으로써 삼진 곱셈의 부분 곱(partial product)을 감소시킬 수 있다. 다시 말하면, 본 발명의 일 실시예에 따른 1×1 근사 삼진 곱셈기(ATMul)(200)는 캐리가 생략된(carry-truncated) 삼진 곱셈기이다.
도 3은 2×2 삼진 곱셈기(ACC)(300)의 블록도이다.
도 3에 도시된 바와 같이, 2×2 삼진 곱셈기(ACC)(300)는 각각이 2-트릿인 두 개의 피연산자(A1A0, B1B0)에 대하여 삼진 곱셈을 수행하며, 네 개의 1×1 삼진 곱셈기(Tmul)(100), 두 개의 삼진 Sum 게이트(TSum)(310) 및 두 개의 삼진 전가산기(TFA)(300)로 구성된다. 2×2 삼진 곱셈기(ACC)(300)는 1×1 삼진 곱셈기(Tmul)(100)를 이용하여 설계되므로 정확한 곱셈 결과를 출력하며, MAPE(mean absolute percentage error)와 MPE(mean percentage error)가 모두 0%이다.
여기서, MAPE와 MPE는 오류 측정 기준이다. MAPE는 근사 연산 중 발생할 수 있는 오류의 기댓값으로서, 연산 정확도와 상관관계가 있다. MPE는 오류의 편향 여부에 대한 정보를 제공하는 것으로서, MPE의 절댓값이 MAPE와 일치하면 근사 연산 결과가 한 쪽으로 편향된 것으로 볼 수 있다. MAPE와 MPE는 각각 수학식 1과 수학식 2와 같이 정의된다.
여기서 acc i 는 정확한 결과, appx i 는 근사 결과, n은 서로 다른 입력 조합들의 개수를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 제1 2×2 근사 삼진 곱셈기(APPX)(400)의 블록도이다.
도 4에 도시된 바와 같이, 제1 2×2 근사 삼진 곱셈기(APPX)(400)는 각각이 2-트릿인 두 개의 피연산자(A1A0, B1B0)에 대하여 근사 삼진 곱셈을 수행하며, 한 개의 1×1 삼진 곱셈기(Tmul)(100), 세 개의 1×1 근사 삼진 곱셈기(ATmul)(200), 한 개의 삼진 Sum 게이트(TSum)(410) 및 두 개의 삼진 반가산기(THA)(450)로 구성된다. 구체적으로, 제1 2×2 근사 삼진 곱셈기(APPX)(400)는 두 피연산자의 각각의 트릿의 조합(즉, B1A1, B1A0, B0A1 및 B0A0)에 대하여 1×1 곱셈 또는 1×1 근사 곱셈을 수행하며, 각각의 부분 곱을 합산하여 2×2 근사 삼진 곱셈 결과를 출력한다.
근사 연산으로 인한 정확도 손실을 줄이기 위해, 제1 2×2 근사 삼진 곱셈기(APPX)(400)는 두 피연산자의 최상위트릿(most significant trit, MST)끼리의 곱셈에 대하여는 1×1 근사 삼진 곱셈기(ATmul)(200)가 아닌 1×1 삼진 곱셈기(Tmul)(100)를 사용한다. 제1 2×2 근사 삼진 곱셈기(APPX)(400)는 세 개의 트릿 조합에 대해 1×1 근사 삼진 곱셈기(ATmul)(200)를 사용하므로 근사 곱셈 결과를 출력하며, MAPE와 MPE가 각각 7%, -7%이다.
제1 2×2 근사 삼진 곱셈기(APPX)(400)는 부분 곱을 합산하는 방식으로 근사 삼진 곱셈을 수행하므로 2×2 삼진 곱셈기(ACC)(300)와 비교하여 더 작은 크기의 덧셈기를 더 적은 개수만큼 포함한다.
도 5는 제1 2×2 근사 삼진 곱셈기(APPX)(400)에서 발생하는 오류 및 오류 보상 예시를 나타낸 표이다.
도 5의 (a)는 도 4의 제1 2×2 근사 삼진 곱셈기(APPX)(400)의 오류 값을 나타낸 표이다. 각각의 피연산자는 2-트릿이므로 십진수 0에서 8까지 총 9개의 값을 가질 수 있으며, 두 개의 피연산자의 조합 81개 중 21개의 조합에서 오류가 발생하는 것을 확인할 수 있다. 따라서 만약 복수의 제1 2×2 근사 삼진 곱셈기(APPX)(400)만을 이용하여 더 큰 크기의 근사 삼진 곱셈기(예: 6×6 근사 삼진 곱셈기)를 구현한다면 각각의 제1 2×2 근사 삼진 곱셈기(APPX)(400)에서 발생한 오류들이 중첩되어 최종 결과의 정확도가 현저하게 낮아질 수 있다.
사용 환경(예: 스마트폰, 태블릿, 랩톱, 데스크톱 등) 또는 애플리케이션(예: 영상(예: 이미지, 비디오) 처리, 데이터 마이닝 등)에 따라 허용 가능한 범위의 전력을 소모하면서 동시에 허용 가능한 범위의 정확도를 갖는 삼진 곱셈기가 필요할 수 있다.
제1 2×2 근사 삼진 곱셈기(APPX)(400)의 오류를 보상하기 위하여 오류 보상 회로가 추가될 수 있다. 오류 보상 회로는 제1 2×2 근사 삼진 곱셈기(APPX)(400)의 출력 중 특정 피연산자 조합의 곱셈 결과에 대하여 미리 결정된 상수를 더하거나 뺄 수 있다.
일 예로서, 오류 보상 회로는 오류의 중요도를 감소시키기 위해 미리 결정된 상수를 결정할 수 있다. 오류의 중요도를 감소시킨다는 것은 전체 오류의 크기를 감소시키는 것일 수 있다. 도 5의 (b)의 표는 도 5의 (a)의 표에서 오류가 발생한 결과에 대하여 6을 더함으로써 21개의 오류 중 12개의 오류를 제거하고 4개의 오류의 크기를 감소시킨 것을 나타낸다.
다른 예로서, 오류 보상 회로는 오류의 편향을 감소시키기 위해 미리 결정된 상수를 결정할 수 있다. 도 5의 (b)의 표에서 제거되지 않고 남아 있는 오류들은 모두 음(-)의 값을 갖는다. 다시 말하면, 제1 2×2 근사 삼진 곱셈기(APPX)(400)의 출력 중 특정 피연산자의 조합의 곱셈 결과에 6을 더하더라도 그 결과는 여전히 음의 방향으로 편향된다. 따라서 만약 어느 한 방향(예: 음의 방향)으로 편향된 출력을 생성하는 복수의 2×2 근사 삼진 곱셈기만을 이용하여 더 큰 크기의 근사 삼진 곱셈기를 구현한다면 중간 과정(예: 부분 곱을 합산하는 과정)에서 오류들이 제거되지 않고 그 한 방향으로 더 편향된 곱셈 결과를 출력할 것이다. 도 5의 (c)의 표는 도 5의 (a)의 표에서 오류가 발생한 결과에 대하여 9를 더함으로써 오류의 편향을 감소시킨 것을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 제2 2×2 근사 삼진 곱셈기(APPX+6)(600)의 블록도이다.
도 6에 도시된 바와 같이, 제2 2×2 근사 삼진 곱셈기(APPX+6)(600)는 각각이 2-트릿인 두 개의 피연산자(A1A0, B1B0)에 대하여 오류 보상된 근사 삼진 곱셈을 수행하며, 한 개의 1×1 삼진 곱셈기(Tmul)(100), 세 개의 1×1 근사 삼진 곱셈기(ATmul)(200), 한 개의 삼진 Sum 게이트(TSum)(610), 한 개의 삼진 전가산기(TFA)(630), 한 개의 삼진 반가산기(THA)(650) 및 제1 오류 보상 회로(+6)(670)로 구성된다. 구체적으로, 제2 2×2 근사 삼진 곱셈기(APPX+6)(600)는 두 피연산자의 각각의 트릿의 조합(즉, B1A1, B1A0, B0A1 및 B0A0)에 대하여 1×1 곱셈 또는 1×1 근사 곱셈을 수행하며, 각각의 부분 곱을 합산한다. 이때 제1 오류 보상 회로(+6)(670)는 특정 피연산자 조합의 곱셈 결과에 대하여 미리 결정된 상수(예: 6)를 더함으로써 오류의 중요도를 감소시킨다.
제1 2×2 근사 삼진 곱셈기(APPX)(400)와 동일한 이유로, 제2 2×2 근사 삼진 곱셈기(APPX+6)(600)는 두 피연산자의 최상위트릿(MST)끼리의 곱셈에 대하여는 1×1 삼진 곱셈기(Tmul)(100)를 사용한다. 제2 2×2 근사 삼진 곱셈기(APPX+6)(600)는 세 개의 트릿 조합에 대해 1×1 근사 삼진 곱셈기(ATmul)(200)를 사용하고, 오류의 크기를 감소시키기 위해 제1 오류 보상 회로(+6)(670)를 사용하므로 MAPE와 MPE는 각각 제1 2×2 근사 삼진 곱셈기(APPX)(400)보다 작은 값인 1.8%, -1.8%이다.
제2 2×2 근사 삼진 곱셈기(APPX+6)(600)에서 발생하는 오류는 도 5의 (b)와 같으므로 제1 2×2 근사 삼진 곱셈기(APPX)(400)와 비교하여 오류의 중요도가 감소한다. 그러나 MAPE와 MPE의 절댓값이 동일하므로 곱셈 결과는 여전히 한 쪽으로 편향되었음을 알 수 있다.
도 7은 본 발명의 일 실시예에 따른 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)의 블록도이다.
도 7에 도시된 바와 같이, 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)는 각각이 2-트릿인 두 개의 피연산자(A1A0, B1B0)에 대하여 오류 보상된 근사 삼진 곱셈을 수행하며, 한 개의 1×1 삼진 곱셈기(Tmul)(100), 세 개의 1×1 근사 삼진 곱셈기(ATmul)(200), 한 개의 삼진 Sum 게이트(TSum)(710), 한 개의 삼진 전가산기(TFA)(730), 한 개의 삼진 반가산기(THA)(750) 및 제2 오류 보상 회로(+9)(770)로 구성된다. 구체적으로, 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)는 두 피연산자의 각각의 트릿의 조합(즉, B1A1, B1A0, B0A1 및 B0A0)에 대하여 1×1 곱셈 또는 1×1 근사 곱셈을 수행하며, 각각의 부분 곱을 합산한다. 이때 제2 오류 보상 회로(+9)(770)는 특정 피연산자 조합의 곱셈 결과에 대하여 미리 결정된 상수(예: 9)를 더함으로써 오류의 편향을 감소시킨다.
제1 2×2 근사 삼진 곱셈기(APPX)(400) 및 제2 2×2 근사 삼진 곱셈기(APPX+6)(600)와 동일한 이유로, 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)는 두 피연산자의 최상위트릿(MST)끼리의 곱셈에 대하여는 1×1 삼진 곱셈기(Tmul)(100)를 사용한다. 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)는 세 개의 트릿 조합에 대해 1×1 근사 삼진 곱셈기(ATmul)(200)를 사용하고, 오류의 편향을 감소시키기 위해 제1 오류 보상 회로(+9)(770)를 사용하므로 MAPE와 MPE는 각각 3.4%, 0.8%이다.
이하에서는 도 8를 참조하여 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700) 성능에 관한 시뮬레이션 결과를 설명한 후 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기(800)에 대하여 설명하기로 한다.
도 8은 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)의 트랜지스터 수준의 설계도이다.
시뮬레이션에서, 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)는 정적 논리 게이트 구조를 기반으로 설계되었으며, 단일 전압원을 이용하여 논리값 0, 1, 2를 각각 GND, VDD/2, VDD로 나타낸다. 도 5의 (f)와 같이 n-타입, p-타입에 각각 서로 다른 문턱 전압을 갖는 세 종류의 CNTFET이 사용된다. 두 개의 패스 트랜지스터가 정적 논리 게이트의 성능 저하 및 정적 전력 소모를 최소화하며 VDD/2를 전달하는 데 사용된다. 각 논리 게이트는 수정된 Quine-McCluskey 알고리즘을 이용하여 트랜지스터 개수가 최소가 되도록 설계되었다. 결과적으로 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)는 종래의 설계에 비해 높은 에너지 효율성을 갖는다.
CNTFET의 문턱 전압은 종래의 설계들 [9]-[11]에 비해 적은 소모 전력 및 높은 잡음 여유를 위해 조정되었으며, 회로 지연은 트레이드 오프로 인해 증가했다.
1Х1 삼진 곱셈기(100)는 도 5의 (a)의 곱 게이트와 도 5의 (b)의 캐리 게이트로 구성된다. 1Х1 근사 삼진 곱셈기(200)는 도 5의 (c)의 삼진 곱셈기 한 개로 구성된다. 도 5의 (d)와 같이 두 종류의 오류 보상 회로들이 설계됐다. 뿐만 아니라 제안된 1Х1 삼진 곱셈기들을 이용하여 도 3, 4, 6, 7의 게이트 수준 설계도로 네 종류의 2Х2 삼진 곱셈기들이 설계됐다.
설계들의 에너지 효율을 검증하기 위해서 32nm MOSFET-like CNTFET 라이브러리 및 HSPICE를 이용해 전이 시뮬레이션이 수행됐다. 각 시험 회로는 1000회 이상의 무작위 입력, 10ps 입력 전이 시간, 0.5GHz 동작 주파수, 0.9V 동작 전압, 27
Figure 112021114188011-pat00004
동작 온도 조건으로 시뮬레이션 됐다. 4개의 표준 삼진 인버터들이 fan-out load로 사용됐다.
[표 1]
표 1은 제안된 설계들의 특성을 트랜지스터 수, 평균 소모 전력, 최대 전달 지연, PDP(power-delay product) 측면에서 열거한다. 정확한 설계에 비해 제안된 2Х2 삼진 곱셈기들의 PDP는 근사 설계에서 55.1%, +6 보상 설계에서 27.9%, +9 보상 설계에서 38.1% 감소했다.
도 9은 종래의 2Х2 정확한 삼진 곱셈기들과 제안된 근사 설계들의 특성들을 비교한 것이다. 제안된 정확한 설계의 PDP는 [9]의 설계보다 52.7%, [11]의 설계보다 88.8% 작고, [10]의 설계보다 8.3% 크다. 하지만 제안된 근사 설계의 PDP는 [10]의 설계 보다 51.4% 작다. 제안된 정확한 설계의 트랜지스터 수는 [9]의 설계보다 18.1%, [10]의 설계보다 4.7% 작고, [11]의 설계보다 2.0% 크다. 제안된 근사 설계는 제안된 정확한 설계보다 트랜지스터 수가 45.1% 작다.
도 10은 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기(1000)의 블록도이다.
도 10에 도시된 바와 같이, 6×6 근사 삼진 곱셈기(1000)는 각각이 6-트릿인 두 개의 피연산자(A5A4A3A2A1A0, B5B4B3B2B1B0)에 대하여 근사 삼진 곱셈을 수행한다. 구체적으로, 6×6 근사 삼진 곱셈기(900)는 두 피연산자의 인접한 2개의 트릿으로 구성된 조합(즉, A[5:4], A[3:2], A[1:0], B[5:4], B[3:2], B[1:0])에 대하여 9개의 부분 곱을 계산하고 해당 부분 곱들을 합산한다. 이때 각각의 부분 곱은 상술한 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700) 중 어느 하나에 의해 계산된다. 따라서 부분 곱은 262,144(=49) 개의 조합이 있을 수 있다.
모든 부분 곱의 조합 중 실제로 사용할 부분 곱의 조합을 결정하기 위하여 각각의 부분 곱의 조합의 정확도 및 소모 전력을 계산한다. 예를 들어, 정확도를 계산하기 위하여 각각의 삼진법 회로를 Python 상에서 모델링 및 시뮬레이션 할 수 있다. 각각의 부분 곱의 조합에 대하여 모든 입력 조합 531,441(=3^12)개의 MAPE가 계산될 수 있다. 한편, 각각의 부분 곱의 조합의 소모 전력을 비교하기 위하여 정적 분석 기법이 적용될 수 있다. 전이 시뮬레이션에서 신뢰 가능한 결과를 얻기 위해서는 많은 수의 입력 조합이 필요하며, 이는 긴 실행 시간을 요구한다. 따라서 6×6 근사 삼진 곱셈기(1000)는 목표 정확도를 갖는 부분 곱의 조합 중 소모 전력이 최소인 조합으로 설계될 수 있다.
실제 구현에서, 부분 곱의 조합을 결정하는 과정은 사전에 수행된 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)에 대한 시뮬레이션 결과를 설계 라이브러리로 사용하여 수행될 수 있다.
도 11은 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기(1000)의 동작 순서도이다.
도 11을 참조하면, 단계 S1110에서는 각각이 6-트릿인 두 피연산자의 인접한 2개의 트릿으로 구성된 입력 조합에 대하여 부분 곱의 조합을 생성한다. 여기서 각각의 부분 곱은 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700) 중 어느 하나에 의해 계산될 수 있다. 단계 S1110은 2×2 삼진 곱셈기(ACC)(300), 제1 2×2 근사 삼진 곱셈기(APPX)(400), 제2 2×2 근사 삼진 곱셈기(APPX+6)(600) 및 제3 2×2 근사 삼진 곱셈기(APPX+9)(700)에 대하여 미리 작성된 설계 라이브러리를 이용하여 수행될 수 있다.
단계 S1130에서는 각각의 부분 곱의 조합에 대한 정확도-전력 분석을 수행한다. 정확도 분석을 위해 각각의 부분 곱의 조합에 대하여 모든 입력 조합 531,441(=3^12)개의 MAPE가 계산될 수 있다. 전력 분석을 위해 정적 분석 기법이 적용될 수 있다.
단계 S1150에서는 모든 부분 곱의 조합 중에서 목표 정확도를 갖는 부분 곱의 조합을 선택한다.
단계 S1170에서는 목표 정확도를 갖는 부분 곱의 조합 중에서 소모 전력이 최소인 부분 곱의 조합을 선택한다.
이때 단계 S1150 및 단계 S1170은 단계 S1130의 정확도-전력 분석 결과로서 그려진 정확도-전력 트레이드 오프 커브를 참조하여 수행될 수 있다. 이에 대하여는 도 12를 참조하여 설명하기로 한다.
도 12는 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기(1000)의 모든 부분 곱의 조합에 대한 정확도-전력 그래프이다.
도 12를 참조하면, 모든 부분 곱의 조합 262,144개에 대하여 평균 소모 전력 및 MAPE가 파란색 점으로 표시되어 있다. 또한 빨간색 점은 정확도 조정 가능한 설계 방법 중 선택된 조합들을 나타낸다. 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기(1000)의 정확도-전력 트레이드 오프 커브는 빨간색 점을 기반으로 표현될 수 있다. 예를 들어, 도 12의 예시에서, 설계 A는 모든 부분 곱이 2×2 삼진 곱셈기(ACC)(300)를 이용하여 계산된 것이고, 설계 B는 {P00, …, P20, P12, P21, P22} = {APPX, …, APPX, APPX+6, APPX+9, ACC}에 의하여 계산된 것이고, 설계 C는 모든 무문 곱이 제1 2×2 근사 삼진 곱셈기(APPX)(400)에 의해 계산된 것이다.
[표 2]
표 2는 다양한 6×6 삼진 곱셈기의 특성을 비교한 것이다. 정확한 설계들과 비교하면 설계 A의 PDP는 [9]의 설계에 비해 58.0%, [10]의 설계에 비해 28.4%, [11]의 설계에 비해 73.3% 개선을 보여준다. 입력 수가 증가함에 따라 [9]의 설계에 비해 제안된 설계의 PDP 개선이 증가한다. 제안된 근사 연산 기법을 통해 설계 A보다 설계 B의 PDP는 20.3%, MAPE는 1.65% 개선됐다. 설계 A보다 설계 C의 PDP는 24.2%, MAPE는 9.18% 개선됐다. Carry-truncated 삼진 곱셈기를 사용한 [17]의 설계보다 설계 C의 PDP는 82.8%, MAPE는 41.8% 개선됐다.
이하에서는 본 발명의 일 실시예에 따른 6×6 근사 삼진 곱셈기(1000)를 영상 처리 애플리케이션에 적용한 결과에 대하여 설명하기로 한다.
도 13은 다양한 삼진 곱셈기를 영상 처리 애플리케이션에 적용한 결과를 비교한 것이다.
본 발명의 일 실시예에 따른 6Х6 근사 삼진 곱셈기(1000)의 타당성을 살펴보기 위해서 Gaussian smoothing filter에 적용됐다. Gaussian smoothing (입력 이미지를 특정 계수와 convolving 하는 것)은 MATLAB으로 수행됐다. Convolving 과정에서 곱셈은 제안된 설계들로 수행됐다. 나눗셈과 같은 다른 연산들은 정확히 수행됐다. 도 13의 (a)와 (d)는 Gaussian noise가 포함된 8-bit gray scale 입력 이미지를 보여준다. Gaussian noise의 평균은 0이고 표준 편차가 0.05이다. Noisy Lena 이미지에 대한 정확한 결과는 도 13의 (b)에 근사 결과는 도 13의 (c)에 나타난다. 결과들의 품질을 평가하기 위해 peak signal-to-noise ratio (PSNR) 및 contrast-to-noise ratio (CNR) [19]가 계산됐다. 정확한 결과의 PSNR 개선은 63.4%, 근사 결과의 PSNR 개선은 59.7%다. 정확한 결과의 CNR 개선은 52.7%, 근사 결과의 CNR 개선은 48.5%다. 근사 설계는 정확한 설계에 비해 3.7% 낮은 PSNR 및 4.2% 낮은 CNR을 갖는다. Noisy kitty 이미지에 대한 정확한 결과는 도 13의 (e)에 근사 결과는 도 13의 (f)에 나타난다. 정확한 결과의 PSNR 개선은 66.0%, 근사 결과의 PSNR 개선은 55.4%다. 정확한 결과의 CNR 개선은 43.1%, 근사 결과의 CNR 개선은 41.3%다. 근사 설계는 정확한 설계에 비해 10.6% 낮은 PSNR 및 1.8% 낮은 CNR을 갖는다. 하지만 근사 결과들의 이미지는 정확한 결과들의 이미지와 구별하기 힘들 정도로 좋은 품질을 보임에도 불구하고 에너지 효율이 24.2% 개선됐다.
이상에서 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 명세서에서 설명을 위해 인용된 종래기술은 다음과 같다.
[1] P. S. Peercy, "The drive to miniaturization", Nature 406(6799) (2000), pp. 1023-1026.
[2] Y. Taur, "CMOS design near the limit of scaling", IBM Journal of Research and Development 46(2.3) (2002), pp. 213-222.
[3] R. H. Baughman, A. A. Zakhidov and W. A. de Heer, "Carbon nanotubes-the route toward applications", Science 297(5882) (2002), pp. 787-792.
[4] V. Gaudet, "A survey and tutorial on contemporary aspects of multiplevalued logic and its application to microelectronic circuits", IEEE Journal on Emerging and Selected Topics in Circuits and Systems 6(1) (2016), pp. 5-12.
[5] G. Yeap, "Smart mobile SoCs driving the semiconductor industry: technology trend, challenges and opportunities", 2013 IEEE International Electron Devices Meeting, 2013, pp. 1.3.1-1.3.8.
[6] N. Magen, A. Kolodny, U. Weiser and N. Shamir, "Interconnect-power dissipation in a microprocessor", Proceedings of the 2004 international workshop on System level interconnect prediction, 2004, pp. 7-13.
[7] S. Heo, S. Kim, K. Kim, H. Lee, S.-Y. Kim, Y. J. Kim, S. M. Kim, H.-I. Lee, S. Lee, K. R. Kim, S. Kang and B. H. Lee, "Ternary full adder using multi-threshold voltage graphene barristors", IEEE Electron Device Letters 39(12) (2018), pp. 1948-1951.
[8] J. W. Jeong, Y.-E. Choi, W.-S. Kim, J.-H. Park, S. Kim, S. Shin, K. Lee, J. Chang, S.-J. Kim and K. R. Kim, "Tunnelling-based ternary metal-Oxide-Semiconductor technology", Nature Electronics 2(7) (2019), pp. 307-312.
[9] B. Srinivasu and K. Sridharan, "A synthesis methodology for ternary logic circuits in emerging device technologies", IEEE Transactions on Circuits and Systems I: Regular Papers 64(8) (2017), pp. 2146-2159.
[10] S. Kim, T. Lim and S. Kang, "An optimal gate design for the synthesis of ternary logic circuits", 2018 32rd Asia and South Pacific Design Automation Conference (ASP-DAC), 2018, pp. 476-481.
[11] C. Vudadha, A. Surya, S. Agrawal and M. B. Srinivas, "Synthesis of ternary logic circuits using 2:1 multiplexers", IEEE Transactions on Circuits and Systems I: Regular Papers 65(12) (2018), pp. 4313-4325.
[12] R. A. Jaber, A. Kassem, A. M. El-Hajj, L. A. El-Nimri and A. M. Haidar, "High-performance and energy-efficient CNFET-based designs for ternary logic circuits", IEEE Access 7 (2019), pp. 93871-93886.
[13] S. Lin, Y. Kim and F. Lombardi, "CNTFET-based design of ternary logic gates and arithmetic circuits", IEEE Transactions on Nanotechnology, 10(2) (2011), pp. 217-225.
[14] S. Kim, S.-Y. Lee, S. Park, K. R. Kim and S. Kang, "A logic synthesis methodology for low-power ternary logic circuits", IEEE Transactions on Circuits and Systems I: Regular Papers, (2020), doi: 10.1109/TCSI.2020.2990748.
[15] A. Panahi, F. Sharifi, M. H. Moaiyeri and K. Navi, "CNFET-based approximate ternary adders for energy-efficient image processing applications", Microprocessors and Microsystems 47 (2016), pp. 454-465.
[16] N. H. Bastani, M. H. Moaiyeri and K. Navi, "An energy- and area efficient approximate ternary adder based on CNTFET switching logic", Circuits, Systems, and Signal Processing 37 (2018), pp. 1863-1883.
[17] S. Tabrizchi, A. Panahi, F. Sharifi, H. Mahmoodi and A.-H. A. Badawy, "Energy-Efficient Ternary Multipliers Using CNT Transistors", Electronics 9(4) (2020), pp. 643.
[18] J. Deng and H.-S. P. Wong, "A compact SPICE model for carbon-nanotube field-effect transistors including nonidealities and its application-part I: model of the intrinsic channel region", IEEE Transactions on Electron Devices 54(12) (2007), pp. 3186-3194.
[19] F. Timischl, "The contrast-to-noise ratio for image quality evaluation in scanning electron microscopy", Scanning 37(1) (2015), pp. 54-62.
100: 1×1 삼진 곱셈기(TMul)
200: 1×1 근사 삼진 곱셈기(ATMul)
300: 2×2 삼진 곱셈기(ACC)
400: 제1 2×2 근사 삼진 곱셈기(APPX)
600: 제2 2×2 근사 삼진 곱셈기(APPX+6)
700: 제3 2×2 근사 삼진 곱셈기(APPX+9)
1000: 6×6 근사 삼진 곱셈기

Claims (11)

  1. 각각이 1-트릿(trit)인 두 개의 피연산자에 대하여 근사 곱(APPX. product)을 계산하되, 상기 근사 곱은 하기의 진리표
    Figure 112023072303970-pat00007

    에 의해 결정되고, 삼진 곱셈의 부분 곱(partial product)을 감소시키기 위해 캐리(ACC. Carry)가 생략된(carry-truncated) 삼진 곱셈기인, 1×1 근사 삼진 곱셈기(ATMul).
  2. 각각이 2-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 2×2 근사 삼진 곱셈기(APPX)에 있어서,
    상기 두 피연산자의 최상위트릿(most significant trit, MST)끼리의 곱셈을 수행하는 1×1 삼진 곱셈기(Tmul);
    상기 두 피연산자의 상기 최상위트릿(MST)을 제외한 나머지 트릿의 조합에 대하여 근사 곱셈을 수행함으로써 세 개의 부분 곱을 계산하는 세 개의 1×1 근사 삼진 곱셈기(ATmul);
    상기 세 개의 부분 곱 중 상기 두 개의 피연산자의 최하위트릿(least significant trit, LST)끼리의 곱셈에 의한 부분 곱을 제외한 나머지 두 개의 부분 곱을 합산하는 제1 삼진 반가산기(THA);
    상기 제1 삼진 반가산기(THA)에서 출력된 캐리 및 상기 1×1 삼진 곱셈기(Tmul)에서 출력된 곱을 합산하는 제2 삼진 반가산기(THA); 및
    상기 제2 삼진 반가산기(THA)에서 출력된 캐리 및 상기 1×1 삼진 곱셈기(Tmul)에서 출력된 캐리를 합산하는 삼진 Sum 게이트(TSum)을 포함하는, 2×2 근사 삼진 곱셈기(APPX).
  3. 각각이 2-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 2×2 근사 삼진 곱셈기(APPX+6)에 있어서,
    상기 두 피연산자의 최상위트릿(most significant trit, MST)끼리의 곱셈을 수행하는 1×1 삼진 곱셈기(Tmul);
    상기 두 피연산자의 상기 최상위트릿(MST)을 제외한 나머지 트릿의 조합에 대하여 근사 곱셈을 수행함으로써 세 개의 부분 곱을 계산하는 세 개의 1×1 근사 삼진 곱셈기(ATmul);
    상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 중요도를 감소시키기 위한 제1 보상 값을 생성하는 제1 오류 보상 회로;
    상기 세 개의 부분 곱 중 상기 두 개의 피연산자의 최하위트릿(least significant trit, LST)끼리의 곱셈에 의한 부분 곱을 제외한 나머지 두 개의 부분 곱 및 상기 제1 보상 값을 합산하는 삼진 전가산기(TFA);
    상기 삼진 전가산기(TFA)에서 출력된 캐리 및 1×1 삼진 곱셈기(Tmul)에서 출력된 곱을 합산하는 삼진 반가산기(THA); 및
    상기 삼진 반가산기(THA)에서 출력된 캐리 및 1×1 삼진 곱셈기(Tmul)에서 출력된 캐리를 합산하는 삼진 Sum 게이트(TSum)를 포함하는, 2×2 근사 삼진 곱셈기(APPX+6).
  4. 제3항에 있어서,
    상기 제1 보상 값은 6인, 2×2 근사 삼진 곱셈기(APPX+6).
  5. 각각이 2-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 2×2 근사 삼진 곱셈기(APPX+9)에 있어서,
    상기 두 피연산자의 최상위트릿(most significant trit, MST)끼리의 곱셈을 수행하는 1×1 삼진 곱셈기(Tmul);
    상기 두 피연산자의 상기 최상위트릿(MST)을 제외한 나머지 트릿의 조합에 대하여 근사 곱셈을 수행함으로써 세 개의 부분 곱을 계산하는 세 개의 1×1 근사 삼진 곱셈기(ATmul);
    상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 중요도를 감소시키기 위한 제2 보상 값을 생성하는 제2 오류 보상 회로;
    상기 세 개의 부분 곱 중 상기 두 개의 피연산자의 최하위트릿(least significant trit, LST)끼리의 곱셈에 의한 부분 곱을 제외한 나머지 두 개의 부분 곱을 합산하는 삼진 반가산기(THA);
    상기 1×1 삼진 곱셈기(Tmul)에서 출력된 곱, 상기 삼진 반가산기(THA)에서 출력된 캐리 및 상기 제2 보상 값을 합산하는 삼진 전가산기(TFA); 및
    상기 삼진 전가산기(TFA)에서 출력된 캐리 및 1×1 삼진 곱셈기(Tmul)에서 출력된 캐리를 합산하는 삼진 Sum 게이트(TSum)를 포함하는, 2×2 근사 삼진 곱셈기(APPX+9).
  6. 제5항에 있어서,
    상기 제2 보상 값은 9인, 2×2 근사 삼진 곱셈기(APPX+9).
  7. 각각이 6-트릿인 두 개의 피연산자에 대하여 근사 삼진 곱셈을 수행하기 위한 6×6 근사 삼진 곱셈기에 있어서,
    상기 두 개의 피연산자에 대하여 복수의 부분 곱의 조합을 생성하고 - 각각의 상기 부분 곱의 조합은 2×2 삼진 곱셈기(ACC), 제1 2×2 근사 삼진 곱셈기(APPX), 제2 2×2 근사 삼진 곱셈기(APPX+6) 및 제3 2×2 근사 삼진 곱셈기(APPX+9) 중 어느 하나에 의해 계산됨 -,
    각각의 상기 부분 곱의 조합에 대하여 정확도-전력 분석을 수행하고,
    상기 복수의 부분 곱의 조합 중에서 목표 정확도를 갖는 제1 부분 곱의 조합을 선택하고,
    상기 제1 부분 곱의 조합 중에서 소모 전력이 최소인 제2 부분 곱의 조합을 선택하고,
    상기 제2 부분 곱의 조합을 합산하는, 6×6 근사 삼진 곱셈기.
  8. 제7항에 있어서,
    상기 제1 2×2 근사 삼진 곱셈기(APPX)는
    한 개의 1×1 삼진 곱셈기(Tmul), 세 개의 1×1 근사 삼진 곱셈기(ATmul), 두 개의 삼진 반가산기(THA) 및 하나의 삼진 Sum 게이트(TSum)로 구성되는, 6×6 근사 삼진 곱셈기.
  9. 제7항에 있어서,
    상기 제2 2×2 근사 삼진 곱셈기(APPX+6)는
    한 개의 1×1 삼진 곱셈기(Tmul), 세 개의 1×1 근사 삼진 곱셈기(ATmul), 제1 오류 보상 회로, 한 개의 삼진 전가산기(TFA), 한 개의 삼진 반가산기(THA) 및 한 개의 삼진 Sum 게이트(TSum)로 구성되되,
    상기 제1 오류 보상 회로는 상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 중요도를 감소시키기 위한 제1 보상 값을 생성하는, 6×6 근사 삼진 곱셈기.
  10. 제7항에 있어서,
    상기 제3 2×2 근사 삼진 곱셈기(APPX+9)는
    한 개의 1×1 삼진 곱셈기(Tmul), 세 개의 1×1 근사 삼진 곱셈기(ATmul), 제2 오류 보상 회로, 한 개의 삼진 반가산기(THA), 한 개의 삼진 전가산기(TFA) 및 한 개의 삼진 Sum 게이트(TSum)로 구성되되,
    상기 제2 오류 보상 회로는 상기 두 개의 피연산자가 미리 결정된 수의 조합인 경우 오류의 편향을 감소시키기 위한 제2보상 값을 생성하는, 6×6 근사 삼진 곱셈기.
  11. 제7항에 있어서,
    상기 정확도-전력 분석은 각각의 상기 부분 곱의 조합에 대하여 MAPE(mean absolute percentage error) 및 평균 소모 전력을 계산하는 것인, 6×6 근사 삼진 곱셈기.
KR1020210131932A 2021-07-28 2021-10-05 삼진 곱셈기 KR102596434B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210098899 2021-07-28
KR1020210098899 2021-07-28

Publications (2)

Publication Number Publication Date
KR20230017700A KR20230017700A (ko) 2023-02-06
KR102596434B1 true KR102596434B1 (ko) 2023-11-01

Family

ID=85223867

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210131932A KR102596434B1 (ko) 2021-07-28 2021-10-05 삼진 곱셈기

Country Status (1)

Country Link
KR (1) KR102596434B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101967872B1 (ko) * 2018-02-28 2019-08-13 울산과학기술원 삼진 곱셈기

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980058241A (ko) * 1996-12-30 1998-09-25 구자홍 곱셈 연산기
KR19980073858A (ko) * 1997-03-20 1998-11-05 구자홍 캐리-선택 덧셈기(csa) 회로
KR100431354B1 (ko) * 2001-10-11 2004-05-14 (주)씨앤에스 테크놀로지 곱셈기 회로

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101967872B1 (ko) * 2018-02-28 2019-08-13 울산과학기술원 삼진 곱셈기

Also Published As

Publication number Publication date
KR20230017700A (ko) 2023-02-06

Similar Documents

Publication Publication Date Title
Reddy et al. Design and analysis of multiplier using approximate 4-2 compressor
Liu et al. A low-power, high-performance approximate multiplier with configurable partial error recovery
Jiang et al. Low-power approximate unsigned multipliers with configurable error recovery
Xu et al. A simple yet efficient accuracy-configurable adder design
Pilipović et al. On the design of logarithmic multiplier using radix-4 booth encoding
Kuo et al. Low power and high speed multiplier design with row bypassing and parallel architecture
Kim et al. Low-power ternary multiplication using approximate computing
Sousa et al. On the Design of RNS Reverse Converters for the Four-Moduli Set ${\bf\{2^{\mmb n}+ 1, 2^{\mmb n}-1, 2^{\mmb n}, 2^{{\mmb n}+ 1}+ 1\}} $
Sadeghi et al. High-efficient, ultra-low-power and high-speed 4: 2 compressor with a new full adder cell for bioelectronics applications
Tay et al. Efficient VLSI Implementation of $2^{{n}} $ Scaling of Signed Integer in RNS ${\{2^{n}-1, 2^{n}, 2^{n}+ 1\}} $
Khaleqi Qaleh Jooq et al. Ultraefficient imprecise multipliers based on innovative 4: 2 approximate compressors
Zakian et al. An efficient design of low-power and high-speed approximate compressor in FinFET technology
Chang et al. Area-efficient and fast sign detection for four-moduli set RNS {2 n− 1, 2 n, 2 n+ 1, 22 n+ 1}
Sharma et al. Design of low power multi-ternary digit multiplier in CNTFET technology
Safaei Mehrabani et al. A low-PDAP and high-PSNR approximate 4: 2 compressor cell in CNFET technology
Ahmed et al. Improved designs of digit-by-digit decimal multiplier
KR102596434B1 (ko) 삼진 곱셈기
Brzozowski et al. Designing of low-power data oriented adders
Huang et al. Approximate computing using frequency upscaling
Zakaria et al. Image encryption and decryption using exclusive-OR based on ternary value logic
Minaeifar et al. A High-Accuracy Low-Power Approximate Multipliers with New Error Compensation Technique for DSP Applications
Nasser et al. Power Optimization of Binary Multiplier Based on FPGA
Liu Design and analysis of approximate adders and multipliers
Mohan et al. Evaluation of Mixed-Radix Digit Computation Techniques for the Three Moduli RNS {2 n− 1, 2 n, 2 n+ 1− 1}
Aizaz et al. Energy efficient approximate booth multipliers using compact error compensation circuit for mitigation of truncation error

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right