KR20230045505A - Semiconductor integrated circuit, method for testing semiconductor integrated circuit, and semiconductor system - Google Patents
Semiconductor integrated circuit, method for testing semiconductor integrated circuit, and semiconductor system Download PDFInfo
- Publication number
- KR20230045505A KR20230045505A KR1020210178879A KR20210178879A KR20230045505A KR 20230045505 A KR20230045505 A KR 20230045505A KR 1020210178879 A KR1020210178879 A KR 1020210178879A KR 20210178879 A KR20210178879 A KR 20210178879A KR 20230045505 A KR20230045505 A KR 20230045505A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- key
- scan
- input
- scan output
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 182
- 239000004065 semiconductor Substances 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000012795 verification Methods 0.000 claims abstract description 43
- 238000002347 injection Methods 0.000 claims abstract description 29
- 239000007924 injection Substances 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims abstract description 29
- 230000003111 delayed effect Effects 0.000 claims abstract description 9
- 230000000630 rising effect Effects 0.000 claims description 21
- 239000000872 buffer Substances 0.000 claims description 18
- 238000010998 test method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 28
- 230000000694 effects Effects 0.000 description 5
- XSXHWVKGUXMUQE-UHFFFAOYSA-N osmium dioxide Inorganic materials O=[Os]=O XSXHWVKGUXMUQE-UHFFFAOYSA-N 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F21/75—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 by inhibiting the analysis of circuitry or operation
-
- 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
- G06F21/73—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 by creating or determining hardware identification, e.g. serial numbers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
본 개시의 기술적 사상은 전자 장치에 관한 것이며, 더욱 상세하게는, 반도체 집적 회로, 반도체 집적 회로를 테스트하는 방법, 및 반도체 시스템에 관한 것이다.The technical idea of the present disclosure relates to an electronic device, and more particularly, to a semiconductor integrated circuit, a method for testing a semiconductor integrated circuit, and a semiconductor system.
테스트용 설계(DFT) 기술들은 이들이 디바이스 내부 컴포넌트들에 액세스할 뿐만 아니라 이들을 판독하고 변경하는 간단하고 효과적인 수단을 허용하기 때문에, 복합 집적 회로(IC) 및 시스템 온 칩(SoC)의 테스트에 기본적인 지원이다. 이러한 액세스는 스캔 체인들을 통해 제공된다. 그러나, 바람직하지 못하게, 테스트 동안 유익한 이러한 액세스는 제품이 판매/배치된 이후에 보안에 다수의 문제들을 초래할 수 있다. 즉, 이러한 동일한 액세스는 제품을 변경하고, 제품을 조작하고, 제품을 분해하여 모방하거나 다른 악의적인 활동들을 수행하기 위해 악의적인 이유들로 사용될 수 있다.Design-for-Test (DFT) techniques provide fundamental support for the testing of complex integrated circuits (ICs) and systems-on-chips (SoCs), as they allow a simple and effective means of accessing, as well as reading and altering, device internal components. am. This access is provided through scan chains. Undesirably, however, such access beneficial during testing can lead to a number of security problems after the product is sold/deployed. That is, this same access can be used for malicious reasons to change the product, manipulate the product, disassemble and imitate the product, or perform other malicious activities.
테스트 이후에 시스템의 스캔 체인의 활용을 방지하는 통상의 솔루션은 외부로부터 테스트 스캔 입력 신호로 들어오는 입력 키가 미리 설정된 인증 키에 해당되는지 확인하는 것이다. 일반적으로 외부로부터 테스트 스캔 입력 신호를 클럭 신호에 응답하여 캡쳐하기 위해, 직렬 연결된 플립플롭들이 도입되고 있다. 그런데, 인증 키 입력을 직렬 연결된 플립플롭들을 이용하여 받는 경우, 미리 설정된 인증 키를 복잡하게 하는 등 보안성을 높이기 위해서는 플립플롭이 추가적으로 직렬 연결되어야 한다. 이러한 방법은 칩의 사이즈를 증가시킬뿐만 아니라, 보안성을 크게 높이는데 기여하지 못한다는 문제점이 있다.A typical solution for preventing the utilization of the scan chain of the system after the test is to check whether an input key received as a test scan input signal from the outside corresponds to a preset authentication key. In general, in order to capture a test scan input signal from the outside in response to a clock signal, series-connected flip-flops are introduced. However, when an authentication key input is received using flip-flops connected in series, flip-flops must be additionally connected in series in order to increase security, such as complicating a preset authentication key. This method not only increases the size of the chip, but also has a problem in that it does not significantly increase security.
본 개시의 기술적 사상은, 플립플롭 등의 엘리먼트를 추가하지 않고도 보안성을 더욱 강화하는 반도체 집적 회로, 반도체 집적 회로를 테스트하는 방법, 및 반도체 시스템을 제공한다.The technical spirit of the present disclosure provides a semiconductor integrated circuit, a method for testing the semiconductor integrated circuit, and a semiconductor system that further enhance security without adding an element such as a flip-flop.
본 개시의 기술적 사상에 따른 반도체 집적 회로는, 테스트 스캔 입력 신호를 기초로 테스트 스캔 입력 신호로부터 서로 다르게 딜레이된 복수의 딜레이 입력 신호들을 생성하고, 테스트 클럭 신호에 응답하여 복수의 딜레이 입력 신호들을 캡쳐함으로써 입력 키 신호를 생성하도록 구성된 보안 키 주입부, 입력 키 신호에 따른 입력 키가 미리 설정된 기준 키와 일치하는지 여부를 나타내는 검증 결과 신호를 생성하도록 구성된 키 비교기, 테스트 스캔 입력 신호를 기초로 스캔 출력 신호를 생성하도록 구성된 칩, 검증 결과 신호에 의한 검증 결과에 따라 스캔 출력 신호를 난독화하고, 난독화된 스캔 출력 신호를 보안 스캔 출력 신호로 출력하도록 구성된 스캔 출력 리맵퍼, 및 보안 키 주입부, 키 비교기, 칩 및 스캔 출력 리맵퍼를 제어하도록 구성된 보안 스캔 컨트롤러를 포함한다.A semiconductor integrated circuit according to technical features of the present disclosure generates a plurality of delay input signals that are delayed differently from a test scan input signal based on a test scan input signal, and captures a plurality of delay input signals in response to a test clock signal. A security key injecting unit configured to generate an input key signal by doing so, a key comparator configured to generate a verification result signal indicating whether an input key according to the input key signal matches a preset reference key, and a scan output based on the test scan input signal. A chip configured to generate a signal, a scan output remapper configured to obfuscate the scan output signal according to a verification result by the verification result signal, and output the obfuscated scan output signal as a security scan output signal, and a security key injection unit; It includes a secure scan controller configured to control the key comparator, chip and scan output remapper.
또한, 본 개시의 기술적 사상에 따른 반도체 집적 회로는, 테스트 스캔 입력 신호를 입력받고 테스트 스캔 입력 신호로부터 서로 다르게 딜레이된 N(N은 1 이상의 정수)개의 딜레이 입력 신호들을 출력하는 N개의 딜레이 회로들 및 테스트 클럭 신호에 응답하여 N개의 딜레이 입력 신호들의 논리 값들을 래치하고, 래치된 논리 값들로 구성되는 입력 키 신호를 출력하는 N개의 플립플롭들을 포함하는 보안 키 주입부, 입력 키 신호에 의한 입력 키와 미리 설정된 기준 키의 일치 여부를 나타내는 검증 결과 신호를 출력하는 키 비교기, 테스트 스캔 입력 신호를 기초로 스캔 출력 신호를 생성하는 칩, 검증 결과 신호에 의한 검증 결과에 따라 스캔 출력 신호를 난독화하고, 난독화된 스캔 출력 신호를 보안 스캔 출력 신호로 출력하는 스캔 출력 리맵퍼, 및 보안 키 주입부, 키 비교기, 칩 및 스캔 출력 리맵퍼를 제어하도록 구성된 보안 스캔 컨트롤러를 포함한다.In addition, a semiconductor integrated circuit according to the technical idea of the present disclosure includes N delay circuits that receive a test scan input signal and output N (N is an integer greater than 1) delay input signals differently delayed from the test scan input signal. and N flip-flops that latch the logic values of the N delay input signals in response to the test clock signal and output an input key signal composed of the latched logic values. A key comparator that outputs a verification result signal indicating whether the key matches a preset reference key, a chip that generates a scan output signal based on the test scan input signal, and obfuscation of the scan output signal according to the verification result of the verification result signal. and a scan output remapper outputting the obfuscated scan output signal as a security scan output signal, and a security scan controller configured to control the security key injection unit, the key comparator, the chip, and the scan output remapper.
또한, 본 개시의 기술적 사상에 따른 반도체 집적 회로를 테스트하는 방법 은, 테스트 스캔 입력 신호를 서로 다른 딜레이 값을 갖는 복수의 딜레이 입력 신호들로 변경하는 단계, 테스트 클럭 신호에 응답하여 복수의 딜레이 입력 신호들을 캡쳐함으로써 입력 키 신호를 생성하는 단계, 입력 키 신호에 따른 입력 키가 미리 설정된 기준 키와 일치하는지 여부를 검증하는 단계, 검증 결과에 따라, 테스트 대상이 되는 칩으로부터 출력된 스캔 출력 신호를 난독화하는 단계를 포함한다.In addition, a method for testing a semiconductor integrated circuit according to the technical idea of the present disclosure includes changing a test scan input signal into a plurality of delay input signals having different delay values, and a plurality of delay inputs in response to a test clock signal. Generating an input key signal by capturing signals, verifying whether an input key according to the input key signal matches a preset reference key, and scanning an output signal output from a chip to be tested according to the verification result. It includes obfuscation.
또한, 본 개시의 기술적 사상에 따른 반도체 시스템은, 테스트 스캔 입력 신호, 테스트 클럭 신호, 및 테스트 모드 신호를 출력하는 테스트 장치, 및 테스트 스캔 입력 신호, 테스트 클럭 신호, 및 테스트 모드 신호를 수신하여, 보안 스캔 출력 신호를 출력하는 반도체 집적 회로를 포함하고, 반도체 집적 회로는, 테스트 스캔 입력 신호를 입력 받고 테스트 스캔 입력 신호로부터 서로 다르게 딜레이된 N(N은 1 이상의 정수)개의 딜레이 입력 신호들을 출력하는 N개의 딜레이 회로들, 및 테스트 클럭 신호에 응답하여 N개의 딜레이 입력 신호들의 논리 값들을 래치하는 N개의 플립플롭들을 포함한다.In addition, a semiconductor system according to the technical concept of the present disclosure may include a test device outputting a test scan input signal, a test clock signal, and a test mode signal, and receiving the test scan input signal, the test clock signal, and the test mode signal, A semiconductor integrated circuit that outputs a security scan output signal, wherein the semiconductor integrated circuit receives a test scan input signal and outputs N (N is an integer of 1 or more) delay input signals differently delayed from the test scan input signal. N delay circuits, and N flip-flops that latch logic values of the N delay input signals in response to a test clock signal.
본 개시의 기술적 사상에 의하면, 직렬 연결된 플립플롭들을 이용하여 인증 키를 입력 받는 방식을 사용하지 않아서 악의적 사용자로부터 시스템을 안전하게 보호하면서도, 플립플롭 등의 엘리먼트를 추가하지 않고도 보안성을 더욱 강화하는 효과가 있다.According to the technical concept of the present disclosure, the system is safely protected from malicious users by not using a method of receiving an authentication key using serially connected flip-flops, and the effect of further strengthening security without adding elements such as flip-flops. there is
도 1은 본 개시의 일 실시예에 따른 반도체 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 반도체 집적 회로를 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 보안 키 주입부를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 보안 키 주입부를 구현하기 위한 일 예시를 나타낸 도면이다.
도 5는 본 개시의 일 실시예에 따른 입력 키 신호로 생성하는 방법을 설명하기 위한 타이밍도이다.
도 6은 본 개시의 일 실시예에 따라 키 비교기를 제어하기 위한 보안 스캔 컨트롤러의 구현 예를 나타내는 도면이다.
도 7은 도 6에 도시된 키 선택기의 구현 예를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따른 스캔 출력 리맵퍼를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 스캔 출력 리맵퍼를 구현하기 위한 일 예시를 나타낸 도면이다.
도 10은 본 개시의 일 실시예에 따른 리맵 컨트롤러의 구현 예를 나타내는 도면이다.
도 11은 테스트 모드에서 출력되는 보안 스캔 출력 신호를 설명하기 위한 도면이다.
도 12는 스캔 덤프 모드에서 출력되는 보안 스캔 출력 신호를 설명하기 위한 도면이다.
도 13은 본 개시의 다른 실시예에 따른 반도체 집적 회로를 설명하기 위한 도면이다.
도 14는 본 개시의 또 다른 실시예에 따른 반도체 집적 회로를 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시에에 따른 반도체 집적 회로를 테스트하는 방법을 설명하기 위한 흐름도이다.1 is a diagram for explaining a semiconductor system according to an exemplary embodiment of the present disclosure.
2 is a diagram for explaining a semiconductor integrated circuit according to an exemplary embodiment of the present disclosure.
3 is a diagram for explaining a security key injection unit according to an embodiment of the present disclosure.
4 is a diagram illustrating an example for implementing a security key injection unit according to an embodiment of the present disclosure.
5 is a timing diagram for explaining a method of generating an input key signal according to an embodiment of the present disclosure.
6 is a diagram illustrating an implementation example of a secure scan controller for controlling a key comparator according to an embodiment of the present disclosure.
FIG. 7 is a diagram illustrating an implementation example of the key selector shown in FIG. 6 .
8 is a diagram for explaining a scan output remapper according to an embodiment of the present disclosure.
9 is a diagram illustrating an example for implementing a scan output remapper according to an embodiment of the present disclosure.
10 is a diagram illustrating an implementation example of a remap controller according to an embodiment of the present disclosure.
11 is a diagram for explaining a security scan output signal output in a test mode.
12 is a diagram for explaining a security scan output signal output in a scan dump mode.
13 is a diagram for describing a semiconductor integrated circuit according to another exemplary embodiment of the present disclosure.
14 is a diagram for describing a semiconductor integrated circuit according to another exemplary embodiment of the present disclosure.
15 is a flowchart illustrating a method of testing a semiconductor integrated circuit according to an exemplary embodiment of the present disclosure.
이하, 첨부한 도면을 참조하여 본 개시의 실시예에 대해 상세히 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 반도체 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a semiconductor system according to an exemplary embodiment of the present disclosure.
도 1을 참조하면, 반도체 시스템(10)은 테스터(100) 및 반도체 집적 회로(200)를 포함할 수 있다.Referring to FIG. 1 , a
테스터(100)는 반도체 집적 회로(200)를 테스트하는데 적합한 임의의 장치일 수 있다. 테스터(100)는 복수의 핀들을 구비할 수 있다. 도 1을 참조하여 예를 들면, 테스터(100)는 제1 핀(P1'), 제2 핀(P2'), 및 제3 핀(P3')을 구비할 수 있다. 하지만, 이에 한정되는 것은 아니다. 테스터(100)는 각 핀을 통해 특정 신호를 반도체 집적 회로(200) 전송할 수 있다. 예를 들면, 테스터(100)는 제1 핀(P1')을 통해 테스트 스캔 입력 신호를 출력하고, 제2 핀(P2')을 통해 테스트 클럭 신호를 출력하며, 제3 핀(P3')을 통해 테스트 모드 신호를 출력할 수 있다. 테스트 스캔 입력 신호는 테스트를 수행할 사용자가 테스트를 수행하기 위해 임의로 입력하는 신호일 수 있다. 또는 테스트 스캔 입력 신호는, 테스트를 수행할 사용자가 반도체 집적 회로(200)에 대한 테스트를 수행할 자격이 있는지 여부를 인증하기 위한 키를 포함하는 신호일 수 있다. 테스트 클럭 신호는 테스트 모드에서 사용되는 클럭 신호일 수 있다. 테스트 클럭 신호는 특정 주기로 일정하게 토글링(Toggling)될 수 있다. 이때, 특정 주기는 미리 설정된 사이클(cycle)들을 포함하는 경우, 테스트 클럭 신호는 특정 주기 내에서 사이클마다 반복적으로 토글링(Toggling)될 수 있다. 또는 테스트 클럭 신호는 한 주기 내에 포함된 복수의 사이클들 중 적어도 하나의 특정 사이클에서만 토글링될 수 있다. 예를 들면, 테스트 클럭 신호의 한 주기는 100개의 사이클을 포함하는 경우, 테스트 클럭 신호는 100개의 사이클 중 70번째 사이클, 81번째 내지 83번째 사이클, 및 99번째 사이클에서 토글링될 수 있다. 하지만, 이에 한정되는 것은 아니다. 테스트 모드 신호는 테스트 모드를 수행하기 위한 신호일 수 있다. 테스트 모드 신호의 논리 값이 제1 값(또는 제1 비트값, 로직 하이 레벨(Logic high level))이면, 이는 테스트 모드를 수행할 것을 지시하는 것일 수 있다. 반대로, 테스트 모드 신호의 논리 값이 제2 값(또는 제2 비트값, 로직 로우 레벨(Logic low level))이면, 이는 노멀 모드를 수행할 것을 지시하는 것일 수 있다. 하지만, 이에 한정되는 것은 아니다. 본 명세서에서의 테스터(100)는 테스트 장치, 테스트기 등으로 지칭될 수 있다.The
일 실시예에서, 테스터(100)는 컴퓨터 시스템으로서, 예를 들어, 퍼스널 컴퓨터 등으로 구비되며 테스트를 위한 디버깅 프로그램(Debugging program)을 구비할 수 있다.In one embodiment, the
반도체 집적 회로(200)는 테스터(100)로부터 출력된 신호들을 수신하기 위해 복수의 핀들을 구비할 수 있다. 예를 들면, 반도체 집적 회로(200)는 제1 핀(P1), 제2 핀(P2), 및 제3 핀(P3)을 구비하며, 각 핀을 통해 테스트 스캔 입력 신호, 테스트 클럭 신호, 및 테스트 모드 신호를 수신할 수 있다. 하지만, 이에 한정되는 것은 아니다. 반도체 집적 회로(200)는 테스트 수행 결과 생성된 스캔 출력 신호를 출력하기 위한 핀을 더 구비할 수 있다. 예를 들면, 반도체 집적 회로(200)는 제4 핀(P4)을 구비할 수 있다.The semiconductor integrated
일 실시예에서, 반도체 집적 회로(200)는 보안 스캔 컨트롤러(210), 보안 키 주입부(220), 키 비교기(230), 스캔 출력 리맵퍼(240), 서킷 언더 테스트(250), 및 원 타임 프로그래머블 메모리(One time programmable memory, 이하 OTP라고 함)(260)를 포함할 수 있다.In one embodiment, the semiconductor integrated
도 2는 본 개시의 일 실시예에 따른 반도체 집적 회로를 설명하기 위한 도면이다. 2 is a diagram for explaining a semiconductor integrated circuit according to an exemplary embodiment of the present disclosure.
도 2를 참조하면, 반도체 집적 회로(200)는 테스트 스캔 입력 신호(TSI), 테스트 클럭 신호(TCK), 및 테스트 모드 신호(TMS)를 수신하여, 보안 스캔 출력 신호(SSO)를 출력할 수 있다. 이를 위하여 반도체 집적 회로(200)는 보안 스캔 컨트롤러(210), 보안 키 주입부(220), 키 비교기(230), 스캔 출력 리맵퍼(240), 서킷 언더 테스트(250), 및 OTP(260)를 포함할 수 있다.Referring to FIG. 2 , the semiconductor integrated
보안 스캔 컨트롤러(210)는 보안 키 주입부(220), 키 비교기(230), 스캔 출력 리맵퍼(240), 및 서킷 언더 테스트(250) 각각을 제어할 수 있다. 보안 스캔 컨트롤러(210)는 제1 내지 제3 핀들(P1, P2, P3)를 통해 테스트 스캔 입력 신호(TSI), 테스트 클럭 신호(TCK), 및 테스트 모드 신호(TMS)를 수신할 수 있다. 일 실시예에서, 테스트 모드 신호가 제1 값을 갖는 경우, 보안 스캔 컨트롤러(210)는, 테스트 스캔 입력 신호(TSI)를 테스트 키 신호(TSI_KEY)로서 보안 키 주입부(220)에 전달하고, 보안 키 주입부(220)에 대한 테스트 클럭 신호(TCK_SKI)를 보안 키 주입부(220)에 전달할 수 있다. 일 실시예에서, 보안 스캔 컨트롤러(210)는, 키 비교기(230)에 대한 테스트 클럭 신호(TCK_KC)를 키 비교기(230)에 전달하고 미리 저장된 기준 키 신호(KEY_REF)를 키 비교기(230)에 전달할 수 있다. 일 실시예에서, 보안 스캔 컨트롤러(210)는, 스캔 출력 리맵퍼(240)에 대한 테스트 클럭 신호(TCK_SR)를 스캔 출력 리맵퍼(240)에 전달할 수 있다. 일 실시예에서, 보안 스캔 컨트롤러(210)는, 스캔 컨트롤 신호(SC), 테스트 데이터(TSI_TD), 및 서킷 언더 테스트(250)에 대한 테스트 클럭 신호(TCK_CHIP)를 서킷 언더 테스트(250)에 전달할 수 있다.The
다른 실시예에서, 보안 스캔 컨트롤러(210)는 OTP(260)로부터 키 선택 신호(KEY_SEL)를 수신하여 미리 저장된 복수의 키들 중 키 선택 신호(KEY_SEL)에 의해 선택된 어느 하나의 키를 기준 키 신호(KEY_REF)로서 출력할 수 있다.In another embodiment, the
다른 실시예에서, 보안 스캔 컨트롤러(210)는, 서킷 언더 테스트(250)로부터 스캔 덤프 인에이블 신호(SDE) 및 컨피규레이션 신호(CFG)를 수신하고, 노멀 모드에서 스캔 덤프 모드로 전환하기 위해, 덤프 모드 신호(DUMP_MODE)를 스캔 출력 리맵퍼(240)에 전달할 수 있다. 스캔 덤프 인에이블 신호(SDE)는 스캔 덤프 모드를 진입할 것을 지시하는 신호일 수 있다. 컨피규레이션 신호(CFG)는 스캔 덤프 모드 시 서킷 언더 테스트(250)의 내부 정보를 나타내는 신호일 수 있다.In another embodiment, the
또 다른 실시예에서, 보안 스캔 컨트롤러(210)는, 권한이 있는 사용자가 보안 스캔 출력 신호(SSO)를 해독하기 위한 맵 선택 신호(MAP_SEL)를 스캔 출력 리맵퍼(240)에 전달할 수 있다.In another embodiment, the
보안 키 주입부(220)는 테스트 스캔 입력 신호(TSI)를 기초로 복수의 딜레이 입력 신호들을 생성할 수 있다. 복수의 딜레이 입력 신호들은 테스트 스캔 입력 신호(TSI)로부터 서로 다르게 딜레이된 신호들일 수 있다. 보안 키 주입부(220)는 테스트 클럭 신호(TCK)에 응답하여 복수의 딜레이 입력 신호들을 캡쳐함으로써 입력 키 신호(KEY_CAP)를 생성할 수 있다. 보안 키 주입부(220)는 입력 키 신호(KEY_CAP)를 키 비교기(230)에 제공할 수 있다.The security
키 비교기(230)는 입력 키 신호(KEY_CAP)에 따른 입력 키가 기준 키 신호(KEY_REF)에 따른 기준 키와 일치하는지 여부를 검증할 수 있다. 그리고, 키 비교기(230)는 이러한 검증 결과를 나타내는 검증 결과 신호(P/F)를 생성할 수 있다. 구체적으로, 키 비교기(230)는, 키 비교기(230)에 대한 테스트 클럭 신호(TCK_KC)에 응답하여 입력 키 신호(KEY_CAP)의 값과 기준 키 신호(KEY_REF)의 값을 비교하고 패스(Pass) 또는 페일(Fail)을 나타내는 검증 결과 신호(P/F)를 출력할 수 있다. The
일 실시예에서, 키 비교기(230)는 비교 키 신호(KEY_COMP)를 스캔 출력 리맵퍼(240)에 추가적으로 제공할 수 있다. 비교 키 신호(KEY_COMP)는, 예를 들어 테스트 클럭 신호(TCK_KC)가 마지막으로 토글링된 사이클에서 기준 키와 비교된 입력 키를 나타내는 신호일 수 있다.In one embodiment, the
스캔 출력 리맵퍼(240)는 검증 결과 신호(P/F)에 의한 검증 결과에 따라 스캔 출력 신호(PSO)를 난독화하고(obfuscate), 난독화된(obfuscated) 스캔 출력 신호를 보안 스캔 출력 신호(SSO)로 출력할 수 있다. The
일 실시예에서, 검증 결과가 패스이면, 스캔 출력 리맵퍼(240)는 스캔 출력 신호(PSO)를 제4 핀(P4)을 통해 그대로 출력할 수 있다. 즉, 검증 결과가 패스이면, 스캔 출력 리맵퍼(240)는 스캔 출력 신호(PSO)를 비난독화하고, 비난독화된 스캔 출력 신호(PSO)를 보안 스캔 출력 신호(SSO)로 제4 핀(P4)을 통해 그대로 출력할 수 있다.In one embodiment, if the verification result is PASS, the
일 실시예에서, 검증 결과가 페일이면, 스캔 출력 리맵퍼(240)는 비교 키 신호(KEY_COMP)를 기초로 스캔 출력 신호(PSO)를 난독화하기 위한 난독화 정보를 생성할 수 있다. 그리고, 스캔 출력 리맵퍼(240)는 난독화 정보에 따라 스캔 출력 신호(PSO)를 난독화할 수 있다. In one embodiment, if the verification result is fail, the
다른 실시예에서, 스캔 출력 리맵퍼(240)는 덤프 모드 신호(DUMP_MODE) 및 맵 선택 신호(MAP_SEL)를 기초로 스캔 출력 신호(PSO)를 난독화하기 위한 난독화 정보를 생성할 수 있다.In another embodiment, the
서킷 언더 테스트(250)는 테스트, 디버깅(Debugging) 대상이 되는 회로(circuit) 또는 칩(Chip)일 수 있다. 서킷 언더 테스트(250)는 하나의 스캔-체인(scan-chain)으로 접속된 복수의 동기 회로들을 포함할 수 있다. 서킷 언더 테스트(250)는 보안 스캔 컨트롤러(210)로부터 수신된 스캔 컨트롤 신호(SC), 테스트 데이터(TSI_TD), 및 서킷 언더 테스트(250)를 기초로 스캔 동작을 수행하고, 스캔 출력 신호(PSO)를 생성하며, 스캔 출력 신호(PSO)를 스캔 출력 리맵퍼(240)에 전송할 수 있다. 본 명세서의 서킷 언더 테스트(250)는 칩, 회로, 코어 로직(Core logic), 온-칩 로직(On-chip logic) 등으로 지칭될 수 있다.The circuit under
OTP(260)는 인증 키 데이터를 저장할 수 있다. 인증 키 데이터는 제조업자 등이 생성한 인증 키 번호를 나타내는 데이터일 수 있다. OTP(260)는 인증 키 데이터를 키 선택 신호(KEY_SEL)로서 보안 스캔 컨트롤러(210)에 출력할 수 있다. 보안 스캔 컨트롤러(210)는 미리 저장된 복수의 키들 중 키 선택 신호(KEY_SEL)에 의해 선택된 어느 하나의 키를 기준 키 신호(KEY_REF)로서 출력할 수 있다. 본 명세서의 OTP(260)는 퓨즈, 안티-퓨즈, 또는 e-퓨즈로 구현될 수 있다.
도 3은 본 개시의 일 실시예에 따른 보안 키 주입부를 설명하기 위한 도면이다.3 is a diagram for explaining a security key injection unit according to an embodiment of the present disclosure.
도 3을 참조하면, 보안 키 주입부(220)는 N개의 딜레이 회로들 및 N개의 플립플롭들을 포함할 수 있다. N은 1 이상의 정수일 수 있다. 도 3을 참조하여 예를 들면, 보안 키 주입부(220)는 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6) 및 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)을 포함할 수 있다. 하지만, 이에 한정되는 것은 아니다. 이하에서는 설명의 편의상 보안 키 주입부(220)에 포함된 딜레이 회로 및 플립플롭의 개수는 6개인 것으로 가정한다.Referring to FIG. 3 , the security
보안 스캔 컨트롤러(210)는 테스트 스캔 입력 신호(TSI)를 테스트 키 신호(TSI_KEY)로서 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6)에 전달할 수 있다. 이 경우, 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6)은 테스트 키 신호(TSI_KEY)를 딜레이하여 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)을 출력할 수 있다. 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5) 각각이 갖는 딜레이 값들은 서로 다를 수 있다. 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5) 각각은 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)에 전달될 수 있다. The
보안 스캔 컨트롤러(210)는 보안 키 주입부(220)에 대한 테스트 클럭 신호(TCK_SKI)를 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)에 전달할 수 있다. 이 경우, 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)은, 테스트 클럭 신호(TCK_SKI)에 응답하여, 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)의 논리 값들을 래치하고, 래치된 값들을 키 비교기(230)에 전달할 수 있다. 도 3을 참조하여 예를 들면, 테스트 클럭 신호(TCK_SKI)에 응답하여, 제1 플립플롭(222_1)은 제1 딜레이 입력 신호(D0)의 논리 값을 래치하고, 제2 플립플롭(222_2)은 제2 딜레이 입력 신호(D1)의 논리 값을 래치하고, 제3 플립플롭(222_3)은 제3 딜레이 입력 신호(D2)의 논리 값을 래치할 수 있다. 마찬가지로, 제4 내지 제6 플립플롭들(222_4, 222_5, 222_6)도 제4 내지 제6 딜레이 입력 신호들(D3, D4, D5)의 논리 값을 각각 래치할 수 있다.The
도 4는 본 개시의 일 실시예에 따른 보안 키 주입부를 구현하기 위한 일 예시를 나타낸 도면이다.4 is a diagram illustrating an example for implementing a security key injection unit according to an embodiment of the present disclosure.
도 4를 참조하면, 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6) 중 적어도 하나는, 하나 이상의 버퍼를 포함할 수 있다. 이 경우, 6개의 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6) 중 제i(i는 N 이하의 정수, 예를 들면 1 내지 6) 딜레이 회로에 포함된 버퍼의 개수는, 6개의 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6) 중 제j(j는 i와 다르고 N 이하의 정수) 딜레이 회로에 포함된 버퍼의 개수와 다를 수 있다.Referring to FIG. 4 , at least one of the first to sixth delay circuits 221_1, 221_2, 221_3, 221_4, 221_5, and 221_6 may include one or more buffers. In this case, the buffer included in the delay circuit i (i is an integer less than or equal to N, for example, 1 to 6) among the six first to sixth delay circuits 221_1, 221_2, 221_3, 221_4, 221_5, and 221_6. The number of is the number of buffers included in the jth (j is an integer different from i and less than or equal to N) delay circuits among the six first to sixth delay circuits 221_1, 221_2, 221_3, 221_4, 221_5, and 221_6, and can be different.
도 4를 참조하여 예를 들면, 제2 딜레이 회로(221_2)는 4개의 버퍼(223)를 포함하고, 제3 딜레이 회로(221_3)는 2개의 버퍼(223)를 포함하고, 제4 딜레이 회로(221_4)는 1개의 버퍼(223)를 포함하고, 제5 딜레이 회로(221_5)는 3개의 버퍼(223)를 포함하며, 제6 딜레이 회로(221_6)는 5개의 버퍼(223)를 포함할 수 있다. 하지만, 이에 한정되는 것은 아니며, 각 딜레이 회로에 포함된 버퍼의 개수는 서로 다르기만하면 어떤 조합이든지 본 실시예에 적용될 수 있다. 버퍼(223)의 개수가 많을수록, 딜레이 값은 더 커질 수 있다. 즉, 버퍼(223)의 개수가 많을수록, 테스트 키 신호(TSI_KEY)는 더 많이 딜레이될 수 있다.Referring to FIG. 4 , for example, the second delay circuit 221_2 includes four buffers 223, the third delay circuit 221_3 includes two buffers 223, and the fourth delay circuit ( 221_4 may include one buffer 223, the fifth delay circuit 221_5 may include three buffers 223, and the sixth delay circuit 221_6 may include five buffers 223. . However, it is not limited thereto, and any combination may be applied to the present embodiment as long as the number of buffers included in each delay circuit is different from each other. As the number of buffers 223 increases, the delay value may increase. That is, as the number of buffers 223 increases, the test key signal TSI_KEY may be delayed more.
일 실시예에서, 6개의 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6) 중 어느 하나의 딜레이 회로는, 버퍼를 포함하지 않을 수 있다. 이 경우, 제1 내지 제6 딜레이 회로들(221_1, 221_2, 221_3, 221_4, 221_5, 221_6) 중 어느 하나의 딜레이 회로는 테스트 키 신호(TSI_KEY)를 대응되는 플립플롭에 전달할 수 있다. 도 4를 참조하여 예를 들면, 제1 딜레이 회로(221_1)는 버퍼를 포함하지 않을 수 있고, 제1 딜레이 회로(221_1)는 제1 딜레이 회로(221_1)는 테스트 키 신호(TSI_KEY)를 제1 플립플롭(222_1)에 입력할 수 있다. 하지만, 이에 한정되는 것은 아니다.In one embodiment, any one of the six first to sixth delay circuits 221_1, 221_2, 221_3, 221_4, 221_5, and 221_6 may not include a buffer. In this case, any one of the first to sixth delay circuits 221_1, 221_2, 221_3, 221_4, 221_5, and 221_6 may transfer the test key signal TSI_KEY to the corresponding flip-flop. Referring to FIG. 4 , for example, the first delay circuit 221_1 may not include a buffer, and the first delay circuit 221_1 may transmit the test key signal TSI_KEY to the first delay circuit 221_1. It can be input to the flip-flop 222_1. However, it is not limited thereto.
도 5는 본 개시의 일 실시예에 따른 입력 키 신호로 생성하는 방법을 설명하기 위한 타이밍도이다.5 is a timing diagram for explaining a method of generating an input key signal according to an embodiment of the present disclosure.
도 4 및 도 5를 참조하면, 테스트 클럭 신호(TCK_SKI) 및 테스트 키 신호(TSI_KEY)가 보안 키 주입부(220)에 전달될 수 있다. 테스트 클럭 신호(TCK_SKI)는 한 주기 내에서 특정 사이클에서만 토글링될 수 있다. 테스트 키 신호(TSI_KEY)는 특정 시점부터 다른 특정 시점까지 제1 논리 값(예를 들면, 로직 하이 레벨)을 가질 수 있다. 테스트 클럭 신호(TCK_SKI) 및 테스트 키 신호(TSI_KEY)는 각각 제1 논리 값 또는 제2 논리 값을 가질 수 있다. 이하에서는 편의상 제1 논리 값은 로직 하이 레벨 또는 1 비트(Bit)이고 제2 논리 값은 로직 로우 레벨 또는 0 비트인 것으로 가정한다.Referring to FIGS. 4 and 5 , the test clock signal TCK_SKI and the test key signal TSI_KEY may be transmitted to the security
제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)은 테스트 키 신호(TSI_KEY)가 딜레이된 신호들일 수 있다. 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)은 각각 제1 논리 값 또는 제2 논리 값을 가질 수 있다. 각 딜레이 회로에 포함된 버퍼(223)의 개수가 도 4에 도시된 바와 같은 경우를 가정하면, 제1 딜레이 입력 신호(D0), 제4 딜레이 입력 신호(D3), 제3 딜레이 입력 신호(D2), 제5 딜레이 입력 신호(D4), 제2 딜레이 입력 신호(D1), 및 제6 딜레이 입력 신호(D5)로 갈수록, 딜레이된 값이 커질 수 있다.The first to sixth delay input signals D0 , D1 , D2 , D3 , D4 , and D5 may be signals obtained by delaying the test key signal TSI_KEY. The first to sixth delay input signals D0 , D1 , D2 , D3 , D4 , and D5 may each have a first logic value or a second logic value. Assuming that the number of buffers 223 included in each delay circuit is as shown in FIG. 4 , the first delay input signal D0, the fourth delay input signal D3, and the third delay input signal D2 ), the fifth delay input signal D4, the second delay input signal D1, and the sixth delay input signal D5, the delayed value may increase.
일 실시예에서, 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)은 테스트 클럭 신호(TCK_SKI)의 라이징 엣지에 응답하여, 테스트 클럭 신호(TCK_SKI)의 라이징 엣지에서의 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)의 논리 값들을 래치할 수 있다. 도 5를 참조하여 예를 들면, 제1 스테이지(STG1)에서, 테스트 클럭 신호(TCK_SKI)의 라이징 엣지가 발생할 수 있다. 이때, 제1 딜레이 입력 신호(D0)의 논리 값은 제1 논리 값(또는 로직 하이 레벨, 또는 1 비트(Bit)), 제2 딜레이 입력 신호(D1)의 논리 값은 제2 논리 값(또는 로직 로우 레벨, 또는 0 비트), 제3 딜레이 입력 신호(D2) 내지 제5 딜레이 입력 신호(D4)의 논리 값은 제1 논리 값, 및 제6 딜레이 입력 신호(D5)의 논리 값은 제2 논리 값일 수 있다. 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)은 래치된 논리 값들로 구성되는 입력 키(KEY_CAP [D0:D5])를 캡쳐할 수 있으며, 이때 입력 키(KEY_CAP [D0:D5])는 "101110"일 수 있다. 도 5를 참조하여 다른 예를 들면, 제2 스테이지(STG2)에서, 테스트 클럭 신호(TCK_SKI)의 라이징 엣지가 발생할 수 있다. 이때, 제1 딜레이 입력 신호(D0)의 논리 값은 제2 논리 값, 제2 및 제3 딜레이 입력 신호들(D1, D2)의 논리 값은 제1 논리 값, 제4 딜레이 입력 신호(D3)의 논리 값은 제2 논리 값, 제5 및 제6 딜레이 입력 신호들(D4, D5)의 논리 값은 제1 논리 값일 수 있다. 이 경우, 래치된 논리 값들로 구성되는 입력 키(KEY_CAP [D0:D5])는 "011011"일 수 있다. 도 5를 참조하여 또 다른 예를 들면, 제3 스테이지(STG3)에서, 테스트 클럭 신호(TCK_SKI)의 라이징 엣지가 발생할 수 있다. 이때, 제1 내지 제5 딜레이 입력 신호들(D0, D1, D2, D3, D4)의 논리 값은 제1 논리 값이고 제6 딜레이 입력 신호(D5)의 논리 값은 제2 논리 값일 수 있다. 이 경우, 입력 키(KEY_CAP [D0:D5])는 "111110"일 수 있다.In an embodiment, the first to sixth flip-flops 222_1, 222_2, 222_3, 222_4, 222_5, and 222_6 respond to the rising edge of the test clock signal TCK_SKI at the rising edge of the test clock signal TCK_SKI. Logic values of the first to sixth delay input signals D0, D1, D2, D3, D4, and D5 may be latched. Referring to FIG. 5 , for example, in the first stage STG1, a rising edge of the test clock signal TCK_SKI may occur. At this time, the logic value of the first delay input signal D0 is a first logic value (or logic high level, or 1 bit), and the logic value of the second delay input signal D1 is a second logic value (or logic low level, or 0 bit), the logic value of the third delay input signal D2 to the fifth delay input signal D4 is a first logic value, and the logic value of the sixth delay input signal D5 is a second logic value. It can be a logical value. The first to sixth flip-flops 222_1, 222_2, 222_3, 222_4, 222_5, and 222_6 may capture an input key (KEY_CAP [D0:D5]) composed of latched logic values. [D0:D5]) may be "101110". Referring to FIG. 5 , for another example, in the second stage STG2 , a rising edge of the test clock signal TCK_SKI may occur. At this time, the logic value of the first delay input signal D0 is the second logic value, and the logic values of the second and third delay input signals D1 and D2 are the first logic value and the fourth delay input signal D3 The logic value of may be a second logic value, and the logic values of the fifth and sixth delay input signals D4 and D5 may be a first logic value. In this case, an input key (KEY_CAP [D0:D5]) composed of latched logic values may be "011011". Referring to FIG. 5 , for another example, in the third stage STG3 , a rising edge of the test clock signal TCK_SKI may occur. In this case, the logic values of the first to fifth delay input signals D0, D1, D2, D3, and D4 may be a first logic value, and the logic value of the sixth delay input signal D5 may be a second logic value. In this case, the input key (KEY_CAP [D0:D5]) may be "111110".
보안 키 주입부(220)는 테스트 클럭 신호(TCK_SKI)의 라이징 엣지에서의 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)의 논리 값들을 입력 키 신호(KEY_CAP)로 생성하여, 입력 키 신호(KEY_CAP)를 키 비교기(230)에 제공할 수 있다.The security
테스트 클럭 신호(TCK_SKI)가 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)에 대하여 토글링되면, 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6)에 의해 캡쳐될 수 있는 입력 키(KEY_CAP [D0:D5])의 경우의 수는 2^6이다. 사용자 등이 키 비교기(230)에 입력된 기준 키와 동일한 입력 키를 획득하기 위해서는, 사용자가 테스트 키 신호(TSI_KEY)의 트랜지션(Transition)이 제1 내지 제6 플립플롭들(222_1, 222_2, 222_3, 222_4, 222_5, 222_6) 각각에 도달하는 시간을 모두 알고 있어야 하며, 원하는 키 값을 캡쳐하기 위한 테스트 키 신호(TSI_KEY)의 트랜지션과 테스트 클럭 신호(TCK_SKI) 간의 스큐(Skew)를 정확히 입력하여야 한다. 따라서, 본 개시에 따른 실시예에 의하면, 악의적 사용자가 테스트 키 신호(TSI_KEY)의 트랜지션과 테스트 클럭 신호(TCK_SKI) 간의 스큐(Skew)를 정확히 입력하기 어렵게 되므로, 보안성이 강화되는 효과가 있다.When the test clock signal TCK_SKI is toggled with respect to the first to sixth flip-flops 222_1, 222_2, 222_3, 222_4, 222_5, and 222_6, the first to sixth flip-flops 222_1, 222_2, 222_3, and 222_4 , 222_5, 222_6), the number of cases of the input key (KEY_CAP [D0:D5]) that can be captured is 2^6. In order for the user or the like to obtain the same input key as the reference key input to the
전술한 바에 의하면, 플립플롭을 추가하지 않고도 암호화 정도를 높일 수 있어서, 보다 더 높은 보안성 및 신뢰성을 도모하는 효과가 있다.As described above, since the degree of encryption can be increased without adding a flip-flop, there is an effect of promoting higher security and reliability.
도 6은 본 개시의 일 실시예에 따라 키 비교기를 제어하기 위한 보안 스캔 컨트롤러의 구현 예를 나타내는 도면이다.6 is a diagram illustrating an implementation example of a secure scan controller for controlling a key comparator according to an embodiment of the present disclosure.
도 6을 참조하면, 보안 스캔 컨트롤러(210)는 기준 키 신호(KEY_REF) 및 테스트 클럭 신호(TCK_KC)를 키 비교기(230)에 제공할 수 있다. 보안 스캔 컨트롤러(210)는 복수의 딜레이 입력 신호들이 캡쳐될 때마다, 복수의 딜레이 입력 신호들을 캡쳐되는 횟수에 대응되는 스테이지를 카운트할 수 있다. 도 4 및 도 6을 참조하여 예를 들면, 보안 스캔 컨트롤러(210)는, 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)이 제1 스테이지(STG1)에서 캡쳐될 때, 제1 스테이지(STG1)를 카운트할 수 있다. 그리고, 보안 스캔 컨트롤러(210)는, 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)이 제2 스테이지(STG2)에서 캡쳐될 때, 제2 스테이지(STG2)를 카운트할 수 있다. 그리고, 보안 스캔 컨트롤러(210)는, 제1 내지 제6 딜레이 입력 신호들(D0, D1, D2, D3, D4, D5)이 제3 스테이지(STG3)에서 캡쳐될 때, 제3 스테이지(STG3)를 카운트할 수 있다. 보안 스캔 컨트롤러(210)는, 미리 저장된 복수의 키들 중 카운트된 스테이지에 대응되는 키를 기준 키로 키 비교기(230)에 제공할 수 있다.Referring to FIG. 6 , the
일 실시예에서, 보안 스캔 컨트롤러(210)는 키 선택기(211), 스테이지 카운터(212), 제1 논리곱 게이트(213), 제1 논리합 게이트(214), 제2 논리합 게이트(215), 제2 논리곱 게이트(216)를 포함할 수 있다.In one embodiment, the
키 선택기(211)는 스테이지 신호(STG)에 응답하여 미리 저장된 복수의 키들 중 카운트된 스테이지에 따라 어느 하나의 키를 기준 키로서 선택하여, 기준 키 신호(KEY_REF)를 키 비교기(230)에 전달할 수 있다. 일 실시예에서, 키 선택기(211)는 OTP(260)로부터 수신된 키 선택 신호(KEY_SEL)에 응답하여 기준 키 신호(KEY_REF)를 키 비교기(230)에 전달할 수도 있다.In response to the stage signal STG, the
스테이지 카운터(212)는 N개의 딜레이 입력 신호들의 논리 값들이 래치된 횟수에 대응되는 스테이지를 카운트하여 카운트된 스테이지를 나타내는 스테이지 신호(STG)를 출력할 수 있다. 도 5 및 도 6을 참조하여 예를 들면, 스테이지 카운터(212)는 제1 스테이지(STG1), 제2 스테이지(STG2), 제3 스테이지(STG3)를 순차적으로 나타내는 스테이지 신호(STG)를 출력할 수 있다. 스테이지 카운터(212)는, 스테이지가 카운트될 때마다 비교 동작을 지시하는 비교 신호(COMP)를 출력할 수 있다. 비교 신호(COMP)는 제1 논리 값 또는 제2 논리 값을 가질 수 있으며, 스테이지가 카운트되는 동안, 비교 신호(COMP)는 제1 논리 값을 가질 수 있다. 키 비교기(230)의 비교 동작이 완료된 경우 또는 미리 설정된 스테이지 카운트 수가 충족된 경우, 스테이지 카운터(212)는 비교 완료 신호(COMP_DONE)를 제1 논리합 게이트(214)에 출력할 수 있다. 비교 완료 신호(COMP_DONE)는 제1 논리 값 또는 제2 논리 값을 가질 수 있다. 키 비교기(230)의 비교 동작이 완료된 경우, 비교 신호(COMP)는 제2 논리 값을 가지고 비교 완료 신호(COMP_DONE)는 제1 논리 값을 가질 수 있다.The
제1 논리곱 게이트(213)는 비교 신호(COMP) 및 테스트 클럭 신호(TCK)의 논리곱 연산을 수행하여 그 결과를 키 비교기(230)에 대한 테스트 클럭 신호(TCK_KC)로서 키 비교기(230)에 제공할 수 있다. 제1 논리곱 게이트(213)는 앤드 게이트(And gate)로 지칭될 수 있다.The first AND
제1 논리합 게이트(214)는 비교 완료 신호(COMP_DONE) 및 덤프 모드 신호(DUMP_MODE)의 논리합 연산을 수행하여 그 결과를 시스템 리셋 신호(SYS_nRESET)로서 서킷 언더 테스트(250)에 제공할 수 있다. 덤프 모드 신호(DUMP_MODE)는 제1 논리 값 또는 제2 논리 값을 가질 수 있다. 덤프 모드 신호(DUMP_MODE)가 제1 논리 값을 갖는 경우, 이는 스캔 덤프 모드가 진입되는 것을 의미할 수 있다. 시스템 리셋 신호(SYS_nRESET)는 서킷 언더 테스트(250)가 리셋되는 것을 지시하는 신호일 수 있다.The first OR
제2 논리합 게이트(215)는 비교 완료 신호(COMP_DONE) 및 덤프 모드 신호(DUMP_MODE)의 논리합 연산을 수행하여 그 결과를 제2 논리곱 게이트(216)에 제공할 수 있다.The second OR
제2 논리곱 게이트(216)는 제2 논리합 게이트(215)의 출력과 외부로부터 제공된 테스트 클럭 신호(TCK)의 논리곱 연산을 수행하여 그 결과를 서킷 언더 테스트(250)에 대한 테스트 클럭 신호(TCK_CHIP)로 출력할 수 있다.The second AND
키 비교기(230)는, 입력 키 신호(KEY_CAP)에 의한 입력 키가 기준 키 신호(KEY_REF)에 의한 기준 키와 일치하면, 패스를 나타내는 신호를 검증 결과 신호(P/F)로서 출력할 수 있다. 이 경우, 패스를 나타내는 신호는, 예를 들어 제1 논리 값을 갖는 신호일 수 있다. 한편, 키 비교기(230)는, 입력 키가 기준 키와 다르면, 페일을 나타내는 신호를 검증 결과 신호(P/F)로서 출력할 수 있다 이 경우, 페일을 나타내는 신호는, 예를 들어 제2 논리 값을 갖는 신호일 수 있다. 하지만, 이에 한정되는 것은 아니다.The
도 7은 도 6에 도시된 키 선택기의 구현 예를 나타내는 도면이다.FIG. 7 is a diagram illustrating an implementation example of the key selector shown in FIG. 6 .
도 5, 도 6 및 도 7을 참조하면, 키 선택기(211)는 스테이지에 대응되는 스테이지 키들(211_1)과 인증 키 번호에 대응되는 인증 키 세트(211_2)를 미리 저장할 수 있다. 이러한 키 선택기(211)는 제1 멀티플렉서(211_3) 및 제2 멀티플렉서(211_4)를 포함할 수 있다. 스테이지 키들(211_1)의 개수는 m개일 수 있으나 이에 한정되는 것은 아니다. 여기서, m은 2 이상 정수일 수 있다. Referring to FIGS. 5, 6, and 7 , the
제1 멀티플렉서(211_3)는 스테이지 키들(211_1) 중 스테이지 신호(STG)에 따라 선택된 스테이지 키를 출력할 수 있다. 도 5 및 도 7을 참조하여 예를 들면, 스테이지 신호(STG)가 제1 스테이지(STG1)을 가리키는 경우, 제1 멀티플렉서(211_3)는 제1 스테이지 키(KEY_0)를 출력할 수 있다. The first multiplexer 211_3 may output a stage key selected from among the stage keys 211_1 according to the stage signal STG. Referring to FIGS. 5 and 7 , for example, when the stage signal STG indicates the first stage STG1, the first multiplexer 211_3 may output a first stage key KEY_0.
제2 멀티플렉서(211_4)는 제1 멀티플렉서(211_3)에 의해 선택된 스테이지 키와 인증 키 세트(211_2) 중 키 선택 신호(KEY_SEL)(또는 인증 키 데이터)에 따라 키를 선택하여, 기준 키 신호(KEY_REF)를 출력할 수 있다.The second multiplexer 211_4 selects a key from the stage key selected by the first multiplexer 211_3 and the authentication key set 211_2 according to the key selection signal KEY_SEL (or authentication key data), and selects a key according to the reference key signal KEY_REF. ) can be output.
도 8은 본 개시의 일 실시예에 따른 스캔 출력 리맵퍼를 설명하기 위한 도면이다.8 is a diagram for explaining a scan output remapper according to an embodiment of the present disclosure.
도 8을 참조하면, 스캔 출력 리맵퍼(240)는 리맵 컨트롤러(241), 제1 레지스터 세트(242), 제2 레지스터 세트(243), 제1 선택기(244), 및 제2 선택기(245)를 포함할 수 있다.Referring to FIG. 8 , the
리맵 컨트롤러(241)는, 스캔 출력 리맵퍼(240)에 대한 테스트 클럭 신호(TCK_SR), 스캔 출력 신호(PSO), 검증 결과 신호(P/F), 덤프 모드 신호(DUMP_MODE), 및 비교 키 신호(KEY_COMP)를 수신할 수 있다. 실시예에 따라, 리맵 컨트롤러(241)는 맵 선택 신호(MAP_SEL)를 더 수신할 수 있다. 리맵 컨트롤러(241)는 스캔 출력 신호(PSO)를 제1 및 제2 레지스터 세트들(242, 243)에 전달할 수 있다. 리맵 컨트롤러(241)는, 테스트 클럭 신호(TCK_SR) 및 비교 키 신호(KEY_COMP)를 기초로, 제1 클럭 신호(TCK_1)를 제1 레지스터 세트(242)에 출력하고 제2 클럭 신호(TCK_2)를 제2 레지스터 세트(243)에 출력할 수 있다. 리맵 컨트롤러(241)는 제1 스캔 인에이블 신호(SE_1)를 제1 레지스터 세트(242)에 출력하고 제2 스캔 인에이블 신호(SE_2)를 제2 레지스터 세트(243)에 제공하고 출력할 수 있다. 실시예에 따라, 제2 스캔 인에이블 신호(SE_2)는 제1 스캔 인에이블 신호(SE_1)가 반전된 신호일 수 있다.The
제1 레지스터 세트(242)는 제1 스캔 인에이블 신호(SE_1) 및 제1 클럭 신호(TCK_1)에 응답하여 스캔 출력 신호(PSO)를 래치하고, 래치된 제1 스캔 출력 신호(OSO1)를 출력할 수 있다. 제1 레지스터 세트(242)는 그라운드(GND)와 연결될 수 있다.The first register set 242 latches the scan output signal PSO in response to the first scan enable signal SE_1 and the first clock signal TCK_1 and outputs the latched first scan output signal OSO1. can do. The first register set 242 may be connected to ground (GND).
제2 레지스터 세트(243)는 제2 스캔 인에이블 신호(SE_2) 및 제2 클럭 신호(TCK_2)에 응답하여 스캔 출력 신호(PSO)를 래치하고, 래치된 제2 스캔 출력 신호(OSO2)를 출력할 수 있다. 제2 레지스터 세트(243)는 그라운드(GND)와 연결될 수 있다.The second register set 243 latches the scan output signal PSO in response to the second scan enable signal SE_2 and the second clock signal TCK_2, and outputs the latched second scan output signal OSO2. can do. The second register set 243 may be connected to ground (GND).
제1 선택기(244)는 제1 스캔 출력 신호(OSO1) 및 제2 스캔 출력 신호(OSO2) 중 제2 스캔 인에이블 신호(SE_2)에 따라 어느 하나를 선택할 수 있다.The
제2 선택기(245)는 제1 선택기(244)로부터 선택된 스캔 출력 신호(OSO_SEL)와 스캔 출력 신호(PSO) 중 검증 결과 신호(P/F)에 따라 어느 하나를 보안 스캔 출력 신호(SSO)로 출력할 수 있다.The
도 9는 본 개시의 일 실시예에 따른 스캔 출력 리맵퍼를 구현하기 위한 일 예시를 나타낸 도면이다.9 is a diagram illustrating an example for implementing a scan output remapper according to an embodiment of the present disclosure.
도 9를 참조하면, 제1 레지스터 세트(242)는, 직렬로 케스케이드된 r개의(r은 1 이상의 정수) 제1 플립플롭들을 포함할 수 있다. 직렬로 케스케이드된 것은 현재 플립플롭의 출력 단자가 다음 플립플롭의 입력 단자에 접속된 형태인 것일 수 있다. 도 9를 참조하여 예를 들면, 제1 레지스터 세트(242)는 현재 플립플롭의 출력과 다음 플립플롭의 입력이 연결된 4개의 제1 플립플롭들(242_1, 242_2, 242_3, 242_4)을 포함할 수 있다. 하지만, 이에 한정되는 것은 아니다. 이하에서는 제1 플립플롭의 개수는 4개인 것으로 가정한다. 제1 플립플롭들(242_1, 242_2, 242_3, 242_4) 각각은 4개의 제1 클럭 신호들(TCK_11, TCK_12, TCK_13, TCK_14)의 라이징 엣지에 응답하여 스캔 출력 신호(PSO)를 래치할 수 있다. 제1 플립플롭들(242_1, 242_2, 242_3, 242_4)에서 제1 플립플롭(242_1)은 그라운드(GND)를 스캔 입력 단(SI)으로 입력 받고, 3개의 제1 플립플롭들(242_2, 242_3, 242_4)은 이전 플립플롭의 스캔 출력 단(SO)이 다음 플립플롭의 스캔 입력 단(SI)에 연결될 수 있다. 제1 플립플롭들(242_4)이 MSB(Most Significant Bit)에 대응되고, 제1 플립플롭(242_1)이 LSB(Least Significant Bit)에 대응될 수 있다.Referring to FIG. 9 , the first register set 242 may include r first flip-flops (r is an integer greater than or equal to 1) cascaded in series. Cascade in series may be a form in which the output terminal of the current flip-flop is connected to the input terminal of the next flip-flop. Referring to FIG. 9 , for example, the first register set 242 may include four first flip-flops 242_1, 242_2, 242_3, and 242_4 to which the output of the current flip-flop and the input of the next flip-flop are connected. there is. However, it is not limited thereto. Hereinafter, it is assumed that the number of first flip-flops is four. Each of the first flip-flops 242_1, 242_2, 242_3, and 242_4 may latch the scan output signal PSO in response to rising edges of the four first clock signals TCK_11, TCK_12, TCK_13, and TCK_14. In the first flip-flops 242_1, 242_2, 242_3, and 242_4, the first flip-flop 242_1 receives the ground (GND) through the scan input terminal (SI), and the three first flip-flops 242_2, 242_3, 242_4), the scan output terminal (SO) of the previous flip-flop may be connected to the scan input terminal (SI) of the next flip-flop. The first flip-flops 242_4 may correspond to the most significant bit (MSB), and the first flip-flop 242_1 may correspond to the least significant bit (LSB).
제2 레지스터 세트(243)는, 직렬로 케스케이드된 r개의 제2 플립플롭들을 포함할 수 있다. 도 9를 참조하여 예를 들면, 제2 레지스터 세트(243)는 현재 플립플롭의 출력과 다음 플립플롭의 입력이 연결된 4개의 제2 플립플롭들(243_1, 243_2, 243_3, 243_4)을 포함할 수 있다. 하지만, 이에 한정되는 것은 아니다. 이하에서는 제2 플립플롭의 개수는 4개인 것으로 가정한다. 제2 플립플롭들(243_1, 243_2, 243_3, 243_4) 각각은 4개의 제2 클럭 신호들(TCK_21, TCK_22, TCK_23, TCK_24)의 라이징 엣지에 응답하여 스캔 출력 신호(PSO)를 래치할 수 있다. 제2 플립플롭들(243_1, 243_2, 243_3, 243_4)에서 제2 플립플롭(243_1)은 그라운드(GND)를 스캔 입력 단(SI)으로 입력 받고, 3개의 제2 플립플롭들(243_2, 243_3, 243_4)은 이전 플립플롭의 스캔 출력 단(SO)이 다음 플립플롭의 스캔 입력 단(SI)에 연결될 수 있다. 제2 플립플롭들(243_4)이 MSB(Most Significant Bit)에 대응되고, 제2 플립플롭(243_1)이 LSB(Least Significant Bit)에 대응될 수 있다. The second register set 243 may include r second flip-flops cascaded in series. Referring to FIG. 9 , for example, the second register set 243 may include four second flip-flops 243_1, 243_2, 243_3, and 243_4 to which the output of the current flip-flop and the input of the next flip-flop are connected. there is. However, it is not limited thereto. Hereinafter, it is assumed that the number of second flip-flops is four. Each of the second flip-flops 243_1, 243_2, 243_3, and 243_4 may latch the scan output signal PSO in response to rising edges of the four second clock signals TCK_21, TCK_22, TCK_23, and TCK_24. In the second flip-flops 243_1, 243_2, 243_3, and 243_4, the second flip-flop 243_1 receives the ground (GND) through the scan input terminal (SI), and the three second flip-flops 243_2, 243_3, 243_4), the scan output terminal (SO) of the previous flip-flop may be connected to the scan input terminal (SI) of the next flip-flop. The second flip-flops 243_4 may correspond to the most significant bit (MSB), and the second flip-flop 243_1 may correspond to the least significant bit (LSB).
리맵 컨트롤러(241)는 4개의 제1 클럭 신호들(TCK_11, TCK_12, TCK_13, TCK_14)을 제1 레지스터 세트(242)에 출력할 수 있다. 리맵 컨트롤러(241)는 4개의 제2 클럭 신호들(TCK_21, TCK_22, TCK_23, TCK_24)을 제2 레지스터 세트(243)에 출력할 수 있다. 리맵 컨트롤러(241)는 제1 스캔 인에이블 신호(SE_1)를 제1 레지스터 세트(242)에 출력할 수 있다.The
스캔 출력 리맵퍼(240)는 인버터(246)를 더 포함할 수 있다. 인버터(246)는 제1 스캔 인에이블 신호(SE_1)를 반전시켜 제2 스캔 인에이블 신호(SE_2)를 제2 레지스터 세트(243)에 출력할 수 있다. The
일 실시예에서, 제1 선택기(244)는 제1 멀티플렉서(244_1)로 구현될 수 있다. 하지만, 이에 한정되는 것은 아니다. 제1 멀티플렉서(244_1)는 제2 스캔 인에이블 신호(SE_2)의 논리 값에 따라 제1 스캔 출력 신호(OSO1) 또는 제2 스캔 출력 신호(OSO2)를 선택 및 출력할 수 있다. 예를 들면, 제2 스캔 인에이블 신호(SE_2)의 논리 값이 제1 논리값(예를 들어, 로직 하이 레벨)인 경우, 제1 멀티플렉서(244_1)는 제2 스캔 출력 신호(OSO2)를 출력할 수 있다. 다른 예를 들면, 제2 스캔 인에이블 신호(SE_2)의 논리 값이 제2 논리값(예를 들어, 로직 로우 레벨)인 경우, 제1 멀티플렉서(244_1)는 제1 스캔 출력 신호(OSO1)를 출력할 수 있다.In one embodiment, the
일 실시예에서, 제2 선택기(245)는 제2 멀티플렉서(245_1)로 구현될 수 있다. 하지만, 이에 한정되는 것은 아니다. 제2 멀티플렉서(245_1)는 검증 결과 신호(P/F)의 논리 값에 따라 선택된 스캔 출력 신호(OSO_SEL) 또는 스캔 출력 신호(PSO)를 선택 및 출력할 수 있다. 예를 들면, 검증 결과 신호(P/F)의 논리 값이 제1 논리값(예를 들어, 패스 또는 로직 하이 레벨)인 경우, 제2 멀티플렉서(245_1)는 스캔 출력 신호(PSO)를 보안 스캔 출력 신호(SSO)로 출력할 수 있다. 다른 예를 들면, 검증 결과 신호(P/F)의 논리 값이 제2 논리값(예를 들어, 페일 또는 로직 로우 레벨)인 경우, 제2 멀티플렉서(245_1)는 선택된 스캔 출력 신호(OSO_SEL)를 보안 스캔 출력 신호(SSO)로 출력할 수 있다.In one embodiment, the
도 10은 본 개시의 일 실시예에 따른 리맵 컨트롤러의 구현 예를 나타내는 도면이다.10 is a diagram illustrating an implementation example of a remap controller according to an embodiment of the present disclosure.
도 10을 참조하면, 리맵 컨트롤러(241)는 비교 키 신호(KEY_COMP)를 기초로 스캔 출력 신호(PSO)를 난독화하기 위한 난독화 정보를 생성하고, 난독화 정보에 따라 스캔 출력 신호(PSO)를 난독화할 수 있다. 이러한 난독화 정보는 r개의 제1 클럭 신호들(TCK_1 [r-1:0]) 또는 r개의 제2 클럭 신호들(TCK_2 [r-1:0])의 라이징 엣지 타이밍으로 나타낼 수 있다. Referring to FIG. 10 , the
리맵 컨트롤러(241)는 리니어-피드백 시프트 레지스터(241_1), 원-핫 인코더(241_2), 제1 멀티플렉서(241_3), 제2 멀티플렉서(241_4), 제3 멀티플렉서(241_5), r개의 제1 논리곱 게이트들(241_6), 및 r개의 제2 논리곱 게이트들(241_7)을 포함할 수 있다.The
리니어-피드백 시프트 레지스터(241_1)는 비교 키 신호(KEY_COMP)를 기초로 r개의 리니어 신호들(LO)을 출력할 수 있다. 여기서, 리니어 신호들(LO)의 개수는 제1 및 제2 레지스터 세트들(242, 243)에 포함된 플립플롭의 개수와 동일할 수 있다.The linear-feedback shift register 241_1 may output r linear signals LO based on the comparison key signal KEY_COMP. Here, the number of linear signals LO may be equal to the number of flip-flops included in the first and second register sets 242 and 243 .
원-핫 인코더(241_2)는 맵 선택 신호(MAP_SEL)를 기초로 r개의 인코딩 신호들(EO)을 출력할 수 있다. 여기서, 인코딩 신호들(EO)의 개수는 제1 및 제2 레지스터 세트들(242, 243)에 포함된 플립플롭의 개수와 동일할 수 있다.The one-hot encoder 241_2 may output r number of encoding signals EO based on the map selection signal MAP_SEL. Here, the number of encoding signals EO may be equal to the number of flip-flops included in the first and second register sets 242 and 243 .
r개의 리니어 신호들(LO) 및 r개의 인코딩 신호들(EO)은 전술한 난독화 정보에 대응될 수 있다.The r linear signals LO and the r encoding signals EO may correspond to the aforementioned obfuscation information.
제1 멀티플렉서(241_3)는 덤프 모드 신호(DUMP_MODE)의 논리 값에 따라 r개의 리니어 신호들(LO) 또는 r개의 인코딩 신호들(EO)을 출력할 수 있다. 예를 들면, 덤프 모드 신호(DUMP_MODE)의 논리 값이 제1 논리값인 경우, 제1 멀티플렉서(241_3)는 r개의 인코딩 신호들(EO)을 출력할 수 있다. 다른 예를 들면, 덤프 모드 신호(DUMP_MODE)의 논리 값이 제2 논리값인 경우 제1 멀티플렉서(241_3)는 r개의 리니어 신호들(LO)을 출력할 수 있다.The first multiplexer 241_3 may output r linear signals LO or r encoding signals EO according to the logic value of the dump mode signal DUMP_MODE. For example, when the logic value of the dump mode signal DUMP_MODE is a first logic value, the first multiplexer 241_3 may output r number of encoding signals EO. For another example, when the logic value of the dump mode signal DUMP_MODE is the second logic value, the first multiplexer 241_3 may output r linear signals LO.
제2 멀티플렉서(241_4)는, 제1 스캔 인에이블 신호(SE_1)의 논리 값에 따라, 미리 저장된 제1 논리 값을 갖는 제1 데이터(241_8) 또는 제1 멀티플렉서(241_3)의 출력 신호를 출력할 수 있다. 예를 들면, 제1 스캔 인에이블 신호(SE_1)의 논리 값이 제1 논리값인 경우, 제2 멀티플렉서(241_4)는 제1 데이터(241_8)를 출력할 수 있다. 다른 예를 들면, 제1 스캔 인에이블 신호(SE_1)의 논리 값이 제2 논리값인 경우, 제2 멀티플렉서(241_4)는 제1 멀티플렉서(241_3)의 출력 신호를 출력할 수 있다.The second multiplexer 241_4 outputs the first data 241_8 having a pre-stored first logic value or the output signal of the first multiplexer 241_3 according to the logic value of the first scan enable signal SE_1. can For example, when the logic value of the first scan enable signal SE_1 is the first logic value, the second multiplexer 241_4 may output first data 241_8. For another example, when the logic value of the first scan enable signal SE_1 is the second logic value, the second multiplexer 241_4 may output the output signal of the first multiplexer 241_3.
제3 멀티플렉서(241_5)는 제1 스캔 인에이블 신호(SE_1)의 논리 값에 따라, 미리 저장된 제1 논리 값을 갖는 제2 데이터(241_9) 또는 제1 멀티플렉서(241_3)의 출력 신호를 출력할 수 있다. 예를 들면, 제1 스캔 인에이블 신호(SE_1)의 논리 값이 제1 논리값인 경우, 제3 멀티플렉서(241_5)는 제1 멀티플렉서(241_3)의 출력 신호를 출력할 수 있다. 다른 예를 들면, 제1 스캔 인에이블 신호(SE_1)의 논리 값이 제2 논리값인 경우, 제3 멀티플렉서(241_5)는 제2 데이터(241_9)를 출력할 수 있다. The third multiplexer 241_5 may output the second data 241_9 having a pre-stored first logic value or the output signal of the first multiplexer 241_3 according to the logic value of the first scan enable signal SE_1. there is. For example, when the logic value of the first scan enable signal SE_1 is the first logic value, the third multiplexer 241_5 may output the output signal of the first multiplexer 241_3. For another example, when the logic value of the first scan enable signal SE_1 is the second logic value, the third multiplexer 241_5 may output second data 241_9.
실시예에 따라, 제1 데이터(241_8)와 제2 데이터(241_9)는, 같은 저장 공간에 하나의 데이터로 저장되거나 서로 다른 저장 공간에 각각 저장될 수 있다.Depending on the embodiment, the first data 241_8 and the second data 241_9 may be stored as one data in the same storage space or stored in different storage spaces.
r개의 제1 논리곱 게이트들(241_6)은, 각각 테스트 클럭 신호(TCK_SR) 및 제2 멀티플렉서(241_4)의 출력 신호의 논리곱 연산을 수행할 수 있다. The r number of first AND gates 241_6 may perform an AND operation of the test clock signal TCK_SR and the output signal of the second multiplexer 241_4, respectively.
r개의 제2 논리곱 게이트들(241_7)은, 각각 테스트 클럭 신호(TCK_SR) 및 제3 멀티플렉서(241_5)의 출력 신호의 논리곱 연산을 수행할 수 있다. The r number of second AND gates 241_7 may perform an AND operation of the test clock signal TCK_SR and the output signal of the third multiplexer 241_5, respectively.
도 11은 테스트 모드에서 출력되는 보안 스캔 출력 신호를 설명하기 위한 도면이다.11 is a diagram for explaining a security scan output signal output in a test mode.
도 9, 도 10 및 도 11을 참조하면, 편의상 테스트 클럭 신호(TCK_SR)의 사이클의 개수는 12개이고, r은 4이고, 리니어 신호들(LO)의 논리 값(또는 비트 값)은, 각 사이클 마다 순차적으로,"0011", "0001", "1000", "0100", "0010", "1001", "1100", "0110", "1011", "0101", "1010", "1101"이며, "-"은 제1 클럭 신호들(TCK_11, TCK_12, TCK_13, TCK_14) 및 제2 클럭 신호들(TCK_21, TCK_22, TCK_23, TCK_24)이 게이티드(Gated 되는 것으로 가정한다. "En"은 제1 클럭 신호들(TCK_11, TCK_12, TCK_13, TCK_14) 및 제2 클럭 신호들(TCK_21, TCK_22, TCK_23, TCK_24)이 인에이블드(Enabled), 라이징 엣지를 갖는 것 또는 각 플립플롭에 입력되며, "SR_A [3:0]"은 제1 스캔 출력 신호(OSO1)이고 "SR_B [3:0]"는 제2 스캔 출력 신호(OSO2)인 것으로 가정한다.9, 10, and 11, for convenience, the number of cycles of the test clock signal TCK_SR is 12, r is 4, and the logic value (or bit value) of the linear signals LO is each cycle. Each sequentially, "0011", "0001", "1000", "0100", "0010", "1001", "1100", "0110", "1011", "0101", "1010", "1101" ", and "-" assumes that the first clock signals (TCK_11, TCK_12, TCK_13, TCK_14) and the second clock signals (TCK_21, TCK_22, TCK_23, TCK_24) are gated. "En" is The first clock signals TCK_11, TCK_12, TCK_13, and TCK_14 and the second clock signals TCK_21, TCK_22, TCK_23, and TCK_24 are enabled, have a rising edge, or are input to each flip-flop, It is assumed that “SR_A [3:0]” is the first scan output signal OSO1 and “SR_B [3:0]” is the second scan output signal OSO2.
4개의 사이클마다 제1 스캔 인에이블 신호(SE_1)의 논리 값과 제2 스캔 인에이블 신호(SE_2)의 논리 값이 서로 교번하는 것으로 가정한다. 예를 들면, 첫 번째 사이클부터 네 번째 사이클까지(즉, 0번 사이클 카운트부터 3번 사이클 카운트까지) 제1 스캔 인에이블 신호(SE_1)의 논리 값은 로직 로우 레벨이고, 제2 스캔 인에이블 신호(SE_1)의 논리 값은 로직 하이 레벨일 수 있다. 이 경우, 보안 스캔 출력 신호(SSO)는 4개의 제2 플립플롭들(243_1, 243_2, 243_3, 243_4)로부터 출력된 신호일 수 있다. 그리고, 다섯 번째 사이클부터 여덟 번째 사이클까지(즉, 4번 사이클 카운트부터 7번 사이클 카운트까지) 제1 스캔 인에이블 신호(SE_1)의 논리 값은 로직 하이 레벨이고, 제2 스캔 인에이블 신호(SE_1)의 논리 값은 로직 로우 레벨일 수 있다. 이 경우, 이 경우, 보안 스캔 출력 신호(SSO)는 4개의 제1 플립플롭들(242_1, 242_2, 242_3, 242_4)로부터 출력된 신호일 수 있다.It is assumed that the logic values of the first scan enable signal SE_1 and the logic values of the second scan enable signal SE_2 alternate every four cycles. For example, from the first cycle to the fourth cycle (ie, from
첫 번째 사이클 즉, 사이클 카운트가 0인 경우, 스캔 출력 신호(PSO)의 값은 "p0"이고, 제1 클럭 신호들(TCK_11, TCK_12)만 인에이블된다. 제1 플립플롭들(242_1, 242_2)은 제1 클럭 신호들(TCK_13, TCK_14)의 라이징 엣지에 응답하여 "p0"를 래치할 수 있다. 두 번째 사이클 즉, 사이클 카운트가 1인 경우, 스캔 출력 신호(PSO)의 값은 "p1"이고, 제1 클럭 신호(TCK_11)만 인에이블된다. 제1 플립플롭(242_1)은 제1 클럭 신호(TCK_11)의 라이징 엣지에 응답하여 "p1"를 래치할 수 있다. 세 번째 사이클 즉, 사이클 카운트가 2인 경우, 제1 클럭 신호(TCK_14)만 인에이블되며, 제1 플립플롭(242_4)은 제1 클럭 신호(TCK_14)의 라이징 엣지에 응답하여 "p2"를 래치할 수 있다. 사이클 카운트가 3인 경우, 제1 클럭 신호(TCK_13)만 인에이블되며, 제1 플립플롭(242_3)은 제1 클럭 신호(TCK_13)의 라이징 엣지에 응답하여 "p3"를 래치할 수 있다.In the first cycle, that is, when the cycle count is 0, the value of the scan output signal PSO is “p0” and only the first clock signals TCK_11 and TCK_12 are enabled. The first flip-flops 242_1 and 242_2 may latch “p0” in response to the rising edge of the first clock signals TCK_13 and TCK_14. In the second cycle, that is, when the cycle count is 1, the value of the scan output signal PSO is “p1” and only the first clock signal TCK_11 is enabled. The first flip-flop 242_1 may latch “p1” in response to the rising edge of the first clock signal TCK_11. In the third cycle, that is, when the cycle count is 2, only the first clock signal TCK_14 is enabled, and the first flip-flop 242_4 latches “p2” in response to the rising edge of the first clock signal TCK_14. can do. When the cycle count is 3, only the first clock signal TCK_13 is enabled, and the first flip-flop 242_3 may latch “p3” in response to the rising edge of the first clock signal TCK_13.
사이클 카운트가 4 내지 7인 경우, 보안 스캔 출력 신호(SSO)는, MSB에 대응되는 제1 플립플롭(242_4)부터 LSB에 대응되는 제1 플립플롭(242_1)까지, 각 플립플롭의 출력 값을 순차적으로 출력할 수 있다. 사이클 카운트가 4인 경우에 보안 스캔 출력 신호(SSO)는 "p2"이고 사이클 카운트가 5인 경우에 보안 스캔 출력 신호(SSO)는 "p3"이고, 사이클 카운트가 6인 경우에 보안 스캔 출력 신호(SSO)는 "p0"이며, 사이클 카운트가 7인 경우에 보안 스캔 출력 신호(SSO)는 "p1"일 수 있다.When the cycle count is 4 to 7, the security scan output signal SSO outputs the output values of each flip-flop from the first flip-flop 242_4 corresponding to the MSB to the first flip-flop 242_1 corresponding to the LSB. You can print sequentially. When the cycle count is 4, the security scan output signal (SSO) is "p2", when the cycle count is 5, the security scan output signal (SSO) is "p3", and when the cycle count is 6, the security scan output signal (SSO) is "p0", and when the cycle count is 7, the security scan output signal (SSO) may be "p1".
사이클 카운트가 4인 경우, 제2 클럭 신호(TCK_22)만 인에이블된다. 제2 플립플롭(243_2)은 제2 클럭 신호(TCK_22)의 라이징 엣지에 응답하여 "p4"를 래치할 수 있다. 사이클 카운트가 5인 경우, 제2 플립플롭들(243_1, 243_4)은 제2 클럭 신호(TCK_21, TCK_24)의 라이징 엣지에 응답하여 "p5"를 래치할 수 있다. 마찬가지로, 사이클 카운트가 6인 경우, 제2 플립플롭들(243_3, 243_4)은 "p6"를 래치할 수 있다. 사이클 카운트가 7인 경우, 제2 플립플롭들(243_2, 243_3)은 "p7"를 래치할 수 있다.When the cycle count is 4, only the second clock signal TCK_22 is enabled. The second flip-flop 243_2 may latch “p4” in response to the rising edge of the second clock signal TCK_22. When the cycle count is 5, the second flip-flops 243_1 and 243_4 may latch “p5” in response to the rising edge of the second clock signals TCK_21 and TCK_24. Similarly, when the cycle count is 6, the second flip-flops 243_3 and 243_4 may latch “p6”. When the cycle count is 7, the second flip-flops 243_2 and 243_3 may latch “p7”.
사이클 카운트가 8 내지 11인 경우, MSB에 대응되는 제2 플립플롭(243_4)부터 LSB에 대응되는 제2 플립플롭(243_1)까지, 순차적으로, "p6", "p7", "p7", 또는 "p5"을 갖는 보안 스캔 출력 신호(SSO)가 출력될 수 있다. When the cycle count is 8 to 11, from the second flip-flop 243_4 corresponding to the MSB to the second flip-flop 243_1 corresponding to the LSB, "p6", "p7", "p7", or A security scan output signal SSO having “p5” may be output.
도 12는 스캔 덤프 모드에서 출력되는 보안 스캔 출력 신호를 설명하기 위한 도면이다.12 is a diagram for explaining a security scan output signal output in a scan dump mode.
도 9, 도 10, 도 11 및 도 12를 참조하면, 도 11과 유사하게, 편의상 테스트 클럭 신호(TCK_SR)의 사이클의 개수는 8개이고, r은 4이고, 맵 선택 신호(MAP_SEL)의 값은 {2'b00, 2'b10, 2'b11, 2'b01}(또는 "00101101")인 것으로 가정한다. 이때 맵 선택 신호(MAP_SEL)의 값을 나타내는 {A, B, C, D}는, MSB에 대응되는 플립플롭부터 LSB에 대응되는 플립플롭까지의 우선순위를 나타낸다. 예를 들면, {A, B, C, D}에서 첫 번째 비트 자리(즉, "A")는 MSB에 대응되는 플립플롭(예를 들면, 제1 플립플롭(242_4) 및 제2 플립플롭(243_4))의 우선 순위를 나타내고, 두 번째 비트 자리(즉, "B")는 (MSB-1)에 대응되는 플립플롭(예를 들면, 제1 플립플롭(242_3) 및 제2 플립플롭(243_3))의 우선 순위를 나타내고, 세 번째 비트 자리(즉, "C")는 (MSB-2)에 대응되는 플립플롭(예를 들면, 제1 플립플롭(242_2) 및 제2 플립플롭(243_2))의 우선 순위를 나타내고, 네 번째 비트 자리(즉, "D")는 LSB에 대응되는 플립플롭(예를 들면, 제1 플립플롭(242_1) 및 제2 플립플롭(243_1))의 우선 순위를 나타낼 수 있다. 그리고, 괄호("{}")안의 값이 낮을수록 래치되는 순서가 빠르다. 예를 들면, {2'b00, 2'b10, 2'b11, 2'b01}의 경우, 래치하는 순서가 MSB에 대응되는 플립플롭, LSB에 대응되는 플립플롭, (MSB-1)에 대응되는 플립플롭, 및 (MSB-2)에 대응되는 플립플롭일 수 있다. 이 경우, 인코딩 신호들(EO)의 논리 값은, "1000", "0001", "0100", "0010"으로 4개의 사이클마다 반복될 수 있다.Referring to FIGS. 9, 10, 11, and 12, similar to FIG. 11, for convenience, the number of cycles of the test clock signal TCK_SR is 8, r is 4, and the value of the map selection signal MAP_SEL is Assume {2'b00, 2'b10, 2'b11, 2'b01} (or "00101101"). At this time, {A, B, C, D} indicating values of the map selection signal MAP_SEL indicate priorities from the flip-flops corresponding to the MSB to the flip-flops corresponding to the LSB. For example, in {A, B, C, D}, the first bit position (ie, "A") corresponds to the flip-flop (eg, the first flip-flop 242_4 and the second flip-flop ( 243_4)), and the second bit position (ie, “B”) corresponds to (MSB-1) flip-flops (eg, the first flip-flop 242_3 and the second flip-flop 243_3). )), and the third bit position (ie, "C") corresponds to (MSB-2) the flip-flop (eg, the first flip-flop 242_2 and the second flip-flop 243_2) ), and the fourth bit position (ie, "D") indicates the priority of the flip-flops (eg, the first flip-flop 242_1 and the second flip-flop 243_1) corresponding to the LSB. can indicate Also, the lower the value in parentheses ("{}"), the faster the latching sequence. For example, in the case of {2'b00, 2'b10, 2'b11, 2'b01}, the latching order is the flip-flop corresponding to the MSB, the flip-flop corresponding to the LSB, and the flip-flop corresponding to (MSB-1) A flip-flop, and a flip-flop corresponding to (MSB-2). In this case, the logic values of the encoding signals EO may be repeated every four cycles as "1000", "0001", "0100", and "0010".
한편, 도 11에 도시된 바와 같이, 4개의 사이클마다 제1 스캔 인에이블 신호(SE_1)의 논리 값과 제2 스캔 인에이블 신호(SE_2)의 논리 값이 서로 교번하는 것으로 가정한다.Meanwhile, as shown in FIG. 11 , it is assumed that the logic values of the first scan enable signal SE_1 and the logic values of the second scan enable signal SE_2 alternate with each other every four cycles.
사이클 카운트가 0일 때, 제1 플립플롭(242_4)은 "p0"를 래치할 수 있다. 사이클 카운트가 1일 때, 제1 플립플롭(242_1)은 "p1"를 래치할 수 있다. 사이클 카운트가 2일 때, 제1 플립플롭(242_3)은 "p2"를 래치할 수 있다. 사이클 카운트가 3일 때, 제1 플립플롭(242_2)은 "p3"을 래치할 수 있다. 보안 스캔 출력 신호(SSO)의 값은 "0"일 수 있다.When the cycle count is 0, the first flip-flop 242_4 may latch “p0”. When the cycle count is 1, the first flip-flop 242_1 may latch “p1”. When the cycle count is 2, the first flip-flop 242_3 may latch “p2”. When the cycle count is 3, the first flip-flop 242_2 may latch “p3”. A value of the security scan output signal SSO may be “0”.
사이클 카운트가 4일 때, 제2 플립플롭(243_4)은 "p4"를 래치할 수 있다. 사이클 카운트가 5일 때, 제2 플립플롭(243_1)은 "p5"를 래치할 수 있다. 사이클 카운트가 6일 때, 제2 플립플롭(243_3)은 "p6"를 래치할 수 있다. 사이클 카운트가 7일 때, 제2 플립플롭(243_2)은 "p7"을 래치할 수 있다. 보안 스캔 출력 신호(SSO)의 값은 순차적으로, "p0", "p2", "p3", "p1"일 수 있다.When the cycle count is 4, the second flip-flop 243_4 may latch “p4”. When the cycle count is 5, the second flip-flop 243_1 may latch “p5”. When the cycle count is 6, the second flip-flop 243_3 may latch “p6”. When the cycle count is 7, the second flip-flop 243_2 may latch “p7”. Values of the security scan output signal SSO may be sequentially “p0”, “p2”, “p3”, and “p1”.
도 13은 본 개시의 다른 실시예에 따른 반도체 집적 회로를 설명하기 위한 도면이다. 13 is a diagram for describing a semiconductor integrated circuit according to another exemplary embodiment of the present disclosure.
도 13을 참조하면, 반도체 직접 회로(400)는, 도 1을 참조하여 전술한 바와 같이, 제1 내지 제4 핀들(P1, P2, P3, P4)을 구비할 수 있다. 반도체 직접 회로(400)는 싱글 락 키 회로(410) 및 복수의 칩들(420_1, 420_2, ..., 420_n)을 포함할 수 있다. n은 2 이상의 정수일 수 있다.Referring to FIG. 13 , the semiconductor integrated
싱글 락 키 회로(410)는 도 1에 도시된 보안 스캔 컨트롤러(210), 보안 키 주입부(220), 키 비교기(230), 스캔 출력 리맵퍼(240), 서킷 언더 테스트(250), 및 OTP(260)를 포함할 수 있다.The single lock
싱글 락 키 회로(410)는 도 1에 도시된 보안 스캔 컨트롤러(210), 보안 키 주입부(220), 키 비교기(230), 스캔 출력 리맵퍼(240), 및 OTP(260)를 포함할 수 있다.The single lock
복수의 칩들(420_1, 420_2, ..., 420_n) 각각은 도 1에 도시된 서킷 언더 테스트(250)에 대응될 수 있다. 이러한 복수의 칩들(420_1, 420_2, ..., 420_n)은 복수의 테스트 인터페이스들(421_1, 421_2, ..., 421_n)을 포함할 수 있다. 복수의 테스트 인터페이스들(421_1, 421_2, ..., 421_n)은, 테스트 모드 또는 스캔 덤프 모드 시, 싱글 락 키 회로(410)와 통신하기 위한 인터페이스일 수 있다. 실시예에 따라, 복수의 칩들(420_1, 420_2, ..., 420_n)은 복수의 회로로 구현될 수 있다.Each of the plurality of chips 420_1, 420_2, ..., 420_n may correspond to the circuit under
도 14는 본 개시의 또 다른 실시예에 따른 반도체 집적 회로를 설명하기 위한 도면이다. 14 is a diagram for describing a semiconductor integrated circuit according to another exemplary embodiment of the present disclosure.
도 14를 참조하면, 반도체 집적 회로(500)는 제1 및 제2 핀들(P1', P2')을 구비할 수 있다. 반도체 집적 회로(500)는, 제1 핀(P1')을 통해, 테스트 스캔 입력 신호(TSI) 또는 테스트 클럭 신호(TCK)를 수신할 수 있다. 반도체 집적 회로(500)는, 제2 핀(P2')을 통해, 보안 스캔 출력 신호(SSO)를 출력할 수 있다.Referring to FIG. 14 , the semiconductor integrated
반도체 집적 회로(500)는 싱글 락 키 회로 그룹(510), 복수의 칩들(520_1, 520_2, ..., 520_n), 및 디멀티플렉서(530)를 포함할 수 있다.The semiconductor integrated
싱글 락 키 회로 그룹(510)은 복수의 싱글 락 키 회로들(510_1, 510_2, ..., 510_n)을 포함할 수 있다. 복수의 싱글 락 키 회로들(510_1, 510_2, ..., 510_n) 각각은 도 13을 참조하여 전술한 싱글 락 키 회로(410)에 대응될 수 있다.The single lock
복수의 칩들(520_1, 520_2, ..., 520_n)은 도 13을 참조하여 전술한 복수의 칩들(420_1, 420_2, ..., 420_n)에 대응될 수 있다.The plurality of chips 520_1, 520_2, ..., 520_n may correspond to the plurality of chips 420_1, 420_2, ..., 420_n described above with reference to FIG. 13 .
일 실시예에서, 제1 싱글 락 키 회로(510_1)는 제1 칩(520_1)에 포함된 제1 테스트 인터페이스(521_1)와 통신할 수 있다. 제2 싱글 락 키 회로(510_2)는 제2 칩(520_2)에 포함된 제2 테스트 인터페이스(521_2)와 통신할 수 있다. 제n 싱글 락 키 회로(510_n)는 제n 칩(520_n)에 포함된 제n 테스트 인터페이스(521_n)와 통신할 수 있다.In one embodiment, the first single lock key circuit 510_1 may communicate with the first test interface 521_1 included in the first chip 520_1. The second single lock key circuit 510_2 may communicate with the second test interface 521_2 included in the second chip 520_2. The nth single lock key circuit 510_n may communicate with the nth test interface 521_n included in the nth chip 520_n.
디멀티플렉서(530)는 제1 핀(P1')을 통해, 외부로부터 수신된 신호를 복수의 싱글 락 키 회로들(510_1, 510_2, ..., 510_n)에 전달할 수 있다.The
도 15는 본 개시의 일 실시에에 따른 반도체 집적 회로를 테스트하는 방법을 설명하기 위한 흐름도이다.15 is a flowchart illustrating a method of testing a semiconductor integrated circuit according to an exemplary embodiment of the present disclosure.
도 15를 참조하면, 반도체 집적 회로를 테스트하는 방법은, 테스트 스캔 입력 신호를 서로 다른 딜레이 값을 갖는 복수의 딜레이 입력 신호들로 변경하는 단계(S310), 테스트 클럭 신호에 응답하여 복수의 딜레이 입력 신호들을 캡쳐함으로써 입력 키 신호를 생성하는 단계(S320), 입력 키 신호에 따른 입력 키가 미리 설정된 기준 키와 일치하는지 여부를 검증하는 단계(S330), 칩으로부터 스캔 출력 신호를 획득하는 단계(S340), 및 검증 결과에 따라, 테스트 대상이 되는 칩으로부터 출력된 스캔 출력 신호를 난독화하는 단계(S350, S360, S370, S380)를 포함할 수 있다. Referring to FIG. 15 , a method of testing a semiconductor integrated circuit includes changing a test scan input signal into a plurality of delay input signals having different delay values (S310), and a plurality of delay inputs in response to a test clock signal. Generating an input key signal by capturing signals (S320), verifying whether an input key according to the input key signal matches a preset reference key (S330), obtaining a scan output signal from a chip (S340) ), and obfuscating the scan output signal output from the chip to be tested according to the verification result (S350, S360, S370, S380).
검증 결과에 따라, 테스트 대상이 되는 칩으로부터 출력된 스캔 출력 신호를 난독화하는 단계(S350, S360, S370, S380)의 경우, 검증 패스인지 여부를 확인하는 단계(S350), 검증 결과가 패스이면(S350, YES), 스캔 출력 신호를 출력 핀을 통해 외부에 출력하는 단계(S360), 검증 결과가 페일이면(S350, NO), 스캔 출력 신호를 난독화하는 단계(S370) 및 난독화된 스캔 출력 신호를 출력 핀을 통해 외부에 출력하는 단계(S380)가 수행될 수 있다.In the case of the step of obfuscating the scan output signal output from the chip to be tested (S350, S360, S370, S380) according to the verification result, the step of checking whether the verification pass (S350), if the verification result is pass (S350, YES), outputting the scan output signal to the outside through an output pin (S360), if the verification result is fail (S350, NO), obfuscating the scan output signal (S370) and obfuscated scan Outputting the output signal to the outside through the output pin (S380) may be performed.
일 실시예에서, 복수의 딜레이 입력 신호들은, 각각 제1 논리 값 또는 제1 논리 값과 다른 제2 논리 값을 가질 수 있다. 이 경우, 입력 키 신호를 생성하는 단계(S320)는, 테스트 클럭 신호의 라이징 엣지에서의 복수의 딜레이 입력 신호들의 논리 값들을 입력 키 신호로 생성할 수 있다.In one embodiment, each of the plurality of delay input signals may have a first logic value or a second logic value different from the first logic value. In this case, in the step of generating the input key signal (S320), logic values of a plurality of delay input signals at the rising edge of the test clock signal may be generated as the input key signal.
일 실시예에서, 입력 키 신호에 따른 입력 키가 미리 설정된 기준 키와 일치하는지 여부를 검증하는 단계(S330)에서, 입력 키가 기준 키와 일치하면, 패스를 나타내는 신호가 출력될 수 있다. 한편, 입력 키가 기준 키와 다르면, 페일을 나타내는 신호가 출력될 수 있다.In one embodiment, in the step of verifying whether the input key according to the input key signal matches a preset reference key (S330), if the input key matches the reference key, a signal indicating a pass may be output. Meanwhile, if the input key is different from the reference key, a signal indicating a fail may be output.
일 실시예에서, 스캔 출력 신호를 출력 핀을 통해 외부에 출력하는 단계(S360)에서, 비난독화된 스캔 출력 신호가 보안 스캔 출력 신호로 출력될 수 있다. In one embodiment, in step S360 of outputting the scan output signal to the outside through an output pin, the decrypted scan output signal may be output as a secure scan output signal.
일 실시예에서, 난독화된 스캔 출력 신호를 출력 핀을 통해 외부에 출력하는 단계(S380)에서, 난독화된 스캔 출력 신호가 보안 스캔 출력 신호로 출력될 수 있다.In one embodiment, in step S380 of outputting the obfuscated scan output signal to the outside through an output pin, the obfuscated scan output signal may be output as a secure scan output signal.
전술한 바에 의하면, 테스트를 수행하기 위한 회로를 악의적으로 사용하는 것으로부터 방지함으로써, 신뢰성 및 보안성이 개선되는 효과가 있다.As described above, reliability and security are improved by preventing malicious use of a circuit for performing a test.
또한, 전술한 바에 의하면, 테스트 스캔 입력을 페러럴라이즈드 인풋(Parallelized input) 방식으로 플립플롭에 입력시킴으로써, 보안 키의 입력의 경우의 수를 기하급수적으로 늘릴 수 있고, 이에 따라 보안성을 더욱 증대시키는 효과가 있다.In addition, as described above, by inputting the test scan input to the flip-flop in a parallelized input method, the number of security key input cases can be exponentially increased, thereby further increasing security. has the effect of
또한, 전술한 바에 의하면, 보안성을 강화하기 위해 시리얼라이즈드 인풋(Serialized input) 방식으로 구현된 플립플롭을 추가하는 대신에 페러럴라이즈드 인풋(Parallelized input) 방식으로 플립플롭에 입력되는 테스트 스캔 인풋을 한번 더 입력시킴으로써, 제조 비용을 절감하고 제품을 집적화하는 효과가 있다.In addition, as described above, instead of adding a flip-flop implemented in a serialized input method to enhance security, a test scan input input to the flip-flop in a parallelized input method By inputting once again, there is an effect of reducing manufacturing cost and integrating products.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As above, exemplary embodiments have been disclosed in the drawings and specifications. Although the embodiments have been described using specific terms in this specification, they are only used for the purpose of explaining the technical idea of the present disclosure, and are not used to limit the scope of the present disclosure described in the claims. . Therefore, those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical scope of protection of the present disclosure should be determined by the technical spirit of the appended claims.
Claims (20)
상기 테스트 스캔 입력 신호를 기초로 상기 테스트 스캔 입력 신호로부터 서로 다르게 딜레이된 복수의 딜레이 입력 신호들을 생성하고, 상기 테스트 클럭 신호에 응답하여 상기 복수의 딜레이 입력 신호들을 캡쳐함으로써 입력 키 신호를 생성하도록 구성된 보안 키 주입부;
상기 입력 키 신호에 따른 입력 키가 미리 설정된 기준 키와 일치하는지 여부를 나타내는 검증 결과 신호를 생성하도록 구성된 키 비교기;
상기 테스트 스캔 입력 신호를 기초로 스캔 출력 신호를 생성하도록 구성된 칩;
상기 검증 결과 신호에 의한 검증 결과에 따라 상기 스캔 출력 신호를 난독화하고, 난독화된 스캔 출력 신호를 상기 보안 스캔 출력 신호로 출력하도록 구성된 스캔 출력 리맵퍼; 및
상기 보안 키 주입부, 상기 키 비교기, 상기 칩 및 상기 스캔 출력 리맵퍼를 제어하도록 구성된 보안 스캔 컨트롤러를 포함하는, 반도체 집적 회로.A semiconductor integrated circuit that receives a test scan input signal, a test clock signal, and a test mode signal from the outside and outputs a security scan output signal,
generate a plurality of delay input signals differently delayed from the test scan input signal based on the test scan input signal, and generate an input key signal by capturing the plurality of delay input signals in response to the test clock signal; a security key injection unit;
a key comparator configured to generate a verification result signal indicating whether an input key according to the input key signal matches a preset reference key;
a chip configured to generate a scan output signal based on the test scan input signal;
a scan output remapper configured to obfuscate the scan output signal according to a verification result of the verification result signal and output the obfuscated scan output signal as the secure scan output signal; and
and a secure scan controller configured to control the secure key injection unit, the key comparator, the chip, and the scan output remapper.
상기 보안 스캔 컨트롤러는,
상기 테스트 스캔 입력 신호 및 상기 테스트 클럭 신호를 상기 보안 키 주입부에 제공하고,
상기 복수의 딜레이 입력 신호들은, 각각
제1 논리 값 또는 상기 제1 논리 값과 다른 제2 논리 값을 갖고,
상기 보안 키 주입부는,
상기 테스트 클럭 신호의 라이징 엣지에서의 상기 복수의 딜레이 입력 신호들의 논리 값들을 상기 입력 키 신호로 생성하여, 상기 입력 키 신호를 상기 키 비교기에 제공하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 1,
The security scan controller,
Providing the test scan input signal and the test clock signal to the security key injection unit;
The plurality of delay input signals, respectively
has a first logic value or a second logic value different from the first logic value;
The security key injection unit,
and generating logic values of the plurality of delay input signals at a rising edge of the test clock signal as the input key signal, and providing the input key signal to the key comparator.
상기 보안 스캔 컨트롤러는,
상기 기준 키를 나타내는 기준 키 신호 및 상기 테스트 클럭 신호를 상기 키 비교기에 제공하고,
상기 키 비교기는,
상기 입력 키가 상기 기준 키와 일치하면, 패스를 나타내는 신호를 상기 검증 결과 신호로서 상기 스캔 출력 리맵퍼에 제공하고,
상기 입력 키가 상기 기준 키와 다르면, 페일을 나타내는 신호를 상기 검증 결과 신호로서 상기 스캔 출력 리맵퍼에 제공하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 1,
The security scan controller,
Providing a reference key signal representing the reference key and the test clock signal to the key comparator;
The key comparator,
If the input key coincides with the reference key, providing a signal indicating a pass to the scan output remapper as the verification result signal;
and providing a signal indicating a fail to the scan output remapper as the verification result signal when the input key is different from the reference key.
상기 보안 스캔 컨트롤러는,
상기 복수의 딜레이 입력 신호들이 캡쳐될 때마다, 상기 복수의 딜레이 입력 신호들을 캡쳐되는 횟수에 대응되는 스테이지를 카운트하고,
미리 저장된 복수의 키들 중 카운트된 스테이지에 대응되는 키를 상기 기준 키로 상기 키 비교기에 제공하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 3,
The security scan controller,
Each time the plurality of delay input signals are captured, a stage corresponding to the number of times the plurality of delay input signals are captured is counted;
A semiconductor integrated circuit characterized in that a key corresponding to a counted stage among a plurality of keys stored in advance is provided to the key comparator as the reference key.
상기 키 비교기는,
상기 입력 키가 상기 기준 키와 다르면, 비교 키 신호를 상기 스캔 출력 리맵퍼에 추가적으로 제공하고,
상기 스캔 출력 리맵퍼는,
상기 비교 키 신호를 기초로 상기 스캔 출력 신호를 난독화하기 위한 난독화 정보를 생성하고, 상기 난독화 정보에 따라 상기 스캔 출력 신호를 난독화하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 3,
The key comparator,
If the input key is different from the reference key, additionally providing a comparison key signal to the scan output remapper;
The scan output remapper,
and generating obfuscation information for obfuscating the scan output signal based on the comparison key signal, and obfuscating the scan output signal according to the obfuscation information.
상기 스캔 출력 리맵퍼는,
상기 검증 결과 신호에 의한 검증 결과가 패스이면, 비난독화된 스캔 출력 신호를 상기 보안 스캔 출력 신호로 출력하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 1,
The scan output remapper,
characterized in that, if the verification result by the verification result signal is pass, outputting the decrypted scan output signal as the security scan output signal.
상기 테스트 스캔 입력 신호를 입력받고 상기 테스트 스캔 입력 신호로부터 서로 다르게 딜레이된 N(N은 1 이상의 정수)개의 딜레이 입력 신호들을 출력하는 N개의 딜레이 회로들 및 상기 테스트 클럭 신호에 응답하여 상기 N개의 딜레이 입력 신호들의 논리 값들을 래치하고, 래치된 논리 값들로 구성되는 입력 키 신호를 출력하는 N개의 플립플롭들을 포함하는 보안 키 주입부;
상기 입력 키 신호에 의한 입력 키와 미리 설정된 기준 키의 일치 여부를 나타내는 검증 결과 신호를 출력하는 키 비교기;
상기 테스트 스캔 입력 신호를 기초로 스캔 출력 신호를 생성하는 칩;
상기 검증 결과 신호에 의한 검증 결과에 따라 상기 스캔 출력 신호를 난독화하고, 난독화된 스캔 출력 신호를 상기 보안 스캔 출력 신호로 출력하는 스캔 출력 리맵퍼; 및
상기 보안 키 주입부, 상기 키 비교기, 상기 칩 및 상기 스캔 출력 리맵퍼를 제어하도록 구성된 보안 스캔 컨트롤러를 포함하는, 반도체 집적 회로.A semiconductor integrated circuit that receives a test scan input signal, a test clock signal, and a test mode signal from the outside and outputs a security scan output signal,
N delay circuits receiving the test scan input signal and outputting N (N is an integer greater than 1) delay input signals differently delayed from the test scan input signal, and the N delay circuits in response to the test clock signal a security key injection unit including N flip-flops that latch logic values of input signals and output an input key signal composed of the latched logic values;
a key comparator outputting a verification result signal indicating whether the input key by the input key signal matches a preset reference key;
a chip generating a scan output signal based on the test scan input signal;
a scan output remapper that obfuscates the scan output signal according to a verification result of the verification result signal and outputs the obfuscated scan output signal as the security scan output signal; and
and a secure scan controller configured to control the secure key injection unit, the key comparator, the chip, and the scan output remapper.
상기 보안 스캔 컨트롤러는,
상기 테스트 스캔 입력 신호를 상기 N개의 딜레이 회로들에 제공하고, 상기 테스트 클럭 신호를 상기 N개의 플립플롭들에 제공하고,
상기 N개의 플립플롭들은, 각각
상기 테스트 클럭 신호의 라이징 엣지에 응답하여, 상기 테스트 클럭 신호의 라이징 엣지에서의 상기 N개의 딜레이 입력 신호들의 논리 값들을 래치하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 7,
The security scan controller,
providing the test scan input signal to the N delay circuits and providing the test clock signal to the N flip-flops;
The N flip-flops are, respectively
and latching logic values of the N delay input signals at the rising edge of the test clock signal in response to the rising edge of the test clock signal.
상기 N개의 딜레이 회로들 중 적어도 하나는, 하나 이상의 버퍼를 포함하고,
상기 N개의 딜레이 회로들 중 제i(i는 N 이하의 정수) 딜레이 회로에 포함된 버퍼의 개수는, 상기 N개의 딜레이 회로들 중 제j(j는 i와 다르고 N 이하의 정수) 딜레이 회로에 포함된 버퍼의 개수와 다른 것을 특징으로 하는, 반도체 집적 회로.According to claim 8,
At least one of the N delay circuits includes one or more buffers,
The number of buffers included in the ith (i is an integer less than or equal to N) delay circuit among the N delay circuits is the jth (j is an integer less than or equal to i and is different from i) delay circuit among the N delay circuits. A semiconductor integrated circuit, characterized in that different from the number of included buffers.
상기 N개의 딜레이 회로들 중 어느 하나의 딜레이 회로는, 버퍼를 포함하지 않고, 상기 테스트 스캔 입력 신호를 상기 N개의 플립플롭들 중 상기 어느 하나의 딜레이 회로에 대응되는 플립플롭에 입력하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 9,
Any one of the N delay circuits does not include a buffer and inputs the test scan input signal to a flip-flop corresponding to any one of the N flip-flops. , a semiconductor integrated circuit.
상기 보안 스캔 컨트롤러는,
상기 N개의 딜레이 입력 신호들의 논리 값들이 래치된 횟수에 대응되는 스테이지를 카운트하여 카운트된 스테이지를 나타내는 스테이지 신호를 출력하고, 상기 스테이지가 카운트될 때마다 비교 동작을 지시하는 비교 신호를 출력하는 스테이지 카운터;
상기 스테이지 신호에 응답하여 미리 저장된 복수의 키들 중 상기 카운트된 스테이지에 따라 선택된 키를 상기 기준 키로서 상기 키 비교기에 제공하는 키 선택기; 및
상기 비교 신호 및 상기 테스트 클럭 신호의 논리곱 연산을 수행하여 그 결과를 상기 키 비교기에 제공하는 제1 논리곱 게이트를 포함하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 7,
The security scan controller,
A stage counter that counts stages corresponding to the number of times logic values of the N delay input signals are latched and outputs a stage signal indicating a counted stage and outputs a comparison signal indicating a comparison operation whenever the stage is counted ;
a key selector configured to provide a key selected according to the counted stage among a plurality of previously stored keys in response to the stage signal to the key comparator as the reference key; and
and a first AND gate for performing an AND operation of the comparison signal and the test clock signal and providing a result of the AND operation to the key comparator.
미리 저장된 인증 키 번호를 나타내는 키 선택 신호를 상기 키 선택기에 제공하는 원 타임 프로그래머블 메모리를 더 포함하고,
미리 저장된 복수의 키들은,
스테이지에 대응되는 스테이지 키들과 상기 인증 키 번호에 대응되는 인증 키 세트를 포함하고,
상기 키 선택기는,
상기 스테이지 키들 중 스테이지 신호에 따라 선택된 스테이지 키를 출력하는 제1 멀티플렉서;
상기 선택된 스테이지 키와 상기 인증 키 세트 중 상기 키 선택 신호에 따라 선택된 키를 상기 기준 키로서 출력하는 제2 멀티플렉서를 포함하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 11,
Further comprising a one-time programmable memory for providing a key selection signal indicating a pre-stored authentication key number to the key selector;
A plurality of pre-stored keys,
Includes stage keys corresponding to stages and an authentication key set corresponding to the authentication key number;
The key selector,
a first multiplexer outputting a stage key selected from among the stage keys according to a stage signal;
and a second multiplexer outputting a key selected according to the key selection signal among the selected stage key and the authentication key set as the reference key.
상기 보안 스캔 컨트롤러는,
상기 테스트 클럭 신호를 상기 스캔 출력 리맵퍼에 제공하고,
상기 키 비교기는,
비교 키 신호를 상기 스캔 출력 리맵퍼에 추가적으로 제공하고,
상기 스캔 출력 리맵퍼는,
상기 스캔 출력 신호를 전달하고, 상기 테스트 클럭 신호 및 상기 비교 키 신호를 기초로 제1 클럭 신호 및 제2 클럭 신호를 출력하고, 제1 스캔 인에이블 신호를 출력하는 리맵 컨트롤러;
상기 제1 스캔 인에이블 신호를 반전시켜 제2 스캔 인에이블 신호를 출력하는 인버터;
상기 제1 스캔 인에이블 신호 및 상기 제1 클럭 신호에 응답하여 상기 스캔 출력 신호를 래치하고, 래치된 제1 스캔 출력 신호를 출력하는 제1 레지스터 세트;
상기 제2 스캔 인에이블 신호 및 상기 제2 클럭 신호에 응답하여 상기 스캔 출력 신호를 래치하고, 래치된 제2 스캔 출력 신호를 출력하는 제2 레지스터 세트;
상기 제1 스캔 출력 신호 및 상기 제2 스캔 출력 신호 중 상기 제2 스캔 인에이블 신호에 따라 어느 하나를 선택하는 제1 선택기; 및
상기 제1 선택기로부터 선택된 스캔 출력 신호와 상기 스캔 출력 신호 중 상기 검증 결과 신호에 따라 어느 하나를 상기 보안 스캔 출력 신호로 출력하는 제2 선택기를 포함하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 7,
The security scan controller,
providing the test clock signal to the scan output remapper;
The key comparator,
additionally providing a comparison key signal to the scan output remapper;
The scan output remapper,
a remap controller that transmits the scan output signal, outputs a first clock signal and a second clock signal based on the test clock signal and the comparison key signal, and outputs a first scan enable signal;
an inverter inverting the first scan enable signal to output a second scan enable signal;
a first register set that latches the scan output signal in response to the first scan enable signal and the first clock signal and outputs the latched first scan output signal;
a second register set that latches the scan output signal in response to the second scan enable signal and the second clock signal and outputs the latched second scan output signal;
a first selector selecting one of the first scan output signal and the second scan output signal according to the second scan enable signal; and
and a second selector outputting one of the scan output signal selected from the first selector and the scan output signal as the security scan output signal according to the verification result signal.
상기 제1 레지스터 세트는,
직렬로 케스케이드된 r개의(r은 1 이상의 정수) 제1 플립플롭들을 포함하고,
상기 제2 레지스터 세트는,
직렬로 케스케이드된 r개의 제2 플립플롭들을 포함하는 것을 특징으로 하는, 반도체 집적 회로.According to claim 13,
The first register set,
It includes r first flip-flops (r is an integer greater than or equal to 1) cascaded in series;
The second register set,
A semiconductor integrated circuit comprising r second flip-flops cascaded in series.
제1 선택기는, 제1 멀티플렉서이고,
제2 선택기는, 제2 멀티플렉서인 것을 특징으로 하는, 반도체 집적 회로.According to claim 13,
The first selector is a first multiplexer,
The semiconductor integrated circuit characterized in that the second selector is a second multiplexer.
테스트 클럭 신호에 응답하여 상기 복수의 딜레이 입력 신호들을 캡쳐함으로써 입력 키 신호를 생성하는 단계;
상기 입력 키 신호에 따른 입력 키가 미리 설정된 기준 키와 일치하는지 여부를 검증하는 단계; 및
검증 결과에 따라, 테스트 대상이 되는 칩으로부터 출력된 스캔 출력 신호를 난독화하는 단계를 포함하는, 반도체 집적 회로를 테스트하는 방법.changing the test scan input signal into a plurality of delay input signals having different delay values;
generating an input key signal by capturing the plurality of delay input signals in response to a test clock signal;
verifying whether an input key according to the input key signal coincides with a preset reference key; and
A method for testing a semiconductor integrated circuit, comprising obfuscating a scan output signal output from a chip to be tested according to a verification result.
상기 복수의 딜레이 입력 신호들은, 각각
제1 논리 값 또는 상기 제1 논리 값과 다른 제2 논리 값을 갖고,
상기 입력 키 신호를 생성하는 단계는,
상기 테스트 클럭 신호의 라이징 엣지에서의 상기 복수의 딜레이 입력 신호들의 논리 값들을 상기 입력 키 신호로 생성하는 것을 특징으로 하는, 반도체 집적 회로를 테스트하는 방법.According to claim 16,
The plurality of delay input signals, respectively
has a first logic value or a second logic value different from the first logic value;
Generating the input key signal,
The method of testing a semiconductor integrated circuit, characterized in that for generating the logic values of the plurality of delay input signals at the rising edge of the test clock signal as the input key signal.
상기 검증하는 단계는,
상기 입력 키가 상기 기준 키와 일치하면, 패스를 나타내는 신호를 출력하고,
상기 입력 키가 상기 기준 키와 다르면, 페일을 나타내는 신호를 출력하는 것을 특징으로 하는, 반도체 집적 회로를 테스트하는 방법.According to claim 16,
The verification step is
If the input key coincides with the reference key, outputting a signal indicating a pass;
and outputting a signal indicating a fail when the input key is different from the reference key.
상기 검증 결과가 패스이면, 비난독화된 스캔 출력 신호를 보안 스캔 출력 신호로 출력하는 단계를 더 포함하는 것을 특징으로 하는, 반도체 집적 회로를 테스트하는 방법.According to claim 18,
If the verification result is pass, outputting the decrypted scan output signal as a secure scan output signal.
상기 검증 결과가 페일이면, 난독화된 스캔 출력 신호를 보안 스캔 출력 신호로 출력하는 단계를 더 포함하는 것을 특징으로 하는, 반도체 집적 회로를 테스트하는 방법.According to claim 18,
and outputting the obfuscated scan output signal as a security scan output signal if the verification result is a fail.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/849,945 US20230096746A1 (en) | 2021-09-28 | 2022-06-27 | Semiconductor integrated circuit, a method for testing the semiconductor integrated circuit, and a semiconductor system |
TW111125732A TW202403914A (en) | 2021-09-28 | 2022-07-08 | Semiconductor integrated circuit and method for testing semiconductor integrated circuit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210128350 | 2021-09-28 | ||
KR1020210128350 | 2021-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230045505A true KR20230045505A (en) | 2023-04-04 |
Family
ID=85929066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210178879A KR20230045505A (en) | 2021-09-28 | 2021-12-14 | Semiconductor integrated circuit, method for testing semiconductor integrated circuit, and semiconductor system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230045505A (en) |
-
2021
- 2021-12-14 KR KR1020210178879A patent/KR20230045505A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230096746A1 (en) | Semiconductor integrated circuit, a method for testing the semiconductor integrated circuit, and a semiconductor system | |
CN108875431B (en) | Dynamic confusion packaging interface control unit for preventing intellectual property right plagiarism of integrated circuit | |
Wang et al. | IIPS: Infrastructure IP for secure SoC design | |
US7613969B2 (en) | Method and system for clock skew independent scan register chains | |
US7404126B2 (en) | Scan tests tolerant to indeterminate states when employing signature analysis to analyze test outputs | |
JP2018503328A (en) | A method for generating physically unclonable function bitstreams with improved reliability | |
Cui et al. | A new PUF based lock and key solution for secure in-field testing of cryptographic chips | |
Pierce et al. | Enhanced secure architecture for joint action test group systems | |
US9746519B2 (en) | Circuit for securing scan chain data | |
KR20130040202A (en) | Method and apparatus for providing scan chain security | |
Gupta et al. | Increasing IJTAG bandwidth and managing security through parallel locking-SIBs | |
KR101079310B1 (en) | Semiconductor integrated circuit and method for testing same | |
US20070192874A1 (en) | Advanced encryption standard to provide hardware key interface | |
CN108875430B (en) | Dynamic confusion packaging interface for preventing plagiarism of integrated circuit and intellectual property right | |
CN1650180A (en) | Secure scan | |
Chandran et al. | SS-KTC: A high-testability low-overhead scan architecture with multi-level security integration | |
JP4846128B2 (en) | Semiconductor device and test method thereof | |
Kareem et al. | Towards performance optimization of ring oscillator PUF using Xilinx FPGA | |
KR20230045505A (en) | Semiconductor integrated circuit, method for testing semiconductor integrated circuit, and semiconductor system | |
Kumar et al. | Physical unclonable functions for on-chip instrumentation: Enhancing the security of the internal joint test action group network | |
Bhakthavatchalu et al. | Verilog design of programmable JTAG controller for digital VLSI IC’s | |
US7539913B2 (en) | Systems and methods for chip testing | |
Wang et al. | A new secure scan design with PUF-based key for authentication | |
Wang et al. | Register PUF with no power-up restrictions | |
US9506983B2 (en) | Chip authentication using scan chains |