KR20220044272A - 처리 장치와 프로그램 및/또는 데이터 메모리를 포함하는 피시험 장치를 테스트하기 위한 자동 테스트 장비와, 테스트 제어기, 피시험 장치에 대한 하나 이상의 인터페이스 및 공유 메모리를 포함하는 자동 테스트 장비와, 피시험 장치를 테스트하기 위한 방법 - Google Patents

처리 장치와 프로그램 및/또는 데이터 메모리를 포함하는 피시험 장치를 테스트하기 위한 자동 테스트 장비와, 테스트 제어기, 피시험 장치에 대한 하나 이상의 인터페이스 및 공유 메모리를 포함하는 자동 테스트 장비와, 피시험 장치를 테스트하기 위한 방법 Download PDF

Info

Publication number
KR20220044272A
KR20220044272A KR1020227003124A KR20227003124A KR20220044272A KR 20220044272 A KR20220044272 A KR 20220044272A KR 1020227003124 A KR1020227003124 A KR 1020227003124A KR 20227003124 A KR20227003124 A KR 20227003124A KR 20220044272 A KR20220044272 A KR 20220044272A
Authority
KR
South Korea
Prior art keywords
interface
test
device under
under test
memory
Prior art date
Application number
KR1020227003124A
Other languages
English (en)
Inventor
프랭크 헨젤
올라프 뵈페
Original Assignee
주식회사 아도반테스토
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아도반테스토 filed Critical 주식회사 아도반테스토
Publication of KR20220044272A publication Critical patent/KR20220044272A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31905Interface with the device under test [DUT], e.g. arrangements between the test head and the DUT, mechanical aspects, fixture
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31912Tester/user interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5602Interface to device under test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명의 실시예는 처리 장치와 프로그램 및/또는 데이터 메모리를 포함하는 피시험 장치(DUT)를 테스트하기 위한 자동 테스트 장비(ATE)이고, 처리 장치는 프로그램 및/또는 데이터 메모리로부터의 코드를 실행할 수 있다. 자동 테스트 장비는 예를 들어 외부 제어를 위해 처리 장치에 액세스할 수 있는 디버그 인터페이스 또는 디버그 액세스 포트 또는 일반 인터페이스와 같은 제1 인터페이스를 사용하여 DUT에 프로그램을 업로드함으로써 통신을 수립하도록 구성된다. 제1 인터페이스의 일반적인 사용 사례는 일반적으로 제한된 데이터 레이트를 요구하는 DUT에 대한 디버그 액세스이다. 본 발명의 경우, 제1 인터페이스는 예컨대, 처리 장치 레지스터에 대한 액세스를 허용하는 인터페이스와 같이, 테스트 실행을 위한 ATE 액세스이다. 제1 인터페이스는 DUT가 추가 통신을 위해 제1 인터페이스보다 높은 훨씬 더 높은 데이터 속도로 실행되는 제2 인터페이스를 열도록 구성된다. 또한, 제2 인터페이스는, 있을 수 있는 더 느린 액세스 시간을 제외하고는, 자체 메모리를 일반 시스템 메모리로서 DUT의 처리 장치에 제공하는 것과 같이 제1 인터페이스에 비해 확장된 기능을 가질 수 있다.

Description

