KR20200142090A - 버스 동기화 시스템 - Google Patents

버스 동기화 시스템 Download PDF

Info

Publication number
KR20200142090A
KR20200142090A KR1020207034832A KR20207034832A KR20200142090A KR 20200142090 A KR20200142090 A KR 20200142090A KR 1020207034832 A KR1020207034832 A KR 1020207034832A KR 20207034832 A KR20207034832 A KR 20207034832A KR 20200142090 A KR20200142090 A KR 20200142090A
Authority
KR
South Korea
Prior art keywords
test
bus
device module
information
computer
Prior art date
Application number
KR1020207034832A
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 KR20200142090A publication Critical patent/KR20200142090A/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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • 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/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol

Landscapes

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

Abstract

예시적 테스트 시스템에는 테스트 제어를 위한 기기가 포함된다. 각 기기는 처리 유닛에 의해 제어될 수 있다. 각 처리 유닛은 상기 처리 유닛이 제어하는 기기와 관련된 테스트 프로그램의 일부에서 작동하도록 구성될 수 있다. 동기화 메커니즘은 중앙 컨트롤러의 개입 없이 테스트 기기 인터페이스에서 액션, 측정 또는 측정과 액션의 동기화된 시퀀스를 생성하기 위해 적어도 일부의 처리 유닛과 함께 작동한다.

Description

