비동기 설계 방식기반의 저전력 뉴로모픽 하드웨어의 설계 및 구현
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/bync/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract
This paper proposes an asynchronous circuit design methodology using a new Single Gate Sleep Convention Logic (SG-SCL) with advantages such as low area overhead, low power consumption compared with the conventional null convention logic (NCL) methodologies. The delay-insensitive NCL asynchronous circuits consist of dual-rail structures using {DATA0, DATA1, NULL} encoding which carry a significant area overhead by comparison with single-rail structures. The area overhead can lead to high power consumption. In this paper, the proposed single gate SCL deploys a power gating structure for a new {DATA, SLEEP} encoding to achieve low area overhead and low power consumption maintaining high performance during DATA cycle. In this paper, the proposed methodology has been evaluated by a liquid state machine (LSM) for pattern and digit recognition using FPGA and a 0.18 μm CMOS technology with a supply voltage of 1.8 V. the LSM is a neural network (NN) algorithm similar to a spiking neural network (SNN). The experimental results show that the proposed SG-SCL LSM reduced power consumption by 10% compared to the conventional LSM.
Keywords:
Liquid State Machine(LSM), Single-Gate Sleep Convention Logic, Asynchronous Circuit, Neuromorphic Computing1. 서 론
최근 반도체의 공정기술과 저전력 컴퓨팅 기술의 발전으로 인해 인간의 두뇌를 모방하고 구현한 뉴로모픽 칩, 연산의 속도고 빠른 인지 컴퓨팅 기술이 발전되고 대두되고 있다. 사람의 두뇌는 사물 인지, 데이터의 분석 및 판단과 처리 과정에서 지금까지 현존하는 어떤 컴퓨팅 시스템보다 월등한 에너지 효율을 가지고, 사람의 두뇌와 신경망을 모방하여 설계하고 구현하는 방식으로 새로운 저전력 뉴로모픽 컴퓨팅 시스템의 연구가 유지될 전망이다.
뉴로모픽(Neuromorphic) 기술은 인간의 두뇌의 주요한 기능을 모방하여 초저전력으로 작동하며, 폰 노이만 방식 기반 연산 처리능력의 한계를 극복할 수 있는 기술이다. 뉴로모픽 하드웨어 시스템에서 일반적으로 관측되는 특징은 폰-노이만 기반 컴퓨팅과 달리 분산 메모리다. 그림 2와 같이 뉴로모픽 컴퓨팅의 구조는 일반적으로 인간의 뇌의 뉴런과 시냅스의 복잡한 그물망 형태의 연결을 모방하여 망(Mesh)구조의 형태로 뉴런과 시냅스가 연결되어 구성된다. 뉴런은 트랜지스터 회로로 구성될 수 있고, 시냅스는 시냅스 모방소자로 대체하여 구성된다. 폰 노이만 구조와는 달리 병렬 구조로 연결되어 연산을 수행하기 때문에 가장 큰 문제점인 병목현상을 해결할 수 있다[1].
뇌신경 네트워크의 기본 단위인 시냅스의 특성을 모방한 시냅스에서 전달되는 신호는 이진법 신호가 아닌 자극에 따라 변화하는 비동기적인 아날로그 신호로 최소한의 에너지로도 많은 정보를 처리한다. 자극에 의해 구동되는 뉴로모픽 컴퓨팅의 비동기적인 동작을 위해서 지금까지 많은 뉴로모픽 칩들이 완전한 비동기 동작을 목표로 연구가 진행되어 오고 있다. 특히, 최근에 발표된 인텔(Intel)의 인공지능(AI) 가속화를 위한 최초의 자체 학습형(Self-Learning) 칩인 로이히(Loihi) 뉴로모픽 칩은 완전히 비동기적으로 동작하는 뉴로모픽 다중 코어 메쉬(mesh)를 보유하며, 각 뉴런은 수천 개의 다른 뉴런과 통신을 할 수 있다. 그림 1의 Loihi 칩은 인텔의 14nm공정 기술과 재프로그래밍이 가능한 FPGA 타입으로 제작, 128개의 코어로 구성되어 있으며 각각의 코어는 1,024개의 인공 신경세포인 뉴런을 가지고 있다[2].
Liquid State Machine(LSM)은 Spiking Neural Network(SNN)과 비슷한 방식을 가지는 뉴럴네트 워크 구조이다. 본 논문에서는 비동기 설계방식 기반의 Single-Gate Sleep Convention Logic(SG-SCL) 파이프라인 구조를 기존의 LSM에 적용하여 비동기 설계방식 기반의 저전력 LSM을 구현하여 패턴 및 숫자 인식이 가능한 시스템을 구현하고자 한다. 설계된 SG-SCL 게이트의 파이프라인은 SK 180nm 공정을 사용하여 구현되었으며, 제안한 비동기 설계방식의 LSM은 저전력의 효율적인 정보처리를 가능하게 할 것이며 저전력 및 고신뢰의 뉴로모픽 칩의 개발에 사용될 것으로 기대된다.
2. 연구 방법
2.1 NULL Convention Logic
Null convention logic(NCL)은 비동기 회로 설계방식 중 하나이다. NCL 설계방식의 회로는 self-timed 논리이므로 조합 논리 회로의 최장 패스 지연 분석과 제어 신호의 지연을 맞추는 것을 요구하지 않는다. DATA와 DATA 사이에 NULL 신호가 포함되어 동작하는데, 이 때문에 Null Convention Logic이라 불리게 되었다. NCL 회로의 장점은 전역 클록이 없고, 노이즈(noise)에 강하며, 전자파 간섭을 쉽게 받지 않으며, 저전력을 가질 수 있는 장점이 있다[3,4].
NCL 회로의 신호(signal)는 듀얼 레일 인코딩(dual rail encoding) 방법을 사용한 Dual-rail 로직을 사용한다. Dual-rail 로직 신호 D는 두 개의 신호 (D0, D1)으로 구성되었다. 신호의 상태는 크게 {DATA0, DATA1, NULL}로 표시하고, 여기서 DATA0의 상태는 (D0=1, D1=0), DATA1의 상태는 (D0=0, D1=1), NULL의 상태는 (D0=0, D1=0)을 표시한다. NULL 상태는 데이터의 값이 아직 사용하기 직전 상태이거나 사용하지 않은 상태임을 표현한다. Dual-rail 로직은 로직 간의 배타적인 특성을 가지기 때문에 동시에 (D0=1, D1=1)을 표현할 수 없다. 따라서, 두 개의 신호가 (D0=1, D1=1)일 때의 상태는 illegal state로 표현한다. 표 2는 Dual-rail 로직의 상태를 정리한 것이다.
NCL 방식의 회로설계는 기본적으로 설계되고 구현된 27개의 NCL 로직 게이트를 바탕으로 설계한다. 이 27개의 NCL 로직 게이트는 자주 사용되는 boolean 함수를 기준으로 설계되었다. 모든 NCL 로직 게이트는 히스테리시스(hysteresis) 특성에 따른 상태 유지(state-holding) 특성을 가진다. NCL 게이트의 심볼 표현은 그림 2와 같이 나타내고 THmn 게이트라고 부른다. 여기서, m은 문턱(threshold) 값, n은 입력의 개수를 말한다. THmn 게이트는 입력 n이 있을 때 최소 m개의 입력이 변경되기 전까지 출력에 이전의 상태를 유지하도록 한다.
2.2 Single-Gate Sleep Convention Logic
기존의 비동기 설계방식 중 하나인 NULL Convention Logic(NCL)은 듀얼-레일 인코딩 구조를 사용하여 Data0, Data1, NULL 신호를 발생한다. 듀얼-레일 인코딩 구조의 단점은 사용되는 신호가 이중 레일로 되어 면적 및 전력 소모가 많고 집적도가 복잡하다. 본 논문에서는 NCL 게이트의 이중 레일 구조의 단점을 극복하기 위해 단일 레일(Single-Rail) 구조를 가지는 NCL 게이트를 제안하였다. 표 2는 Single-Gate Sleep Convention Logic의 인코딩 표이다. 기존의 NCL 인코딩은 듀얼 레일로 구성되고, DATA0, DATA1, NULL 상태가 있다. 앞서 설명한 듀얼 레일 NCL 게이트는 DATA0은 D0=1, D1=0일 때의 상태를 표시하고, DATA1은 D1=1, D0=0일 때의 상태롤 표시하며, NULL은 D0=0, D1=1일 때의 상태를 표시한다. 단일 레일 구조를 가지는 Single-Gate Sleep Convention Logic은 표2와 같이 DATA의 상태는 동기식 설계방식의 단일 신호 0과 1을 따르며 Sleep 상태는 NCL 게이트의 NULL구조를 대체함으로써, 로직 게이트가 휴먼 모드에 있음을 뜻한다. 여기서 pull-up 트랜지스터와 pull-down 트랜지스터의 입력으로 들어가는 신호가 ‘0’ 혹은 ‘1’이면, SG-SCL 게이트는 27개의 NCL 함수를 표시하고, pull-up 트랜지스터의 입력에 신호 ‘1’, pull-down 트랜지스터의 입력에 신호 ‘0’이 들어가면 SG-SCL 게이트는 휴먼 상태이다.
그림 3은 SG-SCL TH23 게이트이다. 제안된 TH23 게이트는 Set network, Reset Network, VDD/2 키퍼, 및 두 개의 사이즈가 다른 인버터 드라이버로 구성되었다. 활성 모드일때 Z1과 Z2는 기존의 set network에 의해 같은 값을 가지게 된다. set 네트워크는 기존의 NCL의 set 네트워크와 같으며, 27개의 NCL 함수를 나타낸다. 슬립 모드에서 활성 모드로 전환될 때, VDD/2 키퍼는 출력 Z1을 ‘1’ 값으로 하고 출력 Z2를 ‘0’ 값으로 해준다.
슬립 모드 일 때 노드 Z_Bar는 문턱 전압의 전압 강하로 인하여 약 VDD/2 값을 가지게 되고, NMOS 사이즈가 큰 인버터 드라이버는 출력이 0이 되고, PMOS 사이즈가 큰 인버터 드라이버는 출력이 ‘1’이 된다. 이때 Z1과 Z2의 출력은 1과 ‘0’이 되는데 이는 뒷 단에 있는 Pull-up 트랜지스터와 Pull-down 트랜지스터의 입력으로 사용되고 슬립 모드일 때 트랜지스터들을 완전히 차단해주는 역할을 한다. 트랜지스터 NM7, PM6, PM1은 파워 게이팅 방식을 사용하여 휴먼 모드와 활성 모드의 변환을 해준다.
그림 4는SG-SCL TH23 게이트의 타이밍 다이어그램이다. 슬립 모드에서 활성 모드인 t1~t2, t4~t5에서, Z1과 Z2는 슬립에서 활성모드로 넘어갈 때까지 이전 상태의 출력값을 가지게 된다. 활성 모드인 t2~t3으로 전이될 때 데이터의 입력 값은 ‘110’을 가지게 되는데 이때 출력 값은 TH23 게이트의 함수 결과로 Z1과 Z2의 값이 ‘1’이 출력된다. 활성 모드인 t5~t6 구간에서 SG-SCL TH23 게이트의 입력은 ‘100’이므로 Z1과 Z2의 출력 값은 TH23 게이트의 함수 결과로 ‘0’이 출력된다. 즉 SG-SCL 게이트의 슬립 모드일 때 TH23 게이트의 두 개 입력은 pull-up 트랜지스터에 ‘1’, pull-down 트랜지스터에 ‘0’ 값을 주어 완전히 OFF 상태를 만든다. 활성 모드일 때 TH23 게이트의 두 개의 입력은 같은 입력을 받아 게이트의 함수 작동을 한다.
2.3 비동기 설계방식의 Liquid State Machine
Liquid State Machine(LSM)은 SNN과 비슷한 방식을 가지는 뉴럴 네트워크구조이다. LSM의 유래는 돌을 물속에 던질 때 생성되는 파형은 항상 일정하지가 않고 특정된 패턴에 따라 특정된 파형이 나온다. Reservoir 블록은 랜덤하게 연결되는 뉴런 노드들의 집합이고, 특정된 입력 스파이크 신호를 받으면 출력은 특정된 스파이크 신호를 내보내는 방식이다[5,6]. LSM을 본 연구에서의 어플리케이션으로 택한 이유는 기존의 SNN 방식의 학습 과정인 STDP보다 간단하기 때문이다. 마지막 출력의 스파이크 신호에만 학습되는 LSM은 Liquid블록에서 시냅스 가중치를 업데이트 할 필요가 없다. 그리고 LSM에 사용되는 뉴런들은 Natural 메모리 기반의 구조를 사용하여 FPGA로 구현하기 쉬운 장점이 있다.
기존의 LSM 설계방식은 동기회로의 전역 클록으로 인해 전력을 증가시키는 원인이 된다. 나노미터 공정에서의 동기식 회로가 가지는 여러 가지 문제점들을 해결하는 방법으로 비동기 설계방식에 관심이 집중되고 있다. 비동기 설계방식의 회로는 최악의 경우(worst-case) 지연형태의 동기식 설계방식의 회로에 비해서 비동기 설계방식의 회로는 모듈 사이의 부동한 종료 시점으로 인해 발생하는 평균의 경우(average-case) 지연형태의 동작을 수행한다. 비동기 설계방식의 회로는 이론적으로 높은 속도와 저전력의 특성을 가지며 실제로 고속의 파이프라인 회로 설계에 적용되고 있다. 그리고, 비동기 설계방식의 회로는 전역 클록이 없으므로 이것으로 생성되는 문제점들, 예를 들면 다중 클록 도메인 설계 문제, 클록 스큐(skew) 문제 등에서 이점을 갖는다. 최근 모바일 기기의 증가와 IoT 애플리케이션의 사용으로 인해 저전력을 소모하는 시스템에 대한 요구가 증가하고 있다. 특히 동기식 설계방식의 회로에서 문제가 되는 전력 소모는 비동기 설계방식을 사용하여 보완할 수 있다. 비동기 설계방식의 회로는 회로의 동작이 필요할 때만 구동되므로 저전력을 소비한다. 그리고 낮은 전압에서 PVT 변이와 노화 효과 등에 의한 영향을 받지 않으므로 저전력을 소모하는 특정 IoT 애플리케이션에 구현되고 적용될 수 있다. 현재의 설계환경에서는 모든 동기식 설계방식의 회로를 비동기 설계방식의 회로로 바꾸기보다는 핵심 블록만을 비동기 설계방식의 회로로 설계하는 것이 바람직하다. 동기식 설계방식의 회로와 비동기 설계방식의 회로를 동시에 설계에 구현하려면 먼저 동기식 회로와 비동기 설계방식의 회로 사이의 인터페이싱(interfacing)이 필요하다. 인터페이스 회로는 기존의 동기식 회로와 비동기 설계방식의 회로를 연결해주어 데이터를 클록이 없는 회로와 클록이 있는 회로에서 서로 전달되게 한다.
그림 6은 본 논문에서 제안하고자 했던 비동기 설계방식의 LSM이다. 처음에 설계하고자 했던 방식은 모든 동기식 회로의 LSM을 비동기 설계방식의 LSM으로 구현하는 것이다. 그러나 설계 면적 및 메모리와의 데이터 전송 문제 때문에 핵심 블록만을 SG-SCL 기반의 회로로 설계하는 것이 바람직하다고 생각하였다. 이를 위해서 SG-SCL 기반의 회로와 동기식 회로를 연결할 수 있는 인터페이스 회로는 본 논문에서 제안하고자 하는 SG-SCL LSM 시스템의 매우 중요한 블록이다. 그러나 아직 동기식 회로와 SG-SCL 기반의 회로 사이의 인터페이스 회로에 관한 연구보다는 SG-SCL 회로로 동기식 회로를 대체하거나 검증하는 방법에만 연구가 집중되고 있다. 따라서, 본 연구에서는 동기식 회로와 SG-SCL 기반의 비동기 설계방식의 회로를 연결할 수 있는 새로운 설계방법을 제안하고, 기존의 LSM에 인터페이스 회로를 적용하였다. 제안된 인터페이스 회로는 비동기 설계방식의 회로와 동기식 회로를 연결해주는 역할뿐만 아니라, SG-SCL 기반시스템의 검증과 구현을 기존의 동기식 시스템에 사용되었던 검증 방법으로 가능하게 할 수 있다. 즉, SGSCL 설계방식의 회로에 사용되는 슬립 신호와 데이터 신호를 사용한 검증 대신에 동기식 회로의 입력 신호와 출력신호로 전체 비동기 설계방식의 회로를 검증할 수 있다.
그림 7은 제안될 인터페이스 회로의 블록도를 나타낸다. 그림에서 보여주는 바와 같이 동기식 회로에서 비동기 설계방식의 회로를 연결하는 Clock1을 사용하는 부분과 비동기 설계방식의 회로에서 동기식 회로를 연결하는 Clock2를 사용하는 부분으로 나뉜다. 동기식 회로와 비동기 설계방식의 회로 간의 인터페이스를 위해서는 디지털 논리 신호 ‘0’과 ‘1’을 SG-SCL 회로에서 사용하는 단일-레일 논리 신호로 변환할 필요가 있다. 이때 중요한 것은 비동기 설계방식의 회로에서 DATA ack 신호가 도착하지 않았다면, 동기식 회로에서 인터페이스 회로로 입력이 들어와서는 안 된다. 이런 경우를 위해서 clock gating을 사용해서 동기식 회로를 비동기식 회로가 준비될 때 가지 멈추게 한다. 마찬가지로 비동기식 회로와 동기식 회로를 연결하기 위해서는 단일-레일 논리 신호는 일반적인 디지털 논리 신호로 변환해야 한다. 이때 중요한 것은 비동기식 회로에서 DATA 출력되지 않았다면, 인터페이스 회로에서 동기식 회로로 출력신호가 나가서는 안 된다. 이런 경우를 위해서 역시 clock gating을 사용해서 동기식 회로를 비동기식 회로에서 출력신호가 나올 때까지 멈추게 한다.
그림 8은 본 논문에서 제안한 비동기식 설계방식의 LSM의 블록도이다. 기존의 LSM 블록의 Reservoir 유닛과 Training 유닛을 비동기식 설계방식으로 설계하고 유닛 사이에 인터페이싱 회로를 삽입하여 동기식과 비동기식 방식의 데이터를 전송해준다. 그림 7과 같이 제안한 비동기 설계방식의 Reservoir 유닛은 SG-SCL 기반의 설계방식으로 변경된다. 기존의 Reservoir 유닛은 135개의 Liquid 뉴런으로 구성된다. Liquid 뉴런은 동기식 설계방식으로 구현되었고 전력을 많이 소모한다는 단점이 있다. 따라서, 본 논문에서는 Liquid 뉴런을 SG-SCL 기반의 비동기 설계방식으로 변경하고 구현하였다. 동기식 설계방식의 회로와 비동기 설계방식의 회로를 연결하는 인터페이스 회로를 구현하고 동기식 데이터와 비동기식 데이터를 서로 전송해준다.
3. 결과 및 고찰
저전력 인지 컴퓨팅, 웨어러블 디바이스에 적용될 비동기 설계방식의 LSM은 FPGA에서 구현하고 칩을 제작하였다. 기존의 동기식 방식의 LSM과 전력을 측정하여 비교하였다.
그림 9는 Teach 신호에 의한 특정 패턴의 가중치 업데이트 과정이다. TI46 벤치마크의 입력 패턴을 스파이크 신호 형태로 받고, Reservoir 유닛에서 가중치의 연산을 먼저 진행한다. 가중치의 연산 과정은 랜덤하게 연결되는 뉴런들의 집합이며, 지도식 학습 과정인 외부 신호 Teach를 받아 특정된 값으로 업데이트한다. 지도식 학습 과정은 일반적으로 외부적인 신호를 바탕으로 입력으로 들어가는 특정된 패턴 혹은 스파이크를 지정해줌으로써 그 패턴이 해당 패턴이라는 레이블과 같은 것이다. 예를 들면, 숫자 0을 인식하는 스파이크 신호가 입력으로 들어갈 때, 이 스파이크 신호는 디지털 시스템에서 숫자 ‘0’인지 아닌지 인식하기 어렵다. 따라서, 외부 신호를 주어 Teach 신호의 값이 ‘1’이면 해당 패턴은 숫자 ‘0’으로 인식하게끔 한다. 그리고 다음 패턴이 들어가면 Teach 신호를 업데이트하고 다음 패턴에 대한 정보를 학습하고 블록 메모리에 저장한다. 이런 방식의 지도식 학습 과정은 외부 신호의 입력으로 인해 가중치가 업데이트되기 때문에 다른 학습 과정보다 인식 정확도가 높다는 장점이 있다.
그림 10은 TI46 벤치마크를 사용한 숫자 인식의 학습 과정이다. 제안한 비동기 설계방식의 LSM을 FPGA로 구현하고 Vivado 소프트웨어에서 시뮬레이션을 진행하였다. 그림에서 보여주는 바와 같이 숫자 0-9까지의 학습 과정이 진행된다. 이때 생성되는 스파이크 신호의 계수되는 개수에 따라 가중치의 업데이트 과정이 진행되고 0-9까지의 지도식 학습 과정이 진행된다. 앞서 설명한 바와 같이 LSM은 지도식 학습 과정이기 때문에 외부 신호 ‘Teach’를 사용하여 패턴 인식의 가중치 값을 업데이트할 때 사용된다. 따라서 0-9까지의 숫자마다 학습 시간은 다르고 학습 과정에 사용되고 업데이트되는 스파이크 신호의 개수도 다르다. 이에 따라 1-9까지의 가중치의 값에 따라 숫자를 판별할 수 있게 된다.
그림 11은 TI46 벤치마크의 숫자를 학습시키고 인식하는 과정이다. 그림 55에서 0-9까지의 숫자를 학습시키고 가중치를 블록 메모리에 저장했다. 따라서, 지도식 학습 과정에서 사용했던 신호 ‘Teach’는 테스트 과정에서 ‘0’으로 주고 테스트를 시작한다. 출력신호 ‘Train_Done’이 ‘1’이면 숫자가 정확하게 인식하는 것을 확인할 수 있고 ‘Train_Done’ 신호가 ‘0’이면 인식할 수 없다는 것을 확인할 수 있다.
표 3은 기존의 LSM과 SG-SCL의 시스템을 FPGA로 구현한 전력 비교 결과이다. 표에서 보여주는 바와 같이 SG-SCL 기반의 LSM과 기존의 LSM의 숫자 인식 정확도는 같다. 이는 숫자 학습 과정에서 사용되고 랜덤하게 연결되는 135개의 뉴런 집합이 구조상 같게 구현되기 때문에 가중치를 업데이트하고 저장하는 값은 같게 나오기 때문이다. 표 3에서 SG-SCL 기반의 LSM 시스템의 전력은 기존의 LSM의 전력보다 10% 가량 줄어든 결과를 보여줄 수 있다. SG-SCL 기반의 LSM은 전력 게이팅을 사용한 슬립 모드가 있다. 그러나 FPGA에서 측정한 전력은 슬립 모드를 포함하고 있지 않다. SG-SCL기반의 LSM은 기존의 LSM보다 작은 누설전류를 소모하고 있으므로, 표 12에서 도출한 10%가량의 전력 소모는 실제 측정 결과보다 적게 나올 수 있다.
4. 결 론
뉴로모픽 컴퓨팅은 사람 두뇌의 신경망 구조를 모방하고 구현하여 기존의 폰 노이만 구조를 사용하고 있는 컴퓨팅의 한계를 극복하기 위한 기술이다. 기존의 폰 노이만 기반의 컴퓨팅 시스템은 고도의 정보처리에서 속도 및 전력 소모 등에서 큰 한계가 있다. 따라서, 본 논문에서는 앞서 제안한 비동기 설계방식의 SG-SCL 파이프라인을 기존의 LSM에 적용하여 전력은 줄이지만 정확도는 떨어지지 않는 패턴 및 숫자 인식이 가능한 뉴로모픽 시스템을 구현하였다. 연구로부터 기대되는 결과는 방대한 연산이 필요한 인공지능 소프트웨어 시스템의 연산을 전담하고 처리함으로써 인공지능 학습 과정을 가속하고 지능형 모바일 장치에서도 서비스가 무리 없이 수행할 수 있을 것으로 전망된다.
Acknowledgments
이 논문은 2016학년도 대구대학교 학술연구비지원 (연구년과제)에 의한 논문임
References
- H. Li, K. Ota, and M. Dong, “Learning IoT in Edge: Deep Learning for the Internet of Things with Edge Computing”, IEEE Netw., Vol. 32, No. 1, pp. 96-101, 2018. [https://doi.org/10.1109/MNET.2018.1700202]
- https://newsroom.intel.com/editorials/intels-new-self-learningchip-promises-accelerate-artificial-intelligence/#gs.vyv6ov (retrieved on Sep. 25, 2017).
- S. C. Smith and J. Di, Designing Asynchronous Circuits using NULL Convention Logic (NCL), Morgan & Claypool Publishers, City, 2009. [https://doi.org/10.2200/S00202ED1V01Y200907DCS023]
- F. A. Parsan, W. K. Al-Assadi, and S. C. Smith, “Gate Mapping Automation for Asynchronous NULL Convention Logic Circuits”, IEEE Trans. on VLSI Syst., Vol. 22, No. 1, pp. 99-112, 2014. [https://doi.org/10.1109/TVLSI.2012.2231889]
- Y. Liu, Y. Jin, and P. Li. “Online adaptation and energy minimization for hardware recurrent spiking neural networks”, ACM J. Emerg. Technol. Comput. Syst., Vol. 14, No. 1, pp. 11(1)-11(21), 2018. [https://doi.org/10.1145/3145479]
- Q. Wang, Y. Li, B. Shao, S. Dey, and P. Li, “Energy efficient parallel neuromorphic architectures with approximate arithmetic on FPGA”, Neurocomputing, Vol. 221, No. 19, pp. 58-146, 2017. [https://doi.org/10.1016/j.neucom.2016.09.071]