KR101838560B1 - 뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법 - Google Patents

뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법 Download PDF

Info

Publication number
KR101838560B1
KR101838560B1 KR1020110074388A KR20110074388A KR101838560B1 KR 101838560 B1 KR101838560 B1 KR 101838560B1 KR 1020110074388 A KR1020110074388 A KR 1020110074388A KR 20110074388 A KR20110074388 A KR 20110074388A KR 101838560 B1 KR101838560 B1 KR 101838560B1
Authority
KR
South Korea
Prior art keywords
address
spike
chip
receiving
strobe
Prior art date
Application number
KR1020110074388A
Other languages
English (en)
Other versions
KR20130013014A (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 KR1020110074388A priority Critical patent/KR101838560B1/ko
Priority to US13/560,261 priority patent/US9104974B2/en
Publication of KR20130013014A publication Critical patent/KR20130013014A/ko
Application granted granted Critical
Publication of KR101838560B1 publication Critical patent/KR101838560B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Logic Circuits (AREA)
  • Read Only Memory (AREA)

Abstract

뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법이 제공된다. 일 측면에 따른 뉴로모픽 칩의 송신 장치는 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력하고, 스파이크가 수신되면, 순차적으로 반복해서 출력되는 어드레스가 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점에서 스트로브(strobe)를 출력한다. 그리고, 뉴로모픽 칩의 수신 장치는 스트로브가 수신되면, 스트로브가 감지된 시점에 어드레스 버스를 통해 수신되는 어드레스를 입력 어드레스로 확인한다.

Description

뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법{Apparatus and Method for transmitting/receiving spike event in neuromorphic chip}
기술분야는 뉴로모픽 칩에서 뉴런간의 스파이크 이벤트를 송신하고 수신하는 장치 및 방법에 관한 것이다.
뇌에는 수천억 개의 신경 세포(즉, 뉴런(neuron))가 존재하며, 서로 복잡한 신경망으로 구성되어 있다. 뉴런은 수천 개의 다른 뉴런과 신호를 주고 받는 시냅스를 통해 학습, 기억 등 지적 능력을 발휘한다. 뉴런은 신경계의 구조적, 기능적 단위이며 정보 전달의 기본 단위이다. 시냅스는 뉴런 사이의 접합부를 가리키며 어느 하나의 뉴런의 축색 돌기와 다른 뉴런의 수상 돌기가 연결된 부위를 말한다. 다시 말해 한 개의 뉴런은 수천 개의 다른 뉴런과 시냅스로 이루어져 있다. 생물 신경 시스템을 모사한 인공 신경계를 뉴런 수준에서 제작함으로써, 두뇌가 처리하는 정보처리 방식을 모사하거나, 만들어진 반도체 회로가 뉴로모픽 칩이다.
뉴로모픽 칩은 불특정한 환경에 스스로 적응할 수 있는 지능화된 시스템을 구현하는 데에 효과적으로 활용될 수 있다. 이 기술이 발전하면 음성인식, 위험 인지, 실시간 고속 신호처리, 등 인지 및 추정 등을 수행하는 컴퓨터, 로봇, 가전기기, 소형 이동 기기, 보안 및 감시, 지능형 차량 안전, 자율 주행 등으로 발전할 수 있다.
뉴로모픽 칩에서 뉴런에서 발생한 스파이크 이벤트를 읽거나 다른 뉴런으로 전달하기 위해서는 이벤트 정보를 전달하기 위한 통신 채널이 이용된다. 종래의 기술에서는 AER(address event representation)이라는 기술을 이용하여 이벤트가 발생하는 타이밍에 비동기적으로 통신 버스에 이벤트가 발생한 뉴런의 어드레스를 써 넣는 방법이 많이 사용되고 있다. 하지만 종래의 AER 방법은 어드레스를 쓰고 읽기 위한 송수신기 구조가 복잡한 단점이 있다.
일 측면에 있어서, 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력하는 어드레스 출력부와, 뉴런들 각각에서 발생하는 스파이크(spike)를 감지하는 상기 뉴런들 각각에 대응하는 스파이크 감지부들과, 상기 스파이크가 수신되면, 상기 순차적으로 반복해서 출력되는 어드레스가 상기 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지하는 상기 스파이크 감지부들 각각에 대응하는 출력시점 감지부들 및 상기 출력시점 감지부들 중 하나에서 상기 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지하면 상기 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 출력하는 스트로브 출력부를 포함하는 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치가 제공된다.
이때, 상기 스트로브는, 펄스 형태일 수 있다.
상기 어드레스들은, 상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스일 수 있다.
이때, 어드레스 발생 클럭을 생성하는 클럭 발생부를 포함하고, 상기 어드레스 출력부는 상기 클럭 발생부에서 발생하는 상기 어드레스 발생 클럭에 따라 카운터 값을 증가시키고, 어드레스를 나타내는 상기 카운터 값을 상기 어드레스 버스에 출력하고, 기설정된 주기마다 상기 카운터 값을 초기화 하는 카운터임을 특징으로 하고, 상기 기설정된 주기는 상기 어드레스 발생 클럭에서 어드레스들의 개수만큼의 클럭을 나타낸다.
이때, 상기 클럭 발생부는 상기 스파이크 감지부들을 동작시키는 클럭인 뉴런 감지 클럭을 생성하고, 상기 스파이크 감지부들은 상기 뉴런 감지 클럭에 따라 각각에 대응하는 상기 뉴런들의 스파이크를 감지할 수 있다.
이때, 상기 어드레스 발생 클럭은, 상기 뉴런 감지 클럭의 한 클럭 동안 적어도 상기 뉴런들의 개수만큼 클럭이 발생되도록 설계될 수 있다.
이때, 상기 출력시점 감지부는, 상기 어드레스 출력부와 동일한 클럭을 사용하고, 수신하는 펄스를 한 클럭 지연해서 출력하는 D 플립플롭(D Flip-Flop) 및 대응하는 스파이크 감지부의 출력과 상기 D 플립플롭의 출력을 논리곱해서 상기 스트로브 출력부로 출력하는 논리곱 소자(AND gate)를 포함할 수 있다.
이때, 상기 D 플립플롭은, 상기 D 플립플롭의 출력을 다음 순번의 어드레스에 대응하는 출력시점 감지부의 D 플립플롭의 입력으로 제공할 수 있다.
이때, 상기 스트로브 출력부는, 상기 출력시점 감지부들의 출력을 논리합해서 출력하는 논리합 소자(OR gate)로 구성될 수 있다.
이때, 상기 어드레스 버스는, 상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가질 수 있다.
일 측면에 있어서, 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)의 수신을 감지하는 스트로브 감지부 및 어드레스 버스를 통해 어드레스들을 순차적으로 반복해서 수신하다가 스트로브 감지부에서 상기 스트로브를 감지하면, 상기 스트로브가 감지된 시점에 상기 어드레스 버스를 통해 수신되는 어드레스를 입력 어드레스로 확인하는 어드레스 확인부를 포함하는 뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 장치가 제공된다.
이때, 상기 스트로브는, 펄스 형태일 수 있다.
이때, 상기 어드레스들은, 상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스일 수 있다.
이때, 상기 어드레스 버스는, 상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가질 수 있다.
다른 측면에 있어서, 어드레스 버스를 통해 순차적으로 반복해서 수신하는 어드레스들을 입력으로 수신하고, 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 클럭으로 감지해서 상기 스트로브를 감지하면, 상기 스트로브가 감지된 시점에 상기 어드레스 버스를 통해 수신되는 어드레스를 출력하는 D 플립플롭(D Flip-Flop)을 포함하는 뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 장치가 제공된다.
일 측면에 있어서, 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력하는 단계와, 스파이크(spike)의 수신을 확인하는 단계 및 상기 스파이크가 수신되면, 상기 순차적으로 반복해서 출력되는 어드레스가 상기 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점에서 상기 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 출력하는 단계를 포함하는 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 방법이 제공된다.
이때, 상기 스트로브는 펄스 형태일 수 있다.
이때, 상기 어드레스들은, 상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스일 수 있다.
이때, 상기 어드레스 버스는, 상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가질 수 있다.
일 측면에 있어서, 어드레스 버스를 통해 어드레스들을 순차적으로 반복해서 수신하는 단계와, 스파이크가 발생한 타이밍 정보를 나타내는 스트로브의 수신을 확인하는 단계 및 상기 스트로브가 수신되면, 상기 스트로브가 감지된 시점에 상기 어드레스 버스를 통해 수신되는 어드레스를 입력 어드레스로 확인하는 단계를 포함하는 뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 방법이 제공된다.
이때, 상기 스트로브는 펄스 형태일 수 있다.
이때, 상기 어드레스들은, 상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스일 수 있다.
이때, 상기 어드레스 버스는, 상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가질 수 있다.
본 발명은 뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법에 관한 것으로, 스파이크 이벤트가 발생한 뉴런의 어드레스 정보와 이벤트가 발생한 타이밍 정보를 분리하여 동기화 시켜 전송함으로써, 뉴로모픽 칩의 송신기 구조를 단순화 할 수 있다.
도 1은 뉴로모픽 칩의 구성을 도시한 도면,
도 2는 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신부의 구성을 도시한 도면,
도 3은 스파이크 이벤트가 전송되는 예를 도시한 도면,
도 4는 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신부의 예를 도시한 도면,
도 5는 스파이크 이벤트를 수신하는 수신부를 포함하는 뉴로모픽 칩의 일부 구성을 도시한 도면,
도 6은 뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신부의 예를 도시한 도면,
도 7은 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 방법을 도시한 흐름도 및,
도 8은 뉴로모픽 칩에서 스파이크 이벤트를 수신하는 방법을 도시한 흐름도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 뉴로모픽 칩의 구성을 도시한 도면이다.
도 1을 참조하면, 뉴로모픽 칩(100)은 뉴런부(110), 송신부(120), 클럭 발생부(130), 수신부(140), 복호부(150), 시냅스부(160) 및 바이어스 생성부(170)를 포함한다.
뉴런부(110)는 시넵시들을 통해 수신하는 전류량이 기설정한 임계값을 초과하면 스파이크(spike)를 출력하는 뉴런들을 포함한다.
송신부(120)는 스파이크 이벤트가 발생한 뉴런의 어드레스와 스파이크 이벤트가 발생한 타이밍 정보에 해당하는 스트로브(strobe)를 동기화 시켜 송신한다.
클럭 발생부(130)는 송신부(120)에서 스파이크 이벤트가 발생한 뉴런의 어드레스와 스파이크 이벤트가 발생한 타이밍 정보에 해당하는 스트로브(strobe)를 동기화 시키기 위한 클럭을 발생시킨다.
수신부(140)는 어드레스 버스를 통해 순차적으로 반복해서 수신하는 어드레스들을 입력으로 수신하고, 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 수신한다. 수신부(140)는 스트로브가 수신되면, 스트로브가 감지된 시점에 어드레스 버스를 통해 수신되는 어드레스를 복호부(150)로 출력한다.
복호부(150)는 수신부(140)로부터 어드레스를 수신하면, 수신한 어드레스에 대응하는 뉴런으로 연결된 시냅스에 스파이크를 생성해서 송신한다.
시냅스부(160)는 복호부(150)를 통해 입력되는 스파이크를 바이어스 생성부(170)에서 생성하는 연결강도 조절변수에 따라 연결강도를 조절해서 각각에 대응하는 뉴런으로 전달하는 시냅스들을 포함한다.
도 2는 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신부의 구성을 도시한 도면이다.
도 2를 참조하면, 뉴로모픽 칩의 송신부(200)는 뉴런들(211, 212, 213), 스파이크 감지부들(221, 222, 223), 출력시점 감지부들(231, 232, 233), 스트로브 출력부(250) 및 어드레스 출력부(260)를 포함한다.
어드레스 출력부(260)는 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력한다. 이때, 어드레스들은 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스이다.
뉴런들(211, 212, 213)은 시넵시들을 통해 수신하는 전류량이 기설정한 임계값을 초과하면 스파이크(spike)를 출력한다.
스파이크 감지부들(221, 222, 223)은 각각에 대응하는 뉴런들(211, 212, 213)에서 출력하는 스파이크의 출력을 감지하고, 감지결과를 스파이크 감지부들(221, 222, 223) 각각에 대응하는 출력시점 감지부들(231, 232, 233)로 송신한다. 이때, 스파이크 감지부들(221, 222, 223)은 기설정된 뉴런 감지 클럭에 따라 뉴런 감지 클럭의 주기로 뉴런들(211, 212, 213)에서 스파이크를 출력하는지 감지한다.
출력시점 감지부들(231, 232, 233)은 각각에 대응하는 스파이크 감지부들(221, 222, 223)로부터 스파이크의 출력을 감지한 감지결과를 수신하면, 어드레스 출력부(260)에서 어드레스가 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지한다.
출력시점 감지부들(231, 232, 233)은 어드레스 출력부(260)에서 사용하는 클럭인 어드레스 발생 클럭을 가용하고 수신하는 입력 펄스를 한 클럭 지연해서 다음 순번의 어드레스에 대응하는 출력시점 감지부의 입력으로 제공한다.
출력시점 감지부들(231, 232, 233)은 각각에 대응하는 스파이크 감지부들(221, 222, 223) 로부터 스파이크의 출력을 감지한 감지결과를 수신하고, 입력 펄스가 감지되면, 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지한 감지결과를 스트로브 출력부(250)로 송신한다.
스트로브 출력부(250)는 출력시점 감지부들(231, 232, 233)들 중 하나에서 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지하면 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 출력한다. 이때, 출력되는 스트로브는 펄스 형태일 수 있다.
한편, 뉴로모픽 칩(200)은 클럭 발생부(미도시)를 더 포함할 수도 있다.
클럭 발생부는 스파이크 감지부들(221, 222, 223)을 동작시키는 클럭인 뉴런 감지 클럭을 생성할 수 있다. 또한 클럭 발생부는 출력시점 감지부들(231, 232, 233)와 어드레스 출력부(260)을 동작시키는 클럭인 어드레스 발생 클럭을 생성할 수 있다. 이때, 어드레스 발생 클럭은 뉴런 감지 클럭의 한 클럭 동안 적어도 뉴런 개수만큼의 클럭이 발생되도록 설계된다.
어드레스 출력부(260)는 클럭 발생부에서 발생하는 어드레스 발생 클럭에 따라 카운터 값을 증가시키고, 어드레스를 나타내는 카운터 값을 어드레스 버스에 출력하고, 기설정된 주기마다 카운터 값을 초기화 하는 카운터로 구성될 수 있다. 이때, 기설정된 주기는 어드레스들의 개수만큼의 클럭 주기일 수 있다.
도 3은 스파이크 이벤트가 전송되는 예를 도시한 도면이다.
도 3은 4개의 뉴런을 가진 뉴로모픽 칩에 대하여 스파이크 이벤트가 발생했을 때 스트로브와 어드레스가 출력되는 예를 나타낸다.
도 3을 참조하면, 뉴로모픽 칩의 송신 장치는 뉴런의 스파이크와 상관 없이 어드레스 채널(360)을 통해 어드레스 값인 0 ~ 3 사이의 어드레스를 순차적으로 반복해서 출력한다.
이때, 뉴로모픽 칩은 4개의 뉴런들(310, 320, 330, 340)로 구성됨으로 4개의 어드레스를 가지며 4개의 어드레스는 2비트(370, 380)으로 표현 가능하다.
따라서, 뉴로모픽 칩의 송신 장치는 2비트(370, 380)로 구성되는 어드레스 값인 00, 01, 10, 11을 순차적으로 반복해서 어드레스 채널인 어드레스 버스에 출력한다.
한편, 뉴로모픽 칩의 송신 장치는 뉴런들(310, 320, 330, 340)로부터 스파이크의 출력을 감지하면, 어드레스 채널(360)의 어드레스가 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점에 스파이크가 발생한 타이밍 정보를 나타내는 스트로브 채널(350)에 스트로브를 출력한다.
도 4는 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신부의 예를 도시한 도면이다.
도 4를 참조하면, 뉴로모픽 칩의 송신부(400)는 뉴런들(411-416), 스파이크 감지부들(421-426), D플립플롭(431-436), 논리곱 소자들(441-446), 논리합 소자(450) 및 카운터(460)를 포함한다.
카운터(460)는 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력한다. 보다 상세히 설명하면, 카운터(460)는 128Mhz의 클럭에 따라 카운터 값을 증가시키고, 어드레스를 나타내는 카운터 값을 어드레스 버스에 출력하고, 기설정된 주기마다 카운터 값을 초기화한다.
뉴런들(411-416)은 시넵시들을 통해 수신하는 전류량이 기설정한 임계값을 초과하면 스파이크(spike)를 출력한다.
스파이크 감지부들(421-426)은 각각에 대응하는 뉴런들(411-416)에서 출력하는 스파이크의 출력을 감지하고, 감지결과를 스파이크 감지부들(421-426) 각각에 대응하는 논리곱 소자들(441-446)로 송신한다. 이때, 스파이크 감지부들(421-426)은 1Mhz의 클럭에 따라 뉴런들(411-416)에서 스파이크를 출력하는지 감지한다.
D플립플롭들(431-436)은 카운터(460)에서 사용하는 클럭과 동일한 클럭인 128Mhz의 클럭에 따라 입력되는 입력 펄스인 1Mhz pulse를 한 클럭 지연해서 각각에 대응하는 논리곱 소자들(441-446)로 출력한다.
D플립플롭들(431-436)은 출력을 다음 순번의 어드레스에 대응하는 D 플립플롭의 입력으로 제공한다. 예를 들어 D플립플롭(431)의 출력은 D플립플롭(432)의 입력이 된다.
논리곱 소자들(441-446)은 각각에 대응하는 스파이크 감지부들(421-426)의 출력과 대응하는 D플립플롭들(431-436)의 출력을 논리곱해서 논리합 소자(450)로 출력한다.
논리합 소자(450)는 논리곱 소자들(441-446)의 출력을 논리합한 결과 1이 나오면 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지했다고 판단하고 펄스 형태의 스트로브를 출력한다.
도 4는 뉴런들(411-416) 중에서 제0뉴런(411), 제1뉴런(412), 제3뉴런(414), 제126뉴런(415)이 스파이크를 출력한 경우로 논리합 소자(450)의 출력을 살펴보면, 해당 순번에 펄스 형태의 스트로브가 출력됨을 확인할 수 있다.
도 5는 스파이크 이벤트를 수신하는 수신부를 포함하는 뉴로모픽 칩의 일부 구성을 도시한 도면이다.
도 5를 참조하면, 뉴로모픽 칩(500)은 수신부(510), 복호부(520) 및 시냅스부(530)를 포함한다.
수신부(510)는 어드레스 확인부(512)와 스트로브 감지부(514)를 포함한다.
스트로브 감지부(514)는 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 수신한다.
어드레스 확인부(512)는 어드레스 버스를 통해 순차적으로 반복해서 수신하는 어드레스들을 입력으로 수신한다. 어드레스 확인부(512)는 스트로브 감지부(514)에서 스트로브를 감지하면, 스트로브가 감지된 시점에 어드레스 버스를 통해 수신되는 어드레스를 복호부(150)로 출력한다.
복호부(520)는 수신부(510)로부터 어드레스를 수신하면, 수신한 어드레스에 대응하는 뉴런으로 연결된 시냅스에 스파이크에 해당하는 펄스를 생성해서 송신한다.
시냅스부(530)는 복호부(520)를 통해 입력되는 스파이크를 바이어스 생성부(170)에서 생성하는 연결강도 조절변수에 따라 연결강도를 조절해서 각각에 대응하는 뉴런으로 전달하는 시냅스들을 포함한다.
도 6은 뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신부의 예를 도시한 도면이다.
도 6을 참조하면, 뉴로모픽 칩은 스파이크 이벤트가 발생한 뉴런의 어드레스 정보를 수신하는 수신부에 해당하는 D플립플롭(610)을 포함한다.
D플립플롭(610)은 어드레스 버스를 통해 순차적으로 반복해서 수신하는 어드레스들을 입력으로 수신하고, 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 클럭으로 감지한다. D플립플롭(610)은 스트로브를 감지하면, 스트로브가 감지된 시점에 어드레스 버스를 통해 수신되는 어드레스를 출력한다.
이하, 상기와 같이 구성된 본 발명에 따른 뉴로모픽 칩에서 스파이크 이벤트가 발생한 뉴런의 어드레스 정보와 이벤트가 발생한 타이밍 정보를 분리하여 동기화 시켜 전송하는 방법을 아래에서 도면을 참조하여 설명한다.
도 7은 뉴로모픽 칩에서 스파이크 이벤트를 송신하는 방법을 도시한 흐름도이다.
도 7을 참조하면, 뉴로모픽 칩의 송신 장치는 710단계에서 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력한다.
그리고, 송신 장치는 720단계에서 뉴런들로부터 스파이크(spike)의 수신을 확인한다. 이때, 어드레스들은 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스이다.
720단계의 확인결과 스파이크 수신이 감지되지 않으면, 송신 장치는 710단계로 돌아간다.
720단계의 확인결과 스파이크 수신을 감지하면, 송신 장치는 730단계에서 순차적으로 반복해서 출력되는 어드레스가 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 확인한다.
그리고, 송신 장치는 740단계에서 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 출력한다.
도 8은 뉴로모픽 칩에서 스파이크 이벤트를 수신하는 방법을 도시한 흐름도이다.
도 8을 참조하면, 뉴로모픽 칩의 수신 장치는 810단계에서 어드레스 버스를 통해 어드레스들을 순차적으로 반복해서 수신한다.
그리고, 수신 장치는 820단계에서 스파이크가 발생한 타이밍 정보를 나타내는 스트로브의 수신을 확인한다.
820단계의 확인결과 스트로브가 수신되지 않으면, 수신 장치는 810단계로 돌아간다.
820단계의 확인결과 스트로브가 수신되면, 수신 장치는 830단계에서 상기 스트로브가 감지된 시점에 상기 어드레스 버스를 통해 수신되는 어드레스를 입력 어드레스로 확인한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (23)

  1. 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력하는 어드레스 출력부;
    뉴런들 각각에서 발생하는 스파이크(spike)를 감지하는 상기 뉴런들 각각에 대응하는 스파이크 감지부들;
    상기 스파이크가 수신되면, 상기 순차적으로 반복해서 출력되는 어드레스가 상기 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지하는 상기 스파이크 감지부들 각각에 대응하는 출력시점 감지부들; 및
    상기 출력시점 감지부들 중 하나에서 상기 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점을 감지하면 상기 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 출력하는 스트로브 출력부를 포함하는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  2. 제1항에 있어서,
    상기 스트로브는,
    펄스 형태임을 특징으로 하는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  3. 제1항에 있어서,
    상기 어드레스들은,
    상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스인
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  4. 제1항에 있어서,
    어드레스 발생 클럭을 생성하는 클럭 발생부를 포함하고,
    상기 어드레스 출력부는,
    상기 클럭 발생부에서 발생하는 상기 어드레스 발생 클럭에 따라 카운터 값을 증가시키고, 어드레스를 나타내는 상기 카운터 값을 상기 어드레스 버스에 출력하고, 기설정된 주기마다 상기 카운터 값을 초기화 하는 카운터임을 특징으로 하는,
    상기 기설정된 주기는 상기 어드레스 발생 클럭에서 어드레스들의 개수만큼의 클럭을 나타내는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  5. 제4항에 있어서,
    상기 클럭 발생부는 상기 스파이크 감지부들을 동작시키는 클럭인 뉴런 감지 클럭을 생성하고,
    상기 스파이크 감지부들은 상기 뉴런 감지 클럭에 따라 각각에 대응하는 상기 뉴런들의 스파이크를 감지하는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  6. 제5항에 있어서,
    상기 어드레스 발생 클럭은,
    상기 뉴런 감지 클럭의 한 클럭 동안 적어도 상기 뉴런들의 개수만큼 클럭이 발생되도록 설계되는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  7. 제1항에 있어서,
    상기 출력시점 감지부는,
    상기 어드레스 출력부와 동일한 클럭을 사용하고, 수신하는 펄스를 한 클럭 지연해서 출력하는 D 플립플롭(D Flip-Flop); 및
    대응하는 스파이크 감지부의 출력과 상기 D 플립플롭의 출력을 논리곱해서 상기 스트로브 출력부로 출력하는 논리곱 소자(AND gate)를 포함하는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  8. 제7항에 있어서,
    상기 D 플립플롭은,
    상기 D 플립플롭의 출력을 다음 순번의 어드레스에 대응하는 출력시점 감지부의 D 플립플롭의 입력으로 제공하는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  9. 제1항에 있어서,
    상기 스트로브 출력부는,
    상기 출력시점 감지부들의 출력을 논리합해서 출력하는 논리합 소자(OR gate)로 구성되는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  10. 제1항에 있어서,
    상기 어드레스 버스는,
    상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가지는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 장치.
  11. 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)의 수신을 감지하는 스트로브 감지부; 및
    어드레스 버스를 통해 어드레스들을 순차적으로 반복해서 수신하다가 스트로브 감지부에서 상기 스트로브를 감지하면, 상기 스트로브가 감지된 시점에 상기 어드레스 버스를 통해 수신되는 어드레스를 입력 어드레스로 확인하는 어드레스 확인부를 포함하는
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 장치.
  12. 제11항에 있어서,
    상기 스트로브는,
    펄스 형태임을 특징으로 하는
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 장치.
  13. 제11항에 있어서,
    상기 어드레스들은,
    상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스인
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 장치.
  14. 제13항에 있어서,
    상기 어드레스 버스는,
    상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가지는
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 장치.
  15. 어드레스 버스를 통해 순차적으로 반복해서 수신하는 어드레스들을 입력으로 수신하고, 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 클럭으로 감지해서 상기 스트로브를 감지하면, 상기 스트로브가 감지된 시점에 상기 어드레스 버스를 통해 수신되는 어드레스를 출력하는 D 플립플롭(D Flip-Flop)을 포함하는
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 장치.
  16. 어드레스들을 순차적으로 반복해서 어드레스 버스에 출력하는 단계;
    스파이크(spike)의 수신을 확인하는 단계; 및
    상기 스파이크가 수신되면, 상기 순차적으로 반복해서 출력되는 어드레스가 상기 스파이크를 출력한 뉴런의 어드레스와 동일하게 되는 가장 빠른 시점에서 상기 스파이크가 발생한 타이밍 정보를 나타내는 스트로브(strobe)를 출력하는 단계를 포함하는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 방법.
  17. 제16항에 있어서,
    상기 스트로브는,
    펄스 형태임을 특징으로 하는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 방법.
  18. 제16항에 있어서,
    상기 어드레스들은,
    상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스인
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 방법.
  19. 제16항에 있어서,
    상기 어드레스 버스는,
    상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가지는
    뉴로모픽 칩에서 스파이크 이벤트를 송신하는 송신 방법.
  20. 어드레스 버스를 통해 어드레스들을 순차적으로 반복해서 수신하는 단계;
    스파이크가 발생한 타이밍 정보를 나타내는 스트로브의 수신을 확인하는 단계; 및
    상기 스트로브가 수신되면, 상기 스트로브가 감지된 시점에 상기 어드레스 버스를 통해 수신되는 어드레스를 입력 어드레스로 확인하는 단계를 포함하는
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 방법.
  21. 제20항에 있어서,
    상기 스트로브는,
    펄스 형태임을 특징으로 하는
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 방법.
  22. 제20항에 있어서,
    상기 어드레스들은,
    상기 뉴로모픽 칩에 포함된 뉴런들 각각에 할당된 어드레스인
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 방법.
  23. 제22항에 있어서,
    상기 어드레스 버스는,
    상기 뉴런들의 개수가 M개일 경우 log2M 과 같거나 더 큰 채널 수를 가지는
    뉴로모픽 칩에서 스파이크 이벤트를 수신하는 수신 방법.