버스 동기화 시스템
본 명세서는 일반적으로 버스 동기화 시스템에 관한 것이다.
자동 테스트 장비(ATE)는 피시험장치(DUT)의 동작을 테스트하기 위해 DUT로 신호를 송수신하는 전자 장치를 포함한다. 일부 예에서, DUT 테스트에는 다수의 테스트가 포함된다. ATE에는 복수의 기기 모듈이 포함될 수 있으며, 각 모듈은 하나 이상의 테스트를 수행하도록 구성될 수 있는 하나 이상의 기기 모듈 리소스를 포함할 수 있다. 일부 예에서, 각 테스트는 동일한 DUT를 테스트하는 데 사용되는 상이한 리소스를 요구할 수 있으며, 상이한 테스트에는 상이한 리소스 조합이 필요할 수 있다. 일부 예에서, 다수의 DUT가 동시에 테스트될 수 있다. 일부 예에서, 다수의 리소스가 특정 DUT를 테스트하는데 전용될 수 있다. 일부 예에서, 다수의 DUT에 대한 테스트를 수행하기 위해 다수의 리소스가 공유될 수 있다.
본 발명에 따르면, 버스 동기화 시스템 및 그 구성 요소의 예시적인 구현이 제공된다.
예시적인 버스 동기화 시스템은 컴퓨터 버스, 테스트 흐름을 실행하는 호스트 컴퓨터 및 기기 모듈을 구비한다. 상기 기기 모듈은 리소스와 처리 장치를 구비한다. 상기 테스트 흐름에서 작동하는 상기 리소스는 도메인을 정의한다. 상기 호스트 컴퓨터는 테스트 흐름에서의 싱크(sync) 명령을 포함한 명령을 상기 기기 모듈로 출력하도록 구성된다. 상기 싱크 명령은 상기 기기 모듈이 상기 컴퓨터 버스에 상태를 제공하고 상기 처리 장치를 일시 중지하도록 하기 위한 것이다. 상기 도메인에 있는 상기 기기 모듈의 상태는 상기 컴퓨터 버스에 집계된다. 정보는 집계된 상기 상태를 기반으로 상기 기기 모듈에 배포된다. 상기 처리 장치는 상기 정보를 기반으로 명령 실행을 재개하도록 구성된다. 예시적인 시스템은 단독으로 또는 조합하여 하나 이상의 다음 특징을 포함할 수 있다.
상기 정보는 상기 도메인의 모든 기기 모듈이 싱크 명령을 접한 후에 배포될 수 있다. 상기 호스트 컴퓨터는 상기 컴퓨터 버스와 상이한 통신 버스를 통해 상기 기기 모듈에 상기 명령을 전송하도록 프로그래밍될 수 있다. 상태 집계 및 정보 배포는 상기 호스트 컴퓨터와 독립적으로 수행될 수 있다. 상기 명령 중 적어도 일부는 동작을 수행하도록 상기 도메인의 리소스에 지시할 수 있다.
상기 기기 모듈은 상기 컴퓨터 버스에 상태를 제공하는 제1 유형의 엔드 포인트 장치를 포함할 수 있다. 상기 제1 유형의 엔드 포인트 장치는 기여 엔드 포인트 장치를 포함할 수 있다. 상기 기여 엔드 포인트 장치는 상기 컴퓨터 버스로부터 상기 정보를 수신하고 상기 정보에 기초하여 신호를 생성하여 하나 이상의 리소스의 동작을 트리거하도록 구성될 수 있다.
상기 기기 모듈은 제2 유형의 엔드 포인트 장치를 포함할 수 있다. 상기 제2 유형의 엔드 포인트 장치는 상기 컴퓨터 버스로부터 상기 정보를 수신하고 하나 이상의 상기 리소스의 동작을 트리거하기 위해 상기 정보에 기초하여 신호를 생성하는 비기여 엔드 포인트 장치를 포함할 수 있다.
상기 호스트 컴퓨터는 다수의 개별 명령 흐름을 포함하는 테스트 프로그램을 실행하도록 프로그래밍될 수 있다. 상기 다수의 개별 명령 흐름에는 테스트 흐름이 포함될 수 있다. 엔드 포인트 장치는 다수의 개별 흐름 중 하나 이상을 가입하도록 구성될 수 있다. 상기 엔드 포인트 장치는 상기 도메인의 리소스에 제공할 신호를 생성하도록 구성될 수 있다. 상기 신호는 상기 리소스가 미리 준비된 액션을 수행하도록 상기 리소스를 트리거하는 데 사용될 수 있다. 상기 정보의 수신에 대한 신호 타이밍을 제어하기 위해 오프셋이 상기 신호에 추가될 수 있다. 상기 엔드 포인트 장치는 상기 컴퓨터 버스로의 출력을 구현하기 위한 송신기와 상기 컴퓨터 버스로부터의 수신을 구현하기 위한 수신기를 포함할 수 있다.
상태는 상기 프로세서가 수행한 테스트의 통과 또는 실패 상태를 포함할 수 있다. 상기 상태는 다수의 비트로 구성된 주기적 프레임을 사용하여 상기 컴퓨터 버스에 시분할 다중 액세스 방식으로 인코딩된 비트를 포함할 수 있다. 상기 주기적 프레임은 헤더, 트레일러, 순환 중복 검사 또는 8b/10b 인코딩 중 하나 이상을 특징으로 할 수 있다.
상기 정보의 비트 중 적어도 일부는 상기 기기의 시스템 클록 카운터를 상기 컴퓨터 버스의 페이로드에 있는 지정된 값 또는 지정된 시간 중 적어도 하나로 설정하기 위한 시스템 시간 정렬 신호를 나타낼 수 있다. 상기 컴퓨터 버스는 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉, 무선 또는 광학 시그널링 매체; 또는 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉 및 무선 또는 광학 시그널링 매체 중 하나 이상의 조합; 중 적어도 하나를 포함할 수 있다.
상기 정보는 상기 컴퓨터 버스를 통해 수신될 수 있다. 상기 정보는 상기 컴퓨터 버스와 상이한 통신 버스를 통해 수신될 수 있다. 상기 테스트 흐름의 상기 싱크 명령은 상기 테스트 흐름에서 상기 테스트 흐름에 의해 피시험 장치에 대한 액션 또는 측정이 필요한 명령 바로 앞에 올 수 있다. 상기 테스트 흐름 중 적어도 일부는 동기화되지 않도록 제어할 수 있다.
예시적인 버스 동기화 시스템은 컴퓨터 버스와 기기 모듈을 구비한다. 기기 모듈은 대기열에서 명령을 실행하기 위한 리소스 및 처리 장치를 구비한다. 상기 처리 장치는 상기 대기열에서 적어도 하나의 싱크 명령을 접하는 것에 응답하여 상기 기기 모듈이 상기 컴퓨터 버스에 상태를 제공하고 상기 처리 장치를 일시 중지하도록 구성된다. 상기 기기 모듈로부터의 상태는 상기 컴퓨터 버스에 집계된다. 정보는 집계된 상기 상태를 기반으로 상기 기기 모듈에 배포된다. 상기 처리 장치는 상기 정보를 기반으로 명령 실행을 재개하도록 구성된다. 예시적인 시스템은 호스트 컴퓨터와 통신 버스를 포함할 수 있다. 상기 호스트 컴퓨터는 상기 통신을 통해 상기 기기 모듈에 명령을 출력하도록 구성될 수 있다.
예시적인 테스트 시스템은 테스트 제어를 위한 기기를 구비한다. 각 기기는 처리 유닛에 의해 제어될 수 있다. 각 처리 유닛은 상기 처리 유닛이 제어하는 기기와 관련된 테스트 프로그램의 일부에서 동작하도록 구성될 수 있다. 동기화 메커니즘은 중앙 컨트롤러의 개입 없이 테스트 기기 인터페이스에서 액션, 측정 또는 측정과 액션의 동기화된 시퀀스를 생성하기 위해 적어도 일부 처리 유닛을 사용하여 동작하도록 구성된다. 상기 예시적인 시스템은 단독으로 또는 조합하여 하나 이상의 다음 특징을 포함할 수 있다.
상기 동기화 메커니즘은 상기 처리 유닛이 상기 테스트 프로그램의 일부를 완료했는지 여부를 나타내는 상태 데이터를 각각의 처리 유닛이 전송할 수 있고; 모든 처리 유닛에서 상태 데이터를 수신하고 집계하고; 하나 이상의 집계된 상태 비트를 모든 처리 유닛으로 다시 전송;하도록 구성될 수 있다. 처리 유닛은: 상기 처리 유닛이 상기 테스트 프로그램의 일부를 완료했을 때, 동기화 버스 상에서 상기 처리 유닛이 상기 테스트 프로그램의 일부를 완료했음을 상기 처리 유닛이 표시하는 것을 포함하는 동작을 수행하도록 한다. 상기 테스트 프로그램의 다음 부분으로 진행하기 전에, 상기 처리 유닛은 상기 테스트 시스템의 다른 모든 처리 유닛이 상기 테스트 프로그램의 일부를 완료했음을 나타내는 하나 이상의 집계된 상태 비트를 수신한다.
상기 동기화 메커니즘은 시스템 클록과 관련하여 정의된 타이밍을 가질 수 있으므로, 다수의 기기가 상기 하나 이상의 집계된 상태 비트를 수신하고 다수의 기기들 중 예측가능하고 반복가능한 타이밍 정렬과 함께 액션, 측정 또는 액션과 측정 모두를 수행하도록 트리거될 수 있다. 상기 동기화 메커니즘은 각 처리 유닛에 의해 전송 가능하고 상기 하나 이상의 집계된 상태 비트를 생성하도록 집계될 수 있는 다수의 상태 비트를 구비하는 상태 데이터를 지원하도록 구성될 수 있다. 상기 하나 이상의 집계된 상태 비트는 모든 처리 유닛으로 전송될 수 있다. 상기 하나 이상의 집계된 상태 비트는 상기 테스트 시스템의 모든 기기를 동기화하여 액션 시퀀스, 측정 시퀀스 또는 액션과 측정의 시퀀스를 동기화하는 데 사용할 수 있다.
상기 상태 데이터는 테스트 프로그램의 통과 또는 실패 상태를 전송하기 위한 적어도 하나의 비트를 포함할 수 있다. 상기 상태 데이터는 주기적 프레임을 사용하여 직렬 데이터 버스에 시분할 다중 액세스 방식으로 인코딩되는 하나 이상의 상태 비트를 포함할 수 있다. 상기 주기적 프레임은 헤더, 트레일러, 순환 중복 검사 또는 8b/10b 인코딩 중 하나 이상을 특징으로 할 수 있다. 상기 주기적 프레임은 상기 하나 이상의 상태 비트 이외의 정보를 전송하도록 구성될 수 있다.
상기 처리 유닛으로 전송되는 하나 이상의 비트는 상기 기기 상의 시스템 클록 카운터를 지정된 값으로 설정하기 위한 시스템 시간 정렬 신호를 나타낼 수 있다. 상기 하나 이상의 집계된 상태 비트는 액션 시퀀스, 측정 시퀀스 또는 액션과 측정의 시퀀스를 동기화하기 위해 상기 테스트 시스템의 모든 기기를 동기화하는 단일 상태 비트를 포함할 수 있다.
상기 동기화 메커니즘은 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉, 무선 또는 광학 시그널링 매체; 또는, 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉 및 무선 또는 광학 시그널링 매체 중 하나 이상의 조합 중 적어도 하나를 포함할 수 있다. 상기 동기화 메커니즘의 적어도 일부는 자동 또는 수동으로 비활성화되도록 제어할 수 있다. 상기 동기화 메커니즘의 적어도 일부는 상기 테스트 프로그램의 일부에서만 작동하도록 제어할 수 있다.
예시적인 시스템의 이점은 다음 중 하나 이상을 포함할 수 있다. 적은 수의 리소스에 대해 하나 이상의 프로세서(예를 들어, 단일 프로세서)를 제공하면 해당 리소스 그룹이 다른 모든 리소스와 독립적으로 그리고 병렬로 작동할 수 있다. 또한, 적은 수의 리소스에 대해 하나 이상의 프로세서(예를 들어, 단일 프로세서)를 제공하면 프로세서(들)와 리소스(들) 간의 통신 대기 시간을 줄일 수도 있다. 상기 동기화 시스템은 기술된 바와 같이 하나 이상의 프로세서를 제공하는 것과 연관된 가능한 동기화 문제를 해결한다. 또한 동기화 시스템은 시스템 내의 임의의 다른 그룹의 리소스에 대해 동기화되는 프로세서당 하나의 그룹보다 더 세분화할 수 있다. 상기 동기화 시스템은 또한 본 명세서에 기술된 바와 같이 동기화를 구현하기 위해 중앙 컨트롤러가 필요하지 않을 수 있다.
본 써머리 부분을 포함하는 본 명세서에서 기술된 특징들 중 2개 이상은 본원에 구체적으로 기술되지 않은 실시 예들을 형성하기 위해 결합될 수 있다.
본원에 기술된 시스템 및 기술들, 프로세스들 또는 그의 일부는 하나 이상의 비일시적 기계 판독가능 저장 매체에 저장되고 본원에 기술된 동작들을 제어하는(예를 들면, 조정하는) 하나 이상의 처리 장치들 상에서 실행가능한 명령어를 포함하는 컴퓨터 프로그램 제품으로서 구현되고 그에 의해 제어될 수 있다. 본원에 기술된 테스트 시스템 및 기술, 프로세스들 또는 그의 일부는 다양한 동작을 구현하기 위해 실행가능한 명령어를 저장하는 메모리 및 하나 이상의 처리 장치를 포함할 수 있는 장치, 방법 또는 전자 시스템으로서 구현될 수 있다.
하나 이상의 구현의 상세는 첨부도면 및 하기의 기술에서 기술된다. 다른 피처, 대상 및 이점은 상기 기술과 도면, 및 청구범위로부터 명확해질 것이다.
도 1은 명령 시퀀스의 예를 보여주는 블록도이다.
도 2는 도 1의 명령 시퀀스가 실행될 수 있는 예시적인 순서를 나타내는 블록도이다.
도 3은 버스 동기화 시스템에 의해 적용되는 "싱크(sync) 장벽"을 포함하는 명령이 접하는 예시적인 순서를 보여주는 블록도이다.
도 4는 도 3의 명령 시퀀스가 실행될 수 있는 예시적인 순서를 나타내는 블록도이다.
도 5는 예시적인 버스 동기화 시스템에 포함될 수 있는 컴포넌트의 블록도이다.
상이한 도면에서의 유사한 참조번호는 유사한 엘리먼트를 나타낸다.
버스 동기화 시스템 및 그 컴포넌트의 예시적인 구현이 본원에 기술된다. 일부 구현에서, 버스 동기화 시스템은 ATE와 같은 테스트 시스템에 통합되지만, 버스 동기화 시스템은 일반적으로 테스트 시스템과 함께 사용하거나 테스트에만 국한되지 않는다.
예시적 테스트 시스템에는 DUT에서 테스트를 수행하기 위한 다수의 기기 모듈(또는 간단히 "기기")이 포함된다. 각 기기 모듈에는 RF(무선 주파수) 신호 생성기, 마이크로파 신호 생성기, 프로세서, 전원 공급 장치, 메모리 등과 같은 하나 이상의 리소스가 포함된다. 일반적으로 기기 모듈 리소스(또는 간단히 "리소스")는 디지털 데이터, 아날로그 신호 또는 디지털 데이터 및 아날로그 신호 모두를 수신, 전송, 처리, 저장 또는 기타 동작하기 위한 적절한 유형의 전자 하드웨어 장치 또는 소프트웨어이거나 그것들을 포함할 수 있다. 리소스는 기기 모듈에 있는 하나 이상의 모듈 내장 프로세서(MEP 또는 "처리 유닛")에 의해 각각 제어된다. 여러 MEP를 사용하면 예시적 테스트 시스템을 서로 다른 테스트 흐름을 병렬로 실행하는 다수의 부분으로 분할할 수 있다.
다수의 MEP를 사용하면 동기화 문제가 발생할 수 있다. 이와 관련하여 개별 MEP는 명령 대기열에서 테스트 흐름에 대한 명령을 실행한다. 대기열의 명령은 순서대로 실행되지만, 다수의 대기열 및 다수의 리소스에 걸친 명령은 정의된 순서로 실행되지 않는다. 잠재적으로 상이한 기기 모듈에 상주하는 상이한 시스템 리소스 A, B 및 C에 의해 실행 가능한, 도 1에 도시된 일련의 명령(100)을 고려하라. 도 1 및 2에서, 각 블록은 실행이 발생하는 타임 슬롯을 나타낸다. 이 예에서, 동기화가 없는 경우, 도 1에 도시된 명령은 의도된 순서가 아닌 도 2의 순서(101)에 따라 리소스에 의해 실행될 수 있다. 본원에 기술된 예시적 동기화 프로세스는 이 문제를 해결하고 동일한 테스트 흐름의 명령이 적절한 순서로 실행되도록 할 수 있다(예를 들어, 1행, 그 다음에 2행, 그 다음에 3행, 그 다음에 4행의 명령).
개요로서, 예시적 동기화 프로세스에서, 테스트 시스템의 호스트 컴퓨터는 DUT에 대한 테스트 흐름을 실행한다. 테스트 흐름에는 예를 들어 DUT의 전체 또는 일부에 테스트를 구현하기 위한 명령 또는 기타 지시가 포함될 수 있다. 이와 관련하여, 반도체 디바이스와 같은 예시적인 DUT는 디지털 컴포넌트, 아날로그 컴포넌트, 무선 컴포넌트 등과 같은 다수의 컴포넌트를 포함할 수 있다. 이 예에서, 테스트 흐름은 상이한 컴포넌트에서 동시에 실행된다. 그러나 상이한 컴포넌트에는 아날로그 테스트 리소스, 디지털 테스트 리소스, 무선 테스트 리소스 등과 같은 테스트를 위한 상이한 기기 모듈 리소스가 필요할 수 있다. 테스트 흐름에 필요한 이러한 리소스는 동기화가 필요할 수 있는 테스트 도메인을 구성한다. 예를 들어, 동기화는 DUT의 상이한 컴포넌트에서 수행되는 상이한 테스트가 동시발생적으로 또는 동시에 발생하도록 구현될 수 있다.
테스트 도메인을 구비하는 기기 모듈 리소스는 동일한 기기 모듈, 상이한 기기 모듈 또는 동일한 기기 모듈과 상이한 기기 모듈의 조합에 상주할 수 있다. 테스트 도메인을 구비하는 리소스는 테스트 시스템에서의 모든 기기 모듈 리소스의 하위 집합일 수 있다. 주어진 테스트 시스템에는, 예를 들어, DUT 또는 DUT들의 상이한 컴포넌트를 테스트하는 데 사용되는 다수의 테스트 흐름과 그에 따른 테스트 도메인들이 있을 수 있다. 이러한 다수의 테스트 도메인 각각은 기기 모듈 리소스의 상이한 조합(들)을 포함할 수 있다. 상이한 테스트 도메인에 해당하는 상이한 기기 모듈 리소스는 본원에 기술된 프로세스를 사용하여 독립적으로 동기화될 수 있다.
동기화되는 기기 모듈 리소스가 있는 테스트 도메인은 "싱크"(동기화된) 도메인에 매핑되고 이를 참조할 수 있다. 여기에 기술된 예에서, 두 용어는 상호 교환적으로 사용될 수 있다. 언급했듯이, 각 기기 모듈에는 적어도 하나의 MEP가 포함된다. MEP는 예를 들어 테스트를 구현하기 위한 명령을 실행하도록 프로그래밍되도록 구성될 수 있다. 각 기기 모듈에는 동기화(싱크) 버스에 대한 인터페이스(예를 들어, 하드웨어 인터페이스)를 구성하는 하나의 엔드 포인트와 싱크에 대한 인터페이스(예를 들어, 소프트웨어 인터페이스)를 구성하는 SRD(싱크 리소스 드라이버)가 포함될 수 있다.
일부 구현에서, 싱크 버스는 하나 이상의 시분할 다중화(TDM) 컴퓨터 버스 또는 다른 적절한 전송 매체를 사용하여 구현될 수 있다. 일부 구현에서, 싱크 버스는 테스트 흐름에 대한 명령을 전송하는 데 사용되는 통신 매체와 별개이고 독립적이다. 싱크 버스는 트리의 루트에 싱크 버스 마스터가 있는 트리 토폴로지를 가질 수 있는 자체 배포 하드웨어에 내장된 논리 게이트를 포함할 수 있다. 본원에 기술된 바와 같이, 싱크 버스 마스터는 동일한 싱크 도메인에서 기기 모듈 리소스를 동기화하도록 구성된다. 일부 예에서 싱크 버스는 주로 동기화를 담당한다. 호스트 컴퓨터는 동기화에 직접 관여하지 않는다. 오히려 호스트 컴퓨터의 역할에는 테스트 도메인의 기기 모듈에서 실행할 일련의 명령을 결정하고 싱크 장벽이라고 하는 적절한 동기화 명령을 싱크 도메인에 대한 각 일련의 명령 내 적절한 위치에 배치하는 것이 포함된다. 일부 예들에서, 동기화 명령의 위치는 테스트 시스템의 사용자에 의해 판정될 수 있다. 일부 예에서 호스트 컴퓨터는 또한 싱크 도메인에서 기기 모듈을 가입하도록 엔드 포인트에 지시하는 명령을 삽입한다. 일부 예에서 모든 기기는 자동으로 전체 또는 일부 싱크 도메인에 가입하도록 구성되어 있으므로, 호스트 컴퓨터가 엔드 포인트에 기기 모듈을 싱크 도메인에 가입하도록 지시하는 명령을 삽입할 필요가 없다.
예를 들어, 호스트 컴퓨터는 싱크 버스가 아닌 통신 매체를 통해 테스트 흐름에 필요한 리소스가 있는 각 기기 모듈에 테스트 흐름에 대한 일련의 명령을 전달한다. 각 기기 모듈에 대해, 그의 MEP는 컴퓨터 메모리의 대기열에 일련의 명령을 저장한다. 대기열은 특정 싱크 도메인 전용일 수 있다. 따라서 명령은 호스트 컴퓨터로부터 수신되지 않는다. 명령에는 싱크 장벽 명령이 포함된다.
일부 구현에서, DUT과 관련한 액션 또는 측정이 필요한 명령만 동기화하면 된다. 따라서 일부 예에서, 이러한 명령만 테스트 흐름의 명령 스트림에서 싱크 장벽 명령이 선행된다. 이러한 명령의 예로는 장치 인터페이스 보드(DIB)-가시성(visible) 명령이 있다. DIB는 테스트 시스템과 DUT 사이의 인터페이스이고, 예를 들어 DUT가 결합되고 신호가 DUT와 테스트 시스템 사이를 통과하는 보드이다. DIB-가시성은 DUT에서 또는 더 정확하게는 DIB에서(또는 그 역으로) 관찰할 수 있는 효과를 가질 수 있는 모든 명령에 부여되는 일반적인 이름으로, 측정 결과는 DIB에서 발생하는 상황에 따라 달라질 수 있다. 일부 설정 명령은 동기화가 필요하지 않을 수 있다. 예를 들어, 샘플링 속도 또는 캡처할 샘플 수와 같은 특정 측정 파라미터 또는 패턴 버스트의 다양한 파라미터는 DIB에서 관찰할 수 없으며 동기화가 필요하지 않다. 일부 구현에서, 동기화는 DUT에 대한 액션 또는 측정이 필요한 명령으로 제한되지 않는다.
일부 구현에서, 호스트 컴퓨터는 DIB-가시성 명령 직전 또는 동기화가 필요한 다른 유형의 명령 전에 일련의 명령에 싱크 장벽 명령(또는 간단히 "싱크 장벽")을 배치한다. 일부 예에서, 싱크 장벽 명령은 예를 들어 테스트 프로그램을 개발한 테스트 엔지니어에 의해 미리 기기 모듈의 테스트 흐름에 배치된다. 명령을 실행하기 위해, MEP는 대기열에서 명령을 검색하고 명령을 실행하거나 명령과 관련하여 필요한 다른 작업을 수행한다. MEP가 대기열에서 싱크 장벽을 만나면 MEP는 적절한 엔드 포인트를 통해 "싱크 장벽 도달" 명령(또는 간단히 "싱크 장벽 도달")을 싱크 버스에 출력한다. 싱크 장벽 도달 명령은 하나 또는 다수의 상태 비트로 구성될 수 있다. 이 시점에서 MEP는 대기열에서 명령 실행을 일시 중단한다. 따라서 MEP는 테스트 프로그램의 일부를 완료했으며 싱크 장벽 도달 명령을 통해 테스트 프로그램의 일부를 완료했음을 나타낸다. 테스트 프로그램의 다음 부분으로 진행하기 전에, MEP는 다른 모든 처리 유닛이 테스트 프로그램의 각 부분을 완료했음을 나타내는 집계된 상태 정보(예를 들어, 집계된 상태 비트)를 수신하기를 기다린다.
호스트 컴퓨터와 독립적인 싱크 버스에서, 싱크 버스 마스터는 동일한 싱크 도메인에 있는 기기 모듈의 각 엔드 포인트에서 "싱크 장벽 도달" 명령을 결합한다. 예를 들어, 싱크 버스 마스터는 수신된 모든 "싱크 장벽 도달" 명령의 논리적 "AND"를 수행하거나 다른 적절한 처리를 수행할 수 있다. 싱크 버스 마스터가 동일한 싱크 도메인에 있는 기기 모듈의 각 엔드 포인트가 "싱크 장벽 도달" 명령을 출력한다고 판단하면, 싱크 버스 마스터는 싱크 버스를 통해 "싱크 장벽 교차" 명령(또는 간단히 "싱크 장벽 교차")를 출력한다. "싱크 장벽 교차" 명령은 단일 상태 비트이거나 다수의 상태 비트를 포함할 수 있으며, 수신된 "싱크 장벽 도달" 명령의 집계된 상태를 구성할 수 있다.
해당 싱크 도메인의 각 싱크 버스 엔드 포인트는 "싱크 장벽 교차" 명령을 수신하고, 해당 도메인에서 기기 모듈 리소스의 작동을 트리거하는 트리거 신호를 생성한다. 트리거 신호는 동기식으로 작동하도록 기기 모듈 리소스의 동작을 트리거한다. 각 기기 모듈 리소스에서 수행하는 실제 동작은 다를 수 있다. MEP는 또한 "싱크 장벽 교차" 명령을 수신한 후 대기열에서 명령 실행을 재개한다.
따라서, 이 예에서, 예시적인 버스 동기화 시스템은 동일한 테스트/싱크 도메인에 있는 모든 기기 모듈 리소스가 동시에 작동하도록 허용한다. 또한, 예시적 버스 동기화 시스템은 서로 독립적으로 작동하는 다수의 기기 모듈 리소스에 의해 사용될 수 있다. 이와 같이, 예를 들어 호스트 컴퓨터에 의한 중앙 조정은 일부 예에서 동기화를 수행하기 위해 다수의 상이한 리소스 사이에서 불필요하다.
앞의 예에서, 각 기기 모듈은 하나 이상의 엔드 포인트를 포함할 수 있다. 기기 모듈의 엔드 포인트에는 기여 엔드 포인트가 포함된다. 기여 엔드 포인트에는 기기 모듈의 MEP에서 "싱크 장벽 도달" 명령과 같은 동기화 상태를 수신하고 해당 동기화 상태를 싱크 버스에 제공하도록 구성된 하드웨어가 포함된다. 일부 구현에서, 싱크 버스로의 상태 출력은 테스트 시스템에서 MEP를 사용하여 수행된 테스트의 통과 또는 실패 상태를 나타내는 하나 이상의 비트이거나 이를 포함할 수 있다. 일부 예에서, 통과 또는 실패 상태 또는 다른 유형의 상태를 나타내는 데이터의 출력은 싱크 장벽 명령과 관계없이 언제든지 트리거될 수 있다. 또한, 기여 엔드 포인트는 싱크 도메인의 모든 기기 모듈 리소스가 "준비" 상태(예를 들어, "싱크 장벽 교차" 명령)인 때를 나타내는 정보를 수신하고 이 정보를 동일한 싱크 도메인의 기기 모듈 리소스에 제공하도록 구성된다. 기기 모듈에는 비기여 엔드 포인트가 0개, 1개 또는 여러 개 포함될 수도 있다. 비기여 엔드 포인트에는 싱크 도메인의 모든 기기 모듈 리소스가 "준비"된 시기(예를 들어, "싱크 장벽 교차")를 나타내는 정보를 수신하고 이 정보를 기기 모듈 리소스에 제공하도록 구성된 하드웨어가 포함된다. 그러나 비기여 엔드 포인트는 싱크 버스를 통해 전송하지 않으며 MEP에 정보를 제공하지도 않는다.
일부 구현에서, 기여 엔드 포인트에 의해 제공되는 상태는 다수의 비트로 구성된 주기적 프레임을 사용하여 직렬 데이터 버스(예를 들어, 싱크 버스)에 시분할 다중 액세스 방식으로 인코딩된 비트를 포함한다. 일부 구현에서, 프레임은 선택적 헤더, 트레일러, 순환 중복 검사를 포함할 수 있고, 8b/10b 인코딩을 사용할 수 있으며, 직렬 데이터 전송과 연관될 수 있는 임의의 적절한 메커니즘을 사용할 수 있다. 일부 구현에서, 프레임은 예를 들어, 어떤 유형의 정보가 전송되는지를 지정하기 위해 프레임 헤더의 프레임 유형 표시자를 사용하여 동일한 물리적 와이어를 통해 다른 유형의 정보를 전송하거나 수신하는 데 사용될 수 있다.
또한, 도 1 및 도 2를 참조하면, 도 3은 본 명세서에 기술된 버스 동기화 시스템에 의해 적용된 "싱크 장벽"을 포함하는 명령이 접하는 예시적인 순서(102)를 도시한다. 도 3 및 4에서, 도 1 및 2의 경우와 같이, 각 블록은 실행이 발생하는 타임 슬롯을 나타낸다. 본원에 기술된 시스템을 사용하면 "싱크 장벽"이 발생하고 동일한 싱크 도메인에서 기기 모듈 리소스의 동기화가 구현된다. 이것은 도 4의 104번 순서로 실행되는 명령을 초래한다(예를 들어, 1행, 그 다음에 2행, 그 다음에 3행, 그 다음에 4행, 그 다음에 5행, 그 다음에 6행, 그 다음에 7행). 도시된 바와 같이 "싱크 장벽"은 명령이 상이한 리소스 A, B 및 C에서 실행되는 시기를 제어하는데 사용되어, 동일한 싱크 도메인의 명령이 다수의 독립 리소스에서 적절한 순서로 실행될 수 있다. 도 3 및 4의 예는 모든 리소스가 자신들의 테스트 도메인의 다른 모든 리소스가 명령 실행을 완료하고 그것들이 추가 명령을 실행하기 전에 싱크 장벽에 도달하는 것을 대기한다는 것을 보여준다.
도 5는 기기 모듈(104)에 대해, I/O(입력/출력) 엔진(106), 명령 대기열(107), SRD(108) 및 공유 메모리(109)를 포함하는 MEP(105)를 도시한다. 기기 모듈은 송신기(TX)(111) 및 수신기(RX)(112)를 구비하는 싱크 버스 엔드 포인트(110)(예를 들어, 기여 엔드 포인트)를 포함한다. 도 5는 또한 TDM 버스 및 싱크 버스 마스터(115)를 포함하는 싱크 버스(114)를 도시한다.
도 5의 예에서, 엔드 포인트는 다수의 상이한 도메인에 대한 명령에 대해 작동할 수 있다. 이 예에서, MEP의 I/O 엔진은 호스트 컴퓨터에서 받은 명령을 명령 대기열에 배치한다. MEP(105)는 통신 버스를 통해 전송된 호스트 컴퓨터로부터 테스트 흐름 명령을 수신한다. 이 통신 버스는 싱크 버스가 아니라 이더넷 버스 또는 유선 및 무선 매체를 포함하는 기타 적절한 통신 매체일 수 있다. 일부 예에서 기기 모듈의 명령은 예를 들어 명령 대기열에 미리 저장되어 있으며 호스트 컴퓨터로부터 수신되지 않는다. 예에서, MEP(105)는 예를 들어 테스트 시스템의 단일 기기 모듈을 제어하도록 프로그래밍되는 것과 같이 구성된 하나 이상의 처리 장치를 포함한다. 처리 장치의 예가 여기에 기술되어 있다. 예를 들어 MEP의 각 테스트 도메인에 대해 별도의 명령 대기열이 있다. MEP에서 실행되는 하나 이상의 SRD는 명령 대기열에서 싱크 도메인에 대한 명령을 검색하고 명령을 처리/실행한다.
예시적 동작에서, 실행될 대기열의 다음 명령이 "싱크 장벽"인 경우, 이전의 교차가 상태를 "싱크 장벽 교차"로 설정했을 수 있으므로 SRD는 공유 메모리의 상태를 "싱크 장벽 교차하지 않음"으로 설정한다. 그런 다음 SRD는 "싱크 장벽"에 도달했음을 싱크 버스 엔드 포인트에 지시하고 "싱크 장벽"이 교차되었는지를 표시하기 위해 공유 메모리를 대기하기 시작한다. 싱크 엔드 포인트는 준비되지 않은 경우 이 상태를 전송하는 것을 지연시킬 수 있고(116), 그렇지 않으면 싱크 버스 엔드 포인트가 싱크 버스 엔드 포인트 전송 상태를 "싱크 장벽 도달"로 설정하고 이 명령을 싱크 버스로 전송한다. 싱크 버스는 본원에 기술된 바와 같이 싱크 버스 마스터로 명령을 전송한다.
싱크 버스 마스터는 싱크 도메인의 다수의 리소스(예를 들어, 모든 리소스)에서 수신된 싱크 장벽 상태(예를 들어, "싱크 장벽 도달" 명령)를 집계한다. 싱크 도메인의 모든 리소스가 "싱크 장벽 도달"을 보고하면 싱크 버스 마스터는 예를 들어 해당 싱크 도메인의 싱크 버스 수신기로 "싱크 장벽 교차" 명령과 같은 정보를 제공한다. 기술된 바와 같이, 싱크 버스 마스터는 싱크 도메인의 모든 엔드 포인트에서 상태를 집계(예를 들어, 논리적 AND)하여 싱크 도메인당 하나의 결과를 생성할 수 있다. 이 예에서, 언급한 바와 같이, 테스트 도메인의 모든 싱크 버스 엔드 포인트가 "싱크 장벽 도달"을 보고하면 결과인 "싱크 장벽 교차" 상태는 참(TRUE)이다. 그런 다음 "싱크 장벽 교차" 명령이 싱크 버스 마스터에서 싱크 버스를 통해 각 싱크 버스 엔드 포인트 수신기로 전송되며, 이는 모두 해당 명령을 수신한다.
기기 모듈의 싱크 버스 엔드 포인트 수신기가 "싱크 장벽 교차" 명령을 감지하면, 싱크 버스 엔드 포인트 수신기가 이 예에서 두 가지 작업을 수행한다. 싱크 버스 엔드 포인트 수신기는 싱크 버스 엔드 포인트 송신기의 상태를 "싱크 장벽에 도달하지 않음"으로 설정하고 "싱크 장벽 교차"를 공유 메모리에 기록한다. 이 상태 변경을 기다리고 있던 SRD는 MEP가 대기열에서 후속 명령을 처리할 수 있도록 한다. 결과적으로, 상이한 기기 모듈의 MEP(모두 동일한 싱크 도메인에 있음)는 동작을 동기화할 수 있다.
일부 구현에서, 싱크 버스 엔드 포인트 송신기가 싱크 장벽에 도달한 후, 싱크 버스 엔드 포인트 송신기는 "싱크 장벽 교차" 명령으로 싱크 버스 마스터에 의해 그것이 확인될 때까지 "싱크 버스 도달 상태"를 유지할 수 있다.
또한 각 싱크 버스 엔드 포인트는 싱크 버스로부터 "싱크 장벽 상태 교차"와 같은 싱크 버스 명령을 수신하고, 기기 모듈의 리소스에 대한 트리거 신호를 생성하도록 구성할 수 있다. 예를 들어, 각 리소스는 트리거 신호에 응답하여 명령의 특정 서브 세트를 실행하도록 구성될 수 있다. 일부 예에서, 트리거 신호는 서로 다른 모듈에서 리소스를 트리거하여 올바른 순서가 아닌 동시에 작업을 수행하도록 한다. 트리거 신호는 리소스가 미리 준비된 액션을 수행하도록 리소스를 트리거하는데 사용될 수 있다.
일부 구현에서, 싱크 도메인은 한 번에 하나의 트리거 신호만 생성하지만, 단일 트리거 신호가 상이한 시간 지연으로 다수의 수신기 출력에 적용될 수 있다. 이러한 각 트리거 신호는 다수의(예를 들어, 32) 기기 모듈 리소스 중 하나에 적용될 수 있다. 예를 들어 싱크 도메인에 대한 트리거 신호를 다수의 기기 모듈 리소스에 적용하거나 싱크 도메인에 대한 트리거 신호를 단일 기기 모듈 리소스에 적용할 수 있다. 각 엔드 포인트 수신기 출력은 또한 고유한 트리거 신호 오프셋 지연을 도입할 수도 있다. 2개의 엔드 포인트 수신기 출력이 동일한 싱크 도메인에 연결되어 있어도, 오프셋을 다르게 프로그래밍하여 기기 모듈 리소스의 다른 경로를 보상할 수 있다.
일부 구현에서, 각 싱크 버스 프레임은 프레임의 시작을 나타내는 헤더 및 프레임에 의해 표현되는 메시지 유형을 포함한다. 이 헤더 뒤에는 하나 이상의 사용 가능한 테스트 도메인 각각에 대한 싱크 장벽 상태를 나타낼 수 있는 페이로드 데이터가 후속될 수 있다. 일부 예들에서, 싱크 프레임은 클록 신호에 의해 클록킹될 수 있고 클록 신호에 직접 참조될 수 있다. 페이로드의 크기는 사용 가능한 테스트 도메인의 수에 따라 판정된다. 테스트 도메인이 많을수록 페이로드가 커지고 테스트 시스템을 통해 신호를 전파하는 데 더 오래 걸린다.
일부 예에서, 싱크 버스는 "싱크 장벽 도달" 및 "싱크 장벽 교차" 이외의 메시지를 지원한다. 예를 들어, 싱크 버스 마스터는 싱크 버스 엔드 포인트가 자신의 TOD(Time-of-day) 클록을 업데이트하도록 지시하는 메시지를 보낼 수 있고, 싱크 버스 엔드 포인트는 싱크 버스 마스터에게 해당 업데이트를 전송하도록 요청할 수 있다. TOD 클록은 각 기기의 시스템 클록 카운터를 지정된 값으로 설정하는 데 사용되는 시스템 시간 정렬 신호이고, 모든 기기가 시스템 클록에 대해 정확히 반복 가능한 타이밍으로 클록을 동일한 지정된 값으로 자신의 클록을 설정하도록 한다.
따라서, 적절한 시간에 싱크 버스 엔드 포인트 송신기는 자신의 상태를 전송하는 대신에 메시지를 전송할 수 있으며, 적절한 시간에 동기화 버스 마스터는 "싱크 장벽 교차"를 전송하는 대신 메시지를 전송할 수 있다. 일부 구현에서, 싱크 버스 마스터가 상태없이 프레임을 수신할 때, 싱크 버스 마스터는 상태도 포함하지 않는 프레임 유형으로 응답한다. 일부 구현에서, 싱크 버스 엔드 포인트 수신기가 상태없이 프레임을 수신할 때, 싱크 버스 엔드 포인트 수신기는 이전 프레임으로부터의 자신의 상태를 유지한다. 결과적으로, 이전 프레임의 상태가 유지된다.
일부 구현에서 테스트 시스템은 다수의 MEP(기기 모듈 당 하나씩)를 가질 수 있거나 하나의 MEP가 다수의 기기 모듈을 서비스할 수 있다. 후자의 경우, MEP는 하나의 기기 모듈의 싱크 버스 엔드 포인트를 기여 엔드 포인트로서 구성하고, 이를 사용하여 싱크 장벽 상태를 제공할 수 있다. 이 경우, MEP는 다른 모듈의 싱크 버스 엔드 포인트를 비기여 엔드 포인트로 구성할 수 있다. 일부 구현에서, MEP는 기여하도록 모든 싱크 버스 엔드 포인트를 구성하고 각 싱크 버스 엔드 포인트와 독립적으로 싱크 장벽 상태를 전달할 수 있다. 따라서, 동기화 시스템을 구성할 수 있다. 약간 적은 기능으로 더 낮은 비용의 시스템에서 동일한 모듈을 사용할 수 있다.
예시적 테스트 시스템은 동시 테스트 흐름과 사이트 별 흐름이라는 두 가지 관련 기능을 지원할 수 있다. 일 예에서, 동시 테스트 흐름은 DUT의 다수의 섹션이 동시에 테스트될 수 있을 만큼 충분히 독립적이어야 한다. 테스트 시스템의 사용자는 DUT의 각 섹션과 관련된 테스터 리소스를 지정할 수 있다. 테스트 프로그램은 각각 DUT의 한 섹션과 관련된 리소스만 사용하는 별도의 흐름으로 작성될 수 있다. 호스트 컴퓨터가 이러한 흐름을 직렬로 실행하더라도 MEP는 다수의 흐름에 대한 명령을 병렬로 실행한다.
사이트 별 흐름은 동시 테스트 흐름과 유사하지만 사용자가 상이한 흐름을 작성하는 대신, DUT의 테스트 결과에 따라 단일 흐름이 상이하게 실행된다. 테스트 프로그램은 동일한 결과를 가진 사이트를 그룹화하고 테스트 흐름은 각 사이트 그룹에 대해 한 번씩 순차적으로 실행된다. 흐름 중에 실행되는 명령은 각 그룹마다 상이할 수 있다. 테스트 프로그램이 계속되면, 흐름이 다시 분할되거나 다시 결합될 수 있다. 고유한 흐름을 실행하는 리소스는 테스트 도메인의 구성원으로 간주된다. 이러한 리소스는 서로 동기적으로 작동한다. 서로 다른 테스트 도메인의 리소스는 서로 동기화가 제한되거나 동기화되지 않을 수 있다. 두 기능의 차이점은 테스트 도메인이 동시 테스트 흐름에 대한 테스트 프로그램 실행 전에 알려져 있는 반면, 그것들은 사이트 별 흐름에 대해 동적으로 생성된다는 것이다.
일부 구현에서, 버스 동기화 시스템은 테스트 엔지니어가 테스트 프로그램의 적어도 일부에 대해 자동 동기화를 비활성화할 수 있도록 구성될 수 있다. 일부 구현에서, 버스 동기화 시스템은 동기화가 발생할 것을 요구하는 테스트 프로그램의 임의의 부분을 자동으로 식별하도록 구성된다. 예를 들어, 테스트 엔지니어의 입력없이 식별이 이루어질 수 있다.
일부 구현에서, 싱크 버스는 유선 OR 버스를 사용하고, 포인트 대 포인트 연결 및 논리 게이트를 사용하고, 적절한 비접촉, 무선 또는 광학 시그널링을 사용하거나, 이들 전송 매체의 임의의 적절한 조합을 사용하여 구현될 수 있다. 일부 구현에서, 싱크 버스는 하드웨어 또는 소프트웨어에 상태를 전달하고, 상태를 집계하고, 집계된 상태 또는 기타 정보를 동일한 경로를 통해 또는 다른 경로를 통해 모든 MEP에 전송하도록 구성된 임의의 적절한 데이터 통신 경로를 사용하여 구현될 수 있다.
일부 구현에서, 버스 동기화는 대칭일 필요가 없다. 예를 들어, 일부 구현에서, "싱크 장벽 교차" 신호 또는 기타 적절한 동기화 또는 기타 신호는 위에서 기술한 싱크 버스가 아닌 이더넷 버스를 통해 기기 모듈로 전송될 수 있다.
본원에 기술된 바와 같이, 예시적인 버스 동기화 시스템은 중앙 집중식 제어 없이도 다수의 분산 MEP에 걸쳐 동기화된 동작을 가능하게 한다. 이는 다수의 분산 MEP가 테스트 프로그램의 일부를 실행하는 데 상이한 시간이 걸릴 수 있고, 일반적으로 그러한 처리가 실제로 얼마나 오래 걸릴지 미리 알지 못하더라도 가능하다. 따라서 각 MEP는 미리 알지 못할 수 있는 테스트 프로그램의 일부를 실행하는 데 걸리는 시간을 유연하게 조정할 수 있다. 버스 동기화 시스템은 또한 상대적으로 낮은 지연 시간이며, 이는 예를 들어 일부 테스트 프로그램이 초당 수천 개의 동기화 이벤트를 포함할 수 있기 때문에 이로울 수 있다.
일부 구현에서, 각각의 MEP는 테스트 프로그램의 자체 복사본을 실행하고, 싱크 장벽이 명령 사이에서 명령 대기열에 배치되어야 하는 위치를 판정하고, MEP를 포함하는 기기 모듈이 가입해야 하는 동기화 도메인을 판정하도록 구성될 수 있다. 이 분산 접근 방식은 호스트 컴퓨터가 테스트 프로그램을 실행하고 싱크 도메인에 대한 일련의 명령 내 적절한 위치에 싱크 장벽 명령을 배치하는 위에서 기술한 접근 방식을 대신하거나 함께 구현할 수 있다.
본원에 기술된 예시적 시스템은 하드웨어 또는 하드웨어와 소프트웨어의 조합을 포함하는 하나 이상의 컴퓨터 시스템에 의해 구현되거나 및/또는 그것들을 이용하여 제어될 수 있다. 예를 들면, 본원에 기술된 것과 유사한 테스트 시스템은 자동화된 엘리먼트들의 동작을 제어하기 위해 시스템 내에서 다양한 포인트에 위치된 다양한 컨트롤러 및/또는 처리 장치들을 포함할 수 있다. 중앙 컴퓨터는 다양한 컨트롤러 또는 처리 장치들 사이의 동작을 조정할 수 있다. 중앙 컴퓨터, 컨트롤러, 및 처리 장치는 다양한 자동화된 엘리먼트의 제어 및 조정을 가져오는 다양한 소프트웨어 루틴을 실행할 수 있다.
본원에 기술된 예시적 시스템은 적어도 부분적으로 예를 들면 프로그래밍 가능한 프로세서, 컴퓨터, 다수의 컴퓨터, 및/또는 프로그래밍 가능한 로직 컴포넌트와 같은 하나 이상의 데이터 처리 장비에 의해 실행하거나, 또는 그 동작을 제어하기 위해, 하나 이상의 비일시적 기계판독가능 매체와 같은 하나 이상의 정보 전달자(carrier)로 실체적으로 구현된 예를 들면 하나 이상의 컴퓨터 프로그램과 같은 하나 이상의 컴퓨터 프로그램 제품을 이용하여 제어될 수 있다.
컴퓨터 프로그램은 컴파일 언어 또는 인터프리터 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 그것은 스탠드 어론식 프로그램 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 이용하기에 적절한 기타 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서 실행되거나 또는 하나의 위치에 있거나 또는 다수의 위치를 가로질러 분산되어 있고 네트워크에 의해 상호 연결되는 다수의 컴퓨터상에서 실행되도록 전개될 수 있다.
테스트의 전부 또는 일부를 구현하는 것에 연관된 액션이 본원에 기술된 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 테스트의 전부 또는 일부는 예를 들면 FPGA(field programmable gate array) 및/또는 ASIC(application-specific integrated circuit)과 같은 전용 로직 회로를 이용하여 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들면 범용 및 전용 마이크로프로세서 모두와, 임의의 종류의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 저장 영역 또는 랜덤 액세스 저장 영역 또는 그 모두로부터 명령어 및 데이터를 수신할 것이다. 컴퓨터(서버를 포함하는)의 엘리먼트는 명령어를 실행하는 하나 이상의 프로세서와 명령어 및 데이터를 저장하는 하나 이상의 저장 영역 장치들을 포함한다. 일반적으로, 컴퓨터는 또한 예를 들면 자기, 자기-광학 디스크 또는 광학 디스크와 같은 데이터 저장을 위한 대용량 저장 장치와 같은 하나 이상의 기계 판독가능 저장 매체를 포함하거나, 또는 그로부터 데이터를 수신하거나 그로 데이터를 전송하거나, 또는 송수신하도록 동작가능하게 결합될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 구현하기에 적합한 기계 판독가능 저장 매체는 예를 들면, EPROM, EEPROM, 및 플래시 저장 영역 장치와 같은 반도체 저장 영역 장치; 예를 들면 내장형 하드디스크 또는 착탈가능한 디스크와 같은 자기 디스크; 자기-광학 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는, 모든 형태의 비휘발성 저장 영역을 포함한다.
본원에 이용된 "전기 연결"은 직접적인 물리적 연결 또는 개재하는 컴포넌트를 포함하거나 포함하지 않지만, 그럼에도 불구하고 연결된 컴포넌트 사이에서 전기 신호들이 흐르도록 하는 유선 또는 무선 연결을 의미할 수 있다. 신호들이 흐르도록 하는 전기 회로를 포함하는 임의의 "연결"은 다르게 언급되지 않는다면 전기 연결이고, "전기"라는 단어가 "연결"을 변조하기 위해 이용되는지에 관계없이 반드시 직접적인 물리적 연결일 필요는 없다.
본원에 기술된 상이한 구현의 엘리먼트는 구체적으로 상술되지 않은 다른 실시예들을 형성하기 위해 결합될 수 있다. 엘리먼트들은 그것들의 동작에 악영향을 주지 않으면서 본원에 기술된 구조로부터 제거될 수 있다. 추가로, 다양한 개별적인 엘리먼트들이 본원에 기술된 기능들을 수행하기 위해 하나 이상의 개별 엘리먼트들로 결합될 수 있다.