처리 장치와 프로그램 및/또는 데이터 메모리를 포함하는 피시험 장치를 테스트하기 위한 자동 테스트 장비와, 테스트 제어기, 피시험 장치에 대한 하나 이상의 인터페이스 및 공유 메모리를 포함하는 자동 테스트 장비와, 피시험 장치를 테스트하기 위한 방법
본 발명에 따른 실시예는 처리 장치 및 메모리를 포함하는 피시험 장치를 테스트하기 위한 자동 테스트 장비에 관한 것이다. 메모리는 프로그램 및/또는 데이터 메모리를 포함할 수 있다. 본 발명에 따른 추가 실시예는 테스트 제어기, 하나 이상의 컴퓨터 인터페이스 및 공유 메모리를 포함하는 자동 테스트 장비에 관한 것이다. 본 발명에 따른 추가 실시예는 피시험 장치(DUT)를 테스트하기 위한 방법에 관한 것이다. 본 발명의 실시예는 일반적으로 디지털 반도체 장치의 테스팅에 관한 것이고, 보다 구체적으로는 장치 제조 동안의 시스템 유형 테스팅에 관한 것이다. 본 발명에 따른 추가 실시예는 온칩 시스템 테스트를 위한 메모리 확장 방법에 관한 것이다.
디지털 반도체 장치의 생산 테스트를 위해, 구조적 테스트 방법론이 널리 적용되고 있다. 그러나, 이러한 테스트는 특정의 복잡한 기능 구현에 집중하거나 다중 IP 디지털 반도체 설계의 지적 재산(IP) 블록에 집중한다. 따라서, 상이한 IP 소스 및/또는 공급업체에서 생성될 수 있는 IP 블록은 일반적으로 구조적으로 해당 테스트에 맞게 설계된 기법(structural design-for-test techniques)에 대해 도움을 줘서 구조적으로 잘 테스트될 수 있다. 이러한 구조적 테스트는 로직 기능을 테스트하며 테스트 모드에서 수행된다. 디지털 반도체 설계의 최종 애플리케이션에서, 즉 임무 및/또는 작동 모드에서, 장치는 일반적으로 또는 주로 테스트 모드가 아니라 임무 모드에서 작동한다.
반도체가 시스템 온 칩(SOC) 또는 시스템 인 패키지(SIP)인 경우, 내부 및/또는 외부 처리 장치 또는 중앙 처리 장치(CPU)는 IP 블록 간에 교환되는 데이터와 함께 작동하는 명령 또는 프로그램 코드를 실행할 수 있다. IP 블록의 상호작용은 IP 간 잘못된 동작의 새로운 메커니즘을 도입할 수 있다. 이는 설계 관련 및/또는 프로세스 관련일 수 있다.
새로운 설계의 초기 시스템 켜기 동작은 설계 오류를 찾는 것을 목표로 하는 반면, 점점 더 많은 반도체 제조업체는 프로세스 관련 결함을 찾기 위해 장치 제조 중 시스템 유형 테스트를 수립하는 작업을 하고 있다. 내부 통신을 수립하거나 IP 간 기능을 증명하기 위해 이 테스트 단계에서는 임무 모드 동작이 필요하다.
SOC 또는 SIP 설계의 전형적인 빌딩 블록은 예를 들어 처리 장치(PU), 명령 및/또는 데이터용 캐시 메모리(예컨대, L2 캐시)와 같은 컴퓨터 인프라, 주변 로직 및 설계 특정 및/또는 맞춤형 IP 블록이다.
생산 테스트 단계에서, 이러한 SOC 칩이 설계된 시스템은 아직 완전하지 않다. 외부 메모리, 대용량 저장소, 전원 관리 등과 같은 컴포넌트는 부분적으로만 이용가능한데, 그 이유는 이러한 컴포넌트는 나중에, 예를 들어, 애플리케이션 보드에 패키징 또는 조립하는 동안 추가될 수 있기 때문이다.
따라서, 예를 들어, 웨이퍼 레벨에서 처리 장치 상에서 실행될 프로그램 코드의 저장은 매우 제한적인데, 즉 메모리로서 역할을 하도록 재구성될 수 있는 작은 메모리 뱅크 및/또는 캐시 메모리와 같이 칩 상에 있는 메모리 리소스로 제한된다. 이는 테스트 프로그램 코드와 작업할 데이터가 해당 리소스에 적합하도록 매우 작아야 함을 의미한다. 테스트 콘텐츠를 더 작은 조각으로 분리하는 것과 같이 이 제한을 해결하는 방법을 찾아야 한다.
오프칩 메모리 인터페이스는 일반적으로 웨이퍼 프로브 테스트 삽입 시 작동될 수 없다. 이들은 일반적으로 1cm 미만의 와이어 길이를 필요로 하는 넓은 버스, 매우 짧은 트레이스 및/또는 왕복 시간을 필요로 한다. 또한, 이러한 메모리 인터페이스는 일반적으로 구조 테스트를 위한 테스트 포트로 재사용되기 때문에 훨씬 더 많은 핀이 필요하다. 자동 테스트 장비(ATE)에 메모리 기능을 통합하더라도 도움이 제한되거나 제한된 도움을 제공하는데, 그 이유는 넓은 버스가 필요하고 특히 매우 짧은 트레이스 및/또는 왕복 시간이 필요하기 때문이며, 그에 따라 적절히 작동하지 않을 수 있다.
PCIe™(Peripheral Component Interface Express), USB(범용 직렬 버스), SPI(직렬 주변 장치 인터페이스)와 같은 HSIO(고속 입력/출력) 버스는 좁지만 속도가 빠르다. 처리 장치 디버그 포트의 경우와 유사하게, ATE 커버리지가 가능하며 파라메트릭 신호 검증 목적으로 ATE 산업에서 가능한 널리 사용된다.
사용 가능한 RAM 메모리 양을 확장하기 위해, 일부 설계는, 예를 들어, 캐싱 알고리즘을 끔으로써 L2 캐시 메모리를 추가 RAM으로 용도 변경을 가능하게 하는 특별한 DfT(design for testability) 하드웨어를 가지고 있는 것으로 알려져 있다.
테스트 케이스 프로그램의 실행을 위해 오직 또는 전적으로 온다이 RAM만을 사용하는 것은 크기의 제한을 야기한다. 또한, 실행이 시작되기 전에 프로그램이 완전히 로딩되어야 한다. 따라서, JTAG 및/또는 다른 디버그 포트를 통한 로딩 시간은 상대적으로 제한된다. 또한, 디버그 포트 메커니즘을 통한 테스트 결과에 대한 유사한 간접 액세스가 필요하다.
L2 캐시 메모리를 RAM으로 용도 변경하여 RAM 크기 확장을 활성화하려면 특별한 DfT가 필요하다. 캐시 기능은 소위 캐시 라인의 시작 주소와 캐시 라인 데이터를 저장해야 하고, 연속적인 메모리 영역이 형성되어야 하지만, DfT는 프로그램 코드가 자동으로 덮어쓰기되는 것을 방지하기 위해 이들 메커니즘을 꺼야한다. 이 옵션은 공개되었지만, 그 복잡성으로 인해 거의 관찰되거나 적용되지 않았다.
RAM, ROM, 플래시 ROM 등과 같은 외부 메모리 모듈을 보드에 사용하게 되면, 더 이상 테스트 액세스에 사용가능하지 않은 장치 핀의 사용량이 높아지게 되고 구조적 테스트 간격이 생긴다. 또한, 이 옵션은 회로 확인, 프로그램 콘텐츠 확인 및/또는 교체와 같은 높은 유지 관리 및/또는 진단 노력을 필요로 한다. 또한, 디버그 액세스 포트와 결합되지 않은 경우, 이 옵션은 테스트 결과의 제한된 가시성을 제공하는데, 이는 단일 피시험 장치(DUT) 비트 상에서 요약본이 시그널링된다는 것을 의미한다.
제2 인터페이스를 통해 DUT에 업로드된 프로그램은 DUT에 대한 기능 테스트를 수행하는데, 이는 반도체 장치가 예를 들어, 임무 모드와 비교하여 테스트 모드에서 전력 소비 측면에서 상이한 특성을 나타내는 것으로 잘 알려져 있기 때문에 바람직하다.
따라서, DUT의 기능 테스트 동안 DUT 메모리의 크기 및/또는 가용성을 증가시키고 및/또는 DUT와 ATE 간의 더 빠른 및/또는 모니터링된 및/또는 보호된 통신을 허용하는 개념이 필요하다.
이 목적은 독립항의 청구대상에 의해 해결된다.
본 발명의 실시예(예를 들어 청구항 1 참조)는 DUT를 테스트하기 위한 ATE로서, 처리 장치와 프로그램 및/또는 데이터 메모리를 포함하되, 처리 장치는 프로그램 및/또는 데이터 메모리로부터의 코드를 실행할 수 있다. 자동 테스트 장비는 예를 들어 외부 제어를 위해 처리 장치에 액세스할 수 있는 디버그 인터페이스 또는 디버그 액세스 포트(DAP) 또는 일반 인터페이스와 같은 제1 인터페이스를 사용하여 DUT에 프로그램을 업로드하도록 구성된다.
제1 인터페이스의 일반적인 사용 사례는 일반적으로 다소 느린 소프트웨어 디버깅이다. 본 발명의 경우, 제1 인터페이스는 예를 들어 내부 DUT 기능에 대한 액세스를 허용하는 인터페이스와 같이, 테스트 실행을 위한 ATE 액세스일 수 있다. 제1 인터페이스를 통해 DUT에 업로드된 프로그램은, 추가 통신을 위해 제1 인터페이스의 데이터 레이트보다 더 높은 (또는 심지어 훨씬 더 높은) 데이터 레이트(예컨대, 훨씬 더 높은 데이터 레이트)에서 실행되는 제2 인터페이스를 열도록 DUT를 구성한다.
예를 들어, DUT에 프로그램을 업로드하고 실행하도록 구성된 ATE는 더 높은 데이터 레이트를 가질 수 있는 제2 인터페이스를 열 수 있고, 그에 따라 DUT 테스트에 소요되는 시간을 줄일 수 있다. 제2 인터페이스는 추가로 프로그램 및/또는 데이터 메모리로 작용할 가능성을 가질 수 있고 및/또는 제1 인터페이스를 사용하여 사용할 수 없는 다른 기능을 제공할 수 있다.
이 실시예는, 예를 들어 소정의 구성 및/또는 드라이버 소프트웨어를 필요로 할 수 있는 비교적 빠른 제2 인터페이스를 여는 프로그램을 비교적 느린 제1 인터페이스를 통해 DUT에 제공함으로써 테스트가 가속화될 수 있다는 아이디어에 기초한다.
따라서, 제2 인터페이스는 ATE 또는 테스터와 DUT 사이의 통신을 지원할 수 있고 및/또는 DUT가 예를 들어 테스터에 의해 제공될 수 있고 예를 들어 테스트를 수행할 때 유용할 수 있는 메모리에 액세스하도록 허용할 수 있다.
그러나, 제2 인터페이스는 전원을 켤 때 작동하지 않거나 완전히 작동하지 않을 수 있지만, 소프트웨어 드라이버 구성 절차 없이 및/또는 드라이버 소프트웨어 없이 사용할 수 있는 간단한 인터페이스일 수 있는 제1 인터페이스를 사용하여 테스터에 의해 업로드된 프로그램은 제2 인터페이스를 활성화하여 개선된 테스트를 가능하게 할 수 있다. 제1 인터페이스를 사용하여 초기 프로그램 코드를 DUT 메모리로 다운로드하면, 칩에 있을 수 있는 일회성 프로그래밍가능 ROM을 사용할 수 없다는 문제도 해결되는데, 즉 그것은 일반적으로 애플리케이션 ROM 코드와 함께 생산 흐름의 나중 상태에서 프로그래밍될 것이며, 따라서, 또한 보안상의 이유로, ATE와 상호작용하도록 제2 장치를 구성하는 데 사용될 수 없다.
결론적으로, 제2 인터페이스를 활성화하는 프로그램을 DUT에 제공하기 위해 제1 인터페이스가 필요한 2-단계 절차를 사용함으로써, DUT는 복잡한 테스트를 허용하기 위해 외부 메모리가 액세스될 수 있는 상태로 진입할 수 있다.
실시예에 따르면(예를 들어, 청구항 2 참조), 제1 인터페이스를 통해 DUT에 업로드된 프로그램은 다음 단계 중 하나 이상을 실행한다.
● 업로드된 프로그램은, 제2 인터페이스를 통해 추가 프로그램 코드 및/또는 데이터를 로딩하기 위해, DUT, 예를 들어 DUT의 메모리를 사용하여 DUT 및/또는 연결된 블록을 구성한다. 제2 인터페이스는, 프로그램이 DUT에 의해 실행되는 경우, 예를 들어 프로그램이 자동 테스트 장비의 공유 메모리로부터 실행되는 경우, 제1 인터페이스의 데이터 레이트보다 높은 더 높은 데이터 레이트를 포함하거나 이 데이트 레이트로 통신할 수 있다. 제2 인터페이스는 추가로 프로그램 및/또는 데이터 메모리의 역할을 할 수 있고 및/또는 제1 인터페이스를 사용하여 이용할 수 없는 다른 기능을 제공할 수 있다.
● 업로드된 프로그램은 하나 이상의 프로그램 실행을 제어한다.
● 업로드된 프로그램은 DUT의 레지스터를 원하는 값으로 설정한다.
● 업로드된 프로그램은 예를 들어 랜덤 액세스와 같은 DUT의 메모리 액세스를 구성한다.
업로드된 프로그램은 DUT를 구성하도록 구성되는데, 이러한 구성은 추가 프로그램 및 데이터의 로딩, 하나 이상의 프로그램의 실행, 레지스터 값의 설정 및 DUT의 메모리 액세스를 포함할 수 있다. DUT를 구성하면 DUT와 ATE 간에 더 빠른 통신을 설정하거나 공유 메모리를 매핑할 수 있어, 공유 메모리로부터 프로그램을 실행하고 및/또는 공유 메모리로부터/로 데이터를 판독/기록할 수 있다는 이점이 있다.
바람직한 실시예에서(예를 들어 청구항 3 참조), 제1 인터페이스를 통해 DUT에 업로드된 프로그램은 메모리 매핑을 사용하여 제2 인터페이스에 액세스하도록 DUT를 구성하도록 구성된다. 이것은 예를 들어 DUT의 메모리 매핑 제어 레지스터에 적절한 값을 기록함으로써 실현될 수 있다. 그리고 이것은 예를 들어 제2 인터페이스를 통해 DUT에 연결된 ATE의 공유 메모리의 콘텐츠가 DUT의 처리 장치에 메모리로서, 예를 들어 DUT의 시스템 버스에 연결된 메모리로서 나타나는 결과를 초래할 수 있다. 이로 인해 DUT의 주소 지정가능 메모리가 확장될 수 있다.
실시예에 따르면(예를 들어 청구항 4 참조), 제1 인터페이스를 통해 DUT에 업로드된 프로그램은 제2 인터페이스에 대한 액세스를 위해 DUT의 처리 장치에 의해 주소 지정가능한 메모리 범위의 메모리 하위범위를 할당하도록 DUT의 리소스 관리자를 구성하도록 구성된다. 프로그램은, 제2 인터페이스를 통해 DUT에 연결된 ATE의 공유 메모리의 콘텐츠가 할당된 메모리 하위범위의 메모리로서 DUT의 처리 장치에 나타나도록 리소스 관리자를 구성할 수 있다. 이로 인해 DUT의 메모리가 확장될 수 있다.
바람직한 실시예(예를 들어 청구항 5 참조)에서, DUT에 업로드된 프로그램은 적절한 애플리케이션 프로토콜을 사용하여 클라이언트 또는 호스트로서 ATE와 통신하여 해당 상대, 즉 ATE와 데이터를 교환하도록 구성된다.
예를 들어, 교환된 데이터는 무엇보다도 컴파일된 코드 조각, 설정 및 구성 데이터, 측정 결과 데이터 및/또는 레지스터 값을 포함할 수 있다. DUT는 독립적인 컴퓨터 시스템을 형성하도록 구성된다.
실시예에 따르면(예를 들어 청구항 6 참조), ATE는 제1 및/또는 제2 인터페이스에 대해 자신을 인증 및/또는 승인하도록 구성되거나 요구된다.
예를 들어, ATE는 암호화 수단 및/또는 비밀 자격증명을 사용하여 자신을 인증 및/또는 승인하도록 구성된다. 예를 들어, 인증은 예를 들어 통신을 설정하는 데 필요한 ID를 증명하기 위해 필요할 수 있다. 예를 들어, 승인은 장치에 대한 권한을 얻기 위해, 예를 들어, 제한된 기능에 액세스하기 위해 필요할 수 있다. 예를 들어, 필요한 인증 및/또는 승인으로 인해 보안이 향상된다.
바람직한 실시예(예를 들어 청구항 7 참조)에서, ATE는 암호화된 방식으로 및/또는 변경에 대해 보호되는 방식으로 제1 및/또는 제2 인터페이스를 사용하여 DUT와 통신하도록 구성되거나 요구된다.
예를 들어, 통신은 해시와 같은 표준 및/또는 독점 데이터 무결성 검사 방법을 사용하여 변경으로부터 보호되도록 구성된다. 예를 들어, 통신은 표준 및/또는 독점 암호화 방식 및/또는 방법을 사용하여 암호화되도록 구성된다. 보호 및/또는 암호화된 통신을 사용하면 보안이 향상된다.
실시예에 따르면(예를 들어 청구항 8 참조), ATE는 표준 및/또는 독점, 손실 및/또는 무손실 압축 수단을 사용하여 압축된 방식으로 제1 및/또는 제2 인터페이스를 사용하여 DUT와 통신하도록 구성되거나 요구되며, 자동 테스트 장비는 DUT로 보낼 데이터를 압축하고 DUT로부터 수신된 데이터의 압축을 풀도록 구성된다.
압축된 데이터를 보내고 받는 것은 압축되지 않은 데이터를 보내고 받는 것보다 시간 효율적이다.
바람직한 실시예(예를 들어 청구항 9 참조)에서, 제1 및/또는 제2 인터페이스를 통해 DUT에 업로드된 프로그램은 압축 및/또는 압축해제를 수행하기 위해 압축 및/또는 압축해제 방법을 수행하기 위한 프로그램 코드를 포함한다. 예를 들어, 압축 및/또는 압축해제 방법은 테스트 모드에서만 사용되며, DUT가 임무 및/또는 작동 모드에서 압축 및/또는 압축해제 방법을 포함할 의무는 없을 수 있다.
실시예(예를 들어 청구항 10 참조)에 따르면, ATE는 DUT의 처리 장치로 하여금 ATE의 공유 메모리에 저장되고 제2 인터페이스를 통해 DUT에 로딩되는 테스트 케이스 코드 및/또는 테스트 케이스 프로그램을 실행하게 하도록 구성된다.
예를 들어, 테스트 케이스 코드는 DUT의 처리 장치에 의해 주소 지정가능한 메모리 범위의 메모리 하위범위에 있는 것으로 DUT의 처리 장치에 나타난다. 예를 들어, 테스트 케이스 코드는 DUT의 처리 장치에 의해 실행될 때 DUT의 하나 이상의 기능을 테스트하도록 적응된다. ATE의 공유 메모리에 테스트 케이스 코드를 저장 및/또는 실행하면, 테스트 모드에서 필요한 DUT 메모리가 줄어든다. 또한, ATE는 ATE의 공유 메모리에 저장된 테스트 케이스 프로그램을 쉽게 관리할 수 있다.
바람직한 실시예에서(예를 들어 청구항 11 참조), ATE는, DUT가 ATE의 공유 메모리에 저장되고 제2 인터페이스를 통해 DUT에 로딩된 테스트 케이스 코드를 실행하기 전에, 캐시 또는 캐시 영역의 무효화를 일으키도록 구성된다. 제2 인터페이스는 추가로 프로그램 및/또는 데이터 메모리로서 작용할 가능성을 가질 수 있고 및/또는 제1 인터페이스를 사용하여 사용할 수 없는 다른 기능을 제공할 수 있다.
테스트 모드에서 캐시 또는 캐시 영역의 무효화는 예를 들어 테스트 모드와 임무 및/또는 작동 모드를 분리하여, 캐시 및/또는 캐시 영역이 테스트 모드의 프로그램 및/또는 데이터로부터 자유로울 수 있도록 하고, 캐시 및/또는 캐시 영역의 데이터는 테스트 프로세스에 의해 덮어쓰기되지 않게 할 수 있다.
캐시 또는 캐시 영역의 무효화의 추가 이점은 예를 들어 테스트 프로세스 동안 생성된 데이터 또는 보조 데이터가 공유 메모리에 저장될 수 있고 예를 들어 ATE에 의해 평가될 수 있다는 것이다. 이러한 데이터를 테스트 및/또는 평가하는 것은 예를 들어 입력 데이터의 양 및/또는 유형을 개선함으로써 테스트 프로세스의 질적 개선을 가져올 수 있다.
실시예에 따르면(예를 들어 청구항 12 참조), 제1 인터페이스를 사용하여 DUT에 업로드된 프로그램은 DUT의 처리 장치를 초기화하고 DUT의 제2 인터페이스를 초기화하도록 구성된다. 또한, 프로그램은 DUT의 제2 인터페이스가 ATE의 공유 메모리에 연결되도록 구성하고 ATE의 공유 메모리의 메모리 범위를, 예를 들어 메모리 매핑을 사용하여 DUT의 처리 장치에 의해 사용가능한 메모리 범위로 제공하도록 구성된다. 공유 메모리 범위는 예를 들어 메모리 액세스 명령어 및/또는 연산코드(opcode)를 사용하여 액세스가능할 수 있다.
공유 메모리의 이점은 예를 들어 ATE와 DUT가 모두 메모리에 액세스할 수 있고, 따라서, ATE와 DUT 간에 데이터를 저장하고 주고/받을 필요가 없게 함으로써, 그리고 ATE가 공유 메모리의 콘텐츠가 변경될 때마다 그 때 그 때 실시간에 가까운 정보를 교환하는 것을 가능하게 함으로써, 테스트의 속도를 높일 수 있다는 것이다.
바람직한 실시예에서(예를 들어 청구항 13 참조), 제1 인터페이스를 사용하여 DUT에 업로드된 프로그램은 ATE의 메모리의 메모리 범위가 매핑되는 메모리 범위를, 피시험 장치의 L2 캐시와 같은 캐시에 의해 캐싱되도록 초기화하도록 구성된다.
이것은 예를 들어, 제2 인터페이스에 의해 제공되는 확장 메모리가, 있을 수 있는 더 느린 액세스 시간을 제외하고는, 일반적인 시스템 메모리로서 DUT의 처리 장치에 제공되는 결과를 초래할 수 있다. 제2 인터페이스는 추가로 프로그램 및/또는 데이터 메모리로 작용할 가능성을 가질 수 있고 및/또는 제1 인터페이스를 사용하여 사용할 수 없는 다른 기능을 제공할 수 있다.
이로 인해 예를 들어 ATE와 DUT 사이에 공유 메모리가 생길 수 있으며, 이는 예를 들어 ATE와 DUT 모두가 메모리에 액세스할 수 있으므로 ATE가 공유 메모리의 콘텐츠가 변경될 때마다 그 때 그 때 실시간에 가깝게 테스트할 수 있다는 이점을 가질 수 있다.
실시예(예를 들어 청구항 14를 참조)에 따르면, 제1 인터페이스를 사용하여 DUT에 업로드된 프로그램은, ATE의 공유 메모리의 메모리 범위가 매핑되는 메모리 범위를 초기화하여 제2 인터페이스에 의해 제공되는 확장 메모리가, 있을 수 있는 더 느린 액세스 시간을 제외하고는, 랜덤 액세스 메모리와 같은 일반적인 시스템 메모리로서 DUT의 처리 장치에 제공되게 하도록 구성된다. 피시험 장치의 메모리 영역에 매핑될 수 있는 "호스트"의 메모리는 테스트 프로그램이 합리적인 속도로 실행될 수 있도록 캐싱된다.
이것은 예를 들어, 제2 인터페이스에 의해 제공되는 확장 메모리가, 있을 수 있는 더 느린 액세스 시간을 제외하고는, 일반적인 시스템 메모리로서 DUT의 처리 장치에 제공되는 결과를 초래할 수 있다.
이로 인해 예를 들어 ATE와 DUT 사이에 공유 메모리가 생길 수 있으며, 이는 예를 들어 ATE와 DUT 모두가 메모리에 액세스할 수 있으므로 ATE가 공유 메모리의 콘텐츠가 변경될 때마다 그 때 그 때 실시간에 가깝게 테스트할 수 있다는 이점을 가질 수 있다.
바람직한 실시예에서(예를 들어 청구항 15 참조), 제1 인터페이스를 사용하여 DUT에 업로드된 프로그램은, 예를 들어 자동 테스트 장비의 공유 메모리에 제2 인터페이스를 통해 프로그램 실행 결과를 저장하기 위해, DUT가 프로그램 실행 결과를 제2 인터페이스를 통해 ATE로 전송하게 하도록 구성된다.
공유 메모리의 이점은 예를 들어 ATE와 DUT 모두가 메모리에 액세스할 수 있고, 따라서 ATE와 DUT 간에 데이터를 저장하고 주고/받을 필요를 제거함으로써, 그리고 ATE가 공유 메모리의 콘텐츠가 변경될 때마다 그 때 그 때 실시간에 가깝게 테스트할 수 있게 함으로써, 테스트 속도를 높일 수 있다는 것일 수 있다.
실시예에 따르면(예를 들어 청구항 16 참조), ATE는 제2 인터페이스를 통해 ATE의 메모리에 저장된 결과에 기초하여 데이터 분석을 수행하도록 구성되며, 이는 추가로 프로그램 및/또는 또는 데이터 메모리로서 작동할 가능성을 가질 수 있고 및/또는 제1 인터페이스를 사용하여 사용할 수 없는 다른 기능을 제공할 수 있다.
ATE는 제2 인터페이스를 통해 ATE의 메모리에 저장된 결과에 기초하여 예를 들어 합격/불합격 계산과 같은 DUT의 특성화를 수행하도록 추가로 구성될 수 있다. ATE는 예를 들어 DUT를 특성화하고 및/또는 합격/불합격 검출을 수행하기 위해 제2 인터페이스를 통해 ATE의 메모리에 대한 데이터 액세스 패턴을 평가하도록 추가로 구성될 수 있다. ATE는 DUT를 특성화하기 위해 제2 인터페이스를 통해 피시험 장치로부터 수신된 온더 플라이(on-the-fly) 정보를 분석하도록 추가로 구성될 수 있다.
바람직한 실시예에서(예를 들어 청구항 17 참조), ATE는 DUT로 하여금 예를 들어 멀티 코어 DUT의 경우에 복수의 테스트 케이스 프로그램을 순차적으로 및/또는 병렬로 실행하게 하도록 구성된다. 예를 들어, 이것은 상이한 스트레스 패턴을 생성하고 잠재적으로는 더 현실적일 수 있다. 테스트 케이스 프로그램은 제2 인터페이스를 통해 DUT에 의해 액세스되는 ATE 공유 메모리의 다른 메모리 범위에 저장된다. 예를 들어, 테스트 케이스의 병렬 실행 및/또는 평가는 서로 다른 코어에서 서로 다른 테스트를 실행함으로써 테스트 프로세스의 속도를 높이는 이점을 가질 수 있다.
실시예에 따르면(예를 들어 청구항 18 참조), 제1 인터페이스를 통해 DUT에 업로드된 프로그램은 DUT가 주어진 테스트 케이스 프로그램의 실행 동안 제2 인터페이스를 통해 주어진 테스트 케이스 프로그램의 프로그램 코드 및/또는 데이터를 로딩하도록 구성되고, 따라서 DUT의 메모리를 확장할 수 있고 예를 들어 테스트 모드 대신 작동 모드에서 캐시를 사용 및/또는 테스트할 수 있다.
예를 들어, 새로운 연산코드가 DUT의 처리 장치에 의해 요구될 때마다, 예를 들어, 프로그램은 제2 인터페이스에 연결된 공유 메모리에 의해 커버된 메모리 영역으로부터 프로그램 코드 및/또는 데이터를 로딩한다.
예를 들어, DUT의 캐시 메커니즘에 의해 연산코드가 페치될 때마다, 예를 들어 프로그램은, DUT의 처리 장치에 필요할 수도 있고 또는 필요로 하게될 것이라는 가정 하에, 제2 인터페이스에 연결된 공유 메모리에 의해 커버된 메모리 영역으로부터 프로그램 코드 및/또는 데이터를 로딩한다.
실시예에 따르면(예를 들어 청구항 19 참조), ATE는 테스트 제어기를 포함한다. 또한, ATE는 DUT에 테스트 데이터를 제공하기 위해 디버그 인터페이스와 같은 제1 인터페이스를 포함한다. 더욱이, ATE는 테스트 제어기에 의해 액세스가능하고 예를 들어 제2 인터페이스를 통해 DUT에 의해 액세스가능한 공유 메모리를 포함한다.
ATE는 제1 또는 제2 인터페이스를 통해 테스트 데이터를 DUT에 제공할 수 있다. 또한, 예를 들어, ATE는 테스트 제어기 및 공유 메모리를 포함할 수 있다. DUT와 테스트 제어기 모두는 공유 메모리에 액세스할 수 있고, 그에 따라 DUT와 ATE 간의 데이터 교환이 향상된다. 또한, 이는 실시간에 가까운 온더 플라이 테스트를 초래할 수 있으며, 여기서 ATE는 공유 메모리의 데이터가 변경될 때마다 테스트를 실행할 수 있다.
바람직한 실시예에서(예를 들어 청구항 20 참조), ATE는 테스트 제어기를 포함한다. 또한, ATE는 DUT에 테스트 데이터를 제공하기 위해 디버그 인터페이스와 같은 제1 인터페이스를 포함한다. 더욱이, ATE는 테스트 제어기에 의해 액세스 가능하고 예를 들어 제1 인터페이스보다 더 높은 데이터 레이트를 포함하는 제2 인터페이스를 통해 DUT에 의해 액세스 가능한 공유 메모리를 포함한다. 고속 인터페이스일 수 있는 제2 인터페이스는 예를 들어 테스트를 위해 구성될 수 있는 고속 데이터 레이트에서 실행되는 다른 디버그 인터페이스로 구성될 수 있다.
또한, 제2 인터페이스는 PCIe 또는 USB와 같은(이에 제한되지 않음), 적용 모드에서 DUT의 최종 적용에 대해 일반적인 인터페이스일 수 있다. 이 옵션은 또한 DUT 테스트의 시스템 테스트 커버리지에 대한 이점을 제공할 수 있다.
실시예에 따르면(예를 들어 청구항 21 참조), ATE는 공유 메모리에 대한 DUT의 액세스를 허용하도록 구성된 고속 직렬 인터페이스를 포함한다.
고속 직렬 인터페이스는 하나의 직렬 데이터 채널을 포함하거나 둘 이상의 직렬 데이터 채널을 포함할 수 있으며 제2 인터페이스의 역할을 할 수 있다. 고속 직렬 인터페이스(HSIO)는 ATE의 공유 메모리에 대한 DUT의 액세스를 처리하도록 구성된 호스트 인터페이스 클라이언트일 수도 있다.
또한, HSIO 인터페이스는 테스트 또는 최종 적용의 대역폭 요구에 따라 확장될 수 있으며, 이는 인터페이스 테스트 커버리지에 중요할 수 있다.
바람직한 실시예(예를 들어 청구항 22 참조)에서, 직렬 인터페이스는 PCI-Express™ 또는 PCIe™와 같은 PCI-Express 인터페이스 또는 PCI-Express 호환 인터페이스이다.
PCI Express™ 및/또는 PCIe™ 인터페이스와 같은 공통 직렬 인터페이스를 사용하면, 사용가능한 기존 커넥터 및/또는 인터페이스가 훨씬 더 다양해지고 및/또는 이미 존재하는 인터페이스를 사용하는 이점이 생겨 복잡성 및/또는 비용이 줄어들 수 있다.
바람직한 실시예(예를 들어 청구항 23 참조)에서, 직렬 인터페이스는 예를 들어 USB 1.0 인터페이스, 또는 USB 1.1 인터페이스, 또는 USB 2.0 인터페이스 또는 USB 3.0 인터페이스 또는 USB 3.1 인터페이스 또는 USB 3.1 Gen 1 인터페이스 또는 USB 3.1 Gen 2 인터페이스 또는 USB 3.2 인터페이스 또는 USB 4 인터페이스 또는 USB 구현자 포럼에 의해 표준화되고 본 명세서에서 언급된 인터페이스와 역호환되는 임의의 기타 인터페이스이다.
다양한 버전의 USB 인터페이스와 같은 공통 직렬 인터페이스를 사용하면, 사용가능한 기존 커넥터가 더 다양해지고 및/또는 이미 존재하는 인터페이스를 사용하는 이점이 있어 복잡성 및/또는 비용을 줄일 수 있다.
바람직한 실시예에서(예를 들어 청구항 24 참조), 직렬 인터페이스는 썬더볼트(thunderbolt), 또는 이더넷 또는 IEEE-1394, IEEE-1500, IEEE-1687, IEEE-1149.10 인터페이스와 같은 IEEE-1149 또는 SATA 인터페이스(예컨대, SATA 인터페이스 또는 SATA Express 인터페이스, eSATA 인터페이스, mini-SATA 인터페이스, 또는 이러한 인터페이스와 역호환되는 임의의 기타 인터페이스일 수 있음)이다. 또한 직렬 또는 제2 인터페이스는 제1 인터페이스의 일부일 수 있다.
일반적으로 말하자면, 예를 들어 직렬 인터페이스는 임의의 다른 HSIO 인터페이스와 마찬가지로 단방향 및/또는 양방향 데이터 교환에 적합하며 여기에는 특수 디버그 및 테스트 인터페이스도 포함될 수 있다.
썬더볼트, 이더넷, SATA/eSATA 또는 IEEE-1394, IEEE-1500, IEEE-1687, IEEE-1149 인터페이스와 같은 공통 직렬 인터페이스를 사용하면, 사용가능한 기존 커넥터가 더 다양해지고 및/또는 이미 존재하는 인터페이스를 사용하는 이점이 있어 복잡성 및/또는 비용을 줄일 수 있다.
바람직한 실시예에서(예를 들어 청구항 25 참조), ATE는 공유 메모리가 다중 DUT에 의해 액세스 가능하도록 구성된다. 여러 DUT에 걸쳐 메모리를 공유하면, DUT가 병렬로 테스트되는 경우에 사용되는 메모리 및/또는 테스트 제어기의 비용 및/또는 수를 줄일 수 있다. 원하는 테스트 목표에 따라, 각 DUT는 완료된 공유 메모리 또는 제한된 영역에만 액세스할 수 있다.
바람직한 실시예(예를 들어, 청구항 26 참조)에서, ATE는 복수의 DUT에 의한 공유 메모리에 대한 액세스를 허용하기 위해 공유 메모리에 결합된, 예를 들어 호스트 인터페이스 클라이언트와 같은 복수의 인터페이스를 포함한다.
공유 메모리에 연결된 복수의 인터페이스는 복수의 DUT에 의한 공유 메모리에 대한 액세스를 허용한다. 여러 DUT에 걸쳐 메모리를 공유하면, 여러 DUT가 병렬로 테스트되는 경우에 사용되는 메모리 및/또는 테스트 제어기의 비용 및/또는 수를 줄일 수 있다.
실시예(예를 들어, 청구항 27 참조)에 따르면, 테스트 제어기는 DUT에 의해 현재 액세스 가능한 공유 메모리의 부분 또는 메모리 범위를 선택하도록 구성된다. 테스트 제어기는 결국 새로운 테스트 케이스 프로그램이 실행될 때 선택을 변경하도록 구성될 수 있다. 테스트 제어기는 공유 메모리의 메모리 범위(들)와 같은 부분(들)을 선택하고 그것을 복수의 DUT에 할당하도록 구성될 수 있다.
공유 메모리의 메모리 범위를 동적으로 할당하면, 적응 테스트 프로세스가 발생하여 메모리 오버헤드가 감소할 수 있다. 테스트는 메모리 효율적일 수 있고, 따라서 예를 들어 DUT를 병렬로 테스트할 때 메모리 부족 위험을 줄일 수 있다.
실시예에 따르면(예를 들어 청구항 28 참조), 테스트 제어기는 테스트 실행 동안 주어진 DUT에 대한 공유 메모리의 부분의 할당을 변경하도록 구성되되, 공유 메모리의 제1 부분은 테스트 실행의 제1 부분 동안 주어진 DUT에 할당되고 공유 메모리의 제2 부분은 테스트 실행의 제2 부분 동안 주어진 DUT에 할당된다.
공유 메모리의 상이한 메모리 범위를 상이한 테스트 프로세스에 할당하면, 테스트 프로세스가 분리되어 상이한 테스트 케이스 및/또는 상이한 테스트 케이스의/로부터의 데이터는 서로 상호작용할 수 없다.
실시예에 따르면(예를 들어 청구항 29 참조), DUT가 공유 메모리의 다른 부분에 액세스하는 동안 ATE는 공유 메모리의 현재 사용되지 않는 부분을 수정하여 새로운 테스트 케이스 프로그램을 설정하도록 구성된다.
공유 메모리의 미사용 메모리 범위를 사용하기 위해 새로운 테스트 케이스를 설정하면 테스트 프로세스 속도가 빨라질 수 있다. 테스트 목적으로 사용가능한 모든 메모리를 사용하면 테스트 프로세스가 보다 시간 및/또는 메모리 효율적이게 할 수 있다.
실시예에 따르면(예를 들어 청구항 30 참조), ATE는 DUT가 공유 메모리의 다른 부분에 액세스하는 동안, DUT에 의해 공유 메모리에 저장된 데이터를 공유 메모리로부터 판독하도록 구성된다.
테스트 케이스가 서로 분리되어 있으므로(이는 상이한 테스트 케이스에 대해 공유 메모리의 별도 메모리 부분이 사용됨을 의미함), 이전 테스트 결과를 읽고 평가하는 작업은, 다른 테스트가 DUT에서 실행되는 동안, 즉 DUT가 공유 메모리의 다른 부분으로부터/상에서 데이터를 읽고/쓰기하는 동안, 실행될 수 있다.
실시예(예컨대, 청구항 31 참조)에 따르면, ATE는 DUT의 성능에 대한 합격/불합격 정보 또는 정량적 정보와 같은 테스트 결과를 획득하기 위해, DUT에 의해 공유 메모리에 저장된 데이터를 분석하도록 구성된다. 테스트 데이터는 DUT에 대한 합격/불합격 정보 및/또는 측정치일 수 있는 테스트 결과, 정성적 및/또는 정량적 정보를 얻기 위해 ATE에 의해 분석될 수 있다. 테스트 결과(들)에 따라, DUT의 품질이 결정될 수 있다.
본 발명에 따른 추가 실시예는 각각의 방법을 생성한다.
그러나, 방법은 대응하는 장치와 동일한 고려사항을 기반으로 한다는 점에 유의해야 한다. 더욱이, 방법은 개별적으로 또한 조합하여, 장치와 관련하여 본 명세서에서 설명된 기능 및 세부사항에 대한 임의의 특징으로 보완될 수 있다.
이하에서, 본 개시의 실시예가 도면을 참조하여 보다 상세하게 설명된다.
도 1은 처리 장치(PU), 메모리, 제1 인터페이스 및 제2 인터페이스를 갖는 ATE 및 DUT의 실시예를 포함하는 테스트 장치의 개략도를 도시한다.
도 2는 DUT, 및 제1 인터페이스, 테스트 제어기 및 테스트 제어기와 DUT에 의해 액세스 가능한 메모리를 갖는 ATE의 실시예를 포함하는 테스트 장치의 개략도를 도시한다.
도 3은 전형적인 SOC의 개략도를 도시한다.
도 4는 예시적인 DUT PU 메모리 맵과 함께 ATE 및 DUT를 갖는 종래의 테스트 장치의 개략도를 도시한다.
도 5는 공유 메모리를 포함하는 예시적인 DUT PU 메모리 맵과 함께, 공유 메모리가 있는 ATE 및 DUT를 갖는 종래의 테스트 장치의 개략도를 도시한다.
도 6은 추가 데이터 및/또는 프로그램 코드를 로딩하도록 DUT를 구성하기 위해 제1 인터페이스를 통해 DUT에 프로그램을 업로드하는 방법의 흐름도를 보여준다.
이하에서, 본 발명의 상이한 실시예 및 양태가 설명될 것이다. 또한, 추가 실시예는 첨부된 청구범위에 의해 정의될 것이다.
청구범위에 의해 정의된 바와 같은 임의의 실시예는 본 명세서에 기재된 임의의 세부사항(특징 및 기능)에 의해 보완될 수 있음에 유의해야 한다. 또한, 본 명세서에 기재된 실시예는 개별적으로 사용될 수 있고, 또한 선택에 따라서는 청구범위에 포함된 임의의 세부사항(특징 및 기능)에 의해 보완될 수 있다. 또한, 본 명세서에 설명된 개별 측면은 개별적으로 또는 조합하여 사용될 수 있다는 점에 유의해야 한다. 따라서, 상기 측면들 중 다른 하나에 세부사항을 추가하지 않고 상기 개별 측면 각각에 세부사항이 추가될 수 있다. 또한, 본 개시는 ATE에서 사용할 수 있는 기능을 명시적으로 또는 암시적으로 설명한다는 점에 유의해야 한다. 따라서, 본 명세서에 설명된 기능 중 어느 것이든 ATE의 맥락에서 사용될 수 있다.
더욱이, 방법과 관련하여 본 명세서에 개시된 특징 및 기능은 또한 장치(이러한 기능을 수행하도록 구성됨)에서 사용될 수 있다. 또한, 장치와 관련하여 본 명세서에 개시된 임의의 특징 및 기능은 또한 대응하는 방법에서 사용될 수 있다. 다시 말해서, 본 명세서에 개시된 방법은 장치와 관련하여 설명된 임의의 특징 및 기능에 의해 보완될 수 있다.
본 발명은 아래에 주어진 상세한 설명 및 본 발명의 실시예의 첨부 도면으로부터 더 완전하게 이해될 것이지만, 이는 본 발명을 설명된 특정 실시예로 제한하는 것으로 취해져서는 안 되며, 오직 설명 및 이해를 위한 것이다.
도 1에 따른 테스트 장치
도 1은 ATE(110) 및 DUT(120)의 실시예를 포함하는 테스트 장치(100)의 개략도를 도시한다. DUT(120)는 처리 장치(130), 메모리(140), 제1 인터페이스(150), 및 제1 인터페이스(150)보다 더 높은 데이터 레이트를 포함하는 제2 인터페이스(160)를 더 포함한다. 예를 들어, 처리 장치, 메모리, 제1 및 제2 인터페이스는 하나 이상의 버스 또는 상호접속 구조를 통해 결합될 수 있다. 제1 인터페이스(150) 및 제2 인터페이스(160)는 모두 ATE(110)에 연결된다. ATE(110)는 DUT(120)에 업로드될 프로그램(170)을 포함한다.
ATE(110)는 제1 인터페이스(150)를 사용하여 DUT(120)에 프로그램(170)을 업로드하도록 구성되며, 여기서 제1 인터페이스(150)는 선택에 따라서는 양방향 통신을 허용할 수 있다. 예를 들어, ATE는 제1 인터페이스(150)를 통해 DUT 상태 정보 및/또는 DUT 값 및 추가 정보를 잠재적으로 판독할 수 있다. 제1 인터페이스(150)를 통해 업로드된 프로그램(170)은 추가 통신(190)을 위해 제2 인터페이스(160)를 개방 및/또는 구성하도록 DUT(120)를 구성하도록 구성된다. 제2 인터페이스(160)는 예를 들어, 저속 인터페이스 및/또는 디버그 인터페이스인 제1 인터페이스(150)보다 높은 또는 훨씬 높은 데이터 레이트에서 실행되도록 구성된다.
ATE(110)는 ATE(110)와 DUT(120) 사이의 추가 통신(190)이 제1 인터페이스(150)를 통하는 것보다 훨씬 더 빠른 방식으로 구성된 제2 인터페이스(160)의 이점을 얻는다. 이는 프로그램 코드 및/또는 테스트 데이터를 전송 및/또는 수신하는 것 및/또는 테스트 프로세스 자체가 가속화됨을 의미한다. 또한, DUT(120)의 메모리는 제2 인터페이스를 이용하여 확장될 수 있다.
도 2에 따른 테스트 장치
도 2는 도 1의 ATE(110)와 유사한 ATE(210) 및 도 1의 DUT(120)와 유사한 DUT(220)의 실시예를 포함하는 테스트 장치(200)의 개략도를 도시한다. ATE(210)는 테스트 제어기(230), 공유 메모리(240) 및 제1 인터페이스(250)를 포함한다. 또한 ATE(210)는 제1 인터페이스(250)를 통해 DUT(220)에 연결된다. 제1 인터페이스(250)는 반드시 단방향일 필요는 없으며, 선택에 따라서는 양방향 통신도 허용할 수 있다. ATE(210)의 공유 메모리(240)는 예를 들어 제2 인터페이스를 통해 테스트 제어기(230) 및 DUT(220)에 연결된다.
ATE(210)는 테스트 데이터(260)를 제1 인터페이스(250)를 통해 DUT(220)로 전송하도록 구성된다. DUT(220)는 예를 들어 제1 인터페이스(250)보다 높은 데이터 레이트를 갖는 제2 인터페이스를 통해 공유 메모리(240)에 액세스할 수 있다. 공유 메모리(240)는 또한 ATE(210)의 테스트 제어기(230)에 의해 액세스 가능하다.
도 1에 설명된 바와 같이, ATE(110)는 DUT(120)의 고속 제2 인터페이스(160)를 구성하기 위해 프로그램(170)을 업로드하도록 구성된다.
결과적으로, ATE(210)의 공유 메모리(240)는 DUT(220)의 고속 제2 인터페이스를 통해 테스트 제어기(230) 및 DUT(220)에 의해 액세스될 수 있다. DUT(120) 및 테스트 제어기(230) 모두는 공유 메모리(240)로 데이터를 기록 및/또는 공유 메모리(240)로부터 데이터를 읽는 반면, ATE(210)는 또한 예를 들어 테스트 실행을 제어하기 위해, 테스트 데이터(260)를 제1 인터페이스(250)를 통해 DUT(220)에 보낼 수 있다.
ATE(210)의 공유 메모리(240)를 사용하면 DUT(220)의 메모리가 확장되고 ATE(210)와 DUT(220) 간에 데이터를 송/수신할 필요가 없다. 데이터는 대신 공유 메모리(240)에서 복사/판독된다.
도 3에 따른 DUT
도 3은 예를 들어 도 1의 테스트 장치(100)에서 테스트될 일반적인 DUT(300)를 보여준다. DUT(300) 또는 SOC 설계의 일반적인 빌딩 블록은 시스템 버스(320)에 의해 연결된 처리 장치, 컴퓨터 인프라, 주변 로직 및 기타 사용자 정의 IP 블록(360)이다. 전형적인 처리 장치는 예를 들어 처리 장치(310), 코프로세서(313), 또는 디지털 신호 프로세서(DSP)(316) 등이다. 전형적인 컴퓨터 인프라는 예를 들어 레벨 2 캐시(L2 캐시)(330), SRAM(333), NVRAM(336), BOOT ROM(339) 등이다. 전형적인 주변 장치는 예를 들어 메모리 인터페이스(340), 플래시 메모리 인터페이스(343), 디버그 DfT 인터페이스(349), 호스트 인터페이스(346), 예컨대, PCIe, USB 등이다.
일반적으로 생산 테스트 단계에서, 이러한 SOC 칩이 설계된 시스템은 아직 완전하지 않다. 외부 메모리 또는 대용량 저장소(340), 전원 관리 등과 같은 컴포넌트는 부분적으로만 사용가능한데, 그 이유는 이러한 컴포넌트는 예를 들어 애플리케이션 보드에서의 패키징 또는 조립 동안 나중 단계에서 추가될 수 있기 때문이다. 기능 테스트 동안, SOC 설계의 호스트 인터페이스는 일반적으로 임무 및/또는 작동 모드에서 작동된다.
웨이퍼 레벨에서 처리 장치(310) 상에서 실행될 프로그램 코드의 저장은 매우 제한적인데, 예를 들어, 메모리로서 기능을 하도록 재구성될 수 있는 작은 메모리 뱅크(333 또는 336) 및 캐시 메모리(330)와 같은 칩 상에 있는 메모리 자원으로 제한된다.
도 1의 ATE와 유사한 ATE(110)는 디버그 DfT 인터페이스(349)를 통해 프로그램을 업로드하도록 구성된다. 업로드된 프로그램은, ATE와 DUT 간의 빠른 연결을 허용하는 호스트 인터페이스(346)를 통해, 예를 들어 PCIe 또는 USB 인터페이스를 통해 DUT(300)와 ATE 간의 연결을 열고 및/또는 설정하도록 구성된다.
도 4에 따른 기존의 테스트 장치
도 4는 예시적인 종래의 테스트 장치(400)를 도시한다. 이 테스트 장치는 도 3에 도시된 DUT(300)와 유사한 DUT(420), 및 테스트 제어기(430)를 구비한, 도 1의 ATE와 유사한 ATE(410)를 포함한다. ATE(410)의 테스트 제어기(430)는 자신의 디버그 DfT 인터페이스(440)를 통해 DUT(420)에 연결된다.
도 4는 예시적인 처리 장치 메모리 맵(450)을 더 도시한다. 처리 장치 메모리 맵(450)은 예를 들어, 코프로세서, DSP, 및/또는 맞춤형 IP 블록과 같은 처리 장치(460)의 주소, 및 예를 들어, L2 캐시, NVRAM, BOOTRAM, SRAM과 같은 메모리 유닛(470)의 주소, 및 사용할 수 없는 플래시 메모리, 및/또는 메모리 또는 대용량 저장소의 주소를 포함한다. 메모리 유닛(470)은 L2 캐시에 의해 커버된다.
기존 솔루션에서, ATE(410)의 테스트 제어기(430)는 디버그 DfT 인터페이스(440)를 통해 DUT(420)에/로부터 프로그램 코드 및/또는 테스트 데이터를 업로드 및/또는 다운로드한다. 메모리 크기 제한을 준수하려면 프로그램 코드 및/또는 테스트 데이터가 필요하다.
일부 솔루션에서, L2 캐시를 RAM으로 용도 변경하여 RAM 크기를 확장할 수도 있다.
기존 솔루션의 한계는 DUT(420)의 작은 RAM 크기와, 디버그 DfT 인터페이스(440)를 통한 ATE(410)의 테스트 제어기(430)와 DUT(420) 사이의 비교적 느린 업로드 및/또는 다운로드 속도이다.
기존 테스트 동안, SOC 설계의 호스트 인터페이스는 일반적으로 임무 및/또는 작동 모드에서 작동하지만 본 발명의 테스트 장치와 달리 아무 것도 연결되어 있지 않다. 따라서, 기존 테스트 장치에서는, 그것은 또한 디스에이블링될 수 있는데, 그 이유는 그 동작 행위가 DfT(Design for Test) 빌딩 블록 또는 방법론을 사용하지 않고는 테스트될 수 없기 때문이다. 기존의 테스트 구성과 본 발명의 테스트 구성 간의 주요 차이점 중 하나는 본 발명의 테스트 구성에서는 ATE가 호스트 인터페이스를 통해 DUT에 연결되고 ATE도 호스트 인터페이스를 통한 ATE와 DUT 간의 정보 교환을 통해 호스트 인터페이스를 테스트한다는 것이다.
또한, 기존 솔루션은 본 발명에 의해 표시되는 온더 플라이 외부 분석 및 모니터링 기능을 제공하지 않는다.
도 5에 따른 테스트 장치
도 5는 예시적인 테스트 장치(500)를 도시한다. 테스트 장치(500)는 도 1의 ATE(110)와 유사한 ATE(510) 및 도 3에 도시된 DUT(300)와 유사한 DUT(520)를 포함한다. ATE(510)는 테스트 제어기(536)와 ATE 처리 장치(533), 호스트 인터페이스 클라이언트(549) 및 주소 가상화(546)를 사용하는 공유 메모리(543)를 포함한다. 공유 메모리는 PCIe 또는 USB와 같은 호스트 인터페이스 클라이언트(549)를 통해 테스트 제어기(536)와 DUT(520)에 의해 액세스될 수 있다. ATE(510)의 호스트 인터페이스 클라이언트(549)는 DUT의 호스트 인터페이스(523)에 연결된다. 일반적으로 인터페이스는 예를 들어 대기 시간에 내성이 있는 직렬 인터페이스이다.
도 5는 예시적인 메모리 맵(550)을 더 도시한다. 메모리 맵은 예를 들어, 코프로세서, DSP, 및/또는 다른 맞춤형 IP 블록과 같은 처리 장치(553)의 어드레스를 포함한다. 메모리 맵은 SRAM, BOOT ROM, NVRAM, L2 캐시(529), 이용 불가능한 대용량 저장소 및/또는 플래시 메모리 인터페이스와 같은 메모리 유닛(556)의 주소 및 공유 메모리의 주소를 더 포함한다. 모든 메모리 유닛(556)은 L2 캐시(529)에 의해 커버될 수 있다.
ATE(510)의 ATE 처리 장치(533) 및/또는 테스트 제어기(536)는 디버그 DfT 인터페이스(526)를 통해 DUT(520)에 프로그램을 업로드하도록 구성된다. DUT(520)에 업로드된 프로그램은 DUT를 초기화하고, 고속 인터페이스를 초기화 및 구성하고, ATE(510)를 링크 파트너로 설정하고, 공유 메모리(543)를 초기화 및/또는 구성하고, L2 캐시(529)에 의한 공유 메모리의 캐싱을 초기화 및/또는 구성하도록 구성된다. 그러면 테스트 제어기(536)는 특정 테스트 케이스를 선택하고 공유 메모리(543)의 주소 가상화(546)를 구성한다. 테스트 제어기(536)는 DUT(520)가 디버그 DfT 인터페이스(526)를 통해 공유 메모리(543)에 저장된 테스트 케이스를 실행하도록 추가로 구성된다. DUT(520)가 테스트 케이스를 실행하는 동안, 테스트 제어기(536)는 이전 테스트의 결과를 분석하고, 현재 테스트의 실행을 모니터링하고, 다음 테스트 케이스를 선택하고, 및/또는 예를 들어 DUT(520)의 처리 장치가 예를 들어 둘 이상의 코어를 가지고 있는 경우 새로운 테스트 케이스를 실행할 수 있다.
다시 말해, 테스트 제어기(536) 및/또는 ATE(510)의 ATE 처리 장치(533)는 DUT(520)가 더 빠른 제2 호스트 인터페이스(523)를 통해 공유 메모리(543)에 액세스하도록 구성하기 위해 프로그램을 DUT(520)에 업로드하도록 구성된다. 테스트 제어기(536) 및/또는 ATE 처리 장치(533)는 공유 메모리(543)의 주소 가상화(546)를 구성하고 DUT(520)가 프로그램 코드 및/또는 테스트 데이터를 디버그 DfT(526) 및/또는 호스트 인터페이스(549, 523)를 통해 전송함으로써 공유 메모리(543) 상의 선택된 테스트 케이스를 실행하게 하도록 구성된다. DUT에 의한 테스트 실행을 위해, ATE 측 가상화는 필요하지 않다. DUT는 "큰 메모리 레이크"에서도 작동할 수 있지만 본 발명의 효율적인 ATE 관점에서, 테스트 케이스의 격리, 및/또는 ATE 측에서 준비 및/또는 DUT 실행 및/또는 결과 분석을 병렬로 실행하는 기능은 ATE의 더 높은 처리량을 가능하게 한다.
즉, 본 발명의 ATE는 아래 단계를 따르도록 구성된다.
1. 디버그 액세스 포트(DAP) 또는 디버그 DfT 인터페이스(526)는 리셋 후 DUT(520)를 유지 상태(hold state)로 유지하는 데 사용된다.
2. DAP(526)는, 아래의 a, b 및 c를 수행하기 위해, 테스트 제어기(536) 및/또는 ATE 처리 장치(533)에 의해 DUT(520)에 작은 테스트 실행가능 프로그램을 로딩하고 그것을 실행하는데 사용된다.
a. DUT 디지털 반도체 칩 및/또는 처리 장치를 초기화한다.
b. PCIe 인터페이스와 같은 HSIO 또는 호스트 인터페이스를 초기화 및 구성하고 ATE 시스템(510)의 컴포넌트를 링크 파트너로 설정하여 디지털 반도체 시스템 메모리 및/또는 처리 장치 메모리의 특정 메모리 범위를 제공한다.
c. 예를 들어 L2 캐시(529)에 의해 또는 예를 들어 처리 장치에 의해 캐싱될 "HSIO 메모리"를 초기화한다.
3. 테스트 제어기(536)는 예를 들어 #3과 같은 특정 테스트 케이스를 선택하도록 구성된다.
4. 예를 들어 처리 장치에 의해 L2 캐시를 무효화 및/또는 재설정한다.
5. DAP를 통해: 예를 들어 처리 장치에 의해 "HSIO 메모리"에서 테스트 케이스의 시작 주소를 호출한다.
6. 테스트 케이스가 실행되고, 예를 들어 처리 장치에 의해 "HSIO 메모리"에 결과가 또한 기록된다.
7. 프로그램 흐름은 "디버그 제어"로 돌아가는데, 이는 처리 장치가 DAP를 기다린다는 것을 의미한다.
8. 보다 많은 케이스가 가능한 경우, 테스트 제어기는 다음 테스트 케이스를 선택하고 항목 4로 이동하고 및/또는 이 목록의 단계 4(Step 4)로 돌아가고 및/또는 단계 4의 단계들을 실행할 수 있다.
9. 백그라운드에서, 이미 완료된 테스트 케이스의 결과 분석이 시작될 수 있다. 또한, 현재 테스트 케이스의 실행 모니터링될 수 있다. 다음 장치에 대한 메모리 이미지는 필요한 경우 준비 및/또는 새로 고침될 수 있다. 이를 위해서는 ATE 제어기 하드웨어 및/또는 모든 ATE 처리 장치에서 이중 포트 메모리가 구현되어야 한다.
10. 제2 인터페이스로 사용되거나 ATE 측에서 공유 메모리에 액세스하는 인터페이스로 사용되는 HSIO 인터페이스는 작동 모드에서 철저히 테스트되며 작동 동작은 진단될 수 있고 예기치 않은 작동 상태가 분석될 수 있다.
도 6에 따른 방법
도 6은 본 발명의 일 실시예에 따른 방법의 흐름도(600)를 도시한다. 이 방법은 제1 인터페이스를 통해, 도 3의 DUT(300)와 유사한 DUT에 프로그램을 업로드하는 단계(610)를 포함한다. 이 방법은 또한 업로드된 프로그램이 제2 인터페이스를 통해 추가 프로그램 코드 및/또는 데이터를 로드하도록 DUT를 구성하는 단계(620)를 포함한다.
이 방법은 전술한 실시예와 동일한 고려사항에 기초한다. 또한, 방법은 본 명세서에 설명된 특징, 기능 및 세부사항 중 임의의 것에 의해 보완될 수 있다.
예를 들어, 위에서 설명된 방법은 도 5와 관련하여 설명된 특징/기능/세부사항 중 임의의 것에 의해 개별적으로 또는 조합하여 선택적으로 보완될 수 있다.
본 발명의 이점
본 발명의 ATE는 기존 솔루션에 비해 다음과 같은 이점을 가질 수 있다.
● 알려진 많은 HSIO 기반 데이터 버스는 메모리 매핑 사용 모델을 제공한다. PCI Express™는 본 명세서에서 가장 눈에 띄는 예인데, 즉 확장 장치는 특정 메모리 및/또는 I/O 영역을 원하거나 이를 제공하기를 원한다고 알린다. 처리 장치의 운영 환경에 있는 리소스 관리자는 일치하는 여유 공간을 찾고 리소스에 대한 적절한 시작 주소를 할당한다. 예를 들어, 실제 메모리나 제어 레지스터와 같은 그러한 리소스 (너머에 있는) 것은 구현방식에 종속될 수 있다. 예를 들어, 이 방법론은 PCI Ex-press™에서 사용할 수 있지만 이에 국한되지는 않는다.
● 예를 들어 PCI Express™ 카드를 메모리 확장기로 사용하고 따라서 프로그램 코드 및/또는 데이터의 소스로서 사용하는 방법은 실제로 알려져 있지 않으며 특히 테스트 목적으로는 알려져 있지 않다.
● 많은 HSIO 인터페이스에 대한 실제 관찰은, 이들 인터페이스가 메모리 매핑 제어 레지스터 및/또는 컴퓨터 시스템의 전역 메모리 맵 내의 데이터 영역에 의해 주변 장치를 제어하는 데 사용된다는 것이다.
● 데이터 영역은 컴퓨터 시스템의 처리 장치가 실행하는 컴퓨터 코드의 소스, 즉 처리 장치 메모리 확장으로 사용된다. 테스트 케이스 코드는 처리 장치 메모리의 특정 주소에 나타난다. 실행은 테스트 제어기에 의해 개시될 수 있는 해당 주소로의 점프 또는 호출로 시작된다.
● 처리 장치 캐시는 이러한 메모리 확장이 일반 시스템 메모리로 허용되는 방식으로 구성될 수 있다. 즉, 그에 따라 캐시된 메모리 범위를 프로그래밍해야 하며 이는 일반적인 사용 사례이다. 즉, 특별한 DfT는 필요하지 않다.
● 임무 모드에서 디지털 반도체 설계의 테스트를 실행하는 것은 예를 들어 다양한 통합 IP 블록 간의 통신에서의 장애를 식별하는 것을 목표로 한다. 즉, 테스트는 한 IP에서 다른 IP로의 데이터 "트래픽"을 생성한다. 한 가지 핵심 테스트 항목은 종종 임무 모드에서 PCI Express 및 USB와 같은, 그러나 이에 국한되지 않는 HSIO 버스의 사용량이다. 이러한 인터페이스의 작동은 피시험 설계의 클록 도메인 전반에 걸친 트래픽에 문제를 야기한다. 예를 들어 안정성에 대해 HSIO 인터페이스를 테스트하는 것은 설명된 본 발명의 부산물이다.
● 이제 더 크거나 더 현실적인 많은 테스트 케이스가 가능하다.
● 추가 다운로드 및/또는 복사 시간 오버헤드는 필요하지 않는다. HSIO 버스를 통해 실행 시간 동안 다운로드한다. 런타임 성능은 L2 캐시에 의해 보장 및/또는 개선된다.
● 테스트 제어기는 또한 여러 테스트 케이스를 관리하고 DUT가 "단계를 통과"하도록 할 수 있다.
● 테스트 케이스의 실행은 ATE에 의해 동시에 모니터링되고 분석될 수 있다.
추가적인 일반 개선사항
본 발명은 다음과 같은 기능을 포함할 수 있는 보안 기능을 본 발명에 추가함으로써 더욱 개선될 수 있다.
o 제1 및/또는 제2 인터페이스에 대한 ATE 및/또는 테스터의 인증:
ATE 및/또는 테스터는 예를 들어 통신을 설정하는 데 필요한 자신의 신원(identity)을 증명하기 위해 암호 수단 및/또는 비밀 자격증명을 사용하여 제1 및/또는 제2 인터페이스에 대해 자신을 인증해야 할 수 있다.
o 제1 및/또는 제2 인터페이스에 대한 ATE 및/또는 테스터의 승인:
ATE 및/또는 테스터는 예를 들어 다른 제한된 기능에 액세스하기 위해 장치에 대한 권한을 얻도록 예를 들어 암호화 수단 및/또는 비밀 자격증명을 사용하여 제1 또는 제2 인터페이스에 대해 자신을 승인해야 할 수 있다.
o DUT와 ATE 및/또는 테스터 간의 통신 무결성 검사:
DUT와 ATE 및/또는 테스터 및/또는 ATE의 제1 및/또는 제2 인터페이스 간의 통신은 해시와 같은 표준 및/또는 독점 데이터 무결성 검사 방법을 사용하여 변경으로부터 보호될 수 있다.
o DUT와 ATE 및/또는 테스터 간의 통신 암호화:
DUT와 ATE 및/또는 테스터 및/또는 ATE의 인터페이스 간의 통신은 표준 암호화 방식 및/또는 독점 암호화 방법을 사용하여 암호화될 수 있다.
본 발명은 다음과 같은 기능을 포함할 수 있는 압축 기능을 본 발명에 추가함으로써 더욱 개선될 수 있다.
o DUT와 ATE 및/또는 테스터 간의 통신 압축:
DUT와 ATE 및/또는 테스터 또는 ATE의 1차 및/또는 2차 인터페이스 간의 통신은 표준 또는 독점, 손실 또는 무손실 압축 수단을 사용하여 압축될 수 있되, ATE 및/또는 테스터는 압축해제를 수행하게 될 장치로 전송될 데이터를 압축하고 및/또는 장치는 전송된 데이터 또는 테스터에 보낼 데이터를 압축하고 및/또는 테스터는 데이터를 압축해제한다.
DUT와 ATE 간의 통신 압축에는 다음이 필요할 수도 있다.
■ 필수 압축 및/또는 압축해제 방법은 제1 및/또는 제2 인터페이스를 사용하여 프로그램 코드의 일부로서 DUT에 업로드될 수 있거나 업로드될 수도 있다.
구현 대안
일부 측면은 장치의 맥락에서 설명되었지만, 이러한 측면은 또한 블록 또는 장치가 방법 단계 또는 방법 단계의 특징에 대응하는 해당 방법의 설명을 나타내는 것이 분명하다. 유사하게, 방법 단계의 맥락에서 설명된 측면은 또한 대응하는 블록 또는 대응하는 장치의 항목 또는 특징의 설명을 나타낸다.
특정 구현 요건에 따라, 본 발명의 실시예는 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은 전자적으로 판독 가능한 제어 신호가 저장되어 있는 플로피 디스크, DVD, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리와 같은 디지털 저장 매체를 사용하여 수행될 수 있으며, 이 디지털 저장 매체는 각각의 방법이 수행되도록 프로그래밍 가능한 컴퓨터 시스템과 협력한다(또는 협력할 수 있다).
본 발명에 따른 일부 실시예는 전자적으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함하며, 이는 본 명세서에 설명된 방법 중 하나가 수행되도록 프로그래밍 가능한 컴퓨터 시스템과 협력할 수 있다.
일반적으로, 본 발명의 실시예는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때 방법 중 하나를 수행하도록 동작한다. 프로그램 코드는 예를 들어 머신 판독 가능한 캐리어에 저장될 수 있다.
다른 실시예는 머신 판독 가능한 캐리어에 저장된, 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
다시 말해서, 본 발명의 방법의 실시예는 따라서 컴퓨터 프로그램이 컴퓨터에서 실행될 때 본 명세서에 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 기록되어 있는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록 매체는 일반적으로 유형 및/또는 비일시적이다.
따라서, 본 발명의 방법의 다른 실시예는 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는 예를 들어 인터넷과 같은 데이터 통신 연결을 통해 전송되도록 구성될 수 있다.
추가 실시예는 본 명세서에 설명된 방법들 중 하나를 수행하도록 구성되거나 적응된 처리 수단, 예를 들어 컴퓨터, 또는 프로그램 가능 로직 장치를 포함한다.
추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시예는 본 명세서에 기재된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기에 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 장치, 메모리 장치 등일 수 있다. 장치 또는 시스템은 예를 들어 컴퓨터 프로그램을 수신기에 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시예에서, 프로그램 가능 로직 장치(예를 들어, 필드 프로그램 가능 게이트 어레이)는 본 명세서에 설명된 방법의 기능 중 일부 또는 전부를 수행하는 데 사용될 수 있다. 일부 실시예에서, 필드 프로그램 가능 게이트 어레이는 본 명세서에 설명된 방법 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 기술된 장치는 하드웨어 장치를 사용하여, 또는 컴퓨터를 사용하여, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 기재된 장치 또는 본 명세서에 기재된 장치의 임의의 컴포넌트는 하드웨어 및/또는 소프트웨어로 적어도 부분적으로 구현될 수 있다.
본 명세서에 설명된 방법은 하드웨어 장치를 사용하거나 컴퓨터를 사용하거나, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.