KR1020110074388A 2011-07-27 2011-07-27 뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법 KR101838560B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110074388A KR101838560B1 (ko) 2011-07-27 2011-07-27 뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법
US13/560,261 US9104974B2 (en) 2011-07-27 2012-07-27 Apparatus and method for transmitting and receiving determined spike events between neurons in neuromorphic chips utilizing a strobe representing spike occurrence time information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110074388A KR101838560B1 (ko) 2011-07-27 2011-07-27 뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130013014A KR20130013014A (ko) 2013-02-06
KR101838560B1 true KR101838560B1 (ko) 2018-03-15

Family

ID=47598090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110074388A KR101838560B1 (ko) 2011-07-27 2011-07-27 뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법

Country Status (2)

Country Link
US (1) US9104974B2 (ko)
KR (1) KR101838560B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663451B2 (en) 2018-09-03 2023-05-30 Samsung Electronics Co., Ltd. Two-dimensional array-based neuromorphic processor and implementing method
US11868870B2 (en) 2018-09-03 2024-01-09 Samsung Electronics Co., Ltd. Neuromorphic method and apparatus with multi-bit neuromorphic operation

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843236B (zh) * 2012-09-12 2014-12-10 飞天诚信科技股份有限公司 一种动态口令的生成及认证方法与系统
KR102143225B1 (ko) 2013-05-06 2020-08-11 삼성전자주식회사 뉴로모픽 칩의 스파이크 이벤트 정보 전송 방법 및 장치, 및 뉴로모픽 칩
US9418333B2 (en) * 2013-06-10 2016-08-16 Samsung Electronics Co., Ltd. Synapse array, pulse shaper circuit and neuromorphic system
KR102179899B1 (ko) * 2013-08-05 2020-11-18 삼성전자주식회사 뉴로모픽 시스템 및 그 구현 방법
US9710749B2 (en) 2013-09-03 2017-07-18 Qualcomm Incorporated Methods and apparatus for implementing a breakpoint determination unit in an artificial nervous system
US9195903B2 (en) * 2014-04-29 2015-11-24 International Business Machines Corporation Extracting salient features from video using a neurosynaptic system
US9373058B2 (en) 2014-05-29 2016-06-21 International Business Machines Corporation Scene understanding using a neurosynaptic system
US10115054B2 (en) 2014-07-02 2018-10-30 International Business Machines Corporation Classifying features using a neurosynaptic system
US20160011654A1 (en) * 2014-07-14 2016-01-14 Samsung Electronics Co., Ltd. Interfacing apparatus and user input processing method
US10354183B2 (en) 2014-11-10 2019-07-16 International Business Machines Corporation Power-driven synthesis under latency constraints
US10552740B2 (en) 2014-11-10 2020-02-04 International Business Machines Corporation Fault-tolerant power-driven synthesis
US10679120B2 (en) 2014-11-10 2020-06-09 International Business Machines Corporation Power driven synaptic network synthesis
US11157800B2 (en) * 2015-07-24 2021-10-26 Brainchip, Inc. Neural processor based accelerator system and method
KR102381862B1 (ko) 2015-12-10 2022-04-01 삼성전자주식회사 데이터 통신 장치
US10579092B2 (en) * 2016-11-01 2020-03-03 International Business Machines Corporation Global timing generator
US20180146149A1 (en) 2016-11-21 2018-05-24 Samsung Electronics Co., Ltd. Event-based sensor, user device including the same, and operation method of the same
US11645501B2 (en) * 2018-02-28 2023-05-09 International Business Machines Corporation Distributed, event-based computation using neuromorphic cores
KR20230152336A (ko) * 2022-04-27 2023-11-03 서울대학교산학협력단 뉴런 회로

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267105A (ja) 2004-03-17 2005-09-29 Canon Inc 並列パルス信号処理装置、パターン認識装置、及び画像入力装置
US20090287624A1 (en) 2005-12-23 2009-11-19 Societe De Commercialisation De Produits De La Recherche Applique-Socpra-Sciences Et Genie S.E.C. Spatio-temporal pattern recognition using a spiking neural network and processing thereof on a portable and/or distributed computer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2615422B2 (ja) 1994-03-23 1997-05-28 工業技術院長 時系列学習神経回路素子およびそれを用いた時系列学習神経回路
EP1089221A3 (en) 1999-09-29 2007-05-02 Lucent Technologies Inc. Spike-based hybrid computation
JP3695334B2 (ja) 2001-01-31 2005-09-14 株式会社デンソー 通信端末の内部通信方法
JP4208485B2 (ja) 2001-05-31 2009-01-14 キヤノン株式会社 パルス信号処理回路、並列処理回路、パターン認識装置、及び画像入力装置
US7613509B2 (en) * 2004-11-29 2009-11-03 Duke University Systems, methods, and computer program products for transmitting neural signal information
KR100994451B1 (ko) 2008-02-29 2010-11-15 인제대학교 산학협력단 연산 기능을 갖는 가변부성저항으로 이루어진 생체 모방신경 세포 회로
US20110004579A1 (en) 2008-03-14 2011-01-06 Greg Snider Neuromorphic Circuit
US8429107B2 (en) 2009-11-04 2013-04-23 International Business Machines Corporation System for address-event-representation network simulation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267105A (ja) 2004-03-17 2005-09-29 Canon Inc 並列パルス信号処理装置、パターン認識装置、及び画像入力装置
US20090287624A1 (en) 2005-12-23 2009-11-19 Societe De Commercialisation De Produits De La Recherche Applique-Socpra-Sciences Et Genie S.E.C. Spatio-temporal pattern recognition using a spiking neural network and processing thereof on a portable and/or distributed computer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663451B2 (en) 2018-09-03 2023-05-30 Samsung Electronics Co., Ltd. Two-dimensional array-based neuromorphic processor and implementing method
US11868870B2 (en) 2018-09-03 2024-01-09 Samsung Electronics Co., Ltd. Neuromorphic method and apparatus with multi-bit neuromorphic operation
US11868874B2 (en) 2018-09-03 2024-01-09 Samsung Electronics Co., Ltd. Two-dimensional array-based neuromorphic processor and implementing method