Claims (39)

  1. 컴퓨터 버스;
    테스트 흐름을 실행하는 호스트 컴퓨터; 및
    기기 모듈로서,
    리소스; 및
    처리 장치;
    를 구비하는 상기 기기 모듈;
    을 포함하고,
    테스트 흐름에 의해서 작동되는 리소스가 도메인을 정의하고;
    상기 호스트 컴퓨터는 상기 테스트 흐름에서 싱크(sync) 명령을 포함하는 명령을 상기 기기 모듈로 출력하도록 구성되며, 상기 싱크 명령은 상기 기기 모듈이 상기 컴퓨터 버스에 상태를 제공하고 상기 처리 장치를 일시 중지하도록 하고;
    상기 도메인의 상기 기기 모듈로부터의 상태는 상기 컴퓨터 버스에 집계되고, 집계된 상기 상태에 기반하여 정보가 상기 기기 모듈에 배포되고;
    상기 처리 장치는 상기 정보에 기초하여 명령의 실행을 재개하도록 구성되는 것을 특징으로 하는 시스템.
  2. 제1 항에 있어서, 상기 정보는 상기 도메인의 모든 기기 모듈이 싱크 명령을 접한 후에 배포되는 것을 특징으로 하는 시스템.
  3. 제1 항에 있어서, 상기 호스트 컴퓨터는 상기 컴퓨터 버스와는 상이한 통신 버스를 통해 상기 명령을 상기 기기 모듈로 전송하도록 프로그래밍되는 것을 특징으로 하는 시스템.
  4. 제1 항에 있어서, 상기 상태를 집계하고 상기 정보를 배포하는 것은 상기 호스트 컴퓨터와 독립적으로 수행되는 것을 특징으로 하는 시스템.
  5. 제1 항에 있어서, 상기 명령 중 적어도 일부는 동작을 수행하도록 상기 도메인의 자원에 지시하는 것을 특징으로 하는 시스템.
  6. 제1 항에 있어서, 상기 기기 모듈은 상기 컴퓨터 버스에 상태를 제공하는 엔드 포인트 장치를 포함하고;
    상기 엔드 포인트 장치는 기여 엔드 포인트 장치를 포함하고; 및
    상기 기여 엔드 포인트 장치는 상기 컴퓨터 버스로부터 상기 정보를 수신하고 하나 이상의 상기 리소스의 동작을 트리거하기 위해 상기 정보에 기초하여 신호를 생성하도록 구성되는 것을 특징으로 하는 시스템.
  7. 제1 항에 있어서, 상기 기기 모듈은 엔드 포인트 장치를 포함하고; 및
    상기 엔드 포인트 장치는 상기 컴퓨터 버스로부터 상기 정보를 수신하고 하나 이상의 상기 리소스의 동작을 트리거하기 위해 상기 정보에 기초하여 신호를 생성하기는 비기여 엔드 포인트 장치를 포함하는 것을 특징으로 하는 시스템.
  8. 제1 항에 있어서, 상기 호스트 컴퓨터는 다수의 개별 명령어 흐름을 포함하는 테스트 프로그램을 실행하도록 프로그래밍되고, 상기 다수의 개별 명령어 흐름은 상기 테스트 흐름을 포함하는 것을 특징으로 하는 시스템.
  9. 제8 항에 있어서, 상기 기기 모듈은 엔드 포인트 장치를 포함하고; 및
    상기 엔드 포인트 장치는 상기 다수의 개별 흐름 중 하나 이상에 가입하도록 구성되는 것을 특징으로 하는 시스템.
  10. 제1 항에 있어서, 상기 기기 모듈은 엔드 포인트 장치를 포함하고; 및
    상기 엔드 포인트 장치는 상기 도메인의 리소스에 제공할 신호를 생성하도록 구성되는 것을 특징으로 하는 시스템.
  11. 제10 항에 있어서, 상기 신호는 상기 리소스가 미리 준비된 액션을 수행하도록 상기 리소스를 트리거하는 것을 특징으로 하는 시스템.
  12. 제10 항에 있어서, 오프셋이 상기 정보의 수신에 대한 신호 타이밍을 제어하기 위해 상기 신호에 추가될 수 있는 것을 특징으로 하는 시스템.
  13. 제1 항에 있어서, 상기 기기 모듈은 엔드 포인트 장치를 포함하고; 및
    상기 엔드 포인트 장치는 상기 컴퓨터 버스로의 출력을 구현하기 위한 송신기 및 상기 컴퓨터 버스로부터의 수신을 구현하기 위한 수신기를 포함하는 것을 특징으로 하는 시스템.
  14. 제1 항에 있어서, 상기 상태는 상기 프로세서에 의해 수행된 테스트의 통과 또는 실패 상태를 포함하는 것을 특징으로 하는 시스템.
  15. 제1 항에 있어서, 상기 상태는 다수의 비트로 구성된 주기적 프레임을 사용하여 상기 컴퓨터 버스에 시분할 다중 액세스 방식으로 인코딩된 비트를 포함하는 것을 특징으로 하는 시스템.
  16. 제15 항에 있어서, 상기 주기적 프레임은 헤더, 트레일러, 순환 중복 검사 또는 8b/10b 인코딩 중 하나 이상에 의해 특징지어지는 것을 특징으로 하는 시스템.
  17. 제1 항에 있어서, 상기 정보의 비트 중 적어도 일부는 상기 기기상의 시스템 클록 카운터를 지정된 값 또는 상기 버스의 페이로드에 있는 지정된 시간 중 적어도 하나로 설정하기 위한 시스템 시간 정렬 신호를 나타내는 것을 특징으로 하는 시스템.
  18. 제1 항에 있어서, 상기 컴퓨터 버스는 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉, 무선 또는 광학 시그널링; 또는 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉 및 무선 또는 광학 시그널링; 중 하나 이상의 조합; 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템.
  19. 제1 항에 있어서, 상기 정보는 상기 컴퓨터 버스를 통해 수신되는 것을 특징으로 하는 시스템.
  20. 제1 항에 있어서, 상기 정보는 상기 컴퓨터 버스와 상이한 통신 버스를 통해 수신되는 것을 특징으로 하는 시스템.
  21. 제1 항에 있어서, 상기 테스트 흐름에서 상기 싱크 명령은, 상기 테스트 흐름에서, 상기 테스트 흐름에 의한 피시험 장치에 대한 액션 또는 측정을 요구하는 명령 바로 앞에 선행하는 것을 특징으로 하는 시스템.
  22. 제1 항에 있어서, 상기 테스트 흐름의 적어도 일부는 동기화되지 않도록 제어될 수 있는 것을 특징으로 하는 시스템.
  23. 컴퓨터 버스;
    기기 모듈로서,
    리소스; 및
    대기열로부터의 명령을 실행하는 처리 장치;
    를 구비하는 상기 기기 모듈;
    을 포함하고,
    상기 처리 장치는 상기 대기열에서 적어도 하나의 싱크 명령을 접하는 것에 응답하여 상기 기기 모듈이 상기 컴퓨터 버스에 상태를 제공하고 상기 처리 장치를 일시 중지하도록 구성되고;
    상기 기기 모듈로부터의 상태는 상기 컴퓨터 버스에 집계되고, 정보는 집계된 상기 상태에 기초하여 상기 기기 모듈에 배포되고; 및
    상기 처리 장치는 상기 정보에 기초하여 명령의 실행을 재개하도록 구성되는 것을 특징으로 하는 시스템.
  24. 제23 항에 있어서,
    호스트 컴퓨터; 및
    통신 버스;
    를 더 포함하고,
    상기 호스트 컴퓨터는 상기 통신 버스를 통해 상기 기기 모듈에 상기 명령을 출력하도록 구성되는 것을 특징으로 하는 시스템.
  25. 테스트를 제어하기 위한 기기로서, 각 기기는 처리 유닛에 의해 제어되고, 각 처리 유닛은 상기 처리 유닛이 제어하는 기기와 관련된 테스트 프로그램의 일부에서 작동하도록 구성되는 상기 기기; 및
    중앙 집중식 컨트롤러의 개입없이 테스트 기기 인터페이스에서 액션, 측정 또는 측정과 액션의 동기화된 시퀀스를 생성하기 위해 적어도 일부 처리 장치와 함께 작동하는 동기화 메커니즘;
    을 포함하는 것을 특징으로 하는 테스트 시스템.
  26. 제25 항에 있어서, 상기 동기화 메커니즘은:
    상기 처리 유닛이 상기 테스트 프로그램의 일부를 완료했는지 여부를 나타내는 상태 데이터를 각 처리 유닛이 전송할 수 있게 하고;
    모든 처리 장치에서 상태 데이터를 수신하고 집계하고; 및
    하나 이상의 집계된 상태 비트를 모든 처리 유닛으로 다시 전송;
    하도록 구성되는 것을 특징으로 하는 테스트 시스템.
  27. 제26 항에 있어서, 상기 처리 유닛은:
    상기 처리 유닛이 상기 테스트 프로그램의 일부를 완료했을 때, 상기 처리 유닛은, 동기화 버스 상에서, 상기 처리 유닛이 상기 테스트 프로그램의 상기 일부를 완료했음을 나타내고; 상기 테스트 프로그램의 다음 부분으로 진행하기 전에, 상기 처리 유닛은 상기 테스트 시스템의 다른 모든 처리 유닛이 상기 테스트 프로그램의 일부를 완료했음을 나타내는 상기 하나 이상의 집계된 상태 비트를 수신하는;
    것을 포함하는 동작을 수행하도록 구성되는 것을 특징으로 하는 테스트 시스템.
  28. 제26 항에 있어서, 상기 동기화 메커니즘은, 다수의 기기가 상기 하나 이상의 집계된 상태 비트를 수신하고 액션, 측정 또는 액션과 측정 모두를 다수의 기기들 사이에서 예측 가능하고 반복 가능한 타이밍 정렬을 가지고 수행하도록 트리거될 수 있게 시스템 클록에 대해 정의된 타이밍을 가지는 것을 특징으로 하는 테스트 시스템.
  29. 제26 항에 있어서, 상기 동기화 메커니즘은 각 처리 유닛에 의해 전송 가능하고 상기 하나 이상의 집계된 상태 비트를 생성하기 위해 집계될 수 있는 다수의 상태 비트를 포함하는 상태 데이터를 지원하도록 구성되고, 상기 하나 이상의 집계된 상태 비트가 모든 상기 처리 유닛으로 전송되는 것을 특징으로 하는 테스트 시스템.
  30. 제26 항에 있어서, 상기 하나 이상의 집계된 상태 비트는 액션 시퀀스, 측정 시퀀스, 또는 액션과 측정의 시퀀스를 동기화하기 위해 상기 테스트 시스템의 모든 기기를 동기화하는 데 사용가능한 것을 특징으로 하는 테스트 시스템.
  31. 제 26 항에 있어서, 상기 상태 데이터는 테스트 프로그램의 통과 또는 실패 상태를 전송하기 위한 적어도 하나의 비트를 포함하는 것을 특징으로 하는 테스트 시스템.
  32. 제26 항에 있어서, 상기 상태 데이터는 주기적 프레임을 사용하여 직렬 데이터 버스에 시분할 다중 액세스 방식으로 인코딩되는 하나 이상의 상태 비트를 포함하는 것을 특징으로 하는 테스트 시스템.
  33. 제32 항에 있어서, 상기 주기적 프레임은 헤더, 트레일러, 순환 중복 검사 또는 8b/10b 인코딩 중 하나 이상에 의해 특징지어지는 것을 특징으로 하는 테스트 시스템.
  34. 제32 항에 있어서, 상기 주기적 프레임은 상기 하나 이상의 상태 비트 이외의 정보를 전송하도록 구성될 수 있는 것을 특징으로 하는 테스트 시스템.
  35. 제26 항에 있어서, 상기 처리 유닛으로 전송되는 하나 이상의 비트는 상기 기기상의 시스템 클록 카운터를 지정된 값으로 설정하기 위한 시스템 시간 정렬 신호를 나타내는 것을 특징으로 하는 테스트 시스템.
  36. 제26 항에 있어서, 상기 하나 이상의 집계된 상태 비트는 액션 시퀀스, 측정의 시퀀스, 또는 액션과 측정의 시퀀스를 동기화하기 위해 상기 테스트 시스템의 모든 기기를 동기화하는 단일 상태 비트를 포함하는 것을 특징으로 하는 테스트 시스템.
  37. 제26 항에 있어서, 상기 동기화 메커니즘은 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉, 무선 또는 광학 신호; 또는 유선 OR 버스; 포인트 대 포인트 연결 및 논리 게이트; 비접촉 및 무선 또는 광학 신호; 중 하나 이상의 조합; 중 적어도 하나를 포함하는 것을 특징으로 하는 테스트 시스템.
  38. 제26 항에 있어서, 상기 동기화 메커니즘의 적어도 일부는 자동 또는 수동으로 비활성화되도록 제어될 수 있는 것을 특징으로 하는 테스트 시스템.
  39. 제26 항에 있어서, 상기 동기화 메커니즘의 적어도 일부는 상기 테스트 프로그램의 일부에서만 동작하도록 제어 가능한 것을 특징으로 하는 테스트 시스템.