Claims (33)

  1. 처리 장치(130, 310, 313, 316)와 프로그램 및 데이터 메모리(140, 330, 333, 336) 중 적어도 하나를 포함하는, 피시험 장치(120, 220, 300, 420, 520)를 테스트하기 위한 자동 테스트 장비(110, 210, 410, 510)로서,
    상기 자동 테스트 장비는 제1 인터페이스(150, 250, 349, 440, 526)를 사용하여 상기 피시험 장치에 프로그램을 업로드하도록 구성되고,
    상기 제1 인터페이스를 통해 피시험 장치에 업로드된 상기 프로그램(170)은 추가 통신(190)을 위해 더 높은 데이터 레이트로 실행되는 제2 인터페이스(160, 346, 523)를 열도록 상기 피시험 장치를 구성하는
    자동 테스트 장비.
  2. 제1항에 있어서,
    상기 제1 인터페이스를 통해 피시험 장치에 업로드된 상기 프로그램은,
    상기 피시험 장치에 의한 실행을 위해, 상기 제1 인터페이스보다 더 높은 데이터 레이트를 포함하는 제2 인터페이스를 통해 추가 프로그램 코드(170) 및 데이터(170) 중 적어도 하나를 로딩하도록 상기 피시험 장치를 구성하는 것,
    하나 이상의 프로그램 실행을 제어하는 것,
    상기 피시험 장치의 레지스터(450, 550)를 원하는 값으로 설정하는 것,
    상기 피시험 장치의 메모리 액세스(470, 556)를 구성하는 것
    중 적어도 하나를 수행하는
    자동 테스트 장비.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 인터페이스를 통해 상기 피시험 장치에 업로드된 상기 프로그램은 메모리 매핑(450, 550)을 사용하여 상기 제2 인터페이스에 액세스하도록 상기 피시험 장치를 구성하는
    자동 테스트 장비.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 인터페이스를 통해 상기 피시험 장치에 업로드된 상기 프로그램은 상기 제2 인터페이스에 대한 액세스를 위해 상기 피시험 장치의 상기 처리 장치에 의해 주소지정 가능한(470, 556) 메모리 범위의 메모리 하위범위를 할당하도록 상기 피시험 장치의 리소스 관리자를 구성하는
    자동 테스트 장비.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 피시험 장치에 업로드된 상기 프로그램은, 자신의 상대와 데이터를 교환하기 위해 애플리케이션 프로토콜을 사용하여, 클라이언트 또는 호스트로서의 상기 자동 테스트 장비에 통신하는
    자동 테스트 장비.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는 상기 제1 및 제2 인터페이스 중 적어도 하나에 대해 자신을 인증 및 승인 중 적어도 하나를 하도록 구성되는
    자동 테스트 장비.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는 암호화된 방식 및 변경에 대해 보호되는 방식 중 적어도 하나로 상기 피시험 장치와 통신하도록 구성되는
    자동 테스트 장비.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는 압축 수단을 사용하여 압축된 방식으로 상기 피시험 장치와 통신하도록 구성되고, 상기 자동 테스트 장비는 상기 피시험 장치에 전송할 데이터를 압축하고 상기 피시험 장치로부터 수신된 상기 데이터를 압축해제하도록 구성되는
    자동 테스트 장비.
  9. 제8항에 있어서,
    상기 제1 및 제2 인터페이스 중 적어도 하나를 통해 상기 피시험 장치에 업로드된 상기 프로그램은 압축 및 압축해제 중 적어도 하나를 수행하기 위해 압축 및 압축해제 중 적어도 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는
    자동 테스트 장비.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는 상기 피시험 장치의 처리 장치로 하여금 상기 자동 테스트 장비의 공유 메모리에 저장되고 상기 제2 인터페이스를 통해 상기 피시험 장치에 로딩되는 테스트 케이스 코드를 실행하게 하도록 구성되는
    자동 테스트 장비.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는, 상기 자동 테스트 장비의 공유 메모리에 저장되고 상기 제2 인터페이스를 통해 상기 피시험 장치에 로딩된 테스트 케이스 코드를 상기 피시험 장치가 실행하기 전에, 캐시(330, 529) 또는 캐시 영역의 무효화를 일으키도록 구성되는
    자동 테스트 장비.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 인터페이스를 사용하여 상기 피시험 장치에 업로드된 상기 프로그램은,
    상기 피시험 장치의 처리 장치를 초기화하고,
    상기 피시험 장치의 상기 제2 인터페이스를 초기화하며,
    상기 자동 테스트 장비의 메모리(240, 543)에 연결하고 상기 자동 테스트 장비의 상기 메모리의 메모리 범위(240, 543, 546)를 상기 피시험 장치의 처리 장치에 의해 사용가능한 메모리 범위로서 제공하도록 상기 피시험 장치의 상기 제2 인터페이스를 구성하는
    자동 테스트 장비.
  13. 제12항에 있어서,
    상기 제1 인터페이스를 이용하여 상기 피시험 장치에 업로드된 상기 프로그램은 상기 자동 테스트 장비의 상기 메모리의 상기 메모리 범위가 매핑된 메모리 범위를 상기 피시험 장치의 캐시에 캐싱되도록 초기화하는
    자동 테스트 장비.
  14. 제12항 또는 제13항에 있어서,
    상기 제1 인터페이스를 이용하여 상기 피시험 장치에 업로드된 상기 프로그램은 상기 자동 테스트 장비의 상기 메모리의 상기 메모리 범위가 매핑된 메모리 범위를 초기화하되, 상기 제2 인터페이스에 의해 제공된 확장 메모리(240,543,546)는, 있을 수 있는 더 느린 액세스 시간을 제외하고, 일반적인 시스템 메모리로서 상기 피시험 장치의 처리 장치에 제공되는
    자동 테스트 장비.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 제1 인터페이스를 사용하여 상기 피시험 장치에 업로드된 상기 프로그램은 상기 피시험 장치로 하여금 프로그램 실행 결과를 상기 제2 인터페이스를 통해 상기 자동 테스트 장비로 전송하게 하는
    자동 테스트 장비.
  16. 제15항에 있어서,
    상기 자동 테스트 장비는 상기 제2 인터페이스를 통해 상기 자동 테스트 장비의 상기 메모리(240, 543, 546)에 저장된 결과에 기초하여 데이터 분석을 수행하도록 구성되는 것,
    상기 자동 테스트 장비는 상기 제2 인터페이스를 통해 상기 자동 테스트 장비의 상기 메모리에 저장된 결과에 기초하여 상기 피시험 장치의 특성화를 수행하도록 구성되는 것,
    상기 자동 테스트 장비는 상기 제2 인터페이스를 통해 상기 자동 테스트 장비의 상기 메모리에 대한 데이터 액세스 패턴을 평가하도록 구성되는 것,
    상기 자동 테스트 장비는 상기 피시험 장치를 특성화하기 위해 상기 제2 인터페이스를 통해 상기 피시험 장치로부터 수신된 정보를 분석하도록 구성되는 것
    중 적어도 하나인 것인
    자동 테스트 장비.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는 상기 피시험 장치로 하여금 상기 자동 테스트 장비의 메모리의 상이한 메모리 범위에 저장되고 상기 제2 인터페이스를 통해 상기 피시험 장치에 의해 액세스되는 복수의 테스트 케이스 프로그램을 순차적으로 또는 병렬로 실행하게 하도록 구성되는
    자동 테스트 장비.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서,
    상기 제1 인터페이스를 통해 상기 피시험 장치에 업로드된 상기 프로그램은 주어진 테스트 케이스 프로그램의 실행 동안 상기 제2 인터페이스를 통해 상기 주어진 테스트 케이스 프로그램의 프로그램 코드 및 데이터 중 적어도 하나를 로딩하도록 상기 피서험 장치를 구성하는
    자동 테스트 장비.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는 테스트 제어기(230, 430, 536)를 포함하고,
    상기 자동 테스트 장비는 테스트 데이터(260)를 상기 피시험 장치에 제공하기 위해 상기 제1 인터페이스를 포함하고,
    상기 자동 테스트 장비는 상기 테스트 제어기에 의해 액세스 가능하고 상기 피시험 장치에 의해 액세스 가능한 공유 메모리(240, 543)를 포함하는
    자동 테스트 장비.
  20. 피시험 장치를 테스트하기 위한 자동 테스트 장비로서,
    상기 자동 테스트 장비는 테스트 제어기를 포함하고,
    상기 자동 테스트 장비는 테스트 데이터를 상기 피시험 장치에 제공하기 위한 제1 인터페이스를 포함하고,
    상기 자동 테스트 장비는 상기 테스트 제어기에 의해 액세스 가능하고 상기 피시험 장치에 의해 액세스 가능한 공유 메모리를 포함하는
    자동 테스트 장비.
  21. 제19항 또는 제20항에 있어서,
    상기 자동 테스트 장비는 상기 공유 메모리에 대한 상기 피시험 장치의 액세스를 허용하도록 구성된 직렬 인터페이스(549)를 포함하는
    자동 테스트 장비.
  22. 제21항에 있어서,
    상기 직렬 인터페이스는 PCI-Express 인터페이스 또는 PCI-Express 호환 인터페이스인
    자동 테스트 장비.
  23. 제21항에 있어서,
    상기 직렬 인터페이스는 USB(Universal-Serial-Bus) 인터페이스인
    자동 테스트 장비.
  24. 제21항에 있어서,
    상기 직렬 인터페이스는 썬더볼트 인터페이스 또는 이더넷 인터페이스 또는 IEEE-1394 인터페이스 또는 SATA-인터페이스이거나, 상기 직렬 인터페이스는 IEEE-1149 인터페이스이거나, 상기 직렬 인터페이스는 IEEE-1500 인터페이스이거나, 상기 직렬 인터페이스는 IEEE-1687 인터페이스이거나, 상기 직렬 인터페이스는 상기 제1 인터페이스의 일부인
    자동 테스트 장비.
  25. 제19항 내지 제24항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는 상기 공유 메모리가 다수의 피시험 장치에 의해 액세스 가능하도록 구성되는
    자동 테스트 장비.
  26. 제25항에 있어서,
    상기 자동 테스트 장비는 복수의 피시험 장치에 의한 상기 공유 메모리에 대한 액세스를 허용하기 위해 상기 공유 메모리에 결합된 복수의 인터페이스를 포함하는
    자동 테스트 장비.
  27. 제19항 내지 제26항 중 어느 한 항에 있어서,
    상기 테스트 제어기는 상기 공유 메모리(240, 543)의 어느 부분(546)이 상기 피시험 장치에 의해 액세스 가능한지를 선택하도록 구성되고, 또는
    상기 테스트 제어기는 복수의 피시험 장치에 대한 상기 공유 메모리의 부분들(543, 546)의 할당을 선택하도록 구성되는,
    자동 테스트 장비.
  28. 제19항 내지 제27항 중 어느 한 항에 있어서,
    상기 테스트 제어기는 테스트 실행 동안 주어진 피시험 장치에 대한 상기 공유 메모리의 부분들의 할당을 변경하도록 구성되되,
    상기 테스트 실행의 제1 부분 동안 상기 공유 메모리의 제1 부분이 주어진 피시험 장치에 할당되고,
    상기 테스트 실행의 제2 부분 동안 상기 공유 메모리의 제2 부분이 상기 주어진 피시험 장치에 할당되는
    자동 테스트 장비.
  29. 제19항 내지 제28항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는, 상기 피시험 장치가 상기 공유 메모리의 다른 부분에 액세스하는 동안, 새로운 테스트 케이스 프로그램을 설정하기 위해 상기 공유 메모리의 현재 사용되지 않은 부분을 수정하도록 구성되는
    자동 테스트 장비.
  30. 제19항 내지 제29항 중 어느 한 항에 있어서,
    상기 자동 테스트 장비는, 상기 피시험 장치가 상기 공유 메모리의 다른 부분에 액세스하는 동안, 상기 피시험 장치에 의해 상기 공유 메모리에 저장된 데이터를 상기 공유 메모리로부터 판독하도록 구성되는
    자동 테스트 장비.
  31. 제30항에 있어서,
    상기 자동 테스트 장비는, 테스트 결과를 획득하기 위해 상기 피시험 장치에 의해 상기 공유 메모리에 저장된 상기 데이터를 분석하도록 구성되는
    자동 테스트 장비.
  32. 처리 장치와 프로그램 및 데이터 메모리 중 적어도 하나를 포함하는 피시험 장치를 테스트하기 위한 방법(600)으로서,
    상기 방법은 제1 인터페이스를 사용하여 상기 피시험 장치에 프로그램을 업로드하는 단계(610)를 포함하고,
    상기 제1 인터페이스를 통해 상기 피시험 장치에 업로드된 상기 프로그램은 상기 피시험 장치가 상기 피시험 장치에 의한 실행을 위해, 상기 제1 인터페이스보다 높은 데이터 레이트를 포함하는 제2 인터페이스를 통해 추가 프로그램 코드 및 데이터 중 적어도 하나를 로딩하도록 상기 피시험 장치를 구성하는(620)
    자동 테스트 장비.
  33. 컴퓨터 프로그램이 컴퓨터에서 실행될 때 제32항의 방법을 수행하기 위한 상기 컴퓨터 프로그램.
