KR20230068957A - System on chip for perporming scan test, and design method therefor - Google Patents
System on chip for perporming scan test, and design method therefor Download PDFInfo
- Publication number
- KR20230068957A KR20230068957A KR1020220033736A KR20220033736A KR20230068957A KR 20230068957 A KR20230068957 A KR 20230068957A KR 1020220033736 A KR1020220033736 A KR 1020220033736A KR 20220033736 A KR20220033736 A KR 20220033736A KR 20230068957 A KR20230068957 A KR 20230068957A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- scan
- test
- flip
- flop
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 123
- 238000013461 design Methods 0.000 title claims description 31
- 238000000034 method Methods 0.000 title claims description 30
- 230000015654 memory Effects 0.000 claims abstract description 45
- 238000011161 development Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 3
- 230000009849 deactivation Effects 0.000 claims description 2
- 230000002779 inactivation Effects 0.000 claims description 2
- 230000000415 inactivating effect Effects 0.000 abstract 2
- 238000010200 validation analysis Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000012795 verification Methods 0.000 description 9
- 230000003936 working memory Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012356 Product development Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Neurology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
본 발명은 스캔 테스트를 수행하는 시스템 온 칩, 및 그것을 설계하는 방법에 관한 것이다.The present invention relates to a system on a chip that performs a scan test, and a method for designing the same.
일반적으로, SoC(System on Chip)은 여러 기능을 가지는 시스템이 하나의 반도체 칩으로 구현되는 것을 의미한다. SoC에 포함된 논리 회로들의 테스트를 위해 테스트를 위한 설계(DFT; Design For Test) 기법이 이용되고 있다. DFT 기법 중 스캔 테스트(scan test)는 입력된 스캔 패턴 데이터를 기반으로 출력되는 데이터를 확인하여 논리 회로를 테스트하는 기술이다. 스캔 테스트를 기반으로 논리 회로의 고착 고장(stuck fault), 천이지연 고장(transition delay fault) 등이 판별될 수 있다.In general, SoC (System on Chip) means that a system having several functions is implemented as a single semiconductor chip. A design for test (DFT) technique is used to test logic circuits included in the SoC. Among the DFT techniques, a scan test is a technique for testing a logic circuit by checking output data based on input scan pattern data. Based on the scan test, a stuck fault, a transition delay fault, and the like of the logic circuit may be determined.
본 발명의 목적은 스캔 테스트의 가용성(availability)을 향상시키는 시스템 온 칩, 및 그것을 설계하는 방법을 제공하는 데 있다.An object of the present invention is to provide a system on a chip that improves the availability of a scan test, and a method for designing the same.
본 발명의 목적은 DFT(Design for Test) 검증 성능을 향상시키는 시스템 온 칩, 및 그것을 설계하는 방법을 제공하는 데 있다.An object of the present invention is to provide a system-on-chip that improves DFT (Design for Test) verification performance, and a method for designing the same.
본 발명의 실시 예에 따른 시스템 온 칩은, 보안 데이터를 저장하는 OTP 메모리; 상기 OTP 메모리로부터 상기 보안 데이터를 읽고, 상기 보안 데이터를 저장하는 적어도 하나의 새도우 레지스터를 포함하는 OTP 제어기; 외부 장치로부터 동작 모드 신호를 수신하고, 상기 동작 모드 신호와 상기 보안 데이터에 대응하는 테스트 유효 신호에 따라 동작 모드가 테스트 모드인 지를 지시하는 테스트 모드 정보를 출력하는 전력 관리 유닛; 및 상기 전력 관리 유닛으로부터 상기 테스트 모드 정보를 수신하고, 상기 외부 장치로부터 테스트 데이터 수신하고, 상기 테스트 데이터 및 테스트 비활성화 신호에 따라 스캔 모드 신호 및 테스트 모드 신호를 출력하는 테스트 회로를 포함하고, 상기 테스트 비활성화 신호는 상기 보안 데이터 중에서 칩 개발 상태를 지시하는 개발 상태 데이터에 대응하는 것을 특징으로 한다.A system on a chip according to an embodiment of the present invention includes an OTP memory for storing security data; an OTP controller including at least one shadow register for reading the security data from the OTP memory and storing the security data; a power management unit that receives an operation mode signal from an external device and outputs test mode information indicating whether an operation mode is a test mode according to the operation mode signal and a test valid signal corresponding to the secure data; and a test circuit that receives the test mode information from the power management unit, receives test data from the external device, and outputs a scan mode signal and a test mode signal according to the test data and a test inactivation signal. The deactivation signal is characterized in that it corresponds to development state data indicating a chip development state among the security data.
본 발명의 다른 실시 예에 따른 시스템 온 칩은, 제 1 조합 논리; 제 2 조합 논리; 제 3 조합 논리; 상기 제 1 조합 논리와 상기 제 2 조합 논리 사이에 연결된 제 1 스캔 플립플롭들; 상기 제 2 조합 논리와 상기 제 3 조합 논리 사이에 연결된 제 2 스캔 플립플롭들; 상기 제 2 조합 논리의 출력 데이터를 수신하고, 상기 출력 데이터를 상기 제 3 조합 논리로 전달하는 스캔 제어 플립플롭; 스캔 데이터를 수신하고, 상기 제 1 스캔 플립플롭들과 상기 제 2 스캔 플립플롭들로 구성된 스캔 체인; 및 스캔 모드 신호에 응답하여 상기 스캔 체인의 출력 신호와 상기 제 3 조합 논리의 출력 신호 중에서 어느 하나를 출력하는 멀티플렉서를 포함하고, 상기 스캔 제어 플립플롭은 스캔 모드시 상기 출력 데이터가 스캔 동작에 영향을 주지 않도록 설계되는 것을 특징으로 한다.A system on a chip according to another embodiment of the present invention includes a first combinational logic; second combinatorial logic; third combinatorial logic; first scan flip-flops coupled between the first combinational logic and the second combinational logic; second scan flip-flops connected between the second combinational logic and the third combinational logic; a scan control flip-flop that receives output data of the second combinational logic and transfers the output data to the third combinational logic; a scan chain configured to receive scan data and to include the first scan flip-flops and the second scan flip-flops; and a multiplexer outputting one of an output signal of the scan chain and an output signal of the third combinational logic in response to a scan mode signal, wherein the scan control flip-flop affects a scan operation when the output data is in the scan mode. It is characterized in that it is designed not to give.
본 발명의 실시 예에 따른 시스템 온 칩의 설계 방법은, 사양에서 OTP(One Time Programming) 데이터를 정의하는 단계; 상기 OTP 데이터가 테스트 혹은 디버깅 접근하는데 영향을 주는 지 판별하는 단계; 및 상기 OTP 데이터가 상기 테스트 혹은 디버깅 접근에 영향을 줄 때, 상기 OTP 데이터를 저장하는데 스캔 제어 플립플롭들을 이용하여 새도우 레지스터를 설계하는 단계를 포함하고, 상기 스캔 제어 플립플롭들의 각각은 스캔 모드시 출력 데이터가 스캔 동작에 영향을 주지 않도록 설계되는 것을 특징으로 한다.A method for designing a system on a chip according to an embodiment of the present invention includes defining One Time Programming (OTP) data in a specification; Determining whether the OTP data has an effect on testing or debugging access; and designing a shadow register using scan control flip-flops to store the OTP data when the OTP data affects the test or debugging access, each of the scan control flip-flops in a scan mode. It is characterized in that the output data is designed not to affect the scan operation.
본 발명의 실시 예에 따른 시스템 온 칩, 및 그것을 설계하는 방법은, 스캔 모드에서 특정 레지스터의 값을 유지시킴으로써, 테스트의 가용성을 향상시킬 수 있다.A system on a chip and a method for designing the system according to an embodiment of the present invention can improve test usability by maintaining a value of a specific register in a scan mode.
본 발명의 실시 예에 따른 시스템 온 칩, 및 그것을 설계하는 방법은, 스캔 모드에서 특정 레지스터의 값을 유지시킴으로써, DFT 검증 성능을 향상시킬 수 있다.A system-on-chip and a method for designing the system according to an embodiment of the present invention can improve DFT verification performance by maintaining a value of a specific register in a scan mode.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 일반적인 시스템 온 칩의 스캔 체인 회로를 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 시스템 온 칩(100)을 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 OTP 제어기(120)를 예시적으로 보여주는 도면이다.
도 4은 본 발명의 실시 예에 따른 스캔 제어 플립플롭을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 다른 실시 예에 따른 스캔 제어 플립플롭을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 스캔 체인 회로를 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 OTP 제어기를 설계하는 방법을 예시적으로 보여주는 흐름도이다.
도 8은 본 발명의 실시 예에 따른 EDA를 구동하는 컴퓨팅 장치를 보여주는 블록도이다.
도 9는 본 발명의 실시 예에 따른 컴퓨팅 시스템(1000)을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 차량용 제어 시스템(2000)을 예시적으로 보여주는 블록도이다.The accompanying drawings are provided to aid understanding of the present embodiment, and provide examples along with detailed descriptions.
1 is a diagram showing a scan chain circuit of a general system-on-chip by way of example.
2 is a diagram showing a system on
3 is a diagram showing an
4 is a diagram exemplarily showing a scan control flip-flop according to an embodiment of the present invention.
5 is a diagram exemplarily showing a scan control flip-flop according to another embodiment of the present invention.
6 is a diagram exemplarily showing a scan chain circuit according to an embodiment of the present invention.
7 is a flowchart exemplarily showing a method of designing an OTP controller according to an embodiment of the present invention.
8 is a block diagram showing a computing device driving an EDA according to an embodiment of the present invention.
9 is a diagram showing a
10 is a block diagram showing a
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시 할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.In the following, the content of the present invention will be described clearly and in detail to the extent that a person skilled in the art can easily practice using the drawings.
일반적으로 SoC(System on Chip, 시스템 온 칩)는 내부에서 이용되는 값을 안전하게 저장하기 위하여 OTP(One Time Programmable) 메모리를 포함하고 있다. OTP 메모리에 저장되는 보안 데이터는 부팅을 위한 보안키, 센서(sensor)의 값의 보정을 위한 트림(trim) 정보, 메모리 복구(repair) 시스템을 위한 정보, 개발 상태 데이터 등을 포함하고 있다. 여기서 개발 상태 데이터는 SoC의 개발 상태, 예를 들어, 개발 단계, 테스트 단계, 양산 단계를 구분하는데 이용된다. SoC는 동작 모드 전환을 위해 개발 상태 데이터를 이용할 수 있다. 일반적으로, SoC의 동작 모드는 기능(function) 모드와 테스트 모드로 구분된다. 여기서 테스트 모드는 DFT(Design For Test)를 위해 이용된다. 보안(Secure) DFT를 위해서 OTP 메모리의 데이터가 실제로 로드(load)된 후, 동작 모드 전환이 이루어져야 한다. 이러한 동작 모드 전환은 OTP 제어기로부터 출력되는 유효(valid) 신호로 판단될 수 있다. 한편, 스캔(scan) 테스트 시, 개발 상태 데이터가 흔들림으로써, 의도하지 않은 모드로 전환되고, 이에 따라, 테스트 효율이 저하될 수 있다.In general, a System on Chip (SoC) includes a One Time Programmable (OTP) memory to safely store values used therein. The security data stored in the OTP memory includes a security key for booting, trim information for sensor value correction, information for a memory repair system, development status data, and the like. Here, the development state data is used to classify the development state of the SoC, for example, a development stage, a test stage, and a mass production stage. The SoC can use development state data to switch operating modes. In general, the operation mode of SoC is divided into a function mode and a test mode. Here, the test mode is used for DFT (Design For Test). For secure DFT, operation mode conversion must be performed after data in the OTP memory is actually loaded. Such operation mode conversion may be determined as a valid signal output from the OTP controller. On the other hand, during a scan test, when the development state data is shaken, it is switched to an unintended mode, and thus test efficiency may be lowered.
도 1은 일반적인 시스템 온 칩의 스캔 체인 회로를 예시적으로 보여주는 도면이다. 도 1을 참조하면, 디자인을 합성(Synthesis)할 때, 영향을 줄 수 있는 플립플롭은 스캔 체인에서 제외시키고 있다. 하지만, 스캔 테스트의 '업데이트(update)'과정에서 조합 논리(combinational logic)에 의해 여전히 해당 플립플롭의 데이터가 흔들릴 수 있다. 일반적으로, 소프트웨어 상에서 OTP 메모리의 데이터를 읽고 쓰는 과정이 상당히 오래 걸린다. 이 때문에, SoC를 부팅(booting)할 때, OTP 데이터를 새도우 레지스터(shadow register)에 복사(sensing)하는 과정이 수행된다. 이러한 새도우 레지스터의 데이터는 SoC의 동작(부팅 관련 동작, 보안 관련 동작, 복구 관련 동작 등)에 이용된다.1 is a diagram showing a scan chain circuit of a general system-on-chip by way of example. Referring to FIG. 1, when synthesizing a design, flip-flops that may have an effect are excluded from the scan chain. However, the data of the flip-flop may still be shaken by combinational logic during the 'update' process of the scan test. In general, the process of reading and writing data in the OTP memory in software takes quite a long time. For this reason, when booting the SoC, a process of copying OTP data to a shadow register (sensing) is performed. The data of these shadow registers are used for SoC operations (boot-related operations, security-related operations, recovery-related operations, etc.).
IEEE 1149.1 등 DFT(Design for Test)를 위한 스킴이 강화됨에 따라, 플립플롭 및 게이트(AND, OR, XOR 등)의 결함 유무를 테스트하는 스캔 테스트가 필연적으로 요구되고 있다. 먼저, 모든 플립플롭을 체인으로 연결함으로써 첫 입력 단에 랜덤(random) 데이터를 인가한 후, 출력 단에서 인가된 데이터를 추출함으로써 데이터를 비교하는 방식으로 플립플롭에 대한 테스트가 진행된다. 연결된 스캔 체인에 데이터를 먼저 인가한 후, 스캔 체인을 해제하고 기능 모드로 동작(update)함으로써, 게이트가 설계자가 의도한 로직(logic)으로 동작하는 지가 확인된다.As schemes for DFT (Design for Test), such as IEEE 1149.1, are strengthened, a scan test for testing defects in flip-flops and gates (AND, OR, XOR, etc.) is inevitably required. First, a flip-flop test is performed by connecting all flip-flops in a chain, applying random data to the first input terminal, and then extracting data applied from the output terminal to compare the data. After data is first applied to the connected scan chain, the scan chain is released and operated in a functional mode (update), thereby confirming whether the gate operates according to the logic intended by the designer.
OTP의 새도우 레지스터는 다수의 플립플롭으로 구성되고 있다. 이 때문에 스캔 테스트가 필연적으로 수행되고 있다. 하지만, 새도우 레지스터 중 특정 레지스터(개발 상태를 구분하기 위해 이용되는 데이터를 저장하는 레지스터)는 스캔 체인에 연결되지 않도록 해야 한다. 이는 랜덤 데이터를 이용하여 플립플롭을 테스트하기 때문에 개발 단계임에도 불구하고, 양산용으로 인식하여 테스트가 불가능하도록 설정할 수 있기 때문이다. 또한, 스캔 체인 뿐만 아니라 게이트를 테스트할 때도, 조합 논리에 의해 특정 레지스터가 의도하지 않는 데이터로 덮어써지는 문제가 발생할 수 있다. 이러한 문제들은 DFT 검증 성능을 저하시키고, 보안 홀(security hole)과 같은 문제로 이어질 수 있다. 이는 DFT 검증을 어렵게 만들고, 보안이 취약하게 하는 잠재적 요소가 되고 있다. 이러한 문제를 해결하고자, 일반적으로 스캔 체인에서 해당 플립플롭을 제외하기 위해 기능 ECO(Engineering Change Order)를 진행하고 있다. 하지만, SCAN 캡쳐(capture) 동작에서 데이터가 흔들리지 않도록 고정시키는 벡터만을 이용함으로써, 테스트 범위(coverage)가 현저하게 줄어들 수 있다.The shadow register of OTP is composed of a number of flip-flops. For this reason, scan tests are inevitably performed. However, among the shadow registers, certain registers (registers that store data used to classify the development status) should not be connected to the scan chain. This is because the flip-flop is tested using random data, so even though it is in the development stage, it can be set to make testing impossible by recognizing it for mass production. Also, when testing a gate as well as a scan chain, a problem in which a specific register is overwritten with unintended data may occur due to combinational logic. These problems can degrade DFT verification performance and lead to problems such as security holes. This makes DFT verification difficult and becomes a potential factor that makes security weak. To solve this problem, a function ECO (Engineering Change Order) is usually performed to exclude the corresponding flip-flop from the scan chain. However, the test coverage can be remarkably reduced by using only the vector for fixing the data so that the data is not shaken in the SCAN capture operation.
본 발명은 DFT 검증 성능/테스트 가용성을 향상시키는 시스템 온 칩, 그것을 갖는 전자 장치 및 그것의 동작 방법을 개시한다. 특히, 본 발명의 실시 예에 따른 시스템 온 칩은 테스트 동작시 테스트에 영향을 줄 수 있는 플립플롭의 데이터가 흔들리지 않도록 구현(설계)될 수 있다. 예를 들어, 본 발명의 시스템 온 칩은, 피드백 루프(feedback loop) 플립플롭 혹은 게이팅 클록(gating clock) 플립플롭 등을 이용함으로써, 스캔 테스트 동작시 조합 논리(combinational logic)에 의해 특정 레지스터(예를 들어, 새도우 레지스터)의 데이터가 업데이트 되지 않도록 구현될 수 있다. 또한, 본 발명의 실시 예에 따른 시스템 온 칩은 디자인을 합성할 때, 테스트에 영향을 줄 수 있는 플립플롭이 스캔 체인에 연결되지 않도록 설계할 수 있다.The present invention discloses a system on a chip that improves DFT verification performance/test usability, an electronic device having the same, and a method of operating the same. In particular, the system-on-chip according to an embodiment of the present invention may be implemented (designed) so that flip-flop data, which may affect a test, is not shaken during a test operation. For example, the system-on-chip of the present invention uses a feedback loop flip-flop or a gating clock flip-flop, and the like, so that a specific register (eg, a combinational logic) is used during a scan test operation. For example, it may be implemented so that data in a shadow register) is not updated. In addition, the system-on-chip according to an embodiment of the present invention may be designed so that a flip-flop that may affect a test is not connected to a scan chain when a design is synthesized.
본 발명의 실시 예에 따른 시스템 온 칩은, 스캔 테스트 중 '업데이트' 항목(combinational logic test)에 의해 특정 데이터가 업데이트되지 않게 함으로써 안정적인 테스트를 가능하게 한다. 또한, 본 발명의 실시 예에 따른 시스템 온 칩은 스캔 테스트 중 '쉬프트(shifting)' 항목에 의해 특정 플립플롭의 데이터가 업데이트되지 않도록 함으로써 안정적인 테스트를 가능하게 한다.The system-on-a-chip according to an embodiment of the present invention enables a stable test by preventing specific data from being updated by an 'update' item (combinational logic test) during a scan test. In addition, the system-on-chip according to an embodiment of the present invention enables a stable test by preventing data of a specific flip-flop from being updated by a 'shifting' item during a scan test.
본 발명의 실시 예에 따른 시스템 온 칩, 및 그것을 설계하는 방법은, DFT(Design for Test)/디버깅(debugging) 요소에 영향을 주는 OTP 데이터의 경우, 스캔 테스트에 제외시킴으로써 의도하지 않은 문제를 발생시키지 않도록 관리하고, 또한, 스캔 체인에 조합 논리의 동작으로 인해 특정 데이터가 업데이트되지 않도록 보안 DFT 제어를 수행하도록 구현될 수 있다.A system-on-chip according to an embodiment of the present invention and a method for designing the same cause an unintended problem by excluding OTP data affecting a design for test (DFT)/debugging element from a scan test. In addition, it can be implemented to perform secure DFT control so that specific data is not updated due to the operation of combinatorial logic in the scan chain.
도 2는 본 발명의 실시 예에 따른 시스템 온 칩(100)을 보여주는 도면이다. 도 2를 참조하면, 시스템 온 칩(100)은 OTP 메모리(110), OTP 제어기(120), 전원 관리 유닛(130, PMU) 및 테스트 회로(140, JTAG TOP)를 포함할 수 있다.2 is a diagram showing a system on
OTP 메모리(110)는 보안 데이터를 저장하도록 구현될 수 있다. 여기서 보안 데이터는 부팅키, 트림 정보, 복구 정보, 혹은 개발 상태 데이터를 포함할 수 있다. OTP 메모리(110)는 워드라인들과 비트라인들에 연결된 복수의 메모리 셀들을 포함할 수 있다. 여기서 복수의 메모리 셀들은 전원이 차단되어도 프로그램된 데이터를 손실하지 않고, 다시 프로그램 될 수 없는 비가역적(irreversible) 특성을 가질 수 있다. 예를 들어, 메모리 셀들의 각각은 퓨즈(fuse) 혹은 안티퓨즈(antifuse)로 구현될 수 있다.
OTP 제어기(120)는 OTP 메모리(110)를 제어하도록 구현될 수 있다. OTP 제어기(120)는 적어도 하나의 새도우 레지스터(122)를 포함할 수 있다. 보안 DFT를 구성하는 데이터는 OTP 제어기(120)의 새도우 레지스터(122)에 로드 될 수 있다. 스캔 테스트 시, OTP 제어기(120)는 DFT 환경이 비활성화 되지 않도록, 새도우 레지스터(122)의 데이터가 토글 되지 않는 스캔 제어 플립플롭(124)로 구현될 수 있다. 예를 들어, 새도우 레지스터(122)의 데이터는 클록 게이팅 혹은 피드백 루프를 이용하여 제어될 수 있다.The
실시 예에 있어서, 정상 모드에서 클록 게이팅 혹은 피드백 루프 없이 OTP 메모리(110)의 life-cycle 데이터에 따라 DFT/Debug 접근이 제어될 수 있다. 정상 모드와 테스트 모드를 구분하기 위해, OTP메모리(110)로부터 출력된 데이터가 유효하다는 것을 지시하는 유효 신호(JTAG_VALID)를 받아 테스트 모드로 전환이 가능하다.In an embodiment, DFT/Debug access may be controlled according to life-cycle data of the
또한, OTP 제어기(120)는 OTP 메모리(110)로부터 보안 데이터를 읽을 수 있다. 예를 들어, OTP 제어기(120)는 JTAG(DFT)/디버깅에 관련된 보안 데이터를 읽으면 유효 신호(JTAG_VALID)를 출력하도록 구현될 수 있다.Also, the
전력 관리 유닛(130)은 외부 장치로부터 전원을 공급 받고, SoC(100)의 내부 전원 공급하도록 구현될 수 있다. 또한, 전력 관리 유닛(130)은 외부 장치로부터 동작 모드 신호(XOM) 및 리셋 신호(XnRESET)를 수신하고, OTP 제어기(120)의 새도우 레지스터(122)로부터 테스트 유효 신호(JTAG_VALID)를 수신하고, 테스트 모드 정보를 출력할 수 있다.The
실시 예에 있어서, DFT를 위한 시퀀스는 다음과 같다. 전력 관리 유닛(130)은 외부 입력인 동작 모드 신호(XOM)을 이용해 테스트 모드를 위한 값을 수신할 수 있다. 전력 관리 유닛(130)의 OM(Operation Mode) 디코더(131)는 모드 신호(XOM)와 리셋 신호(XnRESET)를 수신하고, 수신된 모드 신호(XOM)를 해석하여 테스트 모드(TEST_MODE)를 위한 준비가 되었음을 확인할 수 있다. 전력 관린 유닛(130)은 OM 디코더(131)의 출력 신호와 새도우 레지스터(122)로부터 테스트 유효 신호(JTAG_VALID)를 AND 연산하고, 테스트 모드 정보를 출력하는 논리 회로(132)를 포함할 수 있다.In an embodiment, the sequence for DFT is as follows. The
또한, 전력 관리 유닛(130)의 AND 연산 회로(132)는 OTP 제어기(120)로부터 전달받은 유효 신호(JTAG_VALID)와 OM 디코더(131)로부터 전달받은 신호를 'AND'연산함으로써 동작 모드가 테스트 모드로 전환되었음을 출력할 수 있다.In addition, the AND
테스트 회로(JTAG TOP 모듈, 140)는 JTAG MUX(141)를 이용하여 외부 JTAG 인터페이스로부터 테스트 데이터를 수신할 수 있다. 또한, 테스트 회로(140)는 수신된 데이터에 따라 각 테스트 모드를 결정할 수 있다. 예를 들어, 테스트 회로(140)는 전력 관리 유닛(130)로부터 테스트 모드 정보를 수신하고, OTP 제어기(120)의 새도우 레지스터(122)로부터 테스트 비활성화 신호(JTAG_DISABLE)를 수신하고, JTAG 인터페이스로부터 테스트 데이터를 수신하고, 스캔 모드 신호(SCAN_MODE) 및 테스트 모드 신호(TEST_MODE)를 출력할 수 있다. 여기서 스캔 모드 신호(SCAN_MODE)는 스캔 동작을 지시하는 값을 포함하고, 테스트 모드 신호(TEST_MODE)는 테스트 동작을 지시하는 값을 포함한다.The test circuit (JTAG TOP module 140) may receive test data from an external JTAG interface using the
일반적으로, OTP 메모리에 저장된 테스트 비활성화 신호(JTAG_DISABLE)과 같은 보안 데이터는 SoC의 개발 상태를 구분할 수 있다. 개발 단계에서는 시스템 온 칩의 디버깅을 위해 테스트 모드가 존재한다. 실제 양산 단계에서는 테스트 모드로의 전환이 불가능하도록 설정될 수 있다. 테스트 모드에서는 SoC의 내부 데이터를 가공할 수 있다. 이는 보안과 관련된 핵심 데이터를 읽어볼 수 있기 때문이다. 이러한 테스트 항목 중에서, SoC를 구성하는 요소인 플립플롭과 게이트를 테스트하는 스캔 테스트가 있다. 랜덤 데이터를 이용하여 SoC를 테스트하는데, 이 때 테스트 비활성화 신호(JTAG_DISABLE)을 저장하는 플립플롭이 개발 단계임에도 불구하고 '1'로 바뀔 수 있다. 이에 스캔 체인이 해제될 수 있다. 이는 회로를 테스트할 수 없게 한다. 이를 방지하기 위해, 본 발명의 실시 예에 따른 OTP 제어기(120)는 새도우 레지스터(122)에서 관련 데이터를 저장하고 있는 플립플롭을 피드백 플립플롭으로 대체하거나, 클록 게이팅을 이용하는 보안 DFT 제어 회로, 즉, 스캔 제어 플립플롭(124)으로 구현될 수 있다.In general, security data such as the test disable signal (JTAG_DISABLE) stored in the OTP memory can distinguish the development status of the SoC. In the development stage, a test mode exists for system-on-chip debugging. In the actual mass production stage, conversion to the test mode may be impossible. In the test mode, the internal data of the SoC can be processed. This is because key data related to security can be read. Among these test items, there is a scan test that tests flip-flops and gates, which are elements that make up the SoC. The SoC is tested using random data, and at this time, the flip-flop storing the test disable signal (JTAG_DISABLE) may change to '1' even though it is in the development stage. As a result, the scan chain may be released. This makes the circuit untestable. In order to prevent this, the
일반적으로 OTP 메모리는 개발 단계(Life-cycle)를 나타내는 데이터를 저장하고 있다. 제품의 부팅 단계에서 OTP 데이터는 새도우 레지스터(shadow register)로 로딩된다. 스캔 테스트 시, 새도우 레지스터의 데이터가 토글(toggle)될 가능성이 있다. 이는 DFT/Debug 기능을 off 시킬 수 있다.In general, OTP memory stores data representing development stages (Life-cycle). In the booting phase of the product, OTP data is loaded into the shadow register. During the scan test, there is a possibility that the data of the shadow register may be toggled. This can turn off the DFT/Debug function.
본 발명의 실시 예에 따른 시스템 온 칩(100)은 제품의 개발 단계 별로 DFT/Debug 관련 기능을 on/off 하거나 단계별로 제어하는 스캔 제어 플립플롭(124)을 구비함으로써, 테스트 동작의 가용성을 향상시킬 수 있다. 또한, 본 발명의 실시 예에 따른 시스템 온 칩(100)은 OTP 제어기(120)에서 클록 게이팅 방식 혹은 피드백 루프 방식을 이용하여 새도우 레지스터의 보안 데이터를 고정할 수 있다. The system-on-
도 3은 본 발명의 실시 예에 따른 OTP 제어기(120)를 예시적으로 보여주는 도면이다. 도 3을 참조하면, OTP 제어기(120)는 기능 레지스터(121) 및 새도우 레지스터(122)를 포함할 수 있다.3 is a diagram showing an
기능 레지스터(121)는 OTP 제어기(120)의 기능을 수행하기 위한 데이터를 저장하는 적어도 하나의 플립플롭을 포함할 수 있다.The
새도우 레지스터(122)는 트림 정보를 저장하는 적어도 하나의 플립플롭(123) 및 DFT 정보를 저장하는 적어도 하나의 스캔 제어 플립플롭(124)을 포함할 수 있다.The
도 3에 도시된 바와 같이, OTP 제어기(120)는 새도우 레지스터(122)에서, DFT(Debug) 접근에 영향을 줄 수 있는 데이터의 경우 스캔 제어 플립플롭(124)을 적용하여 구현될 수 있다. 일반적인 OTP 제어기는 조합 논리(combinational logic_ 사이에 플립플롭만 존재한다. 이에 스캔 테스트 시, 조합 논리에 의해 데이터가 업데이트되면 플립플롭의 데이터도 업데이트가 될 수 있다. 반면에, 본 발명의 실시 예에 따른 OTP 제어기(120)는 조합 논리에 의해 데이터가 업데이트 되지 않는 스캔 제어 플립플롭으로 구현된 새도우 레지스터(122, 도 1 참조)를 포함할 수 있다.As shown in FIG. 3 , the
도 4은 본 발명의 실시 예에 따른 스캔 제어 플립플롭을 예시적으로 보여주는 도면이다. 도 4를 참조하면, 스캔 제어 플립플롭(400)은 플립플롭(410) 및 멀티플렉서(420)를 포함할 수 있다. 실시 예에 있어서, 스캔 제어 플립플롭(400)은 제 1 조합 논리(401)의 출력을 수신하고, 제 2 조합 논리(402)에 입력을 전송할 수 있다. 플립플롭(410)의 앞 단에 2 x 1 멀티플렉서(420)를 배치함으로써, 스캔 체인 이외의 모드로 동작할 시 조합 논리(401)에 의한 영향을 받도록 할 수 있다. 스캔 체인으로 동작할 시, 플립플롭(410)의 출력을 입력에 연결시킴으로써 피드백 루프(feedback loop)가 형성될 수 있다. 이로써, 플립플롭(410)의 현재 데이터가 유지될 수 있다. 결과적으로, 플립플롭(410)의 데이터가 임의로 업데이트되지 않게 된다.4 is a diagram exemplarily showing a scan control flip-flop according to an embodiment of the present invention. Referring to FIG. 4 , the scan control flip-
도 5는 본 발명의 다른 실시 예에 따른 스캔 제어 플립플롭을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 스캔 제어 플립플롭(500)은 플립플롭(510), 및 AND 게이트 회로(520)를 포함할 수 있다.5 is a diagram exemplarily showing a scan control flip-flop according to another embodiment of the present invention. Referring to FIG. 5 , the scan control flip-
도 5에 도시된 바와 같이, 플립플롭(510)에 인가되는 클록단에 AND 게이트 회로(520)를 배치함으로써, 스캔 체인 이외의 모드로 동작할 시 공통의 클록 신호가 이용될 수 있다. 또한, 스캔 체인으로 동작할 시 클록 신호를 게이팅(gating)함으로써, 플립플롭(510)의 현재 데이터가 유지될 수 있다. 즉, 스캔 체인시, 플립플롭(510)에 데이터가 임의로 업데이트되지 않게 된다.As shown in FIG. 5 , by disposing the AND
도 6은 본 발명의 실시 예에 따른 스캔 체인 회로를 예시적으로 보여주는 도면이다. 도 6을 참조하면, 스캔 체인 회로는 제 1 조합 논리(601), 제 2 조합 논리(602), 제 3 조합 논리(603), 스캔 플립플롭(SFF)들, 스캔 제어 플립플롭(610) 및 멀티플렉서(620)를 포함할 수 있다.6 is a diagram exemplarily showing a scan chain circuit according to an embodiment of the present invention. Referring to FIG. 6, the scan chain circuit includes a
스캔 플립플롭(SFF)들 스캔 체인을 형성하는 제 1 스캔 플립플롭들과 제 2 스캔 플립플롭들을 포함할 수 있다. 여기서 제 1 스캔 플립플롭들은 제 1 조합 논리(601)와 제 2 조합 논리(602) 사이에 연결될 수 있다. 또한 제 2 스캔 플립플롭들은 제 2 조합 논리(603)와 제 3 조합 논리(603) 사이에 연결될 수 있다. 여기서 스캔 체인은 스캔 동작시 스캔 데이터를 수신하고, 대응하는 데이터를 출력할 수 있다.The scan flip-flops (SFFs) may include first scan flip-flops and second scan flip-flops forming a scan chain. Here, the first scan flip-flops may be connected between the
스캔 제어 플립플롭(610)은 제 2 조합 논리(602)의 출력 데이터를 수신하고, 제 3 조합 논리(603)로 출력 데이터를 전달하도록 구현될 수 있다. 스캔 제어 플립플롭(610)은 도 6에 도시된 바와 같이, 스캔 체인에서 제외될 수 있다. 실시 예에 있어서, 스캔 제어 플립플롭(610)은 도 2 내지 도 6에서 설명된 바와 같이, 스캔 모드시 조합 논리의 출력 데이터가 스캔 동작에 영향을 주지 않도록 설계될 수 있다.The scan control flip-
멀티플렉서(620)는 스캔 모드 신호(SCAN_MODE)에 응답하여 스캔 체인의 출력 신호와 제 3 조합 논리(603)의 출력 신호 중에서 어느 하나를 출력하도록 구현될 수 있다.The
도 6에 도시된 바와 같이, 테스트에 영향을 줄 수 있는 플립플롭의 경우 기존과 같이 스캔 체인에서 제외시킬 수 있다. 또한, 피드백 루프를 이용하는 플립플롭(610)으로 대체함으로써, 안정적인 테스트가 가능하다.As shown in FIG. 6, in the case of a flip-flop that may affect the test, it can be excluded from the scan chain as before. In addition, by replacing the flip-
도 7은 본 발명의 실시 예에 따른 OTP 제어기를 설계하는 방법을 예시적으로 보여주는 흐름도이다. 도 7을 참조하면, OTP 제어기를 설계하는 방법은 다음과 같이 진행될 수 있다. OTP 메모리(110, 도 2 참조)에 저장될 데이터의 사양이 정의될 수 있다(S110). 해당 데이터가 JTAG/Debug 접근에 영향을 주는 지가 판별될 수 있다(S120). 만일, 해당 데이터가 JTAG/Debug 접근에 영향을 주는 데이터일 때, 새도우 레지스터(122, 도 2 참조)는 스캔 제어 플립플롭들(124, 도 2 참조)을 이용하여 설계될 수 있다(S130). 반면에, 해당 데이터가 JTAG/Debug 접근에 영향을 주지 않는 데이터일 때, 새도우 레지스터(122)는 플립플롭들에 의해 설계될 수 있다(S135). 상술 된 과정을 반복함으로써, OTP 제어기(120, 도 2 참조)가 설계될 수 있다.7 is a flowchart exemplarily showing a method of designing an OTP controller according to an embodiment of the present invention. Referring to FIG. 7 , a method of designing an OTP controller may proceed as follows. Specifications of data to be stored in the OTP memory (110, see FIG. 2) may be defined (S110). It can be determined whether the corresponding data affects JTAG/Debug access (S120). If the corresponding data is data affecting JTAG/Debug access, the shadow register 122 (see FIG. 2) may be designed using scan control flip-flops 124 (see FIG. 2) (S130). On the other hand, when the corresponding data is data that does not affect JTAG/Debug access, the
실시 예에 있어서, 스캔 제어 플립플롭들(124)은 스캔 체인에서 제외시킬 수 있다. 실시 예에 있어서, 스캔 제어 플립플롭들(124)의 각각은, 도 4에 도시된 피드백 루프 플립플롭(400)으로 구현되거나, 도 5에 도시된 게이팅 클록 플립플롭(500)으로 구현될 수 있다.In an embodiment, the scan control flip-
일반적인 디지털 하드웨어 설계는, 사양(specification)에 따라 RTL(Register Transfer Level) 설계를 진행하고, 넷리스트 설계를 진행하고, 레이아웃 설계를 진행하고, 레이아웃 데이터를 이용하여 칩을 제조하고, 제조된 칩에 대한 테스트를 진행하고 있다. 일반적으로 사양(specification)은 하드웨어의 각 기능들에 대한 요구 사항을 기술하고 있다. 사양에서 설명된 기능은 Verilog 와 같은 HDL(Hardware Description Language) 혹은 VHDL(Very High-Speed Integrated Circuit Hardware Description Language)을 이용하여 기술된다. RTL(Register Transfer Level) 설계 단계에서, 모듈성과 유연성을 갖춘 하드웨어 구성 요소들이 설계 될 수 있다. 구성 요소들의 각각은 전압 및 환경 요인과 관련된 타이밍 제약 사항이 갖는 기술 라이브러리(description library)에 연결된다. 넷리스트 설계 단계에서, RTL 설계와 넷리스트 설계에 대한 등가성(equivalence)을 검증 함으로써, 설계된 기능이 합성(synthesis)에 의해 수정되지 않음이 검증된다. 또한, STA(Static Timing Analysis)를 이용하여, 구성 요소 간의 타이밍이 검증된다. 기술 라이브러리의 각 구성 요소는 레이어들(예, 실리콘 기반 반도체)을 사용하여 설명되는 아날로그 모델에 매핑 된다. 이 후에, 모든 구성 요소들이 사전에 결정된 영역에 배치되고, 금속 레이어에 라우팅(상호 연결)된다. 레이아웃 설계 단계에서, 레이아웃 대 회로도(LVS) 검증을 통하여 전체 레이아웃이 넷리스트 설계와 비교된다. 또한, DRC(Design Rule Check)를 통하여 설계된 레이아웃이 제조 가능한 지가 검증된다. 이후에 설계된 레이아웃, 즉 레이아웃 데이터에 따라 칩이 제조된다. 이후에, 테스트가 진행된다. 한편, 커스텀(custom) 설계는 게이트 단위 회로 완성 이후에 유사한 프로세스에 따라 진행될 수 있다. 컴퓨팅 장치를 이용하여 메모리 장치의 HLD(High Level Design)가 수행 될 수 있다. HLD에 의해서 설계된 회로는 RTL 코딩이나 시뮬레이션에 의해 보다 구체적으로 표현 될 수 있다. RTL 코딩에 의해서 생성되는 코드는 넷리스트로 변환되어, 전체 반도체 메모리로 배치 및 합성 될 수 있다. 합성된 스키매틱(schematic) 회로는 시뮬레이션 툴(tool)에 의해서 검증되고, 검증 결과에 따라 조정 과정이 동반될 수 있다.General digital hardware design proceeds with RTL (Register Transfer Level) design according to specifications, proceeds with netlist design, proceeds with layout design, manufactures chips using layout data, and testing is in progress. In general, a specification describes requirements for each function of hardware. The functions described in the specification are described using HDL (Hardware Description Language) such as Verilog or VHDL (Very High-Speed Integrated Circuit Hardware Description Language). In the register transfer level (RTL) design stage, hardware components with modularity and flexibility can be designed. Each of the components is linked to a description library with timing constraints related to voltage and environmental factors. In the netlist design stage, by verifying the equivalence of the RTL design and the netlist design, it is verified that the designed function is not modified by synthesis. In addition, timing between components is verified using Static Timing Analysis (STA). Each component of the technology library is mapped to an analog model described using layers (eg, silicon-based semiconductors). After this, all components are placed in a predetermined area and routed (interconnected) to the metal layer. In the layout design stage, the entire layout is compared to the netlist design through layout-to-schematic (LVS) verification. In addition, it is verified whether the designed layout can be manufactured through DRC (Design Rule Check). Then, a chip is manufactured according to the designed layout, i.e., layout data. After that, the test proceeds. On the other hand, a custom design may proceed according to a similar process after gate unit circuit completion. A high level design (HLD) of a memory device may be performed using a computing device. A circuit designed by HLD can be expressed more concretely by RTL coding or simulation. Codes generated by RTL coding can be converted into a netlist and arranged and synthesized into an entire semiconductor memory. The synthesized schematic circuit is verified by a simulation tool, and an adjustment process may be accompanied according to the verification result.
일반적으로, 전자 설계 자동화(Electronic Design Automation; EDA)는 전자 소자를 설계하기 위하여 설계자/제조자가 사용 가능한 소프트웨어 애플리케이션이다. 많은 소프트웨어 애플리케이션이 집적 회로 혹은 반도체 기판 상의 제조 전에 전자 소자를 설계하고, 시뮬레이션하고, 분석하고, 검증하기 위하여 사용 가능하다.Generally, Electronic Design Automation (EDA) is a software application available to designers/manufacturers to design electronic devices. Many software applications are available for designing, simulating, analyzing and verifying electronic devices prior to fabrication on integrated circuits or semiconductor substrates.
도 8은 본 발명의 실시 예에 따른 EDA를 구동하는 컴퓨팅 장치를 보여주는 블록도이다. 도 8를 참조하면, 컴퓨팅 장치(800)는 적어도 하나의 프로세서(810), 워킹 메모리(820), 입출력 장치(830), 및 저장 장치(840)를 포함할 수 있다. 여기서, 컴퓨팅 장치(800)은 설계하기 위한 전용 장치로 제공 될 수 있다. 컴퓨팅 장치(800)은 다양한 설계 및 검증 시뮬레이션 프로그램을 구동하도록 구성될 수 있다.8 is a block diagram showing a computing device driving an EDA according to an embodiment of the present invention. Referring to FIG. 8 , a
프로세서(810)는 컴퓨팅 장치(800)에서 수행 될 소프트웨어를 실행하도록 구현될 수 있다. 프로세서(810)는 워킹 메모리(820)에 로드 되는 운영 체제(OS)를 실행할 수 있다. 프로세서(810)는 운영 체제(OS) 기반에서 구동될 다양한 응용 프로그램들을 실행할 수 있다. 실시 예에 있어서, 프로세서(810)는 EDA 툴을 실행할 수 있다. 여기서 EDA 툴은 RTL 합성 툴, 배치 툴, 클록 트리 합성 툴, 라우팅 툴, 검증 툴, 넷리스트 시뮬레이션 툴 혹은 CDC 툴을 포함할 수 있다. 특히, EDA 툴은 도 2 내지 도 7에서 설명된 보안 DFT 제어(스캔 제어 플립플롭) 알고리즘을 포함할 수 있다.The
워킹 메모리(820)는 운영 체제(OS)나 응용 프로그램들을 로딩할 수 있다. 컴퓨팅 장치(800)의 부팅 시에 저장 장치(840)에 저장된 OS 이미지가 부팅 시퀀스에 따라 워킹 메모리(820)로 로딩 될 수 있다. 운영 체제(OS)에 의해서 컴퓨팅 장치(800)의 제반 입출력 동작들이 지원 될 수 있다. 또한, EDA 툴(822)은 저장 장치(840)로부터 워킹 메모리(820)로 로딩될 수 있다.The working
또한, 워킹 메모리(820)는 SRAM (static random access memory), 혹은 DRAM (dynamic random access memory)과 같은 휘발성 메모리를 포함할 수 있다. 한편, 워킹 메모리(820)는 이에 한정되지 않으며, PRAM (phase-change RAM), MRAM (magnetic RAM), ReRAM (resistance RAM), FRAM(ferroelectric RAM), 플래시 메모리와 같은 비휘발성 메모리를 포함할 수 있다.Also, the working
입출력 장치(830)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어하도록 구현될 수 있다, 예를 들어, 입출력 장치(830)는 키보드나 모니터를 구비하여 설계자로부터 정보를 입력 받을 수 있다. 입출력 장치(830)를 사용하여 설계자는 조정된 동작 특성을 요구하는 반도체 영역이나 데이터 경로들에 대한 정보를 입력 받을 수 있다. 그리고 입출력 장치(830)를 통해서 시뮬레이션 툴 및 CDSC 툴의 처리 과정 및 처리 결과를 표시하도록 출력할 수 있다.The input/
저장 장치(840)는 컴퓨팅 장치(800)의 저장 매체(storage medium)로서 제공될 수 있다. 저장 장치(840)는 응용 프로그램들(AP), 운영 체제 이미지, 및 각종 데이터를 저장 할 수 있다. 저장 장치(840)는 메모리 카드(MMC; multimedia card), eMMC(embedded MMC), SD(secure digital), MicroSD 등)나 하드디스크 드라이브(hard disk drive; HDD)로 제공될 수 있다. 저장 장치(840)는 대용량 저장 기능을 기지는 낸드형 플래시 메모리를 포함할 수 있다. 혹은 저장 장치(840)는 PRAM, MRAM, ReRAM, FRAM 등의 차세대 비휘발성 메모리나 NOR 플래시 메모리를 포함할 수도 있다.The
시스템 버스(801)는 컴퓨팅 장치(800)의 내부에서 네트워크를 제공할 수 있다. 시스템 버스(801)를 통해서 적어도 하나의 프로세서(810), 워킹 메모리(820), 입출력 장치(850), 및 저장 장치(840)가 전기적으로 연결되고, 상호 데이터를 교환할 수 있다.The
본 발명의 실시 예에 따른 SoC의 설계에서 전자 설계 자동화를 위한 컴퓨터 프로그램 제품은, OTP 제어기를 설계할 때, 스캔 테스트 동작에 영향을 주는 데이터의 경우 스캔 체인에서 제외시키거나, 해당 데이터를 출력하는 플립플롭을 안전화시키도록 Secure DFT 제어 알고리즘을 구비할 수 있다.The computer program product for automating electronic design in SoC design according to an embodiment of the present invention, when designing an OTP controller, excludes data affecting scan test operation from the scan chain or outputs the corresponding data. A Secure DFT control algorithm may be provided to secure the flip-flop.
본 발명의 실시 예에 따른 SoC의 OTP 제어기의 설계 방법은, 스캔 제어 회로 설계로 효율적인 DFT 제어 가능하도록 한다. 본 발명의 설계 방식은 DFT 항목 중 스캔 테스트에서 피드백 루프 플립플롭 혹은 게이팅 클록 플립플롭을 이용함으로써, 안정적인 테스트를 가능하게 한다. 또한, 실제로 모드 전환과 관련된 OTP 데이터를 감지했는지 판단하기 위해, 유효 신호(JTAG_VALID)를 이용함으로써 OTP 데이터를 모두 읽지 않고도 안전하고 빠른 테스트 모드 전환이 가능하다. 이에 SoC 개발 속도가 단축될 수 있다. 게다가, DFT(Debug)에 영향을 주는 플립플롭은 스캔 테스트 시 발견하기 힘든 잠재적 위험 요소로, RTL(Register Transfer Level) 수준에서 이를 고려하여 설계함으로써, 위험 요소를 사전에 줄일 수 있다.A method for designing an OTP controller of an SoC according to an embodiment of the present invention enables efficient DFT control by designing a scan control circuit. The design method of the present invention enables a stable test by using a feedback loop flip-flop or a gating clock flip-flop in a scan test among DFT items. In addition, safe and fast test mode conversion is possible without reading all OTP data by using a valid signal (JTAG_VALID) to determine whether OTP data related to mode conversion has actually been detected. As a result, the speed of SoC development can be shortened. In addition, the flip-flop that affects DFT (Debug) is a potential risk factor that is difficult to detect during scan testing, and the risk factor can be reduced in advance by designing with this in mind at the RTL (Register Transfer Level) level.
한편, 본 발명의 실시 예에 따른 SoC는 컴퓨팅 시스템에 적용 가능하다. Meanwhile, the SoC according to an embodiment of the present invention can be applied to a computing system.
도 9는 본 발명의 실시 예에 따른 컴퓨팅 시스템(1000)을 예시적으로 보여주는 도면이다. 도 9을 참조하면, 컴퓨팅 시스템(1000)은 메인 프로세서(main processor; 1100), 메모리(1200a, 1200b) 및 저장 장치(1300a, 1300b)를 포함할 수 있으며, 추가로 촬영 장치(image capturing device)(2410), 사용자 입력 장치(user input device)(2420), 센서(2430), 통신 장치(2440), 디스플레이(2450), 스피커(2460), 전력 공급 장치(power supplying device)(2470) 및 연결 인터페이스(connecting interface)(2480) 중 하나 이상을 포함할 수 있다.9 is a diagram showing a
메인 프로세서(1100)는 시스템(1000)의 전반적인 동작, 보다 구체적으로는 시스템(1000)을 이루는 다른 구성 요소들의 동작을 제어할 수 있다. 이와 같은 메인 프로세서(1100)는 범용 프로세서, 전용 프로세서 혹은 애플리케이션 프로세서(application processor) 등으로 구현될 수 있다. 메인 프로세서(1100)는 도 1 내지 도 8에 설명된 스캔 제어 플립플롭으로 구현된 OTP 제어기를 포함할 수 있다.The
메인 프로세서(1100)는 하나 이상의 CPU 코어(1110)를 포함할 수 있으며, 메모리(1200a, 1200b) 혹은 저장 장치(1300a, 1300b)를 제어하기 위한 컨트롤러(1120)를 더 포함할 수 있다. 실시 예에 있어서, 메인 프로세서(1100)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기(accelerator) 블록(1130)을 더 포함할 수 있다. 이와 같은 가속기 블록(1130)은 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 혹은 DPU(Data Processing Unit) 등을 포함할 수 있으며, 메인 프로세서(1100)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다.The
메모리(1200a, 1200b)는 시스템(1000)의 주기억 장치로 사용될 수 있으며, SRAM 혹은 DRAM 등의 휘발성 메모리를 포함할 수 있으나, 플래시 메모리, PRAM 혹은 RRAM 등의 비휘발성 메모리를 포함할 수도 있다. 메모리(1200a, 1200b)는 메인 프로세서(1100)와 동일한 패키지 내에 구현되는 것도 가능하다.The
저장 장치(1300a, 1300b)는 전원 공급 여부와 관계 없이 데이터를 저장하는 비휘발성 저장 장치로서 기능할 수 있으며, 메모리(1200a, 1200b)에 비해 상대적으로 큰 저장 용량을 가질 수 있다. 저장 장치(1300a, 1300b)는 저장 컨트롤러(1310a, 1310b)와, 저장 컨트롤러(1310a, 1310b)의 제어 하에 데이터를 저장하는 비휘발성(non-volatile memory, NVM) 저장(1320a, 1320b)를 포함할 수 있다. 비휘발성 메모리(1320a, 1320b)는 2D(2-dimensional) 구조 혹은 3D(7-dimensional) 구조의 V-NAND 플래시 메모리를 포함할 수 있으나, PRAM 혹은 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다. The
저장 장치(1300a, 1300b)는 메인 프로세서(1100)와는 물리적으로 분리된 상태로 시스템(1000)에 포함될 수도 있고, 메인 프로세서(1100)와 동일한 패키지 내에 구현될 수도 있다. 또한, 저장 장치(1300a, 1300b)는 SSD(solid state device) 혹은 메모리 카드(memory card)와 같은 형태를 가짐으로써, 후술할 연결 인터페이스(2480)와 같은 인터페이스를 통해 시스템(1000)의 다른 구성 요소들과 탈부착 가능하도록 결합될 수도 있다. 이와 같은 저장 장치(1300a, 1300b)는 UFS(universal flash storage), eMMC(embedded multi-media card) 혹은 NVMe(non-volatile memory express)와 같은 표준 규약이 적용되는 장치일 수 있으나, 반드시 이에 한정되는 건 아니다.The
촬영 장치(1410)는 정지 영상 혹은 동영상을 촬영할 수 있으며, 카메라(camera), 캠코더(camcorder) 혹은 웹캠(webcam) 등일 수 있다. 사용자 입력 장치(1420)는 시스템(1000)의 사용자로부터 입력된 다양한 유형의 데이터를 수신할 수 있으며, 터치 패드(touch pad), 키패드(keyboard), 키보드(keyboard), 마우스(mouse) 혹은 마이크(microphone) 등일 수 있다. 센서(1430)는 시스템(1000)의 외부로부터 획득될 수 있는 다양한 유형의 물리량을 감지하고, 감지된 물리량을 전기 신호로 변환할 수 있다. 이와 같은 센서(1430)는 온도 센서, 압력 센서, 조도 센서, 위치 센서, 가속도 센서, 바이오 센서(biosensor) 혹은 자이로스코프(gyroscope) 등일 수 있다. The photographing
통신 장치(1440)는 다양한 통신 규약에 따라 시스템(1000) 외부의 다른 장치들과의 사이에서 신호의 송신 및 수신을 수행할 수 있다. 이와 같은 통신 장치(2440)는 안테나, 트랜시버(transceiver) 혹은 모뎀(MODEM) 등을 포함하여 구현될 수 있다. 디스플레이(1450) 및 스피커(1460)는 시스템(1000)의 사용자에게 각각 시각적 정보와 청각적 정보를 출력하는 출력 장치로 기능할 수 있다. 전력 공급 장치(1470)는 시스템(1000)에 내장된 배터리 혹은 외부 전원으로부터 공급되는 전력을 적절히 변환하여 시스템(1000)의 각 구성 요소들에게 공급할 수 있다.The
연결 인터페이스(1480)는 시스템(1000)과, 시스템(1000)에 연결되어 시스템(1000)과 데이터를 주고받을 수 있는 외부 장치 사이의 연결을 제공할 수 있다. 연결 인터페이스(2480)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe(NVM express), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC(embedded multi-media card), UFS(Universal Flash Storage), eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다.The
한편, SoC의 테스트 스킴이 중요해지는 만큼, automotive 제품들을 비롯하여 secure DFT가 강조되는 제품군에 해당 설계 방법이 적용될 수 있다.On the other hand, as the SoC test scheme becomes important, the design method can be applied to product groups emphasizing secure DFT, including automotive products.
도 10은 본 발명의 실시 예에 따른 차량용 제어 시스템(2000)을 예시적으로 보여주는 블록도이다. 도 10을 참조하면, 자율 주행을 위한 차량용 제어 시스템(2000)은 센서 정보 수집장치(2100), 네비게이션 정보 수집장치(2200), 자율 주행을 위한 전자 제어 유닛(2300, ECU), 중앙 처리 장치(2400) 및 메모리 장치(2500)를 포함할 수 있다. 또한, 자율 주행을 위한 전자 제어 유닛(2300)은 뉴럴 네트워크 장치(2310) 및 크립토 장치(2320)를 포함할 수 있다. 전자 제어 유닛(2300)은 도 1 내지 도 8에 설명된 바와 같이 보안 데이터를 저장하는 OTP 메모리 및 테스트/디버깅 동작에서 보안 데이터를 유지하는 스캔 제어 플립플롭으로 구현된 OTP 제어기를 포함할 수 있다.10 is a block diagram showing a
뉴럴 네트워크 장치(2310)는 각종 영상 정보 및 음성 정보를 이용한 뉴럴 네트워크 동작을 수행하고, 수행 결과를 기초로 영상 인식 결과 및 음성 인식 결과 등의 정보 신호를 발생할 수 있다. The
센서 정보 수집장치(2100)는 카메라나 마이크 등의 각종 영상 정보 및 음성 정보를 수집할 수 있는 장치들을 포함하고, 이를 자율주행을 위한 전자 제어 유닛(2300)로 제공할 수 있다. 네비게이션 정보 수집장치(2200)는 자동차 운행과 관련된 각종 정보(예컨대, 위치 정보 등)를 자율 주행을 위한 전자 제어 유닛(2300)로 제공할 수 있다. 뉴럴 네트워크 장치(2310)는 센서 정보 수집장치(2100) 혹은 네비게이션 정보 수집장치(2200)로부터의 정보를 입력으로 하여, 다양한 종류의 뉴럴 네트워크 모델을 실행함으로써 정보 신호를 발생할 수 있다. 센서 정보 수집장치(2100)가 카메라나 마이크를 포함할 때, 자율 주행 모듈(2300)의 크립토 장치(2320)는 센서 정보 수집장치(2100)로부터의 음성 데이터나 이미지 데이터에 대한 보안 처리로써 암/복호화 동작 및 ECC 동작을 수행할 수 있다. 상술 된 바와 같이, 크립토 장치(2320)는 암호화 데이터, 메타 데이터/ECC 데이터를 메모리 장치(2500)에 저장할 수 있다.The sensor
한편, 도 10에서는 자율 주행 시스템에 본 발명의 실시 예가 적용된 예가 설명되고 있다. 하지만, 본 발명의 실시 예들은 IoT, 감시카메라, 등 카메라 센서에 보안 기능이 필요한 제품들에 적용이 가능하다.Meanwhile, in FIG. 10 , an example in which an embodiment of the present invention is applied to an autonomous driving system is described. However, embodiments of the present invention can be applied to products requiring a security function in a camera sensor, such as IoT, surveillance cameras, and the like.
제품의 개발 단계 별로 DFT/Debug 관련 기능을 제어하는 설계 방식은 custom SoC 고객들이 요구하는 필수 요소 제품의 assembly 단계를 외부 업체를 통해 진행하면서, 제품의 중요한 정보들이 SCAN을 통해 유출되지 않게 하기 위함 Secure DFT 구성을 위해 일반적으로 OTP가 이용된다. 이 데이터에 따라 DFT/Debug access가 제어된다. OTP Controller의 스캔 테스트 시, 관련 데이터가 의도하지 않은 값으로 toggle되어 테스트에 영향을 주지 않도록 제어한다. 제품의 동작 모드에 따라 secure DFT를 제어하는 방식의 차이가 존재한다. Normal Mode에서는 제품의 개발 단계에 따라 DFT/Debug 기능을 제어하기 위해 의도한 데이터를 OTP에 저장한다. 즉, clock gating, feedback loop 회로 없이 OTP 데이터에 따라 제어가 가능하다. SCAN Mode에서는 OTP 데이터를 읽은 후에 DFT/Debug 관련 기능이 enable인 경우에만 데이터를 유지하도록 한다. SCAN chain에서 제외하는 것뿐 아니라 clock gating 혹은 feedback loop의 추가 로직 설계로 스캔 테스트 시 데이터를 유지하도록 한다. OTP Controller를 이용하여 제품의 life-cycle에 따른 secure DFT를 설계함에 있어서 스캔 테스트에 영향을 주는 플립플롭의 경우 데이터를 유지하도록 OTP controller가 설계될 수 있다.The design method of controlling DFT/Debug-related functions for each product development stage is to prevent important information from being leaked through SCAN while the assembly stage of the essential element product required by custom SoC customers is carried out by an external company Secure For DFT configuration, OTP is generally used. DFT/Debug access is controlled according to this data. During the scan test of the OTP Controller, the related data is toggled to an unintended value and is controlled so that it does not affect the test. Depending on the operation mode of the product, there is a difference in the secure DFT control method. In normal mode, data intended to control the DFT/Debug function according to the development stage of the product is stored in the OTP. That is, control is possible according to OTP data without clock gating and feedback loop circuit. In SCAN Mode, after reading OTP data, data is maintained only when DFT/Debug related functions are enabled. In addition to excluding it from the SCAN chain, additional logic design of clock gating or feedback loop keeps data during scan test. In designing a secure DFT according to the life-cycle of a product using an OTP controller, the OTP controller can be designed to maintain data in the case of a flip-flop that affects the scan test.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용 할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함 할 것이다.On the other hand, the above-described content of the present invention is only specific embodiments for carrying out the invention. The present invention will include technical ideas, which are abstract and conceptual ideas that can be utilized as technology in the future, as well as concrete and practically usable means themselves.
100: 시스템 온 칩
110: OTP 메모리
120: OTP 제어기
122: 새도우 레지스터
124: 스캔 제어 플립플롭
130: 전력 관리 유닛
131: 동작 모드 디코더
140: 테스트 회로100: system on chip
110: OTP memory
120: OTP controller
122: shadow register
124: scan control flip-flop
130: power management unit
131: operation mode decoder
140: test circuit
Claims (10)
상기 OTP 메모리로부터 상기 보안 데이터를 읽고, 상기 보안 데이터를 저장하는 적어도 하나의 새도우 레지스터를 포함하는 OTP 제어기;
외부 장치로부터 동작 모드 신호를 수신하고, 상기 동작 모드 신호와 상기 보안 데이터에 대응하는 테스트 유효 신호에 따라 동작 모드가 테스트 모드인 지를 지시하는 테스트 모드 정보를 출력하는 전력 관리 유닛; 및
상기 전력 관리 유닛으로부터 상기 테스트 모드 정보를 수신하고, 상기 외부 장치로부터 테스트 데이터 수신하고, 상기 테스트 데이터 및 테스트 비활성화 신호에 따라 스캔 모드 신호 및 테스트 모드 신호를 출력하는 테스트 회로를 포함하고,
상기 테스트 비활성화 신호는 상기 보안 데이터 중에서 칩 개발 상태를 지시하는 개발 상태 데이터에 대응하는 것을 특징으로 하는 시스템 온 칩.OTP (One Time Programming) memory for storing security data;
an OTP controller including at least one shadow register for reading the security data from the OTP memory and storing the security data;
a power management unit that receives an operation mode signal from an external device and outputs test mode information indicating whether an operation mode is a test mode according to the operation mode signal and a test valid signal corresponding to the secure data; and
a test circuit that receives the test mode information from the power management unit, receives test data from the external device, and outputs a scan mode signal and a test mode signal according to the test data and a test inactivation signal;
Wherein the test deactivation signal corresponds to development state data indicating a chip development state among the security data.
상기 보안 데이터는 보안키, 트림 데이터, 복구 데이터 및 상기 개발 상태 데이터를 포함하는 것을 특징으로 하는 시스템 온 칩.According to claim 1,
The system-on-a-chip, characterized in that the security data includes a security key, trim data, recovery data and the development state data.
상기 적어도 하나의 새도우 레지스터는 스캔 테스트에 영향을 주지 않는 데이터를 저장하는 적어도 하나의 스캔 제어 플립플롭을 포함하는 시스템 온 칩.According to claim 1,
The at least one shadow register includes at least one scan control flip-flop for storing data that does not affect a scan test.
상기 적어도 하나의 스캔 제어 플립플롭은 피드백 루프 플립플롭으로 구현되는 것을 특징으로 하는 시스템 온 칩.According to claim 3,
Wherein the at least one scan control flip-flop is implemented as a feedback loop flip-flop.
상기 피드백 루프 플립플롭은,
클록에 응답하여 상기 데이터를 출력하는 플립플롭; 및
스캔 모드 신호에 응답하여 조합 논리의 신호와 상기 플립플롭의 출력 신호 중에서 어느 하나를 출력하는 멀티플렉서를 포함하는 시스템 온 칩.According to claim 4,
The feedback loop flip-flop,
a flip-flop outputting the data in response to a clock; and
A system-on-chip comprising a multiplexer that outputs one of a combinational logic signal and an output signal of the flip-flop in response to a scan mode signal.
상기 적어도 하나의 스캔 제어 플립플롭은 게이팅 클록 플립플롭으로 구현되는 것을 특징으로 하는 시스템 온 칩.According to claim 3,
Wherein the at least one scan control flip-flop is implemented as a gating clock flip-flop.
상기 게이팅 클록 플립플롭은,
게이팅 클록에 응답하여 조합 논리의 출력 데이터를 출력하는 플립플롭; 및
스캔 모드 신호 및 클록을 수신하고, 상기 게이팅 클록을 출력하는 앤드 연산 회로를 포함하는 시스템 온 칩. According to claim 6,
The gating clock flip-flop,
a flip-flop that outputs output data of combinational logic in response to a gating clock; and
and an AND operation circuit that receives a scan mode signal and a clock and outputs the gating clock.
상기 전력 관리 유닛은,
상기 동작 모드 신호 및 리셋 신호를 수신하고, 상기 동작 모드 신호에 대응하는 동작 모드를 결정하는 동작 모드 디코더; 및
상기 테스트 유효 신호 및 상기 동작 모드 디코더의 출력 신호를 앤드 연산함으로써 상기 테스트 모드 정보를 출력하는 연산 회로를 포함하는 시스템 온 칩. According to claim 1,
The power management unit,
an operation mode decoder that receives the operation mode signal and the reset signal and determines an operation mode corresponding to the operation mode signal; and
and an arithmetic circuit outputting the test mode information by performing an AND operation on the test valid signal and the output signal of the operation mode decoder.
제 2 조합 논리;
제 3 조합 논리;
상기 제 1 조합 논리와 상기 제 2 조합 논리 사이에 연결된 제 1 스캔 플립플롭들;
상기 제 2 조합 논리와 상기 제 3 조합 논리 사이에 연결된 제 2 스캔 플립플롭들;
상기 제 2 조합 논리의 출력 데이터를 수신하고, 상기 출력 데이터를 상기 제 3 조합 논리로 전달하는 스캔 제어 플립플롭;
스캔 데이터를 수신하고, 상기 제 1 스캔 플립플롭들과 상기 제 2 스캔 플립플롭들로 구성된 스캔 체인; 및
스캔 모드 신호에 응답하여 상기 스캔 체인의 출력 신호와 상기 제 3 조합 논리의 출력 신호 중에서 어느 하나를 출력하는 멀티플렉서를 포함하고,
상기 스캔 제어 플립플롭은 스캔 모드시 상기 출력 데이터가 스캔 동작에 영향을 주지 않도록 설계되는 것을 특징으로 하는 시스템 온 칩.first combinatorial logic;
second combinatorial logic;
third combinatorial logic;
first scan flip-flops coupled between the first combinational logic and the second combinational logic;
second scan flip-flops connected between the second combinational logic and the third combinational logic;
a scan control flip-flop that receives output data of the second combinational logic and transfers the output data to the third combinational logic;
a scan chain configured to receive scan data and to include the first scan flip-flops and the second scan flip-flops; and
A multiplexer outputting one of an output signal of the scan chain and an output signal of the third combinational logic in response to a scan mode signal;
The system-on-chip, characterized in that the scan control flip-flop is designed so that the output data does not affect the scan operation in the scan mode.
사양에서 OTP(One Time Programming) 데이터를 정의하는 단계;
상기 OTP 데이터가 테스트 혹은 디버깅 접근하는데 영향을 주는 지 판별하는 단계; 및
상기 OTP 데이터가 상기 테스트 혹은 디버깅 접근에 영향을 줄 때, 상기 OTP 데이터를 저장하는데 스캔 제어 플립플롭들을 이용하여 새도우 레지스터를 설계하는 단계를 포함하고,
상기 스캔 제어 플립플롭들의 각각은 스캔 모드시 출력 데이터가 스캔 동작에 영향을 주지 않도록 설계되는 것을 특징으로 하는 방법.In the system-on-chip design method,
Defining OTP (One Time Programming) data in the specification;
Determining whether the OTP data has an effect on testing or debugging access; and
designing a shadow register using scan control flip-flops to store the OTP data when the OTP data affects the test or debugging access;
Each of the scan control flip-flops is designed so that output data does not affect a scan operation in a scan mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/859,870 US11940494B2 (en) | 2021-11-11 | 2022-07-07 | System on chip for performing scan test and method of designing the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210154762 | 2021-11-11 | ||
KR1020210154762 | 2021-11-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230068957A true KR20230068957A (en) | 2023-05-18 |
Family
ID=86545361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220033736A KR20230068957A (en) | 2021-11-11 | 2022-03-18 | System on chip for perporming scan test, and design method therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230068957A (en) |
-
2022
- 2022-03-18 KR KR1020220033736A patent/KR20230068957A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11948652B2 (en) | Formal verification tool to verify hardware design of memory unit | |
US5696694A (en) | Method and apparatus for estimating internal power consumption of an electronic circuit represented as netlist | |
US7937256B2 (en) | Systems and methods of efficient library characterization for integrated circuit cell libraries | |
KR101336516B1 (en) | Method and program product for protecting information in eda tool design views | |
US10007748B2 (en) | Safety features for high level design | |
US7735030B1 (en) | Simulating restorable registers in power domain systems | |
US8413095B1 (en) | Statistical single library including on chip variation for rapid timing and power analysis | |
US10235485B1 (en) | Partial reconfiguration debugging using hybrid models | |
CN115587554B (en) | ATPG library model generation system of combinational logic standard unit | |
KR20180112725A (en) | Device and method for detecting points of failures | |
US7813908B2 (en) | Clock control module simulator and method thereof | |
US10437946B1 (en) | Using implemented core sources for simulation | |
US20160026742A1 (en) | System-on-chip intellectual property block discovery | |
CN107784185B (en) | Method and device for extracting pseudo path in gate-level netlist and terminal equipment | |
US8413102B2 (en) | Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop | |
US10162917B1 (en) | Method and system for implementing selective transformation for low power verification | |
US20120054701A1 (en) | Optimal Correlated Array Abstraction | |
US9864830B1 (en) | Method and apparatus for placement and routing of circuit designs | |
US8661302B2 (en) | Enhanced debug/test capability to a core reset process | |
KR20230068957A (en) | System on chip for perporming scan test, and design method therefor | |
US11940494B2 (en) | System on chip for performing scan test and method of designing the same | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
Kafka et al. | FPGA-based fault simulator | |
JP2021534427A (en) | Digital circuit testing and analysis modules, systems and methods thereof | |
US20230106989A1 (en) | Method of verifying semiconductor device, method of designing and manufacturing semiconductor device using the same, and system performing the same |