KR1020207034832A 2018-05-10 2019-04-19 버스 동기화 시스템 KR20200142090A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/976,407 2018-05-10
US15/976,407 US10896106B2 (en) 2018-05-10 2018-05-10 Bus synchronization system that aggregates status
PCT/US2019/028247 WO2019217056A1 (en) 2018-05-10 2019-04-19 Bus synchronization system

Publications (1)

Publication Number Publication Date
KR20200142090A true KR20200142090A (ko) 2020-12-21

Family

ID=68464711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207034832A KR20200142090A (ko) 2018-05-10 2019-04-19 버스 동기화 시스템

Country Status (7)

Country Link
US (1) US10896106B2 (ko)
EP (1) EP3791197B1 (ko)
JP (1) JP2021523438A (ko)
KR (1) KR20200142090A (ko)
CN (1) CN112074747A (ko)
SG (1) SG11202010328YA (ko)
WO (1) WO2019217056A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853179B1 (en) * 2018-12-28 2023-12-26 Teledyne Lecroy, Inc. Detection of a DMA (direct memory access) memory address violation when testing PCIE devices
US11904890B2 (en) * 2020-06-17 2024-02-20 Baidu Usa Llc Lane change system for lanes with different speed limits

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229792A (en) 1979-04-09 1980-10-21 Honeywell Inc. Bus allocation synchronization system
JPH02105961A (ja) * 1988-10-14 1990-04-18 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサ同期方式
US5235698A (en) 1989-09-12 1993-08-10 Acer Incorporated Bus interface synchronization control system
GB2257272B (en) 1991-06-29 1995-01-04 Genrad Ltd DC level generator
US5471136A (en) 1991-07-24 1995-11-28 Genrad Limited Test system for calculating the propagation delays in signal paths leading to a plurality of pins associated with a circuit
US5371880A (en) 1992-05-13 1994-12-06 Opti, Inc. Bus synchronization apparatus and method
US5615219A (en) 1995-11-02 1997-03-25 Genrad, Inc. System and method of programming a multistation testing system
US5604751A (en) 1995-11-09 1997-02-18 Teradyne, Inc. Time linearity measurement using a frequency locked, dual sequencer automatic test system
US5717704A (en) * 1996-04-16 1998-02-10 Ltx Corporation Test system including a local trigger signal generator for each of a plurality of test instruments
US5938780A (en) 1997-09-19 1999-08-17 Teradyne, Inc. Method for capturing digital data in an automatic test system
US6028439A (en) * 1997-10-31 2000-02-22 Credence Systems Corporation Modular integrated circuit tester with distributed synchronization and control
JP3953243B2 (ja) 1998-12-29 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション システム分析のためにバス・アービトレーション制御を使用する同期方法及び装置
US6389547B1 (en) 1999-03-19 2002-05-14 Sony Corporation Method and apparatus to synchronize a bus bridge to a master clock
US6550036B1 (en) 1999-10-01 2003-04-15 Teradyne, Inc. Pre-conditioner for measuring high-speed time intervals over a low-bandwidth path
EP1092983B1 (en) * 2000-06-16 2003-01-22 Agilent Technologies, Inc. (a Delaware corporation) Integrated circuit tester with multi-port testing functionality
US6651122B2 (en) * 2000-12-07 2003-11-18 Micron Technology, Inc. Method of detecting a source strobe event using change detection
US7017087B2 (en) 2000-12-29 2006-03-21 Teradyne, Inc. Enhanced loopback testing of serial devices
JP2002342108A (ja) * 2001-05-15 2002-11-29 Mitsubishi Electric Corp 試験環境構築システム
US6754763B2 (en) * 2001-07-30 2004-06-22 Axis Systems, Inc. Multi-board connection system for use in electronic design automation
US7035755B2 (en) 2001-08-17 2006-04-25 Credence Systems Corporation Circuit testing with ring-connected test instrument modules
DE10157931C2 (de) 2001-11-26 2003-12-11 Siemens Ag Verfahren und Vorrichtungen zur Synchronisation von Funkstationen und zeitsynchrones Funkbussystem
US7334065B1 (en) 2002-05-30 2008-02-19 Cisco Technology, Inc. Multiple data bus synchronization
DE60331489D1 (de) * 2002-07-17 2010-04-08 Chronologic Pty Ltd Synchronisierter Multikanal-USB
US6981192B2 (en) 2002-09-27 2005-12-27 Teradyne, Inc. Deskewed differential detector employing analog-to-digital converter
US7949777B2 (en) 2002-11-01 2011-05-24 Avid Technology, Inc. Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal
CN100456043C (zh) * 2003-02-14 2009-01-28 爱德万测试株式会社 检测集成电路的方法和装置
WO2004106955A1 (en) * 2003-05-22 2004-12-09 Teseda Corporation Tester architecture for testing semiconductor integrated circuits
JP4259390B2 (ja) * 2004-04-28 2009-04-30 日本電気株式会社 並列演算処理装置
US7177777B2 (en) 2004-10-01 2007-02-13 Credence Systems Corporation Synchronization of multiple test instruments
US7454681B2 (en) * 2004-11-22 2008-11-18 Teradyne, Inc. Automatic test system with synchronized instruments
US7319936B2 (en) * 2004-11-22 2008-01-15 Teradyne, Inc. Instrument with interface for synchronization in automatic test equipment
US7769932B2 (en) 2005-09-09 2010-08-03 Honeywell International, Inc. Bitwise arbitration on a serial bus using arbitrarily selected nodes for bit synchronization
US7668235B2 (en) 2005-11-10 2010-02-23 Teradyne Jitter measurement algorithm using locally in-order strobes
US7349818B2 (en) 2005-11-10 2008-03-25 Teradyne, Inc. Determining frequency components of jitter
JP2007157303A (ja) * 2005-12-08 2007-06-21 Advantest Corp 試験装置および試験方法
WO2008008773A1 (en) * 2006-07-10 2008-01-17 Asterion, Inc. System and method for performing processing in a testing system
TW200824693A (en) 2006-08-28 2008-06-16 Jazz Pharmaceuticals Inc Pharmaceutical compositions of clonazepam and methods of use thereof
US7528623B2 (en) 2007-02-02 2009-05-05 Teradyne, Inc. Distributing data among test boards to determine test parameters
US7673084B2 (en) 2007-02-20 2010-03-02 Infineon Technologies Ag Bus system and methods of operation using a combined data and synchronization line to communicate between bus master and slaves
US8037355B2 (en) 2007-06-07 2011-10-11 Texas Instruments Incorporated Powering up adapter and scan test logic TAP controllers
JP2009176116A (ja) * 2008-01-25 2009-08-06 Univ Waseda マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法
WO2010132942A1 (en) * 2009-05-20 2010-11-25 Chronologic Pty. Ltd. Method and apparatus for synchronising the local time of a plurality of instruments
US8261119B2 (en) * 2009-09-10 2012-09-04 Advantest Corporation Test apparatus for testing device has synchronization module which synchronizes analog test module to digital test module based on synchronization signal received from digital test module
US8290725B2 (en) * 2009-11-18 2012-10-16 National Instruments Corporation Synchronized reconfiguration of measurement modules
CN101834664B (zh) * 2010-04-29 2013-01-23 西安电子科技大学 一种sdh多域综合测试装置及测试方法
EP2534580A4 (en) * 2010-05-05 2017-11-29 Teradyne, Inc. System for concurrent test of semiconductor devices
US8504864B2 (en) 2010-12-01 2013-08-06 GM Global Technology Operations LLC Data sensor coordination using time synchronization in a multi-bus controller area network system
CN102122995A (zh) * 2010-12-20 2011-07-13 北京航空航天大学 一种无线分布式自动测试系统
CN102857383A (zh) * 2011-06-28 2013-01-02 鸿富锦精密工业(深圳)有限公司 同步测试控制方法及系统
US10311010B2 (en) * 2011-10-05 2019-06-04 Analog Devices, Inc. Two-wire communication systems and applications
US10048304B2 (en) * 2011-10-25 2018-08-14 Teradyne, Inc. Test system supporting simplified configuration for controlling test block concurrency
US8914563B2 (en) 2012-02-28 2014-12-16 Silicon Laboratories Inc. Integrated circuit, system, and method including a shared synchronization bus
WO2013177665A1 (en) 2012-06-01 2013-12-05 Research In Motion Limited Universal synchronization engine based on probabilistic methods for guarantee of lock in multiformat audio systems
US8850258B2 (en) 2012-06-20 2014-09-30 Intel Corporation Calibration for source-synchronous high frequency bus synchronization schemes
US8947537B2 (en) 2013-02-25 2015-02-03 Teradyne, Inc. Rotatable camera module testing system
CN103257910B (zh) * 2013-04-26 2016-08-03 北京航空航天大学 可用于现场测试的lxi嵌入式可重配置通用测试平台
US9830298B2 (en) 2013-05-15 2017-11-28 Qualcomm Incorporated Media time based USB frame counter synchronization for Wi-Fi serial bus
EP2984780A4 (en) 2014-06-10 2016-10-05 Halliburton Energy Services Inc SYNCHRONIZATION OF RECEIVING UNITS ON A CONTROL BUS AREA NETWORK
US9397670B2 (en) * 2014-07-02 2016-07-19 Teradyne, Inc. Edge generator-based phase locked loop reference clock generator for automated test system
DE112014006642T5 (de) * 2014-07-28 2017-01-19 Intel Corporation Halbleitervorrichtungs-Prüfgerät mit Dut-Daten-Streaming
US9577818B2 (en) 2015-02-04 2017-02-21 Teradyne, Inc. High speed data transfer using calibrated, single-clock source synchronous serializer-deserializer protocol
US10012721B2 (en) * 2015-02-19 2018-07-03 Teradyne, Inc. Virtual distance test techniques for radar applications
CN105242160A (zh) * 2015-10-20 2016-01-13 珠海格力电器股份有限公司 多个家用电器的同步测试方法及其测试系统
US10345418B2 (en) 2015-11-20 2019-07-09 Teradyne, Inc. Calibration device for automatic test equipment
US9917667B2 (en) 2015-12-21 2018-03-13 Hamilton Sundstrand Corporation Host-to-host test scheme for periodic parameters transmission in synchronized TTP systems
US10128783B2 (en) 2016-05-31 2018-11-13 Infineon Technologies Ag Synchronization of internal oscillators of components sharing a communications bus
CN106130680B (zh) 2016-06-23 2018-03-27 北京东土科技股份有限公司 工业互联网现场层宽带总线时钟同步实现方法
CN107332749B (zh) 2017-07-05 2020-09-22 北京东土科技股份有限公司 基于工业互联网现场层宽带总线架构的同步方法及装置

