KR20210058566A - 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템 - Google Patents

전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템 Download PDF

Info

Publication number
KR20210058566A
KR20210058566A KR1020190146178A KR20190146178A KR20210058566A KR 20210058566 A KR20210058566 A KR 20210058566A KR 1020190146178 A KR1020190146178 A KR 1020190146178A KR 20190146178 A KR20190146178 A KR 20190146178A KR 20210058566 A KR20210058566 A KR 20210058566A
Authority
KR
South Korea
Prior art keywords
data
signal
control signal
output
path
Prior art date
Application number
KR1020190146178A
Other languages
English (en)
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 KR1020190146178A priority Critical patent/KR20210058566A/ko
Priority to DE102020118811.0A priority patent/DE102020118811A1/de
Priority to CN202010713686.4A priority patent/CN112799871A/zh
Priority to US16/939,310 priority patent/US11204837B2/en
Priority to SG10202009822VA priority patent/SG10202009822VA/en
Publication of KR20210058566A publication Critical patent/KR20210058566A/ko
Priority to US17/536,580 priority patent/US11614996B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • H01L21/04Manufacture or treatment of semiconductor devices or of parts thereof the devices having potential barriers, e.g. a PN junction, depletion layer or carrier concentration layer
    • H01L21/18Manufacture or treatment of semiconductor devices or of parts thereof the devices having potential barriers, e.g. a PN junction, depletion layer or carrier concentration layer the devices having semiconductor bodies comprising elements of Group IV of the Periodic Table or AIIIBV compounds with or without impurities, e.g. doping materials
    • H01L21/28Manufacture of electrodes on semiconductor bodies using processes or apparatus not provided for in groups H01L21/20 - H01L21/268
    • H01L21/28008Making conductor-insulator-semiconductor electrodes
    • H01L21/28017Making conductor-insulator-semiconductor electrodes the insulator being formed after the semiconductor body, the semiconductor being silicon
    • H01L21/28158Making the insulator
    • H01L21/28167Making the insulator on single crystalline silicon, e.g. using a liquid, i.e. chemical oxidation
    • H01L21/28185Making the insulator on single crystalline silicon, e.g. using a liquid, i.e. chemical oxidation with a treatment, e.g. annealing, after the formation of the gate insulator and before the formation of the definitive gate conductor
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/77Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
    • H01L21/78Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
    • H01L21/82Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
    • H01L21/822Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components the substrate being a semiconductor, using silicon technology
    • H01L21/8232Field-effect technology
    • H01L21/8234MIS technology, i.e. integration processes of field effect transistors of the conductor-insulator-semiconductor type
    • H01L21/823462MIS technology, i.e. integration processes of field effect transistors of the conductor-insulator-semiconductor type with a particular manufacturing method of the gate insulating layers, e.g. different gate insulating layer thicknesses, particular gate insulator materials or particular gate insulator implants
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/08Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind
    • H01L27/085Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only
    • H01L27/088Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only the components being field-effect transistors with insulated gate
    • H01L27/0886Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only the components being field-effect transistors with insulated gate including transistors with a horizontal current flow in a vertical sidewall of a semiconductor body, e.g. FinFET, MuGFET
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
    • H01L29/40Electrodes ; Multistep manufacturing processes therefor
    • H01L29/43Electrodes ; Multistep manufacturing processes therefor characterised by the materials of which they are formed
    • H01L29/49Metal-insulator-semiconductor electrodes, e.g. gates of MOSFET
    • H01L29/51Insulating materials associated therewith
    • H01L29/517Insulating materials associated therewith the insulating material comprising a metallic compound, e.g. metal oxide, metal silicate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Ceramic Engineering (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • General Chemical & Material Sciences (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Bus Control (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

본 개시에 따르면, 전자 시스템은, 제1 데이터 경로 및 제1 제어 신호 경로를 포함하는 메인 IP, 제2 제어 신호 경로를 포함하는 체커 IP 및 제1 데이터 경로를 통해 출력되는 출력 데이터를 ECC 디코딩 함으로써 데이터의 에러를 검출하고, 제1 제어 신호 경로를 통해 출력되는 제1 신호 및 제2 제어 신호 경로를 통해 출력되는 제2 신호를 기초로 제어 신호의 에러를 검출하도록 구성되는 에러 검출 회로를 포함할 수 있다.

Description

전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템{ELECTRONIC SYSTEM, FAULT DETECTING METHOD THEREOF, SYSTEM ON CHIP AND BUS SYSTEM}
본 개시의 기술적 사상은 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템에 관한 것으로서, 데이터 및 다양한 신호들의 에러를 포함하는 결함을 검출하는 전자 시스템, 시스템 온 칩, 버스 시스템 및 전자 시스템의 결함 검출 방법에 관한 것이다.
시스템 온 칩 등을 포함한 반도체 장치는 다양한 산업 분야에서 이용되고 있다. 여러 산업 분야에서 반도체 장치가 이용될 때, 다양한 원인에 의해 반도체 장치에서 처리되는 데이터 및/또는 신호에 에러가 발생할 수 있다. 이러한 에러는 때때로 심각한 제어의 오류를 야기할 수 있기 때문에, 반도체 장치는 데이터 및/또는 신호에 발생한 에러를 검출해낼 수 있어야 한다.
본 개시의 기술적 사상은 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템에 있어서, 신뢰성 높은 결함 검출을 수행하고, 칩 또는 시스템 구현상 면적 및/또는 비용을 줄이기 위한 방법 및 장치를 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 전자 시스템은, 제1 데이터 경로 및 제1 제어 신호 경로를 포함하는 메인 IP, 제2 제어 신호 경로를 포함하는 체커 IP 및 제1 데이터 경로를 통해 출력되는 출력 데이터를 ECC 디코딩 함으로써 데이터의 에러를 검출하고, 제1 제어 신호 경로를 통해 출력되는 제1 신호 및 상기 제2 제어 신호 경로를 통해 출력되는 제2 신호를 기초로 제어 신호의 에러를 검출하도록 구성되는 에러 검출 회로를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 제1 IP 및 제2 IP를 포함하는 전자 시스템의 결함 검출 방법은, 제1 IP의 제1 데이터 경로로부터 출력되는 출력 데이터를 ECC 디코딩함으로써 입력 데이터의 에러를 검출하는 단계 및 제1 IP의 제1 제어 신호 경로로부터 출력되는 제1 신호 및 상기 제2 IP의 제2 제어 신호 경로로부터 출력되는 제2 신호를 기초로 제어 신호의 에러를 검출하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 시스템 온 칩은, 입력 데이터를 ECC 인코딩함으로써 인코딩 된 데이터를 생성하도록 구성되는 ECC 인코더, 인코딩 된 데이터를 기초로 제1 데이터 경로를 통해 출력 데이터를 출력하고, 제1 제어 신호를 기초로 제1 제어 신호 경로를 통해 제2 제어 신호를 출력하도록 구성되는 메인 IP, 제1 제어 신호를 사전 결정된 클락 사이클만큼 지연시킴으로써 제3 제어 신호를 생성하도록 구성되는 제1 지연 회로, 제3 제어 신호를 기초로 제2 제어 신호 경로를 통해 제4 제어 신호를 출력하도록 구성되는 체커 IP, 출력 데이터를 ECC 디코딩함으로써 데이터의 에러를 검출하도록 구성되는 ECC 디코더, 제2 제어 신호를 사전 결정된 클락 사이클만큼 지연시킴으로써 제5 제어 신호를 생성하도록 구성되는 제2 지연 회로 및 제4 제어 신호 및 제5 제어 신호를 비교함으로써 제어 신호의 에러를 검출하도록 구성되는 체커 회로 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 버스 시스템은, 출력 데이터 및 제1 제어 신호를 출력하는 제1 IP, 제2 제어 신호를 출력하는 제2 IP, 출력 데이터를 ECC 디코딩함으로써 데이터의 에러를 검출하도록 구성되는 ECC 디코더, 제1 제어 신호를 사전 결정된 클락 사이클만큼 지연시킴으로써 제3 제어 신호를 생성하도록 구성되는 지연 회로 및 제2 제어 신호 및 상기 제3 제어 신호를 기초로 제어 신호의 에러를 검출하도록 구성되는 체커 회로를 포함할 수 있다.
본 개시의 예시적 실시 예에 따른 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템에 의하면, 전자 시스템은 메인 IP의 데이터 경로를 통해 출력되는 출력 데이터를 이용해 데이터의 에러를 검출할 수 있고, 메인 IP의 제어 신호 경로를 통해 출력되는 제어 신호 및 체커 IP의 제어 신호 경로를 통해 출력되는 제어 신호를 기초로 제어 신호에 발생한 에러를 신뢰성 높게 검출해낼 수 있다.
또한, 전자 시스템의 설계 측면에서, 설계자는 메인 IP를 설계한 뒤, 메인 IP를 복제하는 방식을 기초로 체커 IP를 설계할 수 있어, 추가적인 회로 설계가 요구되지 않는 장점이 있다.
또한, 메인 IP의 데이터 경로를 체커 IP의 데이터 경로로 복제하되, 데이터 경로의 모든 입력들을 타이(tie)하고, 최적화(optimization) 함으로써 체커 IP의 사이즈를 메인 IP에 비해 작게 구현해낼 수 있다. 즉, 이로써, 칩 또는 시스템 구현상 면적 및/또는 비용을 줄일 수 있다.
도 1은 본 개시의 예시적 실시 예에 따른 전자 시스템을 나타낸다.
도 2는 본 개시의 예시적 실시 예에 따른 전자 시스템을 나타낸다.
도 3은 본 개시의 예시적 실시 예에 따른 메인 IP를 나타낸다.
도 4는 본 개시의 예시적 실시 예에 따른 ECC 인코더, 데이터, 인코딩 된 데이터를 나타낸다.
도 5는 본 개시의 예시적 실시 예에 따른 체커 IP를 나타낸다.
도 6은 본 개시의 예시적 실시 예에 따른 전자 시스템의 동작 방법의 순서도를 나타낸다.
도 7은 본 개시의 예시적 실시 예에 따른 전자 시스템의 데이터 및 신호 전달 방법의 순서도를 나타낸다.
도 8은 본 개시의 예시적 실시 예에 따른 전자 시스템의 결함 검출 방법의 순서도를 나타낸다.
도 9는 본 개시의 예시적 실시 예에 따른 전자 시스템을 나타낸다.
도 10은 본 개시의 예시적 실시 예에 따른 체커 IP의 설계 순서도를 나타낸다.
도 11은 본 개시의 예시적 실시 예에 따른 전자 시스템을 나타낸다.
도 12는 본 개시의 예시적 실시 예에 따른 버스 시스템, 제1 IP 및 제2 IP를 나타낸다.
도 13은 본 개시의 예시적 실시 예에 따른 주행 보조 시스템을 나타낸다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시 예에 따른 전자 시스템(10)을 나타낸다. 전자 시스템(10)은 메인 IP(100), 체커 IP(200), ECC 인코더(300), 에러 검출 회로(450) 및 결함 수집 회로(600)를 포함할 수 있으며, 에러 검출 회로(450)는 ECC 디코더(400) 및 체커 회로(500)를 포함할 수 있다. 전자 시스템(10)은 다양한 형태로 구현될 수 있으며, 예를 들어, 집적 회로(integrated circuit), 다양한 칩의 형태로 구현될 수 있다. 일 실시 예에서, 전자 시스템(10)은 시스템 온 칩(System on Chip; SoC)의 형태로 구현될 수 있다. 전자 시스템(10)은 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS) 등과 같은 로봇 장치, 스마트 TV, 스마트 폰, 의료 장치, 모바일 장치, 영상 표시 장치, 계측 장치, IoT(Internet of Things) 장치 등에 적용될 수 있으며, 이외에도 다양한 종류의 전자 장치들 중 하나에 탑재될 수 있다. 일 실시 예에서, 전자 시스템(10)은 1-클락 도메인(one-clock domain)에서 동작하는 구성 요소들을 포함할 수 있다.
일 실시 예에서, 메인 IP(100), 체커 IP(200), ECC 인코더(300), ECC 디코더(400), 체커 회로(500) 및 결함 수집 회로(600) 중 적어도 일부는 디지털 회로로서 구현될 수 있다. 즉, 메인 IP(100), 체커 IP(200), ECC 인코더(300), ECC 디코더(400), 체커 회로(500) 및 결함 수집 회로(600)는 모두 디지털 회로로서 구현될 수도 있고, 메인 IP(100), 체커 IP(200), ECC 인코더(300), ECC 디코더(400), 체커 회로(500) 및 결함 수집 회로(600) 중 일부만 디지털 회로로서 구현될 수 있다. 하지만 이에만 제한되는 것은 아니며, 메인 IP(100), 체커 IP(200), ECC 인코더(300), ECC 디코더(400), 체커 회로(500) 및 결함 수집 회로(600)는 모두 아날로그 회로로서 구현될 수도 있다.
메인 IP(100)는 다양한 IP(Intellectual Property)들 중 하나를 포함할 수 있다. 예를 들어, 메인 IP(100)는 프로세싱 유닛(processing unit), 프로세싱 유닛에 포함된 복수의 코어들(cores), MFC(Multi-Format Codec), 비디오 모듈(예컨대, 카메라 인터페이스, JPEG(Joint Photographic Experts Group) 프로세서, 비디오 프로세서, 또는 믹서 등), 3D 그래픽 코어, 오디오 시스템, 드라이버, 디스플레이 드라이버, 휘발성 메모리, 비휘발성 메모리(non-volatile memory), 메모리 컨트롤러(memory controller), 입출력 인터페이스 블록(input and output interface block), 또는 캐시 메모리(cache memory) 등을 포함할 수 있다. 또한, 일 실시 예에서, 메인 IP(100)는 시스템 버스(System Bus)를 포함할 수 있다.
일 실시 예에서, 메인 IP(100)는 데이터 및/또는 신호를 전달하거나, 처리할 수 있다. 예를 들어, 메인 IP(100)는 ECC 인코더(300)로부터 입력되는 인코딩 된 데이터(DATA_ENC)를 출력 데이터(DATA_OUT)로서 전달하거나, 인코딩 된 데이터(DATA_ENC)를 처리함으로써 출력 데이터(DATA_OUT)를 출력할 수 있다. 또한 예를 들어, 메인 IP(100)는 제1 신호(SIG_1)를 제3 신호(SIG_3)로서 전달하거나, 제1 신호(SIG_1)를 처리함으로써 제3 신호(SIG_3)를 출력할 수 있다.
일 실시 예에서, 메인 IP(100)는 데이터를 전달하거나 처리하는 데이터 경로 및 신호를 전달하거나 처리하는 제어 신호 경로를 포함할 수 있다. 여기서, 신호는 다양한 신호들을 포함할 수 있으며, 예를 들어, 전자 시스템(10)에서 다양한 회로 구성 요소들을 제어하는 데 이용되는 제어 신호들 중 적어도 하나를 포함할 수 있다. 다시 말해, 일 실시 예에서, 메인 IP(100)는 인코딩 된 데이터(DATA_ENC)를 기초로 데이터 경로를 통해 출력 데이터(DATA_OUT)를 출력할 수 있고, 제1 신호(SIG_1)를 기초로 제어 신호 경로를 통해 제3 신호(SIG_3)를 출력할 수 있다. 이에 대해서는 도 3을 참조하여 보다 자세히 설명된다.
체커 IP(200)는 신호를 전달하거나, 처리할 수 있다. 예를 들어, 체커 IP(200)는 제2 신호(SIG_2)를 제4 신호(SIG_4)로서 전달하거나, 제2 신호(SIG_2)를 처리함으로써 제4 신호(SIG_4)를 출력할 수 있다. 일 실시 예에서, 제2 신호(SIG_2)는 제1 신호(SIG_1)일 수 있고, 또는 제1 신호(SIG_1)를 기초로 생성된 신호일 수 있다. 예를 들어, 제2 신호(SIG_2)는 제1 신호(SIG_1)를 사전 결정된 클락 사이클만큼 지연시킴으로써 생성된 신호일 수 있다.
일 실시 예에서, 체커 IP(200)는 데이터 경로 및 제어 신호 경로를 포함할 수 있다. 체커 IP(200)는 제2 신호(SIG_2)를 기초로 제어 신호 경로를 통해 제4 신호(SIG_4)를 출력할 수 있다. 이에 대해서는 도 5를 참조하여 보다 자세히 설명된다.
일 실시 예에서, 시스템(또는 회로) 설계 단계에서, 체커 IP(200)는 메인 IP(100)를 기초로 설계될 수 있다. 예를 들어, 체커 IP(200)는 메인 IP(100)의 복제(duplication)를 기초로 설계될 수 있다. 일 실시 예에서, 체커 IP(200)의 제어 신호 경로는 메인 IP(100)의 제어 신호 경로와 실질적으로 동일할 수 있다. 또는, 체커 IP(200)의 제어 신호 경로는 메인 IP(100)의 제어 신호 경로에 포함된 회로 요소들을 실질적으로 동일하게 포함할 수 있다. 또한, 일 실시 예에서, 체커 IP(200)의 데이터 경로는, 메인 IP(100)의 데이터 경로를 복제한 뒤, 데이터 경로로 입력되는 모든 입력들이 타이(tie) 되도록 한 뒤, 경계 최적화(boundary optimization)를 수행함으로써 설계될 수 있다. 이에 따라, 시스템 설계자는 메인 IP(100)의 설계 이외에 별도의 체커 IP(200)의 설계를 행할 필요가 없을 수 있다. 이와 더불어, 체커 IP(200)의 데이터 경로의 사이즈는 메인 IP(100)의 데이터 경로의 사이즈보다 작아질 수 있다. 이에 따라, 체커 IP(200)의 사이즈는 메인 IP(100)의 사이즈보다 작을 수 있다. 예를 들어, 전자 시스템(10)이 시스템 온 칩으로 구현되는 경우, 체커 IP(200)가 칩 상에서 차지하는 면적은 메인 IP(100)가 칩 상에서 차지하는 면적에 비해 작을 수 있다.
ECC 인코더(300)는 전자 시스템(10) 내에서 처리되는 데이터(DATA) 또는 입력 데이터(DATA)에 ECC 인코딩 동작을 수행함으로써 인코딩 된 데이터(DATA_ENC)를 생성할 수 있다. ECC 인코더(300)는 인코딩 된 데이터(DATA_ENC)를 메인 IP(100)에 제공할 수 있다. ECC 인코더(300)는 ECC(Error Correction Code)를 이용해 ECC 인코딩 동작을 수행할 수 있다. ECC(Error Correction Code)는 패리티(parity), CRC(Cyclic Redundancy Code), 체크섬(Checksum) 및 해킹 코드(Hamming Code) 등 중 적어도 하나를 포함할 수 있으며, 이에만 제한되는 것은 아니다. 이에 따라, 인코딩 된 데이터(DATA_ENC)는 데이터(DATA) 및 데이터(DATA)를 기초로 생성된 체커 데이터를 포함할 수 있다. 즉, 일 실시 예에서, 인코딩 된 데이터(DATA_ENC)의 비트 수는 데이터(DATA)의 비트 수보다 클 수 있다. 데이터(DATA) 및 인코딩 된 데이터(DATA_ENC)에 관해서는 도 4를 참조하여 보다 자세히 설명된다.
에러 검출 회로(450)는 전자 시스템(10) 내에서 전달 또는 처리되는 데이터 및/또는 신호의 에러를 검출할 수 있다.
에러 검출 회로(450)는 메인 IP(100)로부터 출력되는 출력 데이터(DATA_OUT)를 기초로 데이터의 에러를 검출할 수 있다. 예를 들어, 에러 검출 회로(450)는 출력 데이터(DATA_OUT)에 ECC 디코딩을 수행함으로써 데이터의 에러를 검출할 수 있다. 에러 검출 회로(450)는 출력 데이터(DATA_OUT)를 기초로 데이터의 에러를 검출한 결과를 데이터 에러 검출 신호(DED)로서 출력할 수 있으며, 데이터 에러 검출 신호(DED)를 결함 수집 회로(600)에 제공할 수 있다. 예를 들어, 데이터의 에러가 검출된 경우, 에러 검출 회로(450)는 제1 논리 레벨(예컨대, ‘1’)을 갖는 데이터 에러 검출 신호(DED)를 출력할 수 있다. 마찬가지로, 예를 들어, 데이터의 에러가 검출되지 않은 경우, 에러 검출 회로(450)는 별도의 신호를 출력하지 않거나, 제2 논리 레벨(예컨대, ‘0’)을 갖는 데이터 에러 검출 신호(DED)를 출력할 수 있다. 이를 위해, 에러 검출 회로(450)는, 출력 데이터(DATA_OUT)에 ECC 디코딩을 수행함으로써 데이터 에러 검출 신호(DED)를 출력하도록 구성되는 ECC 디코더(400)를 포함할 수 있다. ECC 디코더(400)는 패리티(parity), CRC(Cyclic Redundancy Code), 체크섬(Checksum) 및 해킹 코드(Hamming Code) 등의 ECC를 이용하여 ECC 디코딩을 수행할 수 있다. ECC 디코더(400)는 출력 데이터(DATA_OUT)에 포함된 체커 데이터를 이용하여 데이터의 에러를 검출할 수 있다. 일 실시 예에서, ECC 디코더(400)는, 출력 데이터(DATA_OUT)에 정정 가능한 에러가 있는 경우, 출력 데이터(DATA_OUT)를 정정하는 동작을 수행할 수도 있다.
에러 검출 회로(450)는 메인 IP(100)로부터 출력되는 제3 신호(SIG_3) 및 체커 IP(200)로부터 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다. 일 실시 예에서, 에러 검출 회로(450)는, 도 2와 같이, 제3 신호(SIG_3)가 지연된 신호인 제5 신호(도 2의 SIG_5) 및 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다. 에러 검출 회로(450)는 제3 신호(SIG_3) 및 제4 신호(SIG_4)를 기초로 데이터의 에러를 검출한 결과를 제어 신호 에러 검출 신호(SED)로서 출력할 수 있으며, 제어 신호 에러 검출 신호(SED)를 결함 수집 회로(600)에 제공할 수 있다. 예를 들어, 제어 신호의 에러가 검출된 경우, 에러 검출 회로(450)는 제1 논리 레벨(예컨대, ‘1’)을 갖는 제어 신호 에러 검출 신호(SED)를 출력할 수 있다. 마찬가지로, 예를 들어, 데이터의 에러가 검출되지 않은 경우, 에러 검출 회로(450)는 별도의 신호를 출력하지 않거나, 제2 논리 레벨(예컨대, ‘0’)을 갖는 제어 신호 에러 검출 신호(SED)를 출력할 수 있다. 이를 위해, 에러 검출 회로(450)는, 제3 신호(SIG_3) 및 제4 신호(SIG_4)를 기초로 제어 신호 에러 검출 신호(SED)를 출력하도록 구성되는 체커 회로(500)를 포함할 수 있다. 일 실시 예에서, 체커 회로(500)는, 순환 검사(cyclic check) 방식을 이용하여, 제3 신호(SIG_3) 및 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다. 다시 말해, 일 실시 예에서, 체커 회로(500)는 순환 검사 유닛(Cyclic Check Unit; CCU)일 수 있다.
결함 수집 회로(600)는 에러 검출 회로(450)로부터 수신되는 데이터 에러 검출 신호(DED) 및 제어 신호 에러 검출 신호(SED)를 기초로 전자 시스템(10)에 발생한 결함에 대한 정보를 수집(collect)할 수 있다. 결함 수집 회로(600)는, 데이터 에러 검출 신호(DED) 및 제어 신호 에러 검출 신호(SED)를 기초로, 전자 시스템(10)에 대한 결함 검출 신호(FD)를 출력할 수 있다. 예를 들어, 데이터 및/또는 제어 신호에 에러가 존재하는 경우, 결함 수집 회로(600)는 제1 논리 레벨(예컨대, ‘1’)을 갖는 결함 검출 신호(FD)를 출력할 수 있다. 마찬가지로 예를 들어, 데이터 및 제어 신호에 에러가 존재하지 않는 경우, 결함 수집 회로(600)는 제2 논리 레벨(예컨대, ‘0’)을 갖는 결함 검출 신호(FD)를 출력할 수 있다. 하지만 이에만 제한되는 것은 아니며, 검출된 에러의 수에 따라, 결함 수집 회로(600)는 3개 이상의 복수의 레벨들 중 하나의 레벨을 갖는 결함 검출 신호(FD)를 출력할 수 있다.
본 개시의 예시적 실시 예에 따른 전자 시스템(10)에 의하면, 전자 시스템(10)은 메인 IP(100), 메인 IP(100)의 복제를 기초로 설계된 체커 IP(200) 및 에러 검출 회로(450) 등의 동작을 통해 데이터 및/또는 제어 신호의 에러를 효과적으로 검출해낼 수 있다. 예를 들어, 전자 시스템(10)은 메인 IP(100)의 데이터 경로를 통해 출력되는 출력 데이터(DATA_OUT)를 이용해 데이터의 에러를 검출할 수 있고, 메인 IP(100)의 제어 신호 경로를 통해 출력되는 제3 신호(SIG_3) 및 체커 IP(200)의 제어 신호 경로를 통해 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 신뢰성 높게 검출해낼 수 있다. 또한, 위와 같이 에러 검출의 높은 신뢰성을 유지함과 아울러, 설계자는 체커 IP(200)를 메인 IP(100)와 별개로 추가적인 회로 설계가 요구되지 않기 때문에, 설계상 용이성도 확보할 수 있다. 뿐만 아니라, 체커 IP(200)는 메인 IP(100)에 비해 사이즈가 작기 때문에, 체커 IP의 사이즈가 메인 IP의 사이즈 이상인 비교 예에 비해, 시스템 구현상의 면적 및/또는 비용을 줄일 수 있다.
도 2는 본 개시의 예시적 실시 예에 따른 전자 시스템(10)을 나타낸다. 전자 시스템(10)은 메인 IP(100), 체커 IP(200), ECC 인코더(300), ECC 디코더(400), 체커 회로(500), 결함 수집 회로(600), 제1 지연 회로(720) 및 제2 지연 회로(740)를 포함할 수 있다. 도 2에 관해서는 도 1의 전자 시스템(10)과 중복되는 설명은 생략하며, 도 1과의 차이점을 중심으로 설명한다.
메인 IP(100)에는 제1 신호(SIG_1)가 입력될 수 있으며, 체커 IP(200)에는 제2 신호(SIG_2)가 입력될 수 있다.
제1 지연 회로(720)는 제1 신호(SIG_1)를 기초로 제2 신호(SIG_2)를 생성할 수 있다. 예를 들어, 제1 지연 회로(720)는 제1 신호(SIG_1)를 사전 결정된 클락 사이클만큼 지연시킴으로써 제2 신호(SIG_2)를 생성할 수 있다. 비제한적인 예시로서, 제1 지연 회로(720)는 제1 신호(SIG_1)를 2 클락 사이클 지연시킴으로써 제2 신호(SIG_2)를 생성할 수 있다.
메인 IP(100)는 제1 신호(SIG_1)를 제3 신호(SIG_3)로서 전달하거나, 제1 신호(SIG_1)를 처리함으로써 제3 신호(SIG_3)를 출력할 수 있다. 예를 들어, 메인 IP(100)는, 제1 신호(SIG_1)를 기초로, 메인 IP(100)의 제어 신호 경로를 통해 제3 신호(SIG_3)를 출력할 수 있다.
체커 IP(200)는 제2 신호(SIG_2)를 제4 신호(SIG_4)로서 전달하거나, 제2 신호(SIG_2)를 처리함으로써 제4 신호(SIG_4)를 출력할 수 있다. 예를 들어, 체커 IP(200)는, 제2 신호(SIG_2)를 기초로, 체커 IP(200)의 제어 신호 경로를 통해 제4 신호(SIG_4)를 출력할 수 있다.
제2 지연 회로(740)는 제3 신호(SIG_3)를 기초로 제5 신호(SIG_5)를 생성할 수 있다. 예를 들어, 제2 지연 회로(740)는 제3 신호(SIG_3)를 사전 결정된 클락 사이클만큼 지연시킴으로써 제5 신호(SIG_5)를 생성할 수 있다. 제2 지연 회로(740)에 의해 지연되는 클락 사이클 수는 제1 지연 회로(720)에 의해 지연되는 클락 사이클 수와 동일할 수 있다. 비제한적인 예시로서, 제2 지연 회로(740)는 제3 신호(SIG_3)를 2 클락 사이클 지연시킴으로써 제5 신호(SIG_5)를 생성할 수 있다.
체커 회로(500)는 제4 신호(SIG_4) 및 제5 신호(SIG_5)를 이용해 제어 신호의 에러를 검출할 수 있다. 예를 들어, 체커 회로(500)는 제4 신호(SIG_4) 및 제5 신호(SIG_5)를 이용해 순환 검사(cyclic check) 방식에 따라 제어 신호의 에러를 검출해낼 수 있다.
도 3은 본 개시의 예시적 실시 예에 따른 메인 IP(100)를 나타낸다. 메인 IP(100)에 관한 도 1과 중복되는 설명은 생략한다. 도 3은 도 1을 함께 참조하여 설명된다.
메인 IP(100)는 데이터 경로(120) 및 제어 신호 경로(140)를 포함할 수 있다. 도 3은 메인 IP(100)가 하나의 데이터 경로(120)를 포함하는 것으로 도시하지만, 이에 제한되지 않으며, 메인 IP(100)는 복수의 데이터 경로들을 포함할 수 있다. 마찬가지로, 도 3은 메인 IP(100)가 하나의 제어 신호 경로(140)를 포함하는 것으로 도시하지만, 이에 제한되지 않으며, 메인 IP(100)는 복수의 제어 신호 경로들을 포함할 수 있다.
메인 IP(100)는 인코딩 된 데이터(DATA_ENC)를 전달하거나, 인코딩 된 데이터(DATA_ENC)를 처리함으로써 출력 데이터(DATA_OUT)를 출력할 수 있다. 이 때, 데이터 경로(120)는, 인코딩 된 데이터(DATA_ENC)가 메인 IP(100)에 입력된 이후 출력 데이터(DATA_OUT)로 출력되기까지 거치는 모든 회로 요소들을 포함하는 개념일 수 있다.
마찬가지로, 메인 IP(100)는 제1 신호(SIG_1)를 전달하거나, 제1 신호(SIG_1)를 처리함으로써 제3 신호(SIG_3)를 출력할 수 있다. 이 때, 제어 신호 경로(140)는, 제1 신호(SIG_1)가 메인 IP(100)에 입력된 이후 제3 신호(SIG_3)로 출력되기까지 거치는 모든 회로 요소들을 포함하는 개념일 수 있다.
이에 따라, 일 실시 예에서, 데이터 경로(120)는 제어 신호 경로(140)와 독립한 회로일 수 있다. 하지만, 이에 제한되는 것은 아니며, 경우에 따라, 데이터 경로(120)와 제어 신호 경로(140)는 일부 회로 요소를 공유할 수도 있다.
전자 시스템(10)이 결함을 검출할 때, 전자 시스템(10)은 메인 IP(100)의 데이터 경로(120)를 거친 데이터에 대해서는 ECC 디코딩을 이용해 에러를 검출할 수 있고, 메인 IP(100)의 제어 신호 경로(140)를 거친 제어 신호에 대해서는 체커 IP(200)의 제어 신호 경로를 거친 제어 신호를 이용해 에러를 검출할 수 있다.
이에 따라, 본 개시의 예시적 실시 예에 따른 메인 IP(100)를 포함하는 전자 시스템(10)은 높은 신뢰성으로 데이터 및/또는 신호에 발생한 에러를 검출해낼 수 있다.
도 4는 본 개시의 예시적 실시 예에 따른 ECC 인코더(300), 데이터(DATA), 인코딩 된 데이터(DATA_ENC)를 나타낸다. ECC 인코더(300)에 관한 도 1과 중복되는 설명은 생략한다. 도 4은 도 1을 함께 참조하여 설명된다.
ECC 인코더(300)는 데이터(DATA)에 ECC 인코딩을 수행함으로써 인코딩 된 데이터(DATA_ENC)를 생성해낼 수 있다. 데이터(DATA)의 비트 수가 N-bit(단, N은 자연수)인 것으로 설명한다.
일 실시 예에서, ECC 인코더(300)는 데이터(DATA)에 데이터(DATA)를 기초로 생성된 체커 데이터(DATA_C)를 부가함으로써 인코딩 된 데이터(DATA_ENC)를 생성할 수 있다. 즉, 인코딩 된 데이터(DATA_ENC)는 데이터(DATA) 및 데이터(DATA)를 기초로 생성된 체커 데이터(DATA_C)를 포함할 수 있다. 도 4는 체커 데이터(DATA_C)가 데이터(DATA)의 뒤에 부가되는 것을 도시하지만, 이에 제한되는 것은 아니다. 예를 들어, 체커 데이터(DATA_C)는 데이터(DATA)의 앞에 부가될 수 있으며, 경우에 따라서, 체커 데이터(DATA_C)는 데이터(DATA)의 중간에 부가될 수도 있을 것이다. 체커 데이터(DATA_C)의 비트 수는 C-bit(단, C는 자연수)일 수 있다. 일 실시 예에서, C는 N보다 작은 값을 가질 수 있다. 일 실시 예에서, N:C의 비율은 8:1일 수 있으며, 이에 제한되지는 않는다. 즉, 인코딩 된 데이터(DATA_ENC)의 비트 수는 (N+C)-bit일 수 있으며, 데이터(DATA)의 비트 수보다 클 수 있다.
인코딩 된 데이터(DATA_ENC)는 메인 IP(100)에 입력될 수 있다. 메인 IP(100)는 인코딩 된 데이터(DATA_ENC)를 전달하거나 처리함으로써 출력 데이터(DATA_OUT)를 출력할 수 있다. 일 실시 예의 설명을 위해, 메인 IP(100)가 인코딩 된 데이터(DATA_ENC)를 출력 데이터(DATA_OUT)로서 전달하는 경우를 가정한다.
일 실시 예에서, ECC 디코더(400)는 출력 데이터(DATA_OUT)에 ECC 디코딩을 수행함으로써 데이터의 에러를 검출할 수 있다. 예를 들어, ECC 디코더(400)는 출력 데이터(DATA_OUT)에 포함된 데이터를 이용해 비교 체커 데이터를 생성하고, 생성된 비교 체커 데이터를 출력 데이터(DATA_OUT)에 포함된 체커 데이터와 비교함으로써 데이터의 에러를 검출할 수 있다. 예를 들어, 생성된 비교 체커 데이터와 출력 데이터(DATA_OUT)에 포함된 체커 데이터가 일치하지 않는 경우, ECC 디코더(400)는 데이터에 에러가 발생했다고 판단할 수 있으며, 에러의 검출을 나타내는 데이터 에러 검출 신호(DED)를 출력할 수 있다.
도 5는 본 개시의 예시적 실시 예에 따른 체커 IP(200)를 나타낸다. 체커 IP(200)에 관한 도 1과 중복되는 설명은 생략한다. 도 5는 도 1 및 도 3을 함께 참조하여 설명된다.
체커 IP(200)는 데이터 경로(220) 및 제어 신호 경로(240)를 포함할 수 있다. 도 5는 체커 IP(200)가 하나의 데이터 경로(220)를 포함하는 것으로 도시하지만, 이에 제한되지 않으며, 체커 IP(200)는 복수의 데이터 경로들을 포함할 수 있다. 마찬가지로, 도 5는 체커 IP(200)가 하나의 제어 신호 경로(240)를 포함하는 것으로 도시하지만, 이에 제한되지 않으며, 체커 IP(200)는 복수의 제어 신호 경로들을 포함할 수 있다.
체커 IP(200)는 제2 신호(SIG_2)를 전달하거나, 제2 신호(SIG_2)를 처리함으로써 제4 신호(SIG_4)를 출력할 수 있다. 이 때, 제어 신호 경로(240)는, 제2 신호(SIG_2)가 체커 IP(200)에 입력된 이후 제4 신호(SIG_4)로 출력되기까지 거치는 모든 회로 요소들을 포함하는 개념일 수 있다.
일 실시 예에서, 체커 IP(200)는 메인 IP(100)의 복제를 기반으로 설계될 수 있다. 이에 따라, 체커 IP(200)의 제어 신호 경로(240)는 메인 IP(100)의 제어 신호 경로(140)와 실질적으로 동일한 회로 구성 요소들을 포함할 수 있다. 체커 IP(200)의 데이터 경로(220)는, 메인 IP(100)의 데이터 경로(120)를 복제한 뒤, 모든 입력들이 타이(tie) 되도록 한 뒤, 경계 최적화(boundary optimization)를 통해 설계될 수 있다. 이에 따라, 체커 IP(200)의 데이터 경로(220)로는 어떠한 신호도 입력되지 않을 수 있으며, 체커 IP(200)의 데이터 경로(220)는 어떠한 출력 신호도 출력하지 않을 수 있다. 다시 말해, 체커 IP(200)의 데이터 경로(200)의 입력 및 입력에 의존하는 출력은 생략될 수 있다.
체커 IP(200)의 데이터 경로(220)는 메인 IP(100)의 데이터 경로(120)에 비해 사이즈가 작을 수 있다. 이에 따라, 체커 IP(200)의 사이즈는 메인 IP(100)의 사이즈보다 작을 수 있다. 다시 말해, 전자 시스템(10)이 시스템 온 칩으로 구현되는 경우, 체커 IP(200)가 칩 상에서 차지하는 면적은 메인 IP(100)가 칩 상에서 차지하는 면적에 비해 작을 수 있다.
도 6은 본 개시의 예시적 실시 예에 따른 전자 시스템의 동작 방법의 순서도를 나타낸다. 도 6은 도 1, 도 3 및 도 5를 함께 참조하여 설명된다.
데이터 및/또는 제어 신호가 메인 IP(100) 및 체커 IP(200)에 입력될 수 있다(S100). S100 단계에 대해서는 도 7을 참조해 보다 자세히 설명된다.
전자 시스템(10)은 메인 IP(100)로부터 출력되는 데이터, 제어 신호 및 체커 IP(200)로부터 출력되는 제어 신호를 기초로 에러를 검출할 수 있다(S200). 예를 들어, 전자 시스템(10)은 메인 IP(100)로부터 출력되는 출력 데이터를 기초로 데이터의 에러를 검출할 수 있으며, 메인 IP(100)로부터 출력되는 제3 신호(SIG_3) 및 체커 IP(200)로부터 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다. S200 단계에 대해서는 도 8을 참조해 보다 자세히 설명된다.
도 7은 본 개시의 예시적 실시 예에 따른 전자 시스템의 데이터 및 신호 전달 방법의 순서도를 나타낸다. 특히, 도 7은 도 6의 S100 단계에 대응되는 세부 순서도를 나타낼 수 있다. 도 7은 도 1, 도 3 및 도 5를 함께 참조하여 설명된다.
전자 시스템(10)은 데이터(DATA)를 ECC 인코딩 함으로써 인코딩 된 데이터(DATA_ENC)를 생성할 수 있다(S120). 예를 들어, ECC 인코더(300)는 데이터(DATA)를 ECC 인코딩 함으로써 인코딩 된 데이터(DATA_ENC)를 생성할 수 있다. 인코딩 된 데이터(DATA_ENC)는 데이터(DATA) 및 데이터(DATA)를 기초로 생성된 체커 데이터를 포함할 수 있으며, 이에 따라, 인코딩 된 데이터(DATA_ENC)의 비트 수는 데이터(DATA)의 비트 수보다 클 수 있다.
전자 시스템(10)에 포함된 메인 IP(100)는, 인코딩 된 데이터(DATA_ENC)를 기초로, 메인 IP(100)의 데이터 경로(120)를 통해 출력 데이터(DATA_OUT)를 출력할 수 있다(S140). 메인 IP(100)는 인코딩 된 데이터(DATA_ENC)를 출력 데이터(DATA_OUT)로서 전달할 수 있으며, 또는 인코딩 된 데이터(DATA_ENC)를 처리함으로써 출력 데이터(DATA_OUT)를 출력할 수 있다.
전자 시스템(10)에 포함된 메인 IP(100)는, 제1 신호(SIG_1)를 기초로, 메인 IP(100)의 제어 신호 경로(140)를 통해 제3 신호(SIG_3)를 출력할 수 있다(S160). 메인 IP(100)는 제1 신호(SIG_1)를 제3 신호(SIG_3)로서 전달할 수 있으며, 또는 제1 신호(SIG_1)를 처리함으로써 제3 신호(SIG_3)를 출력할 수 있다.
전자 시스템(10)에 포함된 체커 IP(200)는, 제2 신호(SIG_2)를 기초로, 체커 IP(200)의 제어 신호 경로(240)를 통해 제4 신호(SIG_4)를 출력할 수 있다(S180). 체커 IP(200)는 제2 신호(SIG_2)를 제4 신호(SIG_4)로서 전달할 수 있으며, 또는 제2 신호(SIG_2)를 처리함으로써 제4 신호(SIG_4)를 출력할 수 있다. 일 실시 예에서, 제2 신호(SIG_2)는 제1 신호(SIG_1)가 사전 결정된 클락 사이클만큼 지연된 신호를 나타낼 수 있다.
도 8은 본 개시의 예시적 실시 예에 따른 전자 시스템의 결함 검출 방법의 순서도를 나타낸다. 특히, 도 8은 도 6의 S200 단계에 대응되는 세부 순서도를 나타낼 수 있다. 도 8은 도 1, 도 3 및 도 5를 함께 참조하여 설명된다.
전자 시스템(10)은 메인 IP(100)로부터 출력되는 출력 데이터(DATA_OUT)를 ECC 디코딩 함으로써 데이터의 에러를 검출할 수 있다(S220). 예를 들어, 에러 검출 회로(450)는 메인 IP(100)의 데이터 경로(120)를 통해 출력되는 출력 데이터(DATA_OUT)를 ECC 디코딩 함으로써 데이터의 에러를 검출할 수 있다. 이를 위해, 에러 검출 회로(450)는 ECC 디코더(400)를 포함할 수 있다. 다시 말해, ECC 디코더(400)는 메인 IP(100)의 데이터 경로(120)를 통해 출력되는 출력 데이터(DATA_OUT)를 ECC 디코딩 함으로써 데이터의 에러를 검출할 수 있다. ECC 디코더(400)는 데이터 에러 검출 결과를 데이터 에러 검출 신호(DED)로서 출력할 수 있으며, 데이터 에러 검출 신호(DED)를 결함 수집 회로(600)에 제공할 수 있다.
전자 시스템(10)은 메인 IP(100)로부터 출력되는 제3 신호(SIG_3) 및 체커 IP(200)로부터 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다(S240). 예를 들어, 에러 검출 회로(450)는 메인 IP(100)의 제어 신호 경로(140)를 통해 출력되는 제3 신호(SIG_3) 및 체커 IP(200)의 제어 신호 경로(240)를 통해 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다. 또는, 예를 들어, 에러 검출 회로(450)는 메인 IP(100)의 제어 신호 경로(140)를 통해 출력되는 제3 신호(SIG_3)가 사전 결정된 클락 사이클만큼 지연된 신호인 제5 신호 및 체커 IP(200)의 제어 신호 경로(240)를 통해 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다. 이를 위해, 에러 검출 회로(450)는 체커 회로(500)를 포함할 수 있다. 다시 말해, 체커 회로(500)는 메인 IP(100)의 제어 신호 경로(140)를 통해 출력되는 제3 신호(SIG_3) 및 체커 IP(200)의 제어 신호 경로(240)를 통해 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다. 체커 회로(500)는 제어 신호의 에러 검출 결과를 제어 신호 에러 검출 신호(SED)로서 출력할 수 있으며, 제어 신호 에러 검출 신호(SED)를 결함 수집 회로(600)에 제공할 수 있다.
전자 시스템(10)은 데이터 에러 검출 결과 및 제어 신호 에러 검출 결과를 기초로 전자 시스템(10)의 결함을 검출해낼 수 있다(S260). 예를 들어, 결함 수집 회로(600)는, ECC 디코더(400)로부터 수신되는 데이터 에러 검출 신호(DED) 및 체커 회로(500)로부터 수신되는 제어 신호 에러 검출 신호(SED)를 기초로, 전자 시스템(10) 내에서 처리되는 데이터 및/또는 신호의 결함을 검출해낼 수 있다. 결함 수집 회로(600)는, 데이터 에러 검출 신호(DED) 및 제어 신호 에러 검출 신호(SED)를 기초로, 결함 검출 신호(FD)를 출력할 수 있다.
도 9는 본 개시의 예시적 실시 예에 따른 전자 시스템(10)을 나타낸다. 도 9의 전자 시스템(10)은, 도 2의 전자 시스템(10)에 도 3의 메인 IP(100) 및 도 5의 체커 IP(200)가 적용된 실시 예를 도시한다. 즉, 도 9의 전자 시스템(10)에 관해 도 1 내지 도 8과 중복되는 설명은 생략한다.
전자 시스템(10)은 메인 IP(100), 체커 IP(200), ECC 인코더(300), ECC 디코더(400), 체커 회로(500), 결함 수집 회로(600), 제1 지연 회로(720) 및 제2 지연 회로(740)를 포함할 수 있다.
메인 IP(100)는 제1 데이터 경로(120) 및 제1 제어 신호 경로(140)를 포함할 수 있다. 메인 IP(100)는, 인코딩 된 데이터(DATA_ENC)를 기초로, 제1 데이터 경로(120)를 통해 출력 데이터(DATA_OUT)를 출력할 수 있다. 메인 IP(100)는, 제1 신호(SIG_1)를 기초로, 제1 제어 신호 경로(140)를 통해 제3 신호(SIG_3)를 출력할 수 있다.
제1 지연 회로(720)는 제1 신호(SIG_1)를 사전 결정된 클락 사이클만큼 지연시킴으로써 제2 신호(SIG_2)를 생성할 수 있으며, 생성된 제2 신호(SIG_2)를 체커 IP(200)에 제공할 수 있다.
체커 IP(200)는 제2 데이터 경로(220) 및 제2 제어 신호 경로(240)를 포함할 수 있다. 체커 IP(200)는, 제2 신호(SIG_2)를 기초로, 제2 제어 신호 경로(240)를 통해 제4 신호(SIG_4)를 출력할 수 있다. 제2 데이터 경로(220)로는 어떠한 데이터도 입력되지 않으며, 제2 데이터 경로(220)는 어떠한 데이터도 출력하지 않을 수 있다.
ECC 디코더(400)는 제1 데이터 경로(120)를 통해 출력되는 출력 데이터(DATA_OUT)를 이용해 데이터의 에러를 검출할 수 있다.
제2 지연 회로(740)는 제1 제어 신호 경로(140)를 통해 출력되는 제3 신호(SIG_3)를 사전 결정된 클락 사이클만큼 지연시킴으로써 제5 신호(SIG_5)를 생성할 수 있으며, 생성된 제5 신호(SIG_5)를 체커 회로(500)에 제공할 수 있다.
체커 회로(500)는 제5 신호(SIG_5) 및 제2 제어 신호 경로(240)를 통해 출력되는 제4 신호(SIG_4)를 기초로 제어 신호의 에러를 검출할 수 있다.
도 10은 본 개시의 예시적 실시 예에 따른 체커 IP의 설계 순서도를 나타낸다. 도 10은 도 1을 함께 참조하여 설명된다.
전자 시스템(10)의 설계자는 메인 IP(100)의 설계 소스 데이터를 획득할 수 있다(S320). 예를 들어, 설계자는 HDL(Hardware Description Language) 언어 등으로 구현된 메인 IP(100)의 설계 소스 데이터를 획득할 수 있다.
설계자는 메인 IP(100)의 데이터 경로의 모든 입력들을 타이(tie) 할 수 있다(S340). 예를 들어, 설계자는 메인 IP(100)의 설계 소스 데이터를 기반으로 데이터 경로의 모든 입력들이 타이(tie) 되도록 함수를 설정할 수 있다.
설계자는 회로를 합(synthesis)성할 수 있다(S360). 즉, S340 단계에 따라 최종적으로 획득된 소스 데이터를 기초로 회로를 합성할 수 있다.
설계자는 체커 IP(200)의 넷리스트(NetList)를 획득할 수 있다(S380). 넷리스트는 레이아웃(layout) 과정 등을 통해 실제 칩으로 구현 가능한 형태의 데이터를 나타낸다.
도 11은 본 개시의 예시적 실시 예에 따른 전자 시스템(20)을 나타낸다. 도 11은 도 2의 전자 시스템(10)의 ECC 인코더(300), ECC 디코더(400), 체커 회로(500) 및 결함 수집 회로(600)가 하나의 제어 회로(800)로서 구현된 실시 예를 도시한다. 도 11에 관해 앞선 도 1 내지 도 9와 중복되는 설명은 생략한다.
전자 시스템(20)은 메인 IP(100), 체커 IP(200), 제어 회로(800), 제1 지연 회로(720) 및 제2 지연 회로(740)를 포함할 수 있다. 제어 회로(800)는 ECC 인코더(300), ECC 디코더(400), 체커 회로(500) 및 결함 수집 회로(600)를 포함할 수 있다.
일 실시 예에서, 제어 회로(800)는 디지털 회로로서 구현되어, ECC 인코더(300), ECC 디코더(400), 체커 회로(500) 및 결함 수집 회로(600)의 기능을 모두 수행할 수 있다. 예를 들어, 제어 회로(800)는 데이터(DATA)에 ECC 인코딩을 수행함으로써 인코딩 된 데이터(DATA_ENC)를 메인 IP(100)에 제공할 수 있다. 또한 예를 들어, 제어 회로(800)는 메인 IP(100)로부터 출력되는 출력 데이터(DATA_OUT)에 ECC 디코딩을 수행함으로써 데이터의 에러를 검출할 수 있다. 또한 예를 들어, 제어 회로(800)는 제4 신호(SIG_4) 및 제5 신호(SIG_5)를 이용해 제어 신호의 에러를 검출할 수 있다. 제어 회로(800)는 데이터 에러 검출 결과 및 제어 신호 에러 검출 결과를 기초로 전자 시스템(20)에 대한 결함 검출 신호(FD)를 출력할 수 있다.
도 12는 본 개시의 예시적 실시 예에 따른 버스 시스템(1000), 제1 IP(1001) 및 제2 IP(1002)를 나타낸다. 도 12의 버스 시스템(1000)은 도 1 내지 도 11을 참조하여 설명된 전자 시스템(10, 20)이 버스 시스템에 적용된 실시 예를 도시한다. 다시 말해, 도 1 내지 도 11을 참조해 설명된 구성들의 기능은 도 12에도 마찬가지로 적용될 수 있다.
제1 IP(1001)과 제2 IP(1002)는 버스 시스템(1000)을 통해 데이터 또는 다양한 신호를 서로 주고 받을 수 있다.
버스 시스템(1000)은 버스 컴포넌트(1100), 복제 버스 컴포넌트(1200), ECC 인코더(1300), ECC 디코더(1400), 체커 회로(1500), 결함 수집 회로(1600), 제1 지연 회로(1720) 및 제2 지연 회로(1740)를 포함할 수 있다.
버스 컴포넌트(1100)는 도 1 내지 도 11을 참조해 설명된 메인 IP(100)에 대응될 수 있다. 버스 컴포넌트(1100)는 제1 데이터 경로 및 제1 제어 신호 경로를 포함할 수 있다. 버스 컴포넌트(1100)는 제1 데이터 경로를 통해 인코딩 된 데이터(DATA_ENC)를 전달함으로써 출력 데이터(DATA_OUT)를 출력할 수 있다. 버스 컴포넌트(1100)는, 제1 신호(SIG_1)를 기초로, 제1 제어 신호 경로를 통해 제3 신호(SIG_3)를 출력할 수 있다.
복제 버스 컴포넌트(1200)는 도 1 내지 도 11을 참조해 설명된 체커 IP(200)에 대응될 수 있다. 복제 버스 컴포넌트(1200)는 제2 데이터 경로 및 제2 제어 신호 경로를 포함할 수 있다. 복제 버스 컴포넌트(1200)는, 제2 신호(SIG_2)를 기초로, 제2 제어 신호 경로를 통해 제4 신호(SIG_4)를 출력할 수 있다. 제2 데이터 경로로는 어떠한 데이터도 입력되지 않을 수 있으며, 제2 데이터 경로는 어떠한 데이터도 출력하지 않을 수 있다.
ECC 디코더(1400), 체커 회로(1500), 결함 수집 회로(1600), 제1 지연 회로(1720) 및 제2 지연 회로(1740) 각각은 도 1 내지 도 11을 참조해 설명된 ECC 디코더(400), 체커 회로(500), 결함 수집 회로(600), 제1 지연 회로(720) 및 제2 지연 회로(740)에 대응될 수 있다.
본 개시의 예시적 실시 예에 따른 버스 시스템(1000)에 따르면, 버스 시스템(1000)은 제1 IP(1001)과 제2 IP(1002) 사이에서 송수신 되는 데이터(DATA)의 에러를 신뢰성 높게 검출할 수 있으며, 제어 신호들의 에러를 검출해낼 수 있다. 이와 더불어, 복제 버스 컴포넌트(1200)의 사이즈가 버스 컴포넌트(1100)의 사이즈에 비해 작게 설계가 가능하므로, 설계시 칩 상에서 면적 및/또는 비용이 감소할 수 있다.
도 13은 본 개시의 예시적 실시 예에 따른 주행 보조 시스템(2000)을 나타낸다. 주행 보조 시스템(2000)은 프로세서(2100), 센서부(2200), 통신 모듈(2300), 주행 제어 유닛(2400), 자율 주행 유닛(2500) 및 유저 인터페이스(2600)를 포함할 수 있다.
프로세서(2100)는 주행 보조 시스템(2000)이 적용된 장치의 전반적인 동작을 제어할 수 있다. 프로세서(2100)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 프로세서(2100)는 주행 보조 시스템(2000)의 메모리에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 일 실시 예에서, 프로세서(2100)는 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 등 다양한 종류의 네트워크에 기초한 연산 처리가 가능한 NPU를 포함할 수 있다.
센서부(2200)는 주행 보조 시스템(2000)이 적용된 장치가 센싱한 객체에 관한 정보를 수집할 수 있다. 일 예로, 센서부(2200)는 이미지 센서부일 수 있다. 이 경우, 센서부(2200)는 적어도 하나의 이미지 센서를 포함할 수 있다. 센서부(2200)는 주행 보조 시스템(2000)이 적용된 장치의 외부로부터 이미지 신호를 센싱 또는 수신하고, 상기 이미지 신호를 이미지 데이터, 즉 이미지 프레임으로 변환할 수 있다. 다른 예로, 센서부(2200)는 거리 센서부일 수 있다. 이 경우, 센서부(2200)는 적어도 하나의 거리 센서를 포함할 수 있다. 거리 센서는 예컨대, 라이다(Light Detection and Ranging) 센서, 레이더(radio detection and ranging) 센서, ToF(Time of Flight) 센서, 초음파 센서, 적외선 센서 등 다양한 종류의 센싱 장치 중 적어도 하나를 포함할 수 있다. 한편, 라이다 센서 및 레이더 센서는 유효 측정 거리에 따라 구분될 수 있으며, 예컨대, 라이다 센서는 롱 라이다 센서, 숏 라이다 센서로 구분될 수 있으며, 레이더 센서는 롱 레이더 센서, 숏 레이더 센서로 구분될 수 있다. 한편, 이에 제한되지는 않으며, 센서부(2200)는 지자기 센서(Magnetic sensor), 위치 센서(예컨대, GPS), 가속도 센서(Acceleration sensor), 기압 센서, 온/습도 센서, 근접 센서 및 자이로스코프 센서 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신 모듈(2300)은 주행 보조 시스템(2000)이 적용된 장치의 데이터를 전송 및/또는 수신할 수 있다. 예컨대, 통신 모듈(2300)은 장치의 외부 대상과 통신을 수행할 수 있다. 이 경우 통신 모듈(2300)은 V2X(Vehicle to Everthing) 방식으로 통신을 수행할 수 있다. 예컨대, 통신 모듈(2300)은 V2V(Vehicle to Vehicle), V2I(Vehicle to Infra), V2P(Vehile to Pedestrian) 및 V2N(Vehicle to Nomadic Devices) 방식으로 통신을 수행할 수 있다. 그러나 이에 제한되지 않으며, 통신 모듈(2300)은 공지된 다양한 통신 방식에 의해 데이터를 전송 및 수신할 수 있다. 예컨대, 통신 모듈(2300)은 예를 들면, 3G, LTE, Wi-Fi, 블루투스, BLE(Bluetooth Low Energy), Zigbee, NFC(Near Field Communication), 초음파를 통한 통신 방법 등에 의해 통신을 수행할 수 있으며, 근거리 통신, 원거리 통신을 모두 포함할 수 있다.
주행 제어 유닛(2400)은 차량의 방향을 제어하도록 구성된 차량 조향 장치, 아량 모터 또는 엔진을 제어함으로써 가속 및/또는 감속을 제어하도록 구성된 스로틀 장치(throttle device), 차량의 제동을 제어하도록 구성된 브레이크 장치, 외부 조명 장치 등을 포함할 수 있다.
자율 주행 유닛(2500)은 주행 제어 유닛(2400)의 자율 제어를 구현하도록 구성된 컴퓨팅 장치를 포함할 수 있다. 예컨대, 자율 주행 유닛(2500)은 주행 보조 시스템(2000)이 구현되 장치의 구성 요소들 중 적어도 하나를 포함할 수도 있다. 자율 주행 유닛(2500)은 복수의 프로그램 명령들을 저장하는 메모리 및 상기 프로그램 명령들을 실행하는 하나 이상의 프로세서를 포함할 수 있다. 자율 주행 유닛(2500)은 센서부(2200)으로부터 출력된 센싱 신호에 기반하여 주행 제어 유닛(2400)을 제어하도록 구성될 수 있다.
유저 인터페이스(2600)는 차량의 계기판을 나타내는 디스플레이 등 운전석 또는 조수석 등에 포함된 다양한 전자 장치 및 기계 장치를 포함할 수 있다.
자동차 산업 분야에서는, 에어백 배치 시스템부터 첨단 운전자 보조 시스템(Advanced Driver Assistance System; ADAS)에 이르기까지 높은 수준의 안전 시스템이 요구된다. 대표적인 예로서, 자동차 기능 안전성 국제 표준 ISO 26262을 통해 높은 수준의 안전 시스템이 구비된 전자 장치는 인증될 수 있다. 특히, ISO 26262 ASIL-D 인증을 받기 위해서는, 전자 장치는 SPFM(Single Point Fault Metric)이 99% 이상이 되는 것을 만족시켜야 한다. 즉, 높은 수준의 안전이 필요한 전자 장치에는 단일 지점 오류의 99% 이상을 검출해낼 것이 요구되고 있다.
도 1 내지 도 12를 참조해 설명된 전자 시스템(10, 20)은 주행 보조 시스템(2000)에 포함된 프로세서(2100), 센서부(2200), 통신 모듈(2300), 주행 제어 유닛(2400), 자율 주행 유닛(2500) 및 유저 인터페이스(2600) 중 적어도 하나에 적용될 수 있다.
본 개시의 예시적 실시 예에 따른 전자 시스템(10, 20)이 적용된 주행 보조 시스템(2000)은 단일 지점 오류의 99% 이상을 검출해낼 수 있으며, 이와 더불어 설계상 면적을 감소시킬 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들이 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 전자 시스템으로서,
    제1 데이터 경로 및 제1 제어 신호 경로를 포함하는 메인 IP;
    제2 제어 신호 경로를 포함하는 체커 IP; 및
    상기 제1 데이터 경로를 통해 출력되는 출력 데이터를 ECC 디코딩 함으로써 데이터의 에러를 검출하고, 상기 제1 제어 신호 경로를 통해 출력되는 제1 신호 및 상기 제2 제어 신호 경로를 통해 출력되는 제2 신호를 기초로 제어 신호의 에러를 검출하도록 구성되는 에러 검출 회로를 포함하는 전자 시스템.
  2. 제1항에 있어서,
    상기 에러 검출 회로는,
    상기 출력 데이터를 이용해 ECC 디코딩 함으로써 데이터 에러 검출 신호를 출력하도록 구성되는 ECC 디코더; 및
    상기 제1 신호 및 상기 제2 신호를 기초로 제어 신호 에러 검출 신호를 출력하도록 구성되는 체커 회로(checker circuit)를 포함하는 것을 특징으로 하는 전자 시스템.
  3. 제2항에 있어서,
    상기 ECC 디코더로부터 수신되는 상기 데이터 에러 검출 신호 및 상기 체커 회로로부터 수신되는 상기 제어 신호 에러 검출 신호를 기초로 상기 전자 시스템에 대한 결함 검출 신호를 출력하도록 구성되는 결함 수집 회로(Fault Collection Circuit)를 더 포함하는 것을 특징으로 하는 전자 시스템.
  4. 제1항에 있어서,
    상기 제1 제어 신호 경로는, 상기 메인 IP로 입력되는 제3 신호를 기초로, 상기 제1 신호를 출력하고,
    상기 제2 제어 신호 경로는, 상기 체커 IP로 입력되며, 상기 제3 신호에 비해 사전 결정된 클락 사이클(clock cycle)만큼 지연된 제4 신호를 기초로, 상기 제2 신호를 출력하고,
    상기 에러 검출 회로는,
    상기 제1 신호를 상기 사전 결정된 클락 사이클만큼 지연시킨 제5 신호를 상기 제2 신호와 비교함으로써 상기 제어 신호의 에러를 검출하는 것을 특징으로 하는 전자 시스템.
  5. 제4항에 있어서,
    상기 제3 신호를 상기 사전 결정된 사이클만큼 지연시킴으로써 상기 제4 신호를 생성하도록 구성되는 제1 지연 회로; 및
    상기 제1 신호를 상기 사전 결정된 사이클만큼 지연시킴으로써 상기 제5 신호를 생성하도록 구성되는 제2 지연 회로를 더 포함하는 것을 특징으로 하는 전자 시스템.
  6. 제1항에 있어서,
    입력 데이터에 ECC 인코딩을 수행함으로써 인코딩 된 데이터를 생성하고, 상기 인코딩 된 데이터를 상기 메인 IP에 제공하도록 구성되는 ECC 인코더를 더 포함하는 것을 특징으로 하는 전자 시스템.
  7. 제6항에 있어서,
    상기 인코딩 된 데이터는,
    상기 입력 데이터 및 상기 입력 데이터를 기초로 생성되는 체커 데이터를 포함하는 것을 특징으로 하는 전자 시스템.
  8. 제1항에 있어서,
    상기 제2 제어 신호 경로는,
    상기 제1 제어 신호 경로와 실질적으로(substantially) 동일한 회로 요소들을 포함하는 것을 특징으로 하는 전자 시스템.
  9. 제1항에 있어서,
    상기 체커 IP는,
    상기 제1 데이터 경로의 복제(duplication) 후 모든 입력들이 타이(tie)되고, 경계 최적화(boundary optimization)를 통해 생성된 제2 데이터 경로를 더 포함하는 것을 특징으로 하는 전자 시스템.
  10. 제9항에 있어서,
    상기 제2 데이터 경로는,
    입력 및 상기 입력에 의존한 출력이 생략된 것을 특징으로 하는 전자 시스템.
  11. 제9항에 있어서,
    상기 전자 시스템은, 시스템 온 칩(System-on-Chip)으로 구현되고,
    상기 제2 데이터 경로가 상기 시스템 온 칩의 칩 상에서 차지하는 회로 면적은,
    상기 제1 데이터 경로가 상기 시스템 온 칩의 상기 칩 상에서 차지하는 회로 면적에 비해 작은 것을 특징으로 하는 전자 시스템.
  12. 제1 IP 및 제2 IP를 포함하는 전자 시스템의 결함 검출 방법으로서,
    상기 제1 IP의 제1 데이터 경로로부터 출력되는 출력 데이터를 ECC 디코딩함으로써 입력 데이터의 에러를 검출하는 단계; 및
    상기 제1 IP의 제1 제어 신호 경로로부터 출력되는 제1 신호 및 상기 제2 IP의 제2 제어 신호 경로로부터 출력되는 제2 신호를 기초로 제어 신호의 에러를 검출하는 단계를 포함하는 전자 시스템의 결함 검출 방법.
  13. 제12항에 있어서,
    상기 제어 신호의 에러를 검출하는 단계는,
    상기 제1 신호를 사전 결정된 클락 사이클만큼 지연시킴으로써 제3 신호를 생성하는 단계; 및
    상기 제3 신호를 상기 제2 신호와 비교함으로써 제어 신호 에러 검출 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법.
  14. 제13항에 있어서,
    상기 제1 IP가, 제4 신호를 기초로, 상기 제1 제어 신호 경로를 통해 상기 제1 신호를 출력하는 단계;
    상기 제4 신호를 상기 사전 결정된 클락 사이클만큼 지연시킴으로써 제5 신호를 생성하는 단계; 및
    상기 제2 IP가, 상기 제5 신호를 기초로, 상기 제2 제어 신호 경로를 통해 상기 제2 신호를 출력하는 단계를 더 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법.
  15. 제12항에 있어서,
    상기 입력 데이터를 ECC 인코딩함으로써 인코딩 된 데이터를 생성하는 단계; 및
    상기 제1 IP가, 상기 인코딩 된 데이터를 기초로 상기 제1 데이터 경로를 통해 상기 출력 데이터를 출력하는 단계를 더 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법.
  16. 제12항에 있어서,
    상기 제2 IP는,
    상기 제1 데이터 경로의 복제(duplication) 후 모든 입력들이 타이(tie)되고, 경계 최적화(boundary optimization)를 통해 생성된 제2 데이터 경로를 더 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법.
  17. 제16항에 있어서,
    상기 제2 데이터 경로는,
    입력 및 상기 입력에 의존한 출력이 생략된 것을 특징으로 하는 전자 시스템의 결함 검출 방법.
  18. 시스템 온 칩으로서,
    입력 데이터를 ECC 인코딩함으로써 인코딩 된 데이터를 생성하도록 구성되는 ECC 인코더;
    상기 인코딩 된 데이터를 기초로 제1 데이터 경로를 통해 출력 데이터를 출력하고, 제1 제어 신호를 기초로 제1 제어 신호 경로를 통해 제2 제어 신호를 출력하도록 구성되는 메인 IP;
    상기 제1 제어 신호를 사전 결정된 클락 사이클만큼 지연시킴으로써 제3 제어 신호를 생성하도록 구성되는 제1 지연 회로;
    상기 제3 제어 신호를 기초로 제2 제어 신호 경로를 통해 제4 제어 신호를 출력하도록 구성되는 체커 IP;
    상기 출력 데이터를 ECC 디코딩함으로써 데이터의 에러를 검출하도록 구성되는 ECC 디코더;
    상기 제2 제어 신호를 상기 사전 결정된 클락 사이클만큼 지연시킴으로써 제5 제어 신호를 생성하도록 구성되는 제2 지연 회로; 및
    상기 제4 제어 신호 및 상기 제5 제어 신호를 비교함으로써 제어 신호의 에러를 검출하도록 구성되는 체커 회로를 포함하는 시스템 온 칩.
  19. 제18항에 있어서,
    상기 ECC 디코더로부터 수신되는 데이터 에러 검출 신호 및 상기 체커 회로로부터 수신되는 제어 신호 에러 검출 신호를 기초로 상기 시스템 온 칩에 대한 결함 검출 신호를 출력하도록 구성되는 결함 수집 회로(Fault Collection Circuit)를 더 포함하는 것을 특징으로 하는 시스템 온 칩.
  20. 제18항에 있어서,
    상기 제2 제어 신호 경로는,
    상기 제1 제어 신호 경로와 실질적으로(substantially) 동일한 회로 요소들을 포함하는 것을 특징으로 하는 시스템 온 칩.
KR1020190146178A 2019-11-14 2019-11-14 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템 KR20210058566A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020190146178A KR20210058566A (ko) 2019-11-14 2019-11-14 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템
DE102020118811.0A DE102020118811A1 (de) 2019-11-14 2020-07-16 Elektronische Systeme, Defekterfassungsverfahren davon, Ein-Chip-Systeme und Bussysteme
CN202010713686.4A CN112799871A (zh) 2019-11-14 2020-07-22 电子系统及其故障检测方法、片上系统和总线系统
US16/939,310 US11204837B2 (en) 2019-11-14 2020-07-27 Electronic systems, fault detecting methods thereof, system on chips, and bus systems
SG10202009822VA SG10202009822VA (en) 2019-11-14 2020-10-02 Electronic systems, fault detecting methods thereof, system on chips, and bus systems
US17/536,580 US11614996B2 (en) 2019-11-14 2021-11-29 Electronic systems, fault detecting methods thereof, system on chips, and bus systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146178A KR20210058566A (ko) 2019-11-14 2019-11-14 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템

Publications (1)

Publication Number Publication Date
KR20210058566A true KR20210058566A (ko) 2021-05-24

Family

ID=75683975

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146178A KR20210058566A (ko) 2019-11-14 2019-11-14 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템

Country Status (5)

Country Link
US (2) US11204837B2 (ko)
KR (1) KR20210058566A (ko)
CN (1) CN112799871A (ko)
DE (1) DE102020118811A1 (ko)
SG (1) SG10202009822VA (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116125853A (zh) * 2022-11-28 2023-05-16 地平线(上海)人工智能技术有限公司 集成电路的安全控制方法、装置、存储介质及电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719514A (en) * 1995-03-31 1998-02-17 Ando Electric Co., Ltd. Delay circuit compensating for variations in delay time
US7085959B2 (en) 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
US8185812B2 (en) * 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
EP1604281B1 (en) * 2003-03-20 2006-08-09 ARM Limited Systematic and random error detection and recovery within processing stages of an integrated circuit
US7260001B2 (en) * 2003-03-20 2007-08-21 Arm Limited Memory system having fast and slow data reading mechanisms
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
US8650470B2 (en) * 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
DE602004001679T2 (de) * 2003-03-20 2007-08-02 Arm Ltd., Cherry Hinton Speichersystem mit sequenziell ausgeführten schnellen und langsamen lesezugriffen
US7496786B2 (en) 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
CN103443774A (zh) 2007-09-25 2013-12-11 富士通株式会社 信息处理装置和控制方法
EP2537091A4 (en) 2010-02-16 2014-08-06 Freescale Semiconductor Inc DATA PROCESSING METHOD, DATA PROCESSOR, AND APPARATUS COMPRISING DATA PROCESSOR
US8966355B2 (en) 2012-02-15 2015-02-24 Infineon Technologies Ag Apparatus and method for comparing pairs of binary words
DE102012024818A1 (de) 2012-03-06 2013-09-12 Conti Temic Microelectronic Gmbh Verfahren zur Verbesserung der funktionalen Sicherheit und Steigerung der Verfügbarkeit eines elektronischen Regelungssystems sowie ein elektronisches Regelungssystem
JP2014052971A (ja) * 2012-09-10 2014-03-20 Toshiba Corp 半導体集積回路
US9417945B2 (en) * 2014-03-05 2016-08-16 International Business Machines Corporation Error checking and correction for NAND flash devices
US10298271B2 (en) 2015-02-03 2019-05-21 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
EP3085596B1 (en) 2015-04-20 2017-11-29 Autoliv Development AB A vehicle safety electronic control system
JP2016208164A (ja) * 2015-04-20 2016-12-08 ソニー株式会社 通信装置、通信システム、および通信方法
DE102016102259A1 (de) 2016-02-10 2017-08-10 Hella Kgaa Hueck & Co. Rechner- und Funktionsarchitektur zur Erhöhung der Ausfallsicherheit einer Hilfskraftlenkung
KR102647418B1 (ko) * 2016-06-23 2024-03-13 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US9983930B2 (en) 2016-07-28 2018-05-29 Qualcomm Incorporated Systems and methods for implementing error correcting code regions in a memory
JP2019061392A (ja) 2017-09-26 2019-04-18 ルネサスエレクトロニクス株式会社 マイクロコントローラ及びマイクロコントローラの制御方法
DE102017218643A1 (de) 2017-10-19 2019-04-25 Volkswagen Aktiengesellschaft Funktionsmodul, Steuereinheit für ein Betriebsassistenzsystem und Arbeitsvorrichtung

Also Published As

Publication number Publication date
CN112799871A (zh) 2021-05-14
US20220093470A1 (en) 2022-03-24
DE102020118811A1 (de) 2021-05-20
US20210149765A1 (en) 2021-05-20
US11614996B2 (en) 2023-03-28
SG10202009822VA (en) 2021-06-29
US11204837B2 (en) 2021-12-21

Similar Documents

Publication Publication Date Title
US11288145B2 (en) Workload repetition redundancy
US11977913B2 (en) Buffer checker for task processing fault detection
KR102094878B1 (ko) 반도체 메모리 장치 및 동작 방법
US9641809B2 (en) Circuit arrangement and method for processing a digital video stream and for detecting a fault in a digital video stream, digital video system and computer readable program product
US9207326B2 (en) Communication system, transmission device and receiving device
US11360870B2 (en) Functional safety compliant self-testing
US11614996B2 (en) Electronic systems, fault detecting methods thereof, system on chips, and bus systems
JP4539427B2 (ja) 画像処理装置
US20230205624A1 (en) Integrity check device for safety sensitive data and electronic device including the same
KR101637998B1 (ko) 에스피아이 통신 장치 및 방법
US11940866B2 (en) Verifying processing logic of a graphics processing unit
US11173899B2 (en) Control device and method for forward collision avoidance in vehicle
US20220144298A1 (en) Device for providing image data
KR101816266B1 (ko) 순환 중복 검사 코드 생성기 및 검사기
US20240059301A1 (en) Device and method for computing driving parameters
US20240129364A1 (en) Gateway for connection to a host processor and multiple slaves and method for operating the gateway
KR102677512B1 (ko) 안전 로직을 포함하는 장치
US20230085149A1 (en) Intra-chip and inter-chip data protection
US20200353884A1 (en) System on chip
US20230401140A1 (en) Method for carrying out data processing
Kragulj et al. One solution of complex ADAS HW system testing
CN117896038A (zh) 与主处理器和多个从设备连接的网关和运行该网关的方法
WO2021138242A1 (en) Robust frame size error detection and recovery mechanism
KR20210036201A (ko) 안전 로직을 포함하는 장치

Legal Events

Date Code Title Description
A201 Request for examination