KR1020227003124A 2019-08-06 2019-08-06 처리 장치와 프로그램 및/또는 데이터 메모리를 포함하는 피시험 장치를 테스트하기 위한 자동 테스트 장비와, 테스트 제어기, 피시험 장치에 대한 하나 이상의 인터페이스 및 공유 메모리를 포함하는 자동 테스트 장비와, 피시험 장치를 테스트하기 위한 방법 KR20220044272A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/071086 WO2021023372A1 (en) 2019-08-06 2019-08-06 An automated test equipment for testing a device under test which comprises a processing unit and a program and/or data memory, an automated test equipment which comprises a test controller, one or more interfaces to the device under test, a shared memory and a method for testing a device under test

Publications (1)

Publication Number Publication Date
KR20220044272A true KR20220044272A (ko) 2022-04-07

Family

ID=67620423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227003124A KR20220044272A (ko) 2019-08-06 2019-08-06 처리 장치와 프로그램 및/또는 데이터 메모리를 포함하는 피시험 장치를 테스트하기 위한 자동 테스트 장비와, 테스트 제어기, 피시험 장치에 대한 하나 이상의 인터페이스 및 공유 메모리를 포함하는 자동 테스트 장비와, 피시험 장치를 테스트하기 위한 방법

Country Status (7)