Also Published As

Publication number Publication date
KR20130013014A (ko) 2013-02-06
US20130031039A1 (en) 2013-01-31
US9104974B2 (en) 2015-08-11

Similar Documents

Publication Publication Date Title
KR101838560B1 (ko) 뉴로모픽 칩에서 스파이크 이벤트를 송수신하는 송수신 장치 및 방법
US11188816B2 (en) Neuromorphic chip and method and apparatus for detecting spike event
TWI768584B (zh) 解釋在循環神經網路的決策決定的方法及提高循環神經網路對於對抗式攻擊的抵禦性的方法
US20120308136A1 (en) Apparatus and methods for pulse-code invariant object recognition
Kukkala et al. Latte: L stm self-att ention based anomaly detection in e mbedded automotive platforms
US20150212861A1 (en) Value synchronization across neural processors
Pawelec et al. Towards a CAN IDS based on a neural network data field predictor
JP2016532216A (ja) 人工神経システムにおけるブレークポイント決定ユニットを実現するための方法および装置
KR102002528B1 (ko) 객체 검출 장치 및 그 방법
CN115061103A (zh) 基于编码器-解码器的多功能雷达功能识别方法
CN103811022B (zh) 一种解析波形的方法和装置
CN103647966A (zh) 一种基于fpga图像数据检测方法及装置
GB2505897A (en) Discriminating Radiation Pulses
Roy et al. Evolving spike neural network sensors to characterize the alcoholic brain using visually evoked response potential
Ghahremani et al. Time Delay Attack Detection Using Recurrent Variational Autoencoder and K-means Clustering
JP6725692B2 (ja) 非同期フィードバックトレーニング
US20130002316A1 (en) Reset pulse encoding and decoding scheme with no internal clock
CN108548985A (zh) 安全输出电路及自检方法
Laufenberg et al. Attack Simulation and Adaptation in CAN for Training and Evaluation of IDS
CN110687511B (zh) 一种雷达信号模拟器的脉冲时序恢复方法
Patel Intrusion Detection using Bit Timing Characteristics for CAN Bus
JP2007164027A (ja) 時間差検出器
EP3716155A1 (en) Data processing node and data processing engine
Zimmer A Hybrid Anomaly Detection System for Electronic Control Units Featuring Replicator Neural Networks
SU1760636A1 (ru) Устройство дл обнаружени сигнала фазового пуска

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