KR20210058566A - 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템 - Google Patents
전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000001514 detection method Methods 0.000 claims abstract description 81
- 230000007547 defect Effects 0.000 claims description 45
- 230000003111 delayed effect Effects 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 15
- 125000004122 cyclic group Chemical group 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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/7817—Specially adapted for signal processing, e.g. Harvard architectures
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/02—Manufacture or treatment of semiconductor devices or of parts thereof
- H01L21/04—Manufacture 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/18—Manufacture 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/28—Manufacture of electrodes on semiconductor bodies using processes or apparatus not provided for in groups H01L21/20 - H01L21/268
- H01L21/28008—Making conductor-insulator-semiconductor electrodes
- H01L21/28017—Making conductor-insulator-semiconductor electrodes the insulator being formed after the semiconductor body, the semiconductor being silicon
- H01L21/28158—Making the insulator
- H01L21/28167—Making the insulator on single crystalline silicon, e.g. using a liquid, i.e. chemical oxidation
- H01L21/28185—Making 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/70—Manufacture 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/77—Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
- H01L21/78—Manufacture 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/82—Manufacture 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/822—Manufacture 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/8232—Field-effect technology
- H01L21/8234—MIS technology, i.e. integration processes of field effect transistors of the conductor-insulator-semiconductor type
- H01L21/823462—MIS 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/04—Devices 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/08—Devices 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/085—Devices 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/088—Devices 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/0886—Devices 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L29/00—Semiconductor 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/40—Electrodes ; Multistep manufacturing processes therefor
- H01L29/43—Electrodes ; Multistep manufacturing processes therefor characterised by the materials of which they are formed
- H01L29/49—Metal-insulator-semiconductor electrodes, e.g. gates of MOSFET
- H01L29/51—Insulating materials associated therewith
- H01L29/517—Insulating 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
본 개시의 기술적 사상은 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템에 관한 것으로서, 데이터 및 다양한 신호들의 에러를 포함하는 결함을 검출하는 전자 시스템, 시스템 온 칩, 버스 시스템 및 전자 시스템의 결함 검출 방법에 관한 것이다.
시스템 온 칩 등을 포함한 반도체 장치는 다양한 산업 분야에서 이용되고 있다. 여러 산업 분야에서 반도체 장치가 이용될 때, 다양한 원인에 의해 반도체 장치에서 처리되는 데이터 및/또는 신호에 에러가 발생할 수 있다. 이러한 에러는 때때로 심각한 제어의 오류를 야기할 수 있기 때문에, 반도체 장치는 데이터 및/또는 신호에 발생한 에러를 검출해낼 수 있어야 한다.
본 개시의 기술적 사상은 전자 시스템, 그것의 결함 검출 방법, 시스템 온 칩 및 버스 시스템에 있어서, 신뢰성 높은 결함 검출을 수행하고, 칩 또는 시스템 구현상 면적 및/또는 비용을 줄이기 위한 방법 및 장치를 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 전자 시스템은, 제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은 본 개시의 예시적 실시 예에 따른 주행 보조 시스템을 나타낸다.
도 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 제어 신호 경로를 포함하는 메인 IP;
제2 제어 신호 경로를 포함하는 체커 IP; 및
상기 제1 데이터 경로를 통해 출력되는 출력 데이터를 ECC 디코딩 함으로써 데이터의 에러를 검출하고, 상기 제1 제어 신호 경로를 통해 출력되는 제1 신호 및 상기 제2 제어 신호 경로를 통해 출력되는 제2 신호를 기초로 제어 신호의 에러를 검출하도록 구성되는 에러 검출 회로를 포함하는 전자 시스템. - 제1항에 있어서,
상기 에러 검출 회로는,
상기 출력 데이터를 이용해 ECC 디코딩 함으로써 데이터 에러 검출 신호를 출력하도록 구성되는 ECC 디코더; 및
상기 제1 신호 및 상기 제2 신호를 기초로 제어 신호 에러 검출 신호를 출력하도록 구성되는 체커 회로(checker circuit)를 포함하는 것을 특징으로 하는 전자 시스템. - 제2항에 있어서,
상기 ECC 디코더로부터 수신되는 상기 데이터 에러 검출 신호 및 상기 체커 회로로부터 수신되는 상기 제어 신호 에러 검출 신호를 기초로 상기 전자 시스템에 대한 결함 검출 신호를 출력하도록 구성되는 결함 수집 회로(Fault Collection Circuit)를 더 포함하는 것을 특징으로 하는 전자 시스템. - 제1항에 있어서,
상기 제1 제어 신호 경로는, 상기 메인 IP로 입력되는 제3 신호를 기초로, 상기 제1 신호를 출력하고,
상기 제2 제어 신호 경로는, 상기 체커 IP로 입력되며, 상기 제3 신호에 비해 사전 결정된 클락 사이클(clock cycle)만큼 지연된 제4 신호를 기초로, 상기 제2 신호를 출력하고,
상기 에러 검출 회로는,
상기 제1 신호를 상기 사전 결정된 클락 사이클만큼 지연시킨 제5 신호를 상기 제2 신호와 비교함으로써 상기 제어 신호의 에러를 검출하는 것을 특징으로 하는 전자 시스템. - 제4항에 있어서,
상기 제3 신호를 상기 사전 결정된 사이클만큼 지연시킴으로써 상기 제4 신호를 생성하도록 구성되는 제1 지연 회로; 및
상기 제1 신호를 상기 사전 결정된 사이클만큼 지연시킴으로써 상기 제5 신호를 생성하도록 구성되는 제2 지연 회로를 더 포함하는 것을 특징으로 하는 전자 시스템. - 제1항에 있어서,
입력 데이터에 ECC 인코딩을 수행함으로써 인코딩 된 데이터를 생성하고, 상기 인코딩 된 데이터를 상기 메인 IP에 제공하도록 구성되는 ECC 인코더를 더 포함하는 것을 특징으로 하는 전자 시스템. - 제6항에 있어서,
상기 인코딩 된 데이터는,
상기 입력 데이터 및 상기 입력 데이터를 기초로 생성되는 체커 데이터를 포함하는 것을 특징으로 하는 전자 시스템. - 제1항에 있어서,
상기 제2 제어 신호 경로는,
상기 제1 제어 신호 경로와 실질적으로(substantially) 동일한 회로 요소들을 포함하는 것을 특징으로 하는 전자 시스템. - 제1항에 있어서,
상기 체커 IP는,
상기 제1 데이터 경로의 복제(duplication) 후 모든 입력들이 타이(tie)되고, 경계 최적화(boundary optimization)를 통해 생성된 제2 데이터 경로를 더 포함하는 것을 특징으로 하는 전자 시스템. - 제9항에 있어서,
상기 제2 데이터 경로는,
입력 및 상기 입력에 의존한 출력이 생략된 것을 특징으로 하는 전자 시스템. - 제9항에 있어서,
상기 전자 시스템은, 시스템 온 칩(System-on-Chip)으로 구현되고,
상기 제2 데이터 경로가 상기 시스템 온 칩의 칩 상에서 차지하는 회로 면적은,
상기 제1 데이터 경로가 상기 시스템 온 칩의 상기 칩 상에서 차지하는 회로 면적에 비해 작은 것을 특징으로 하는 전자 시스템. - 제1 IP 및 제2 IP를 포함하는 전자 시스템의 결함 검출 방법으로서,
상기 제1 IP의 제1 데이터 경로로부터 출력되는 출력 데이터를 ECC 디코딩함으로써 입력 데이터의 에러를 검출하는 단계; 및
상기 제1 IP의 제1 제어 신호 경로로부터 출력되는 제1 신호 및 상기 제2 IP의 제2 제어 신호 경로로부터 출력되는 제2 신호를 기초로 제어 신호의 에러를 검출하는 단계를 포함하는 전자 시스템의 결함 검출 방법. - 제12항에 있어서,
상기 제어 신호의 에러를 검출하는 단계는,
상기 제1 신호를 사전 결정된 클락 사이클만큼 지연시킴으로써 제3 신호를 생성하는 단계; 및
상기 제3 신호를 상기 제2 신호와 비교함으로써 제어 신호 에러 검출 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법. - 제13항에 있어서,
상기 제1 IP가, 제4 신호를 기초로, 상기 제1 제어 신호 경로를 통해 상기 제1 신호를 출력하는 단계;
상기 제4 신호를 상기 사전 결정된 클락 사이클만큼 지연시킴으로써 제5 신호를 생성하는 단계; 및
상기 제2 IP가, 상기 제5 신호를 기초로, 상기 제2 제어 신호 경로를 통해 상기 제2 신호를 출력하는 단계를 더 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법. - 제12항에 있어서,
상기 입력 데이터를 ECC 인코딩함으로써 인코딩 된 데이터를 생성하는 단계; 및
상기 제1 IP가, 상기 인코딩 된 데이터를 기초로 상기 제1 데이터 경로를 통해 상기 출력 데이터를 출력하는 단계를 더 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법. - 제12항에 있어서,
상기 제2 IP는,
상기 제1 데이터 경로의 복제(duplication) 후 모든 입력들이 타이(tie)되고, 경계 최적화(boundary optimization)를 통해 생성된 제2 데이터 경로를 더 포함하는 것을 특징으로 하는 전자 시스템의 결함 검출 방법. - 제16항에 있어서,
상기 제2 데이터 경로는,
입력 및 상기 입력에 의존한 출력이 생략된 것을 특징으로 하는 전자 시스템의 결함 검출 방법. - 시스템 온 칩으로서,
입력 데이터를 ECC 인코딩함으로써 인코딩 된 데이터를 생성하도록 구성되는 ECC 인코더;
상기 인코딩 된 데이터를 기초로 제1 데이터 경로를 통해 출력 데이터를 출력하고, 제1 제어 신호를 기초로 제1 제어 신호 경로를 통해 제2 제어 신호를 출력하도록 구성되는 메인 IP;
상기 제1 제어 신호를 사전 결정된 클락 사이클만큼 지연시킴으로써 제3 제어 신호를 생성하도록 구성되는 제1 지연 회로;
상기 제3 제어 신호를 기초로 제2 제어 신호 경로를 통해 제4 제어 신호를 출력하도록 구성되는 체커 IP;
상기 출력 데이터를 ECC 디코딩함으로써 데이터의 에러를 검출하도록 구성되는 ECC 디코더;
상기 제2 제어 신호를 상기 사전 결정된 클락 사이클만큼 지연시킴으로써 제5 제어 신호를 생성하도록 구성되는 제2 지연 회로; 및
상기 제4 제어 신호 및 상기 제5 제어 신호를 비교함으로써 제어 신호의 에러를 검출하도록 구성되는 체커 회로를 포함하는 시스템 온 칩. - 제18항에 있어서,
상기 ECC 디코더로부터 수신되는 데이터 에러 검출 신호 및 상기 체커 회로로부터 수신되는 제어 신호 에러 검출 신호를 기초로 상기 시스템 온 칩에 대한 결함 검출 신호를 출력하도록 구성되는 결함 수집 회로(Fault Collection Circuit)를 더 포함하는 것을 특징으로 하는 시스템 온 칩. - 제18항에 있어서,
상기 제2 제어 신호 경로는,
상기 제1 제어 신호 경로와 실질적으로(substantially) 동일한 회로 요소들을 포함하는 것을 특징으로 하는 시스템 온 칩.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116125853A (zh) * | 2022-11-28 | 2023-05-16 | 地平线(上海)人工智能技术有限公司 | 集成电路的安全控制方法、装置、存储介质及电子设备 |
Family Cites Families (23)
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 |
-
2019
- 2019-11-14 KR KR1020190146178A patent/KR20210058566A/ko active Search and Examination
-
2020
- 2020-07-16 DE DE102020118811.0A patent/DE102020118811A1/de active Pending
- 2020-07-22 CN CN202010713686.4A patent/CN112799871A/zh active Pending
- 2020-07-27 US US16/939,310 patent/US11204837B2/en active Active
- 2020-10-02 SG SG10202009822VA patent/SG10202009822VA/en unknown
-
2021
- 2021-11-29 US US17/536,580 patent/US11614996B2/en active Active
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 |