Country Link
US (1) US20220157399A1 (ko)
JP (1) JP7317209B2 (ko)
KR (1) KR20220044272A (ko)
CN (1) CN114190101A (ko)
DE (1) DE112019007610T5 (ko)
TW (1) TWI785322B (ko)
WO (1) WO2021023372A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899550B2 (en) * 2020-03-31 2024-02-13 Advantest Corporation Enhanced auxiliary memory mapped interface test systems and methods
WO2023078571A1 (en) * 2021-11-08 2023-05-11 Advantest Corporation Automated test equipment, device under test, test setup methods using an acknowledge signaling
CN115391252A (zh) 2021-12-08 2022-11-25 威锋电子股份有限公司 Usb集成电路、测试平台及usb集成电路的操作方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148527A (ja) * 1998-11-17 2000-05-30 Meidensha Corp 処理制御装置
JP2001051863A (ja) * 1999-08-09 2001-02-23 Fujitsu Ltd マイクロプロセッサ
US6424926B1 (en) * 2000-03-31 2002-07-23 Intel Corporation Bus signature analyzer and behavioral functional test method
WO2002075341A1 (en) * 2001-03-19 2002-09-26 Hitachi, Ltd. Semiconductor device and its test method
US7385927B2 (en) * 2002-06-24 2008-06-10 Lsi Logic Corporation Methods and structure for improved testing of embedded systems
US6975954B2 (en) * 2003-06-24 2005-12-13 Intel Corporation Functional testing of logic circuits that use high-speed links
EP1505491A3 (en) * 2003-08-06 2005-03-02 Agilent Technologies Inc Sequencer unit with instruction buffering
US6958616B1 (en) * 2003-11-07 2005-10-25 Xilinx, Inc. Hybrid interface apparatus for testing integrated circuits having both low-speed and high-speed input/output pins
US7596730B2 (en) * 2006-03-31 2009-09-29 Advantest Corporation Test method, test system and assist board
US7486205B2 (en) * 2006-11-28 2009-02-03 Samplify Systems, Inc. Compression and decompression of stimulus and response waveforms in automated test systems
IE20080066A1 (en) * 2007-01-30 2008-09-17 Univ Limerick On-chip testing
US8170828B2 (en) * 2009-06-05 2012-05-01 Apple Inc. Test method using memory programmed with tests and protocol to communicate between device under test and tester
US8473792B2 (en) * 2011-01-06 2013-06-25 Lsi Corporation Logic BIST for system testing using stored patterns
US8522189B2 (en) * 2011-03-09 2013-08-27 Intel Corporation Functional fabric based test access mechanism for SoCs
WO2013060361A1 (en) * 2011-10-25 2013-05-02 Advantest (Singapore) Pte. Ltd. Automatic test equipment
US9959186B2 (en) * 2012-11-19 2018-05-01 Teradyne, Inc. Debugging in a semiconductor device test environment
US10161993B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
US8583973B1 (en) * 2013-02-22 2013-11-12 Lsi Corporation Stored-pattern logic self-testing with serial communication
US9864007B2 (en) * 2014-04-30 2018-01-09 Duke University Software-based self-test and diagnosis using on-chip memory
WO2018027018A1 (en) * 2016-08-03 2018-02-08 Intel Corporation Remote debugging and management
US10184983B2 (en) * 2017-06-02 2019-01-22 Intel IP Corporation Interface independent test boot method and apparatus using automatic test equipment
US10859627B2 (en) * 2017-06-29 2020-12-08 Intel Corporation In-field system testing
US10914784B2 (en) * 2018-07-27 2021-02-09 Advantest Corporation Method and apparatus for providing UFS terminated and unterminated pulse width modulation support using dual channels
US20220121542A1 (en) * 2020-10-20 2022-04-21 Nvidia Corporation Techniques for testing semiconductor devices
US11480613B2 (en) * 2020-12-18 2022-10-25 Arm Limited Method and/or system for testing devices in non-secured environment