Also Published As

Publication number Publication date
TW201947400A (zh) 2019-12-16
WO2019217056A1 (en) 2019-11-14
US20190347175A1 (en) 2019-11-14
EP3791197A1 (en) 2021-03-17
EP3791197B1 (en) 2022-09-21
US10896106B2 (en) 2021-01-19
EP3791197A4 (en) 2021-06-30
CN112074747A (zh) 2020-12-11
JP2021523438A (ja) 2021-09-02
SG11202010328YA (en) 2020-11-27

Similar Documents

Publication Publication Date Title
US7043390B2 (en) Circuit testing with ring-connected test instruments modules
KR101297513B1 (ko) 범용 프로토콜 엔진
US11093674B2 (en) Generating clock signals for a cycle accurate, cycle reproducible FPGA based hardware accelerator
US8725489B2 (en) Method for testing in a reconfigurable tester
JP2007212453A (ja) トリガ分配装置
US8290725B2 (en) Synchronized reconfiguration of measurement modules
KR20200142090A (ko) 버스 동기화 시스템
JP6473736B2 (ja) 自動テストシステムでの低待ち時間通信の方法及び装置
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
JP2016510899A5 (ko)
TWI834661B (zh) 匯流排同步系統
JP2024073458A (ja) バス同期システム
EP1482395B1 (en) Transfer clocks for a multi-channel architecture
CN108155979A (zh) 一种检测设备
TWI245912B (en) Circuit testing with ring-connected test instrument modules
Wheelwright The LXI IVI programming model for synchronization and triggering
JPH02165756A (ja) データ伝送用カードの制御線制御回路の試験回路