Also Published As

Publication number Publication date
JP7317209B2 (ja) 2023-07-28
WO2021023372A1 (en) 2021-02-11
CN114190101A (zh) 2022-03-15
DE112019007610T5 (de) 2022-04-21
TWI785322B (zh) 2022-12-01
TW202107283A (zh) 2021-02-16
JP2022543294A (ja) 2022-10-11
US20220157399A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
US20220157399A1 (en) Automated test equipment comprising a pluarlity of communication interfaces to a device under test
KR102604010B1 (ko) 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비
US10288681B2 (en) Test architecture with a small form factor test board for rapid prototyping
KR102000957B1 (ko) 프로그램가능한 테스트 기기
KR102043487B1 (ko) 독립적으로 다수의 dut를 시험하기 위한 다수의 fpga 기반 하드웨어 가속기 블록을 갖는 시험 아키텍처
US8170828B2 (en) Test method using memory programmed with tests and protocol to communicate between device under test and tester
US9274169B2 (en) Asynchronous programmable JTAG-based interface to debug any system-on-chip states, power modes, resets, clocks, and complex digital logic
US7484188B2 (en) On-chip test circuit and method for testing of system-on-chip (SOC) integrated circuits
US8136001B2 (en) Technique for initializing data and instructions for core functional pattern generation in multi-core processor
US10496506B2 (en) Self-test capable integrated circuit apparatus and method of self-testing an integrated circuit
KR20150126374A (ko) Fpga 블록 내에 패킷 형성을 위한 가속을 갖는 시험기
US20170205462A1 (en) Power-on self-test and in-system test
US10997343B1 (en) In-system scan test of chips in an emulation system
KR101950731B1 (ko) 프로그램가능한 테스트 기기
US10955472B1 (en) Yield-oriented design-for-test in power-switchable cores
CN114780319A (zh) 一种芯片测试的方法、系统、存储介质、设备及芯片
US9640280B1 (en) Power domain aware insertion methods and designs for testing and repairing memory
US11156660B1 (en) In-system scan test of electronic devices
US20010023490A1 (en) Method for activating a JTAG interface of a microprocessor of a microcontroller upon which a JTAG interface is implemented, and microcontroller
US11187748B2 (en) Procedure for reviewing an FPGA-program
Grosso et al. Software-based testing for system peripherals
US20240003972A1 (en) Method and system for testing semiconductor circuits
CN117234831B (zh) 一种基于多核cpu的芯片功能测试方法及系统
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
US10656205B2 (en) Narrow-parallel scan-based device testing