KR20220063091A - 고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스 - Google Patents

고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스 Download PDF

Info

Publication number
KR20220063091A
KR20220063091A KR1020210149972A KR20210149972A KR20220063091A KR 20220063091 A KR20220063091 A KR 20220063091A KR 1020210149972 A KR1020210149972 A KR 1020210149972A KR 20210149972 A KR20210149972 A KR 20210149972A KR 20220063091 A KR20220063091 A KR 20220063091A
Authority
KR
South Korea
Prior art keywords
margin
lane
dut
link
speed
Prior art date
Application number
KR1020210149972A
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
Priority claimed from US17/470,424 external-priority patent/US11940483B2/en
Application filed by 텍트로닉스 인코포레이티드 filed Critical 텍트로닉스 인코포레이티드
Publication of KR20220063091A publication Critical patent/KR20220063091A/ko

Links

Images

Classifications

    • 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/31712Input or output aspects
    • G01R31/31715Testing of input or output circuits; test of circuitry between the I/C pins and the functional core, e.g. testing of input or output driver, receiver, buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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
    • 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
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • 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/31712Input or output aspects
    • G01R31/31713Input or output interfaces for test, e.g. test pins, buffers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24215Scada supervisory control and data acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed circuit boards [PCB] or multi-chip modules [MCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

고속 I/O 마진 테스팅을 위한 시스템, 디바이스 및 방법은, 대량의 사전-생산 및 생산 부품을 선별하고, 전기적 특성이 동작에 영향을 줄만큼 충분히 변한 경우를 식별할 수 있다. 개시된 마진 테스터는 저비용이고, 사용하기 쉬우며, 종래의 BERT 및 스코프보다 빠르고, 풀 멀티-레인 I/O 링크 상에서 풀 로딩 및 크로스토크가 있는 그들의 표준 동작 상태에서 동작할 수 있다. 마진 테스터는 테스트 대상 디바이스와의 동작 멀티-레인 고속 I/O 링크의 전기적 수신기 마진을 한 방향 또는 양자 모두 방향으로 동시에 평가한다. 기술-특이적 형태에서, 마진 테스터의 일 실시형태는 테스트 대상 마더보드의 마더보드 슬롯을 테스트하기 위한 애드-인 카드 마진 테스터로서, 또는 애드-인 카드를 테스트하기 위한 슬롯이 있는 마더보드로서 구현될 수 있다.

Description

고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스{SYSTEMS, METHODS AND DEVICES FOR HIGH-SPEED INPUT/OUTPUT MARGIN TESTING}
우선권
본 발명은, 발명의 명칭이 "SYSTEMS, METHODS, AND DEVICES FOR HIGH-SPEED INPUT/OUTPUT MARGIN TESTING"이고 2020 년 1 월 31 일에 출원된 미국 특허 번호 제 16/778,249의 부분계속출원, 및 발명의 명칭이 "SYSTEMS, METHODS, AND DEVICES FOR HIGH-SPEED INPUT/OUTPUT MARGIN TESTING"이고 2020 년 1 월 31 일에 출원된 미국 특허 번호 제 16/778,262의 부분계속출원이고, 또한 발명의 명칭이 "SYSTEMS, METHODS, AND DEVICES FOR HIGH-SPEED INPUT/OUTPUT MARGIN TESTING"이고 2020 년 11 월 9 일에 출원된 미국 가출원 번호 제 63/111,533 호에 대한 우선권을 주장하며, 이들 각각은 그 전체 내용이 본 명세서에서 원용에 의해 통합된다.
본 발명은 테스트 및 측정 시스템에 관한 것이고, 특히 테스트 대상 전기 디바이스(DUT)에 고속 전기적 마진 테스트를 수행하기 위한 시스템 및 방법에 관한 것이다.
도면의 컴포넌트들은 반드시 서로에 대하여 척도에 맞는 것은 아니다. 유사한 참조 번호는 여러 도면들에 걸쳐서 대응하는 부분들을 가리킨다.
도 1은 고속 입력/출력(I/O) 마진 테스팅이 예시적인 실시형태에 따라서 구현될 수 있는 예시적인 환경을 예시하는 개관 블록도이다.
도 2는 예시적인 실시형태에 따라서 PCI 익스프레스 마더보드 슬롯을 마진 테스트하기 위한, 주변 기기 상호연결(PCI) 익스프레스 고속 시리얼 컴퓨터 확장 버스 표준에 따르는 예시적인 기술-특이적 애드-인 카드 마진 테스터를 예시하는 블록도이다.
도 3은 예시적인 실시형태에 따라서 PCI 익스프레스 애드-인 카드를 마진 테스트하기 위한, PCI 익스프레스 고속 시리얼 컴퓨터 확장 버스 표준에 따른 슬롯을 가지는 마더보드를 예시하는 블록도이다.
도 4는 예시적인 실시형태에 따라서 고속 I/O 마진 테스터에 의해 수행된 테스트 대상 디바이스(DUT)의 예시적인 마진 테스트의 결과 및 잠재적인 DUT 조립 또는 생산 이슈를 마진 테스트의 결과에 기반하여 식별하는 것을 보여주는 그래프이다.
도 5는 예시적인 실시형태에 따라서 고속 I/O 마진 테스터에 의해 수행된 테스트 대상 디바이스(DUT)의 예시적인 다른 마진 테스트의 결과 및 잠재적인 DUT 조립 또는 생산 이슈를 마진 테스트의 결과에 기반하여 식별하는 것을 보여주는 그래프이다.
도 6은, 예시적인 실시형태에 따라서 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 송신(Tx) 및 수신(Rx) 방향 양자 모두에서 평가하기 위하여 적어도 하나의 테스트 설비에 케이블연결되도록 구성되는 복수 개의 인터페이스를 가지는 범용 마진 테스터를 예시하는 블록도이다.
도 7은 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 예시적인 실시형태에 따라서 Tx 및 Rx 방향 양자 모두에서 테스팅하기 위한 마진 테스터의 더 낮은 레벨의 블록도이다.
도 8은 예시적인 실시형태에 따라서 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 및 Rx 방향 양자 모두에서 테스팅하기 위한 마진 테스터 내의 콘트롤러에서 사용될 수 있는, 구성된 필드 프로그램가능 게이트 어레이(FPGA)의 일 예의 블록도이다.
도 9는 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 방향에서 예시적인 실시형태에 따라서 테스팅하기 위한 마진 테스터의 콘트롤러에서 사용될 수 있는 FPGA의 예시적인 출력 드라이브 옵션의 블록도이다.
도 10은, 일 실시형태에 따르는 DUT의 마진 테스팅을 위한 예시적인 방법의 흐름도이다.
도 11은 일 실시형태에 따라서, 잠재적인 DUT 조립 또는 생산 이슈를 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 및 Rx 방향 양자 모두에서 마진 테스팅하는 것에 기반하여 식별하기 위한 예시적인 방법의 흐름도이다.
도 12는 일 실시형태에 따라서, 사용자-선택가능 옵션에 기반하여 전기적 마진의 평가를 마진 테스터가 수행하는 것을 시작하게 하기 위한 예시적인 방법의 흐름도이다.
도 13은 일 실시형태에 따라서 교정된 마진 테스터를 제공하기 위한 예시적인 방법의 흐름도이다.
도 14는 일 실시형태에 따라서 마진 테스트를 실행하기 위하여 DUT를 구성하기 위한 예시적인 방법의 흐름도이다.
도 15는 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 예시적인 실시형태에 따라서 Tx 및 Rx 방향 양자 모두에서 테스팅하기 위한 마진 테스터의 다른 더 낮은 레벨의 블록도이다.
도 16a 및 도 16b는 송신 방향 및 수신 방향 각각으로의 링크 훈련 상태 대 마진의 그래프를 예시한다.
전기 디바이스의 설계자 및 제조사는 디바이스가 적합하게 동작하는 것을 보장하기 위해서 테스트 및 측정 기구 및 적절한 테스트 프로시저를 필요로 한다. 이러한 테스팅은, 예를 들어 디바이스의 실제 전기적 성능을 시뮬레이션된 성능과 비교하여 디바이스가 설계된 바와 같이 동작한다는 것을 보장하기 위하여, 새로운 디바이스의 엔지니어링 특성화 스테이지 중에 이루어질 수 있다. 또한, 이러한 테스팅은, 생산된 각각의 디바이스 내의 임의의 제조 결함을 발견하기 위해서, 엔지니어링 설계가 완료된 후에 생산 제조 환경 에서도 이루어질 수 있다.
많은 전기 디바이스는 고속 I/O 신호 경로 또는 버스를 포함하도록 설계된다. 예를 들어, 현대의 개인용 컴퓨터(PC) 마더보드 및 다른 타입의 전기 디바이스는, PCI 익스프레스 고속 시리얼 컴퓨터 확장 버스 표준에 따르는 버스인 고속 시리얼 PCI 익스프레스(약어로 PCIe, 또는 PCI-e라고도 불림) 버스를 흔히 포함한다. PCI 익스프레스 표준에 대한 포맷 사양은 PCI-SIG(PCI Special Interest Group)에 의해 유지되고 발전된다. 이러한 버스들은 통상적으로 마더보드 및 마더보드 상의 PCIe 커넥터 슬롯 또는 포트에 플로그인 되는 애드-인/도터(daughter) 카드 사이의 통신을 위해서 사용된다. 마더보드 이외의 그 외의 많은 전기 디바이스도 고속 I/O를 위해서 PCIe 버스 및 커넥터를 채용한다. PCIe 4세대(Gen 4 또는 버전 4) 디바이스는 1초마다 16 기가프랜스퍼(GT/s)에 달하는 대역폭을 달성할 수 있다. PCIe 4세대(Gen 5 또는 버전 5) 디바이스는 32 GT/s에 달하는 대역폭을 달성할 수 있다.
PCIe 디바이스는 상호연결 또는 링크라고 불리는 논리적 연결을 통하여 통신한다. 링크는 동시적 양방향 트래픽을 허용하는, 두 개의 PCIe 포트들 사이의 점대점 통신 채널이다. 물리적 레벨에서, 링크는 하나 이상의 레인으로 구성된다. 저속 PCIe 디바이스는 단일-레인(x1) 링크를 사용하는 반면에, 고속 PCIe 디바이스, 예컨대 그래픽 어댑터는 통상적으로 훨씬 더 넓고 더 빠른 16-레인(x16) 링크를 사용한다. 하나의 레인은 두 개의 차동 시그널링 쌍으로 구성되고, 한 쌍은 데이터를 수신하기 위한 것이고 다른 쌍은 송신하기 위한 것이다. 따라서, 각각의 레인은 네 개의 와이어 또는 신호 트레이스로 구성된다. 종래에는, PCIe 디바이스의 레인의 성능이 비트 에러 레이트 테스터(Bit Error Rate Tester; BERT) 및/또는 고속 신호 발생기 및 오실로스코프(scope)를 사용하여 테스트된다.
인쇄 회로 보드(PCB)의 개발의 엔지니어링 벤치 테스트 및/또는 엔지니어링 특성화 스테이지에서는, 보드 디자인 고속 루트(예를 들어 PCIe 상호연결)가 시뮬레이션되거나, 또는 디자인 "레시피(recipe)" 또는 레퍼런스 설계가 후속된다. 그러면, 사전-생산 보드 샘플이 흔히 구축되고 테스트된다. 그러나, 모든 고속 I/O를 위한 각각의 보드 샘플 및 각각의 레인을 비트 에러 레이트 테스트 기구(BERT) 및 스코프로 테스팅하는 것은, 비용, 시간, 및 복잡도 제약에 기인하여 통상적으로 가능하지 않다. 특히, PCIe와 같은 고속 I/O 표준을 테스팅하기 위한 종래의 BERT 및 스코프는 데이터 레이트가 증가함에 따라 계속하여 비용 및 복잡도가 증가하고 있다. 한 번에 하나의 PCIe 레인을 테스팅하기 위한 단일 Tx 및 Rx 테스트 스테이션은 백만 달러가 넘는 가격일 수 있다. 또한, 이러한 기구는 종래의 Tx 및 Rx 테스트를 위해 사용하기가 어렵고, 측정이 정확하게 수행되고 기구들이 양호한 동작 수준을 유지한다는 것을 보장하기 위해서는 교정 및 전문가(흔히 PhD 레벨)인 사용자 및 많은 시간이 요구된다. 이러한 제약의 결과, 종래의 BERT 및 스코프는 사전-생산 실리콘, 보드, PCB 및 케이블의 전기적 테스팅에서 소량으로 드물게 사용되고, 생산 테스팅 과정에서는 보통 전혀 사용되지 않는다.
그러나, 32.0 GT/s에서 PCI 익스프레스 5.0과 같은 I/O 링크의 데이터 레이트가 증가함에 따라서, 심지어 작거나 미묘한 이슈가 이러한 I/O 링크의 성능에 영향을 줄 위험성이 증가하게 되고, 전기적 성능 이슈를 모든 사전-생산 샘플, 포트 및 레인에서 플래깅하여 생산되기 전에 이슈를 방지하고, 전기적 성능을 생산 라인에서 모든 유닛에 대해 테스트하여 생산과 관련된 이슈(나쁜 부품 등)를 고객들에게 문제가 되어 반품이 증가하기 이전에 찾아내기 위해서, 일부 테스팅을 수행하는 중요성이 커진다. 더욱이, 종래의 BERT 및 스코프는 한 번에 하나의 레인에서의 테스팅만 허용하기 때문에, 테스팅은 이러한 I/O 링크의 실제 동작과는 다른 환경에서 일어나고, 실제 동작은 보통 멀티-레인 링크를 형성하고 실제 동작 중에 큰 크로스토크 및 로딩 이슈를 겪을 수 있으며, 이것은 그러한 테스팅이 일어나고/일어날 수 있는 경우에도 종래의 BERT 및 스코프에서는 놓칠 수 있는 것이다. 이와 유사하게, 제조 테스트 환경에서는, 주어진 디자인의 다수의 PCB를 조립 및 테스팅할 때, 생산 라인도 역시 비용, 시간, 및 복잡도 제약에 기인하여 고속 I/O 테스트를 위해서 BERT 및 스코프를 통상적으로 사용하지 않는다.
그러므로, 대량의 사전-생산 및 생산 부품을 선별하고, 전기적 특성이 동작에 영향을 줄만큼 충분히 변한 경우를 식별할 수 있는 새로운 타입의 기기에 대한 필요성이 증가하고 있다. 이러한 기구는 저비용이더라도 가장 높은 가치를 가지고, 사용하기 쉬우며, 종래의 BERT 및 스코프에 비하면 매우 고속이고, 풀 멀티-레인 I/O 링크에서 풀 로딩 및 크로스토크인 그들의 표준 동작 상태에서 동작할 수 있다. 전체적으로, 각각의 방향으로의 각각의 고속 I/O 레인에 대한 전기적 마진(통계적으로 유효한 동작 마진)을 알게 되는 것은, 모든 생산 샘플에 걸쳐서 디자인(예를 들어, 모든 생산 샘플들에 걸친 레인별 디자인) 및 어셈블리(예를 들어, 특정한 보드/레인 인스턴스들) 이슈 양자 모두를 찾아낼 가능성이 증가한다는 가치를 가진다.
종래의 일부 솔루션은 최선의 근사화로서 기능적 테스트에만 의존한다(예를 들어, 단지 "골든(golden)" 또는 레퍼런스 디바이스를 플러그인하고 링크를 테스팅하면 최대 속도가 될 것이다). 다른 회사들은 그들의 보드를 위하여 실리콘 내에서의 온-다이(die) 전기적 마지닝(margining)을 사용하지만, 이것은 하나의 방향에서의 정보만을 제공하고, 테스트 기구처럼 교정/특성화되지 않으며, 목적을 가지고 선택한 애드-인 카드 내에서의 유닛별 변동을 다루고 이해하려면 처리할 작업이 너무 많다.
본 명세서에서는 전술된 기술적 문제점들을 해결하는 고속 입력/출력(I/O) 마진 테스팅을 위한 시스템, 디바이스 및 방법이 개시된다.
도 1은 고속 I/O 마진 테스팅이 예시적인 실시형태에 따라서 구현될 수 있는 예시적인 환경을 예시하는 개관 블록도이다. 일 실시형태에서, 예시적인 DUT(104)의 동작 멀티-레인 고속 I/O 링크(110)의 전기적 수신기 마진을 Tx 및 Rx 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가하는 마진 테스터(102)가 도시된다. 도 1의 마진 테스터(102)는 본 명세서에 개시된 마진 테스터의 실시형태 중 하나 이상을 나타낸다.
마진 테스터(102)는 다양한 양태의 멀티-레인 고속 I/O 링크(110)를 나타내는 아이 패턴(eye pattern) 디스플레이 또는 데이터 아이 다이어그램(data eye diagram; 108)을 처리, 모사 및/또는 제공할 수 있는 테스트 스테이션, PC, 단말 또는 다른 디스플레이 디바이스(106)에 커플링될 수 있다. 일부 실시형태들에서, 테스트 스테이션, PC, 단말 또는 다른 디스플레이 디바이스(106)는 마진 테스터(102)와 또는 그 일부로서 통합될 수 있다. 아이 패턴 디스플레이 또는 데이터 아이 다이어그램(108)은 신호의 전기적 품질의 키 파라미터가 신속하게 시각화되고 결정되게 하는 고속 디지털 신호의 표현이고, 따라서 그로부터의 데이터는 DUT의 통계적으로 유효한 동작 마진을 결정하기 위하여 사용될 수 있다. 아이 패턴 디스플레이 또는 데이터 아이 다이어그램(108)은 각각의 개별적인 비트에 대응하는 파형의 부분들을 단일 그래프에 폴딩함으로써 디지털 파형으로부터 구성되고, 신호 진폭은 세로축이고 시간은 가로축이다. 이러한 구성을 파형의 많은 샘플들에 걸쳐 반복함으로써, 결과적으로 얻어지는 그래프는 신호의 평균적인 통계를 나타낼 것이고, 아이(eye)와 닮을 것이다. 아이 열림(eye opening)은 하나의 비트 주기에 대응하고, 통상적으로 아이 패턴 디스플레이 또는 데이터 아이 다이어그램(108)의 단위 간격(Unit Interval; UI) 폭이라고 불린다. 비트 주기는 아이의 교차점에서의 아이 다이어그램의 수평 열림의 척도이고, 고속 디지털 신호에 대해서는 보통 피코초 단위로 측정된다(즉, 5 Gbps 신호에 대해서는 200 ps가 사용됨). 데이터 레이트는 비트 주기의 역수이다(1/비트 주기). 비트 주기는 아이 다이어그램을 기술할 때에는 일반적으로 단위 간격(UI)이라고 불린다. 가로축에 실제 시간 대신에 UI를 사용하는 장점은, 이것이 정규화된다는 것과 상이한 데이터 레이트를 가지는 아이 다이어그램들이 쉽게 비교될 수 있다는 것이다. 아이 폭은 아이 다이어그램의 수평 열림의 척도이다. 이것은 아이의 교차점들의 통계적인 평균 사이의 차이를 측정함으로써 계산된다. 상승 시간은 아이 다이어그램의 상향 경사에서의 데이터의 평균 천이 시간의 척도이다. 측정은 통상적으로 기울기의 20 및 80 퍼센트 또는 10 및 90% 레벨에서 이루어진다. 하강 시간은 아이 다이어그램의 하향 경사에서의 데이터의 평균 천이 시간의 척도이다. 측정은 통상적으로 기울기의 20 및 80 퍼센트 또는 10 및 90 퍼센트 레벨에서 이루어진다. 지터는 데이터-비트 이벤트의 이상적인 타이밍으로부터의 시간 편차이고, 고속 디지털 데이터 신호의 중요한 특성이다. 지터를 계산하기 위하여, 교차점에서의 아이 다이어그램의 상승 에지와 하강 에지의 천이의 시간 편차가 측정된다. 요동은 랜덤일 수도(random) 그리고/또는 결정될 수도 있다(deterministic). 편차의 시간 히스토그램이 분석되어 지터의 양을 결정할 수 있다. 피크-피크(p-p) 지터는 히스토그램의 전체 폭으로서 규정되고, 이것은 모든 데이터 포인트들이 존재한다는 것을 의미한다. 제곱 평균 제곱근(RMS) 지터는 히스토그램의 표준 편차로서 규정된다. 고속 디지털 신호 상의 지터 측정치에 대한 단위는 일반적으로 피코초이다.
마진 테스터(102)의 실시형태는 적어도 두 번의 형태: 기술-특이적 형태 및 범용 형태를 가질 수 있다. 마진 테스터(102)는 임의의 링크 폭(레인의 개수)의 임의의 고속 I/O 프로토콜 링크와 함께 사용되고, NRZ(non-return to zero), 펄스 진폭 변조-3(PAM-3), 및 펄스 진폭 변조-4(PAM-4)를 비한정적으로 포함하는 임의의 형태의 고속 차동 시그널링을 사용할 수 있다. 테스팅을 위한 특정한 예시적인 실시형태로서, PCI 익스프레스가 사용될 것이다. 그러나, 그 외의 고속 시리얼 버스 표준, 하드웨어 및 프로토콜이 사용될 수도 있다.
도 2는 예시적인 실시형태에 따라서 PCI 익스프레스 마더보드 슬롯(206)을 마진 테스트하기 위한, PCI 익스프레스 고속 시리얼 컴퓨터 확장 버스 표준에 따르는 예시적인 기술-특이적 애드-인 카드 마진 테스터(202)를 예시하는 블록도이다.
기술-특이적인 형태에서, 마진 테스터의 일 실시형태는 테스트 대상 마더보드(204)의 PCI 익스프레스 마더보드 슬롯(206)을 테스트하기 위한 PCI 익스프레스 애드-인 카드 마진 테스터(202)로서 구현될 수 있다. 예를 들어, PCI 익스프레스 애드-인 카드 마진 테스터(202)는 PCI 익스프레스 x16 CEM(card electromechanical specification) 폼 팩터 애드-인 카드일 수 있다. 기술-특이적인 형태에서의 다른 실시형태에서, 마진 테스터의 일 실시형태는 PCI 익스프레스 애드-인 카드(도 3에 도시됨)를 테스트하기 위한 PCI 익스프레스 슬롯(들)이 있는 마더보드로서 구현될 수 있다.
PCI 익스프레스 애드-인 카드 마진 테스터(202)는 특정한 PCI 익스프레스 폼 팩터(예를 들어, CEM 또는 M.2(종래에는 차세대 폼 팩터(Next Generation Form Factor; NGFF)라고 알려짐) 또는 U.2(종래에는 SFF-8639로 알려짐) 등)에 대한 표준 PCI 익스프레스 규격 애드-인 카드의 폼 팩터를 따를 수도 있다. PCI 익스프레스 애드-인 카드 마진 테스터(202)는 하나 이상의 인쇄 회로 보드(PCB), 예컨대 PCB(212) 및 각각의 레인에 대한 PCI 익스프레스에 따르는 물리적 계층 및 논리적 링크 계층을 구현하는 하나 이상의 컴포넌트를 포함할 수 있다. PCI 익스프레스 애드-인 카드 마진 테스터(202)는 복수 개의 인터페이스(예컨대, PCB(212) 및 콘트롤러(210)에 커플링되는 커넥터(208))를 포함할 수 있다. 당업자가 이해할 수 있는 바와 같이, 콘트롤러(210)는 단일 콘트롤러로 한정되지 않고, 함께 동작하는 하나 이상의 콘트롤러를 포함할 수 있다. 이러한 인터페이스는 마더보드 슬롯(206)에 연결되는 복수 개의 커넥터(208) 및 마진 테스터 송신기를 포함할 수 있고, 이들은 콘트롤러(210)의 제어 하에, 예를 들어 전압 스윙 및 정현 지터를 통하여 제어된 잡음을 투입할 수 있는 능력을 선택적으로 가짐으로써 대상 마더보드(204)의 수신기에서 기대되는 아이 마진이 테스트 대상 마더보드(204)에서 실행되는 소프트웨어에 대한 필요가 없이 타이밍 또는 전압 마진에 대한 특정한 타겟에까지 변할 수 있게 한다. 또한, 콘트롤러(210)는 명령을 저장할 수 있는 메모리(214)에 커플링될 수 있고, 다른 데이터 콘트롤러(210)는 본 명세서에서 설명된 기능들을 독출하고, 사용하고, 및/또는 실행할 수 있다.
마진 테스터(102)의 다양한 실시형태(기술-특이적 PCI 익스프레스 애드-인 카드 마진 테스터(202), 기술-특이적 마더보드 마진 테스터(302) 및 범용 마진 테스터(602)를 포함함)에는 잡음 투입이 될 수도 있고 되지 않을 수도 있다. 비용이 축약된 생산 테스트를 위해서는, 잡음 투입이 없는 실시형태가 더 매력적일 수 있다. 사양에 따른 물리적 계층 구현형태에서의 마진 테스터 수신기는 PCI 익스프레스 4.0/5.0 레인 마지닝 사양에 규정된 바와 같은 링크를 마지닝하는 능력을 포함할 수 있지만, 추가적이고 더 많은 복잡한 온-다이 마지닝 능력을 더 포함할 수도 있다. 일 실시형태에서, 마진 테스터 수신기는 독립적인 오류 검출기를 이동시키고 데이터 샘플러와의 불일치에 대해서 비교함으로써 아이 마진을 측정할 수 있다. 일 구현형태에서, 마진 테스터(102)(기술-특이적 PCI 익스프레스 애드-인 카드 마진 테스터(202), 기술-특이적 마더보드 마진 테스터(302) 및 범용 마진 테스터(602)를 포함함)가 본 명세서에서 설명된 기능들을 수행하게 하는 콘트롤러(210)는 도 7 내지 도 9에서 더 상세하게 도시되는 필드 프로그램가능 게이트 어레이(FPGA) 및 FPGA I/O로 구현될 수 있다. 그러나, 구성가능한 콘트롤러 하드웨어, 펌웨어 및/또는 소프트웨어의 다른 조합이 사용될 수도 있다.
도 3은 예시적인 실시형태에 따라서 PCI 익스프레스 애드-인 카드를 마진 테스트하기 위한, PCI 익스프레스 고속 시리얼 컴퓨터 확장 버스 표준에 따른 슬롯을 가지는 예시적인 기술-특이적 마더보드 마진 테스터(302)를 예시하는 블록도이다.
마더보드 마진 테스터(302)는 도 3에 도시되는 PCIe x16 애드-인 카드 DUT(304)와 같은 PCI 익스프레스 애드-인 카드를 테스트하기 위한 하나 이상의 PCI 익스프레스 슬롯(306)이 있는 마더보드 마진 테스터(302)로서 구현되는, 본 명세서에 개시된 마진 테스터(102)의 기술-특이적 실시형태의 다른 예이다. 마더보드 마진 테스터(302)는 PCB(312) 및 콘트롤러(210)에 커플링된 복수 개의 인터페이스(예를 들어, 하나 이상의 PCI 익스프레스 슬롯(306))을 포함할 수 있다. 예를 들어, 이러한 인터페이스는 PCIe x16 애드-인 카드 DUT(304)가 테스팅을 위해 삽입될 수 있는 복수 개의 하나 이상의 PCI 익스프레스 슬롯(306)을 포함할 수 있다. 마진 테스터 송신기는 콘트롤러(210)의 제어 하에서, 예를 들어 전압 스윙 및 정현 지터(도 8 및 도 9를 참조하여 상세히 후술됨)를 통하여 제어된 잡음을 투입하는 능력을 선택적으로 포함함으로써, PCIe x16 애드-인 카드 DUT(304)의 수신기에서 기대되는 아이 마진이 PCIe x16 애드-인 카드 DUT(304)에서 실행중인 소프트웨어에 대한 필요가 없이 타이밍 또는 전압 마진에 대한 특정한 타겟까지 변할 수 있게 한다. 예를 들어, 콘트롤러(210)는 마진 테스트 송신기 상에 지터를 투입하여(또는 다른 아이 폭 열림 감소 방법을 구현하여) 아이 폭 열림의 감소를 투입하도록 적어도 구성됨으로써, 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 평가하도록 구성될 수 있고, 지터의 투입은, 단일-레인 또는 멀티-레인 고속 I/O 링크의 모든 레인 상에 동시에 적용되거나 단일-레인 또는 멀티-레인 고속 I/O 링크의 레인별로 독립적으로 적용되도록 선택될 수 있다. 또한, 콘트롤러(210)는 마진 테스트 송신기 상에 잡음을 투입하여(또는 다른 아이 높이 열림 감소 방법을 구현하여) 아이 높이 열림의 감소를 투입하도록 적어도 구성됨으로써, 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 평가하도록 구성될 수 있고, 잡음의 투입은, 단일-레인 또는 멀티-레인 고속 I/O 링크의 모든 레인 상에 동시에 적용되거나 단일-레인 또는 멀티-레인 고속 I/O 링크의 레인별로 독립적으로 적용되도록 선택될 수 있다. 또한, 콘트롤러(210)는 여러 레인에 걸쳐서 스큐의 변동하는 양을 레인별로 도입하도록 적어도 구성됨으로써, 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 평가하도록 더 구성될 수 있다.
또한, 콘트롤러(210)는 명령을 저장할 수 있는 메모리(214)에 커플링될 수 있고, 다른 데이터 콘트롤러(210)는 본 명세서에서 설명된 기능들을 독출하고, 사용하고, 및/또는 실행할 수 있다.
내구성 및 삽입 카운트는 마진 테스터(102)(기술-특이적 PCI 익스프레스 애드-인 카드 마진 테스터(202) 및 기술-특이적 마더보드 마진 테스터(302)를 포함함)의 기술-특이적 실시형태에 대한 중요한 문제이다. 따라서, PCB(212) 및 PCB(312)가 구현될 수 있고, 마진은 마모되었을 때 마진 테스트 유닛의 나머지를 교체할 필요가 없이 저비용으로 교체되도록 구성되는 어댑터를 사용하여 특성화될 수 있다. 예를 들어, 교체가능한 어댑터는 하나 이상의 PCI 익스프레스 슬롯(306) 및/또는 커넥터(208)에 커플링될 수 있고, 특정한 사용량 이후에 마모되도록 구성될 수 있다. 그러면 어댑터는 마모된 경우 적용가능하다면, PCI 익스프레스 애드-인 카드 마진 테스터(202) 또는 마더보드 마진 테스터(302)의 나머지를 교체하지 않고 교체될 수 있다.
도 4는 예시적인 실시형태에 따라서 고속 I/O 마진 테스터(102)에 의해 수행된 수 개의 테스트 대상 디바이스(DUT)의 예시적인 마진 테스트의 결과 및 잠재적인 DUT 조립 또는 생산 이슈를 마진 테스트의 결과에 기반하여 식별하는 것을 보여주는 그래프(402)이다.
예시적인 일 실시형태에서, 마진 테스트는, 마진 테스터(102)에 의하여, 복수 개의 테스트 대상 디바이스(DUT)의 각각의 DUT에 대해서, DUT의 멀티-레인 고속 I/O 링크의 각각의 고속 입력/출력(I/O) 레인에 대한 타이밍 아이 폭 마진을 Tx 및 Rx 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가하는 것을 포함할 수 있다. 그러면, 마진 테스터(102)는 다수의 DUT들에 걸쳐 상이한 레인에 대한 미리 결정된 임계에 각각 미만인, 복수 개의 DUT 중의 다수의 DUT에 대한 타이밍 아이 폭 마진 측정치를 검출할 수 있다. 그러면, 잠재적인 DUT 조립 또는 생산 이슈가 다수의 DUT들에 걸친 상이한 레인에 대한 미리 결정된 임계에 각각 미만인 다수의 DUT에 대한 타이밍 아이 폭 마진 측정치의 검출에 기반하여 검출될 수 있다(마진 테스터(102)에 의해 시각적으로 또는 자동으로).
일 예로서, 일 실시형태에서, 도 2에 도시되는 애드-인 카드 마진 테스터(202)와 같은 애드-인 카드 마진 테스터가 하나의 PCIe x8 슬롯이 있는 마더보드의 사전-생산 샘플의 벤치 테스팅 / 특성화를 위해서 사용될 수 있다. 후속하는 예시적인 테스트 프로세스들은 각각의 레인 상에서의 수 밀리초가 넘는 테스트에 대하여 동시에 측정된 E-6 타이밍 아이 폭 마진(좌측 + 우측)이 있는 애드-인 카드 마진 테스터(202)를 사용하여 수행될 수 있다. 본 발명의 예는 간결성을 위하여 타이밍만을 포함하지만, 다른 실시형태는 다른 측정을 포함할 수 있다. 이러한 예에서 각각의 측정은 3 회 수행된다. 그러나, 이것은 다양한 실시형태들에서 사용자에 의해 프로그래밍될 수 있다. 차트(402)에 표시된 측정치는 마진 테스터 수신기에서 그리고 마더보드 DUT 수신기에서 이루어진다. 마더보드 DUT 수신기에서 이루어지는 측정은 두 가지 방법으로 수행될 수 있다. 첫 번째 방법은 마진 테스터 지터(Sj) 및 전압 스윙 스윕을 사용하는 것일 수 있다. 두 번째 방법은 마더보드 수신기에서의 온-다이 마진 테스팅을 사용하는 것일 수 있다. 예를 들어, 마더보드 수신기에서의 온-다이 마진 테스팅은, 애드-인 카드 마진 테스터(202)의 콘트롤러(210)의 제어 하에, 마더보드 DUT에 연결된 부팅가능한 드라이브에 있는 소프트웨어 또는 지원된 속도를 위하여 마더보드 DUT에 있는 기본 입력/출력 시스템(BIOS) 소프트웨어를 통해서 실행될 수 있다. 이러한 예에서, 측정은 16 GT/s에서 수행되지만, 변할 수 있고 사용자에 의해 구성가능할 수도 있다.
전술된 예시적인 테스트 프로시저는 테스트 수신기에서의 평균 마진에 대해서 차트(402)에 표시된 예시적인 결과를 나타낼 수 있다. 차트(402)에 도시된 바와 같이, 다섯 개의 DUT(DUT #1 내지 DUT #5) 전부에 걸쳐 레인 2에서의 일관적으로 낮은 마진은 잠재적인 디자인 이슈의 표시자일 수 있다. 이에 반해, DUT #1 레인 4, DUT #3 레인 0, 및 DUT #4 레인 6에서의 낮은 마진은 그러한 특정한 DUT에 있는 그러한 특정 레인에 있는 잠재적인 조립 또는 생산 이슈의 표시자일 수 있다.
도 5는 예시적인 실시형태에 따라서 고속 I/O 마진 테스터에 의해 수행된 테스트 대상 디바이스(DUT)의 예시적인 다른 마진 테스트의 결과 및 잠재적인 DUT 조립 또는 생산 이슈를 마진 테스트의 결과에 기반하여 식별하는 것을 보여주는 그래프이다.
잠재적인 디자인 이슈 및/또는 잠재적인 조립 이슈의 유사한 표시자들을 DUT 수신기에서의 전압 스윙 및 Sj 평균 마진에 대해서 도 5의 차트(502) 내에서 역시 볼 수 있다: 차트(502)에 도시된 바와 같이, 다섯 개의 DUT(DUT #1 내지 DUT #5) 전부에 걸쳐 레인 1에서의 일관적으로 낮은 마진은 잠재적인 디자인 이슈의 표시자일 수 있다. 이에 반해, DUT #1 레인 0, DUT #1 레인 5, 및 DUT #2 레인 7에서의 낮은 마진은 그러한 특정한 DUT에 있는 그러한 특정 레인에 있는 잠재적인 조립 또는 생산 이슈의 표시자일 수 있다.
개시된 기술의 실시형태의 추가적인 특징은, 콘트롤러(210)의 제어 하에(예를 들어, 구성된 FPGA에 따르거나 및/또는 다른 비-일시적 컴퓨터-판독가능 저장 매체로부터 독출된 명령을 실행함) 수행될 수 있는 후속하는 기능을 포함할 수 있다: 상기 DUT의 멀티-레인 고속 I/O 링크에 기반하여 마진 테스팅 테스트를 수행할 하나 이상의 상이한 고속 I/O 프로토콜을 선택하는 것; 상기 DUT의 다수의 포트를 혼합된 프로토콜들로써 동시에 테스트하는 것; 상기 멀티-레인 고속 I/O 링크 상에서의 상기 테스트 디바이스의 임의의 횟수의 마진 테스트 런에 걸친 런-투-런(run-to-run) 마진 변동을 출력하는 것; 마진 변동 중 얼마나 많은 것이 Tx 등화(Equalization; EQ) 트레이닝 변동에 기인하는지를 테스트하기 위하여, 고정된 Tx EQ를 상기 DUT 상에 구현하는 것; 상기 DUT의 멀티-레인 고속 I/O 링크의 마진에 대한 수신기 등화의 영향을 테스트하기 위하여, 상기 마진 테스터의 수신기 내에서 고정된 연속 시간 선형 등화(continuous time linear equalization; CTLE)를 사용하는 것; 상기 DUT의 멀티-레인 고속 I/O 링크의 마진에 대한 수신기 등화의 영향을 테스트하기 위하여, 상기 마진 테스터의 수신기 내에서 판정 피드백 등화(Decision Feedback Equalization; DFE)를 사용하는 것; 상기 마진 테스터에 대한 기대 마진을 타겟 채널에 기반하여 계산하는 것; 상기 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 낮은 마진이 검출되면, 디버그 정보를 자동으로 생성하는 것; 얼마나 많은 심볼간 간섭(ISI)이 상기 멀티-레인 고속 I/O 링크의 레인을 실패하게 하는지를 발견하기 위하여, 가변 ISI 소스를 사용하는 것으로 스위칭하는 것; 상기 DUT의 멀티-레인 고속 I/O 링크의 크로스토크에 기인한 마진 손실량을 식별하도록, 각각의 레인을 개별적으로 테스트하는 것; 상기 멀티-레인 고속 I/O 링크와 연관된 각각의 채널 내의 DFE가 있을 때와 없을 때의 마진 및 비선형 불연속성의 양을 평가하기 위하여, 상기 마진 테스터의 수신기 내의 DFE를 턴오프하는 것; 기대 미만의 마진이 상기 DUT 및 다수의 DUT들의 멀티-레인 고속 I/O 링크의 모든 레인에 걸쳐서 일정한 경우에도, 상기 기대 미만의 마진이 플래깅되게 하는, 레퍼런스 수신기 및 통상적 채널이 있는 기대 마진을 보여주는 것; 상기 전기적 마진의 평가가 수행되는 상기 멀티-레인 고속 I/O 링크의 다수의 속도들 중에서 선택하는 것; 상기 테스트 디바이스가 상기 DUT 상의 소프트웨어가 없이 생산 라인 상에 마진 테스트를 수행할 수 있게 하기 위하여, 프로토콜 특이적 지식을 사용하여 상기 마진 테스터에 의해 상기 멀티-레인 고속 I/O 링크 상에서 반대 방향으로 이동하는 트래픽에 기반하여, 상기 DUT의 수신기에서 언제 오류가 발생했는지를 추론하는 것; 상기 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 검출되는, 저마진 채널의 시간-도메인 반사측정 판독치(Time-Domain Reflectometry reading; TDR)를 자동으로 캡쳐하는 것; 상기 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 낮은 마진이 검출되면, 디지털화된 파형을 자동으로 캡쳐하기 위하여 오실로스코프로의 자동화된 연결을 수행하는 것; 및 사용자-선택가능 옵션들 중 하나 이상을 구현하도록 DUT 실리콘을 구성함으로써, 상기 DUT에 대한 사용자-선택가능 옵션 중 하나 이상을 구성하기 위한 소프트웨어 플러그인(plug in)을 제공하는 것. 콘트롤러(210)의 제어 하에, 위의 기능 중 일부 또는 전부가 동작 마진 테스터(102)에 대한 사용자-선택가능 옵션으로서 제공될 수도 있다.
개시된 기술의 실시형태들의 추가적 피쳐는, 콘트롤러(210)의 제어 하에 수행될 수 있는 트리거 기능성을 포함할 수 있다. 즉, 마진 테스터(102)는 프로그래밍가능한 트리거인 및/또는 프로그래밍가능한 트리거 아웃을 포함할 수 있는데, 이것은 콘트롤러(210)에서 신호가 수신되면 결과적으로 테스트가 수행되게 할 수 있거나, 특정 이벤트가 테스트 도중에 발생한다면 콘트롤러(210)에서 신호가 생성될 수 있다는 것을 의미한다. 프로그래밍가능한 트리거는 일부 예들에서 사용자-선택가능 옵션에 의해서 구성될 수 있다. 예를 들어, 위에서 언급된 바와 같이, 콘트롤러(210)는 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 검출되는 저마진 채널의 시간-도메인 반사측정 판독치(TDR)를 자동으로 캡쳐하고, 및/또는 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 낮은 마진이 검출되는 경우에는 디지털화된 파형을 자동으로 캡쳐하기 위해서 오실로스코프에 자동화된 연결에 이루어지게 할 수 있다.
즉, 콘트롤러(210)는 특정 이벤트 또는 측정이 콘트롤러(210)에 의해서 취해지는 경우에 트리거를 출력할 수 있고, 또는 콘트롤러(210)는 트리거 신호가 콘트롤러(210)에서 수신되는 것에 기반하여 동작할 수도 있다.
트리거 신호는, 예를 들어 송신기 또는 수신기 측정치가 특정된 아이 폭 및/또는 특정된 아이 높이 미만인 경우에 콘트롤러(210)에 의해서 생성될 수 있다. 추가적으로 또는 대안적으로, 콘트롤러(210)는 송신기 또는 수신기 2-차원 아이 측정(eye measurement)이 규정된 아이 형상 또는 마스크 미만인 경우에 트리거 신호를 생성할 수 있다. 또한, 콘트롤러(210)는 수신기 마진이 전압 또는 임의의 다른 측정치의 특정 양보다 적은 경우에 트리거 신호를 생성할 수 있다. 또한, 트리거 신호는 PCIe 링크가 훈련할 때 임의의 링크 훈련 및 스테이터스 상태 머신(Link Training and Status State Machine; LTSSM) 상태 천이 중에 생성될 수 있고, 또는 오차가 임의의 특정한 레인 또는 더 많은 특정 LTSSM 상태 또는 특정 PCIe 패킷 내에 주입될 때에 생성될 수 있다.
일부 예들에서, 프로그래밍가능한 지연은 특정된 이벤트 및 트리거 사이의 사용자-선택가능 제어를 사용하여 규정될 수도 있다. 추가적으로 또는 대안적으로, 대안적인 트리거 모드가 해당 이벤트 타입에 대한 저속 인코딩과 함께 제공될 수 있고, 특정한 마진 테스터 모델이 규정되어 이러한 모드를 사용하여 오실로스코프에 트리거링함으로써, 예컨대 동일한 클록 데이터 복구, 연속 시간 선형 등화, 및 판정 피드백 등화를 마진 산물(margin product)로서 사용하여 자동으로 구성하고 이에 따라서 후처리하도록 할 수 있다.
콘트롤러(210)에 대한 세팅에서 트리거는 여러 상이한 모드로 프로그래밍될 수 있다. 예를 들어, 신호 내 트리거는, 리셋/링크 훈련 유무의 링크 속도를 포함하는 구성 또는 설정에 기반하여 콘트롤러(210)에 의하여 수신될 수 있다. 구성 설정이 이루어지면, 콘트롤러(210)는 마진 측정을 수행할 수 있다. 추가적으로 또는 대안적으로, 콘트롤러(210)는 프로그래밍가능한 오차가 주입되었을 경우에 신호 내 트리거를 수신하고, 신호 내 트리거가 콘트롤러(210)에 수신되는 경우 마진 측정을 수행할 수 있다.
도 6은, 예시적인 실시형태에 따라서 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 송신(Tx) 및 수신(Rx) 방향 중 하나의 방향 또는 양자 모두의 방향에서 평가하기 위하여 적어도 하나의 테스트 설비에, 예를 들어 하나 이상의 케이블을 통해 연결되도록 구성되는 복수 개의 인터페이스(604)를 가지는 범용 마진 테스터(602)를 예시하는 블록도이다.
범용 마진 테스터(602)는 콘트롤러(210) 및 명령을 저장할 수 있는 연관된 메모리(214)를 포함하고, 다른 데이터 콘트롤러(210)는 본 명세서에서 설명된 기능들을 독출하고, 사용하고, 및/또는 실행할 수 있다. 범용 마진 테스터(602)는, 콘트롤러(210)의 제어 하에, 마진 테스터(예를 들어, 애드-인 카드 마진 테스터(202) 및 마더보드 마진 테스터(302))의 기술-특이적 실시형태와 같은 테스팅을 수행하기 위한, 표준 테스트 설비에 인터페이스(604), 예컨대 표준 PCI 익스프레스 준수 로드 보드(Compliance Load Board; CLB)에 연결, 예를 들어 케이블연결될 수 있는 일부 개수의 레인을 포함할 수 있다. 또한, 범용 마진 테스터(602)는 다수의 프로토콜을 지원하고, 범용 마진 테스터(602)의 구성 소프트웨어는 상이한 프로토콜 및 호스트/디바이스 역할을 위하여 레인을 구성하는 옵션을 포함한다. 또한, 범용 마진 테스터(602)는 애드-인 카드를 테스팅하기 위한 표준 PCI 익스프레스 준수 베이스 보드(CBB)를 포함하는 테스트 설비에 케이블을 통해 연결됨으로써 애드-인 카드를 테스트하기 위해서도 사용될 수 있다. 범용 마진 테스터(602)의 인터페이스(604)는 표준 동축 커넥터 및 각각의 고속 차동 신호를 위한 케이블을 포함할 수 있고, 또는 다양한 다른 실시형태에서는 맞춤형 고밀도 커넥터 및 케이블 개수를 최소화하고 하나의 DUT로부터 다른 DUT로의 스위칭을 더 효율적으로 하게 하는 설비를 포함할 수도 있다.
일부 예들에서, DUT는 테스트 대상 상호연결일 수 있고, 이것은 종래에는 벡터 네트워크 분석기(vector network analyzer; VNA)를 가지고 테스트된다. 그러나, VNA는 흔히 고비용이고 복잡하다. 또한, VNA 측정에 의하여 생성되는 산란 파라미터(s-파라미터)는 일반적으로 고주파수에서 - 특히 고속 시리얼 링크의 통계적 시뮬레이션에서 사용될 경우에 신뢰도가 점점 떨어지는 것으로 여겨진다.
그러나, 본 발명의 예들은, 많은 레인들 및 부분들에 걸친 실제 마진차를 신속하게 평가하기 위해서, 하나 이상의 케이블 및/또는 PCB 세그멘트를 포함하는 패시브 또는 액티브 상호연결을 테스트하기 위해서 마진 테스터(102)를 사용할 수 있다. 이러한 테스트는 상호연결의 최악의 경우 및 위험 레벨을 쉽게 식별할 수 있다. 이와 같이, 마진 테스터(102)는 테스트 액티브 또는 패시브 상호연결을 테스트하기 위하여 "VNA" 모드를 포함할 수 있다.
단일-포트 마진 테스터가 사용된다면, 단일-포트의 송신기는 테스트 대상 상호연결의 일측에 연결되고, 단일-포트의 수신기는 상호연결의 타측에 연결된다. 그러면, 비-프로토콜 PRBS에서의 마진 테스트가 실행되어 테스트 대상 상호연결을 테스트할 수 있다. 그러나, 본 발명의 예들은 테스트 대상 상호연결을 테스트하기 위하여 단일 마진 테스터(102)로 한정되지 않는다. 오히려, 테스트는, 하나의 마진 테스터(102)의 송신기가 테스트 대상 상호연결에 연결되고 다른 마진 테스터(102)의 수신기가 테스트 대상 상호연결의 타단부에 연결되고 실행될 수도 있다.
추가적으로 또는 대안적으로, 훈련 이후에 액티브 프로토콜 상태에 있는 테스트 대상 상호연결을 측정하기 위하여 멀티-포트 마진 테스터(102)가 사용될 수 있다. 이러한 셋업에서, 테스트 대상 상호연결은 멀티-포트 마진 테스터(102)의 하나의 포트에 연결될 수 있고, 테스트 대상 상호연결의 타측은 멀티-포트 마진 테스터(102)의 다른 상이한 포트에 연결될 수 있다. 그러면, 테스트 대상 상호연결은 프로토콜이 실행 후의 액티브 프로토콜 상태에 있는 상태에서 마진을 측정하기 위해서 테스트될 수 있다. 또는, 멀티-포트 테스터(102)가 아니라, 테스트 대상 상호연결의 마진 테스트를 실행하기 위해서 다수의 마진 테스터(102)가 사용될 수 있다.
도 7은 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 예시적인 실시형태에 따라서 Tx 및 Rx 방향 중 하나의 방향 또는 양자 모두의 방향에서 테스팅하기 위한 마진 테스터(102)의 더 낮은 레벨의 블록도이다.
지원 유닛(710)(이더넷 및 다른 통신 기능을 포함할 수 있음), 시스템 레퍼런스 클록을 제공하기 위한 타임베이스 유닛(708), 고속 I/O(HSIO) 출력 유닛(702) 및 HSIO 입력 유닛(704)에 동작가능하게 커플링된 FPGA(714)가 도시된다. 마진 테스터(102)는 AC/DC 파워 유닛(716)을 통해서도 급전될 수 있다. HSIO 출력 유닛(702) 및 HSIO 입력 유닛(704)도 I/O 커넥터(706)에 동작가능하게 커플링된다. FPGA(714)는 프로그래밍가능한 상호연결을 통해서 연결된 구성가능한 로직 블록(CLB)의 매트릭스에 기반한 반도체 디바이스이다. 다양한 실시형태들에서, 마진 테스터(102)는 도시된 것보다 더 적거나 많은 컴포넌트들을 가질 수 있고, 표시된 일부 컴포넌트 또는 컴포넌트의 기능은 마진 테스터(102)와 동작하도록 통신 상태에 있지만, 마진 테스터(102) 밖에 또는 분리되어 위치되거나, 또는 FPGA(714) 내에 위치되거나 통합될 수 있다.
FPGA(714)는, 예컨대 본 명세서에서 설명되는 마진 테스터(102)의 기능을 수행하기 위하여, 제조된 후에 소망되는 애플리케이션 또는 기능 요구 사항에 맞게 재프로그래밍될 수 있다. 예를 들어, FPGA(714)의 펌웨어는 DUT 수신기에서 언제 오류가 시작되는지를 반대 방향에서의 트래픽에 기반하여 추론하고, 오류가 발생하면 마진 스트레스를 신속하게 감소시켜서 심각한 링크 고장을 방지하기 위한 마진 테스터(102)를 위한 일부 링크 계층 로직을 포함하면서, 종말점이라고도 불리는 표준 PCI 익스프레스 업스트림 포트(애드-인 카드 마진 테스터(202)의 실시형태에서와 같이 마더보드의 테스팅을 위한 것임) 또는 업스트림 포트 또는 루트 컴플렉스(root complex)라고도 불리는 표준 PCI 익스프레스 루트 포트(마더보드 마진 테스터(302)의 실시형태에서와 같이 애드-인 카드의 테스팅을 위한 것임)로서의 역할을 할 수 있다. 일부 실시형태들에서, FPGA(714)는 메모리, 인터페이스 등을 FPGA(714) 내에 포함할 수 있는 시스템-온-모듈(SoM) 아키텍처를 사용하여 구현될 수 있거나, 그렇지 않으면 이것을 포함할 수 있다. SoM은, 예를 들어 원래 ARM(Acorn RISC Machine) 아키텍처인 RISC(Advanced Reduced Instruction Set) 머신으로써 구현될 수 있다.
구성 애플리케이션 및/또는 스크립트는 FPGA(714)를 통해서 구현되거나, 최종 사용자가 후속하는 옵션 중 하나 이상의 다수의 수행을 포함하는 마진 테스터(102)의 마진 테스터 옵션을 말단 사용자가 쉽게 구성하게 하는 다른 액세스가능한 메모리 디바이스 또는 다른 비-일시적 컴퓨터-판독가능 저장 매체에 저장될 수 있다. 일부 실시형태들에서, 비트 에러 레이트(BER) 타겟을 위한 옵션은 마진 스캔(E-6 타입 마진에 대해서는 밀리초 단위이고 E-12 타입 마진에 대해서는 분 단위임)을 위해서 설정될 수 있다. 예를 들어, 이러한 타겟은 다음을 포함할 수도 있지만 이것들로 제한되지는 않는다: 마진까지의 시간의 개수, 마진 타이밍 및/또는 전압; 마진 테스터 또는 DUT 송신기를 위한 Tx 등화를 고정하는 것; 및 마진 테스터 수신기를 위한 Rx CTLE 및 DFE를 고정하는 것. 일부 실시형태들에서, 마진 테스터(102)로부터 데이터를 제거하고, 다수의 제품/샘플 및 뷰 평균, 런-투-런 변동 및 시간이 지남에 따른 경향을 보여주고 상이한 구성 옵션(고정된 Tx 등화 등)으로써 동일한 DUT 상에 수행된 다수의 실행에 걸친 마진들을 비교하는, 사용자를 위한 시각화 툴을 제공하는 선택적인 애플리케이션 및/또는 스크립트가 제공된다. 일부 실시형태들에서, 다음을 포함할 수 있지만 이것으로 한정되지는 않는 마더보드 테스팅을 위한 추가적 옵션을 언락(unlock)시키는, 테스트 대상 마더보드에 설치되도록 부팅가능한 드라이브에 구현될 수 있는 선택적인 애플리케이션이 제공된다: L0 대신에 루프백(loopback)에서 실행하고 특정 패턴을 사용하는 것; DUT 송신기로부터의 전압 스윙 및 Sj 마지닝 대신에 DUT 실리콘 내의 온-다이 마지닝 피쳐에서 사용하고, 양자 모두의 방법을 실행하고 결과들을 비교하는 것.
PCIe 및 더 고속인 속도 링크에 대한 시뮬레이션은 복잡한 레퍼런스 송신기 및 수신기 등화 모델이 없이 자연적으로 닫히는 링크들에 대한 아이 다이어그램을 예측하기 위하여, 일반적으로 송신기 및 수신기 모델과 함께 통계적 시뮬레이션 툴을 점점 더 많이 사용한다. 시뮬레이션 모델에 대한 가장 공통적인 포맷 중 하나는 IBIS-AMI이다.
본 발명의 예들은, 비한정적으로 마진 테스터(102) 실리콘 및 상호연결에 대한 IBIS-AMI 모델과 같은 시뮬레이션 모델을 생성하는 것을 포함한다. 사용자는 통계적 시뮬레이션 툴로써 모든 방향에서의 기대된 마진 결과를 시뮬레이션하기 위하여, 그들의 DUT 채널 및/또는 실리콘에 대한 마진 테스터(102) 시뮬레이션 모델 및 연결 모델을 사용할 수 있다.
일부 실시형태들에서, 플러그-인이 해당 특정 DUT 실리콘에 대해서 제공되면, 마진 테스터 구성 애플리케이션이 DUT 실리콘 상에 RX 등화 설정을 역시 구성하게 할 선택적인 플러그-인 모델이 제공된다. 일부 실시형태들에서, 선택적인 IBIS-AMI(또는 유사한) 소프트웨어 모델이, 특정 고객 셋업에 대한 테스트 한계/방법론을 그들의 시뮬레이션 내에 구축하는 것을 돕는 것을 포함시키도록 설계자 및 시스템 통합자(integrator)에 의해 사용될 수 있는 각각의 개체 마진 테스트 유닛에 대하여 제공된다. IBIS-AMI는 멀티-기가비트 시리얼 링크의 고속이고 정확하며 통계적으로 중요한 시뮬레이션을 가능하게 하는 SerDes(Serializer/Deserializer) 물리적 계층(PHY)을 위한 모델링 표준이다. 일부 실시형태들에서, 고객 모델(IBIS-AMI 또는 산란(S) 파라미터)과 함께 마진 테스트 유닛을 위한 선택적인 IBIS-AMI 모델이 제공되고, 정확도 및 반복가능성을 증가시키기 위해서 일부 레벨의 시스템 디임베드(de-embed)를 포함시키기 위한 후속 노력에 의해서도 활용될 수 있다. 마진 테스터(102)에 대한 일반적인 모델은 특정 마진 테스터(102)에 대한 모델 또는 특히 튜닝된 모델로서 제공될 수 있고, 튜닝은 제조 테스트의 일부로서 수행되며, 특징화(characterization)가 생성될 수 있다.
도 8은 예시적인 실시형태에 따라서 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 및 Rx 중 하나의 방향 또는 양자 모두의 방향에서 테스팅하기 위한 마진 테스터(102)내의 콘트롤러(210)에서 사용될 수 있는, 구성된 필드 프로그램가능 게이트 어레이(FPGA; 714)의 일 예의 블록도이다.
다양한 실시형태들에서, FPGA(714)는 도시된 것보다 더 적거나 더 많은 컴포넌트를 가질 수 있고, FPGA(714)와 동작가능한 통신 상태에 있는 도시된 일부 컴포넌트, 및/ 또는 그러한 컴포넌트의 기능은 FPGA(714) 밖에 위치되거나 분리될 수 있다. SerDes를 포함할 수 있는 근거리 네트워크(LAN) 연결(802)에 동작가능하게 커플링되는 레지스터 인터페이스(804)가 도시된다. 또한, 레지스터 인터페이스(804)는 LTSSM(Link Training and Status State Machine), Rx 콘트롤러(806)에도 동작가능하게 커플링된다. 마진 테스터(102)의 동작의 물리적 계층에서의 프로세스들 중 하나는 링크 초기화 및 트레이닝 프로세스이다. PCI 익스프레스 디바이스에서는, 이러한 프로세스가 링크 폭 협상, 링크 데이터 레이트 협상, 레인별 비트 록(bit lock), 레인별 심볼 록/블록 정렬 등과 같은 많은 중요한 태스크를 구축한다. 이러한 기능 모두는 LTSSM 디바이스에 의해 달성되고, 이것은 원격 링크 파트너로부터의 자극 및 링크의 현재의 상태, 및 이에 따른 응답을 관찰한다. 또한, 레지스터 인터페이스(804)는, LTSSM 범용적 시리얼 버스(USB) 콘트롤러(808) 및 추가적 LTSSM USB 콘트롤러(810)와 같은 하나 이상의 추가적 LTSSM 콘트롤러 유닛에도 동작가능하게 커플링된다. 도시된 예시적인 실시형태에서, LTSSM Rx 콘트롤러(806)는 PCIe 물리적 계층(PHY) 16x SerDes(812)에 동작가능하게 커플링되고, LTSSM USB 콘트롤러(808)는 USB/TBT/DP(USB/Thunderbolt/Displayport) PHY x4 유닛(814)에 동작가능하게 커플링된다.
마진 테스터(102)가 PCIe와 같은 특정 프로토콜을 테스트하고 있을 때에, 마진 테스터(102)는 전체 프로토콜을 실행하고 있으며, 링크가 LTSSM 콘트롤러 유닛(806, 808, 및 810)을 통하여 액티브 상태로 훈련될 때에 링크 상태를 추적할 수 있다. 마진 테스터(102)의 FPGA(714)는 훈련이 진행될 때에 마진 측정을 반복적으로 수행하고, 하나 또는 양자 모두의 방향으로 시간에 있어서의 링크 훈련 상태 대 전기적 마진의 로그를 캡쳐할 수 있다.
링크 훈련 상태 대 전기적 마진은 시간 및 LTSSM 상태를 한 축에 표시하고 방향, 레인 등마다의 마진을 다른 축에 표시함으로써 사용자에게 디스플레이될 수 있다. 도 16a 및 도 16b는 사용자에게 디스플레이될 수 있는 각각의 송신 및 수신 플롯(1600 및 1602)을 예시한다. 플롯(1600)은 Tx 방향에 대한 LTSSM 상태 대 마진을 예시하고, 플롯(1602)은 Rx 방향에 대한 LTSSM 상태 대 마진을 예시한다. 예를 들어, x-축은 L0 내지 Ln으로 예시되는 링크 상태를 보여줄 수 있고, y-축은 일부 예들에서 아이 면적이라고 규정될 수 있는 마진을 보여줄 수 있다.
하지만, 사용자는 이러한 모드를, 마진 측정을 위한 시간 길이를 설정하는 것, 해당 모드에 대해서 사용될 DUT 송신 또는 수신기 마진 측정을 설정하는 것, 높이, 폭, 양자 모두, 또는 2-차원 아이의 어떤 DUT 송신 마진 측정을 사용할지, 각각의 LTSSM 상태 변화에서의 연속 측정 또는 측정, 및/또는 높이 및/또는 폭의 양측 또는 단측 DUT 송신 마진 측정에 의한 것과 같은 여러 상이한 방법으로 구성할 수 있다. 본 발명의 예들은 데이터의 로그를 DUT와 함께 링크 훈련이 진행됨에 따라 생성할 수 있고, 사용자가 테스트 중에 어떤 일이 생기는지를 시각화하도록 허용하기 위하여 다양한 값을 사용자에게 표시할 수 있다.
또한, DUT 수신기에서 기대된 아이 마진이 DUT에서 실행되는 소프트웨어에 대한 필요성이 없이, 타이밍 또는 전압 마진에 대한 특정 타겟까지 변할 수 있도록, 지터 삽입 유닛을 제어하기 위한 지터 제어 유닛(816)이 FPGA(714)의 일부로서 존재하거나, FPGA에 동작가능하게 커플링된다.
스큐 제어 유닛(826)도 프로그래밍가능한 스큐를 제어하기 위하여 FPGA(714)의 일부이거나 이것과 동작하도록 커플링될 수 있다. 종래에는, 여러 레인에 걸쳐서 레인별로 변하는 양의 스큐를 생성할 수 있었던 유일한 테스트 기구는 매우 복잡하고 고비용인 멀티-레인 BERT이었다. 그러나, 멀티-레인 BERT는, PCIe와 같은 현대의 프로토콜에 대한 송신 등화 훈련을 포함하는, 본 명세서에 개시되는 마진 테스터와 같은 전체 훈련 프로토콜을 실행할 수 없다. 이와 같이, 과거에는 극히 고비용이고 복잡한 테스트 셋업이 없이 프로토콜 및 다양한 상이한 스큐로 랩 테스트(lab test)할 수 있는 방법이 없었다. 그러나, 본 발명의 예들은 레인별 송신 스큐를 스큐 제어 유닛(826)을 사용하여 여러 상이한 방식으로 추가할 수 있다.
예를 들어, 스큐 제어 유닛(826)은 각각의 레인에 대한 스큐의 양을 설정하기 위하여 개별적인 레인별 프로그래밍가능 길이의 FIFO(first in, first out) 버퍼를 포함할 수 있다. 추가적으로 또는 대안적으로, 스큐 제어 유닛(826)은 레인별로, 각각의 레인에 대한 FPGA(714) 패브릭(fabric) 내의 가변 길이 송신 FIFO를 프로그래밍할 수 있다. 추가적으로 또는 대안적으로, 스큐 제어 유닛(826)은 물리적 계층 송신기들 각각에 급전하는 가변 길이 프로그래밍가능 레인별 송신 FIFO를 가지도록 콘트롤러 로직을 수정할 수 있는 소프트 콘트롤러를 포함할 수 있다.
도 9는 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 및 Rx 방향 중 하나의 방향 또는 양자 모두의 방향에서 예시적인 실시형태에 따라서 테스팅하기 위한 마진 테스터의, 이러한 콘트롤러, 예컨대 콘트롤러(210)에서 사용될 수 있는 FPGA, 예컨대 FPGA(714)의 예시적인 출력 드라이브 옵션의 블록도이다.
첫 번째 출력 드라이브 옵션은 버퍼링되지 않고 임의의 버랙터 지연 투입 또는 지터 투입을 포함하지 않는 FPGA 직접 구동 옵션(818)이다. 두 번째 출력 드라이브 옵션은, 임의의 버랙터 지연 투입 또는 지터 투입을 포함하지 않는 차동 출력 전압(Vod)을 가지는 선형 버퍼 또는 제한 앰프(826)를 포함하는 버퍼링된 드라이브 옵션(820)이다. 세 번째 출력 드라이브 옵션은 버랙터 지연 투입 옵션(822)이고, 이것은 심볼간 간섭(ISI)에 더하여, 예를 들어 약 3-5ps일 수 있는 일부 지연을 초래하는 선형 버퍼(826) 및 버랙터 컴포넌트(828)를 포함한다. 네 번째 출력 드라이브 옵션은 지터 투입 옵션(824)이고, 이것은 일 실시형태에서, 포함될 수도 있고 포함되지 않을 수도 있는 선형 버퍼(826), 및 ADSANTEC 사로부터도 입수가능한 지연 주문형 집적회로(ASIC)(830)(32 GBd에서 약 100ps)를 포함할 수 있다. 일부 실시형태들에서, 선형 버퍼(826)는 포함되지 않는다. 예를 들어, 선형 버퍼(826)가 포함되지 않는 실시형태에서, 지터 투입은 차동 잡음 투입에 의해서 수행될 수 있다.
다양한 실시형태들에서, 다음에 관련된 고장 모드를 포함하지만 이들로 한정되는 것은 아닌 다양한 상이한 대응하는 고장 모드를 식별하기 위해서, 상이한 종류의 스트레스가 마진 테스터(102)에 의해 사용될 수 있다: 조립; 상호연결(표면-실장 기술(SMT), 패키지, 커넥터, 쓰루-홀, 비아 등); 결함; 직렬 저항의 영향; ISI 및 베이스라인이 부유하게 하는 고장 모드; 아이 클로저 영향; 폭 닫힘(width closure) 이외를 초래하는 고장 모드; 기능 테스트 이스케이프(escape); 운영자 구성 오류; 인입하는 재료; 프로세스 변동; 상호연결 변경과 유사한 수신기 대역폭; 파워 서플라이 억제비(power supply rejection ratio; PSRR); 수직/수평 아이 닫힘; PLL 안정성; 디자인; 레인들 사이의 델타. 지터 삽입을 위한 버랙터-기반 방법이 어셈블리-관련 결함 더 효율적으로 악화시킬 수 있다.
도 10은, 일 실시형태에 따르는 DUT의 마진 테스팅을 위한 예시적인 방법(1000)의 흐름도이다.
1002에서, 마진 테스터(102)는 테스트 대상 디바이스(DUT)의 멀티-레인 고속 I/O 링크를 구축한다.
1004에서, 마진 테스터(102)는 멀티-레인 고속 I/O 링크의 각각의 고속 입력/출력(I/O) 레인에 대한 전기적 마진을 송신(Tx) 및 수신(Rx) 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가한다. 예를 들어, 전기적 마진을 평가하는 것은 멀티-레인 고속 I/O 링크의 마진 테스트 송신기에 조절가능한 스트레스를 투입하는 것을 포함할 수 있다. 조절가능한 스트레스는 멀티-레인 고속 I/O 링크의 모든 레인에 적용된 지터를 동시에 투입하는 것 및 전압 스윙을 적용하는 것을 포함할 수 있다. 전기적 마진을 평가하는 것은 멀티-레인 고속 I/O 링크의 각각의 고속 입력/출력(I/O) 레인에 대한 전기적 마진을 송신(Tx) 및 수신(Rx) 방향의 양자 모두의 방향으로 평가하는 것을 더 포함할 수 있다.
도 11은 일 실시형태에 따라서, 잠재적인 DUT 조립 또는 생산 이슈를 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 및 Rx 방향 중 어느 하나의 방향 또는 양자 모두의 방향에서 마진 테스팅하는 것에 기반하여 식별하기 위한 예시적인 방법(1100)의 흐름도이다.
1102에서, 마진 테스터(102)는 복수 개의 DUT의 각각의 DUT에 대해서, DUT의 멀티-레인 고속 I/O 링크의 각각의 고속 입력/출력(I/O에 대한 타이밍 아이 폭 마진을 Tx 및 Rx 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가한다.
1104에서, 마진 테스터(102)는 평가에 기반하여, 복수 개의 DUT들에 걸친 동일한 레인에 대해서 일관적으로 미리 결정된 임계 미만인, 복수 개의 DUT 중 각각의 DUT에 대한 타이밍 아이 폭 마진 측정치를 검출한다.
1106에서, 마진 테스터(102)는 복수 개의 DUT들에 걸친 동일한 레인에 대해서 일관적으로 미리 결정된 임계 미만인, 복수 개의 DUT 중 각각의 DUT에 대한 타이밍 아이 폭 마진의 검출에 기반하여 잠재적인 DUT 설계 이슈를 식별한다. 이러한 검출은, 다수의 DUT들에 걸쳐 상이한 레인에 대한 미리 결정된 임계에 각각 미만인, 복수 개의 DUT 중의 다수의 DUT에 대한 타이밍 아이 폭 마진 측정치의 평가에 기반하여 검출하는 것을 더 포함하거나 그 대신에 포함할 수 있다.
도 12는 일 실시형태에 따라서, 사용자-선택가능 옵션에 기반하여 전기적 마진의 평가를 마진 테스터(102)가 수행하는 것을 시작하게 하기 위한 예시적인 방법(1200)의 흐름도이다.
1202에서, 마진 테스터(102)는, 테스트 대상 디바이스(DUT)의 멀티-레인 고속 입력/출력(I/O) 링크를 구축하고, 멀티-레인 고속 I/O 링크의 전기적 마진을 송신(Tx) 및 수신(Rx) 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가하도록 구성되는 마진 테스터에 대한 사용자-선택가능 옵션을 제공한다. 사용자-선택가능 옵션은 멀티-레인 고속 I/O 링크의 전기적 마진의 평가에 대한 맞춤화를 포함할 수 있다.
1204에서, 마진 테스터(102)는 마진 테스터(102)에 대한 사용자-선택가능 옵션 중 하나 이상의 선택의 표시를 수신한다.
1206에서, 마진 테스터(102)는 멀티-레인 고속 I/O 링크의 전기적 마진을 마진 테스터(102)에 대한 사용자-선택가능 옵션 중 하나 이상의 선택의 표시에 기반하여 마진 테스터(102)가 수행하는 것을 시작하게 한다. 사용자-선택가능 옵션은, 상기 DUT의 멀티-레인 고속 I/O 링크에 기반하여 마진 테스팅 테스트를 수행할 하나 이상의 상이한 고속 I/O 프로토콜을 선택하기 위한 선택가능한 옵션; 상기 DUT의 다수의 포트를 혼합된 프로토콜들로써 동시에 테스트하기 위한 선택가능한 옵션; 상기 멀티-레인 고속 I/O 링크 상에서의 상기 마진 테스터의 임의의 횟수의 마진 테스트 런에 걸친 런-투-런(run-to-run) 마진 변동을 출력하기 위한 선택가능한 옵션; 마진 변동 중 얼마나 많은 것이 Tx 등화(Equalization; EQ) 트레이닝 변동에 기인하는지를 테스트하기 위하여, 고정된 Tx EQ를 상기 DUT 상에 구현하기 위한 선택가능한 옵션; 상기 DUT의 멀티-레인 고속 I/O 링크의 마진에 대한 수신기 등화의 영향을 테스트하기 위하여, 상기 마진 테스터의 수신기 내에서 고정된 연속 시간 선형 등화(Continuous Time Linear Equalization; CTLE)를 사용하기 위한 선택가능한 옵션; 상기 DUT의 멀티-레인 고속 I/O 링크의 마진에 대한 수신기 등화의 영향을 테스트하기 위하여, 상기 마진 테스터의 수신기 내에서 판정 피드백 등화(Decision Feedback Equalization; DFE)를 사용하기 위한 선택가능한 옵션; 상기 마진 테스터에 대한 기대 마진을 타겟 채널에 기반하여 계산하기 위한 선택가능한 옵션; 상기 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 낮은 마진이 검출되면, 디버그 정보를 자동으로 생성하기 위한 선택가능한 옵션; 얼마나 많은 심볼간 간섭(ISI)이 상기 멀티-레인 고속 I/O 링크의 레인을 실패하게 하는지를 발견하기 위하여, 상기 마진 테스터가 가변 ISI 소스를 사용하는 것으로 스위칭하기 위한 선택가능한 옵션; 상기 DUT의 멀티-레인 고속 I/O 링크의 크로스토크에 기인한 마진 손실량을 식별하도록, 상기 마진 테스터가 각각의 레인을 개별적으로 테스트하기 위한 선택가능한 옵션; 상기 멀티-레인 고속 I/O 링크와 연관된 각각의 채널 내의 DFE가 있을 때와 없을 때의 마진 및 비선형 불연속성의 양을 평가하기 위하여, 상기 마진 테스터의 수신기 내의 DFE를 턴오프하기 위한 선택가능한 옵션; 레퍼런스 수신기 및 통상적 채널이 있는 기대 마진을 보여주고, 기대 미만의 마진이 상기 DUT 및 다수의 DUT들의 멀티-레인 고속 I/O 링크의 모든 레인에 걸쳐서 일정한 경우에도, 상기 기대 미만의 마진이 플래깅되게 하는, 상기 마진 테스터에 대한 특징결정 데이터를 위한 선택가능한 옵션; 상기 전기적 마진의 평가가 수행되는 상기 멀티-레인 고속 I/O 링크의 다수의 속도들 중에서 선택하기 위한 선택가능한 옵션; 상기 마진 테스터가 상기 DUT 상의 소프트웨어가 없이 생산 라인 상에 마진 테스트를 수행할 수 있게 하기 위하여, 프로토콜 특이적 지식을 사용하여 상기 마진 테스터에 의해 상기 멀티-레인 고속 I/O 링크 상에서 반대 방향으로 이동하는 트래픽에 기반하여, 상기 DUT의 수신기에서 언제 오류가 발생했는지를 상기 마진 테스터가 추론하기 위한 선택가능한 옵션; 상기 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 검출되는, 저마진 채널의 시간-도메인 반사측정 판독치(Time-Domain Reflectometry reading; TDR)를 자동으로 캡쳐하기 위한 선택가능한 옵션; 상기 멀티-레인 고속 I/O 링크의 전기적 마진의 평가의 결과로서 낮은 마진이 검출되면, 디지털화된 파형을 자동으로 캡쳐하기 위하여 오실로스코프로의 자동화된 연결을 수행하기 위한 선택가능한 옵션; 및 사용자-선택가능 옵션들 중 하나 이상을 구현하도록 DUT 실리콘을 구성함으로써, 상기 DUT에 대한 사용자-선택가능 옵션 중 하나 이상을 구성하기 위한 선택가능한 옵션 중 하나 이상을 포함할 수 있지만 이들로 한정되는 것은 아니다.
도 13은 일 실시형태에 따라서 교정된 마진 테스터를 제공하기 위한 예시적인 방법(1300)의 흐름도이다.
1302에서, 마진 테스터(102)는 수행하는 옵션을 제공할 수 있거나 마진 테스터(102)의 교정을 수행할 수 있고, 사용자가 일련의 레퍼런스 채널이 있는 기대 마진들의 세트를 수신할 수 있게 한다.
1304에서, 특별한 테스트 모드가 없이 DUT의 온전히 실행되는 동작 링크로써, 테스트 대상 디바이스(DUT)의 전기적 아이 마진을 송신(Tx) 및 수신(Rx) 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 측정하고 풀 로딩 및 크로스토크 효과를 캡쳐하도록 구성되는, 교정된 마진 테스터가 제공된다. 마진 테스터를 위한 개별적으로 교정된 모델도 제공될 수 있고, 다음 중 하나 이상에서의 기대 마진의 계산이 가능하게 한다: 개별화된 시스템 채널, 수신기 모델 및 송신기 모델. 또한, 상기 마진 테스터에 의하여 마진 테스트가 일어날 예정이라는 것을 표시하기 위해서 마진 테스터가 벤더-규정(vendor defined) 메시지 또는 다른 프로토콜 메커니즘을 사용하게 하며, 마진 테스트의 지속기간 동안의 오류에 기인하여 링크 폭 또는 링크의 속도를 열화시킬 로직을 DUT 실리콘이 디스에이블시킬 수 있게 하는, DUT 실리콘 내의 피쳐가 제공된다.
또한, 마진 테스터가 테스트 대상 채널 컴포넌트의 일측 또는 양측에서 사용되는 테스팅 구성에서 테스트 대상 채널 컴포넌트(예를 들어, 베어(bare) 인쇄 회로 보드(PCB) 또는 케이블)의 테스팅을 마진 테스터가 수행하게 하는, 마진 테스터의 소프트웨어 애플리케이션이 제공된다. 일부 실시형태들에서, 마진 테스터의 하드웨어가 인쇄 회로 보드(PCB)를 제조하는 회사에 제공되고, 마진 테스터의 용법과 연관된 데이터가 PCB의 생산에 사용되는 실리콘을 제공하는 실리콘 회사에 제공된다.
도 14는 일 실시형태에 따라서 마진 테스트를 실행하기 위하여 DUT를 구성하기 위한 예시적인 방법(1400)의 흐름도이다.
1402에서, 마진 테스터(102)는 테스트 대상 디바이스(DUT)에 대한 구성 설정을 수신한다.
1404에서, 마진 테스터(102)는 DUT의 실리콘에 대한 상이한 조건 하에서 마진 테스터(102)가 마진 테스트를 수행하도록 DUT를 구성한다. 마진 테스터(102)는 DUT의 실리콘에 대한 상이한 조건 하에서 마진 테스터(102)가 마진 테스트를 실행하기 위한 구성 및 DUT 실리콘 파라미터를 이네이블하는 소프트웨어 플러그-인을 수신할 수 있다. DUT 실리콘 파라미터는 다음 중 하나 이상을 포함할 수 있지만 이들로 한정되는 것은 아니다: 수신기 연속 시간 CTLE에 관련된 파라미터 및 DFE에 관련된 파라미터.
도 15는 자기-교정 기능이 있는 마진 테스터(102)의 일 예를 예시한다. 마진 테스터(102)의 교정은 송신기를 수신기에 전기적으로 연결함으로써 수행될 수 있다. 이것은, 예를 들어 동일한 마진 테스터(102) 내의 송신기를 수신기에 전기적으로 연결하기 위해서 마진 테스터(102) 내에서 스위치에 의하여 수행될 수 있다. 그러면 외부 테스트 장비에 대한 필요성이 없어진다.
도 15는 도 7의 저레벨 블록도와 유사하다. 도 7과 유사하게, 도 15는 DUT의 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 및 Rx 방향 중 하나의 방향 또는 양자 모두의 방향에서 테스팅하기 위한, 그리고 자기 교정 기능을 가지는 마진 테스터(102)의 더 낮은 레벨의 블록도이다. 자기-교정을 수행하기 위하여, 하나 이상의 스위치(1500)가 HSIO 출력 유닛(702) 내의 송신기들 각각을 HSIO 입력 유닛(704) 내의 수신기들 각각에 연결하기 위하여 제공될 수 있다. 송신기는 신호를 출력할 수 있고 수신기는 해당 신호를 수신하고 마진 테스터(102)가 소망되는 범위 안에 속하는지를 결정할 수 있다. 도 15에는 예시의 용이성을 위하여 단일 스위치(1500)가 도시되지만, 당업자가 이해할 수 있는 바와 같이, 다수의 스위치(1500)가 송신기를 수신기에 연결하기 위하여 제공될 수 있다. 스위치(1500) 대신에, 송신기가 수신기로 루프백하여 자기-교정을 수행하게 하기 위해서, I/O 커넥터(706)에 교정 디바이스 또는 설비가 제공될 수 있다.
상이한 동작 모드가 마진 테스터(102)의 교정을 수행하기 위하여 제공될 수 있다. 예를 들어, 자기-교정은 I/O 커넥터(706) 중 하나 이상을 통하여 송신기를 수신기에 연결할 수 있는 특수 루프백 설비를 가지는 공장에서만 수행될 수 있다.
제공될 수 있는 다른 동작보드는, 말단-사용자가 마진 테스터(102)의 자기-테스트를 수행하게 하는 것이다. 이것은 스위치(1500)를 활성화하거나 송신기를 마진 테스터(102)의 수신기로 라우팅할 수 있는 설비를 삽입함으로써 수행될 수 있다. 자기-테스트 중에, 마진 테스터(102)는 전면 패널 표시자(712)에게 결과가 특정된 범위를 벗어나는지를 출력할 수 있다.
예들에서, 교정은 프로토콜 모드, PRBS 패턴 비-프로토콜 모드 중 어느 하나 또는 양자 모두에서 수행될 수 있다. 그러나, 프로토콜 모드에서는, I/O 커넥터(706)가 호스트 및 테스트 디바이스 양자 모두로서 동시에 대응하지 못할 수도 있다. 마진 테스터(102)가 두 개의 세트의 I/O 커넥터(706)를 가진다면, 마진 테스터(102)는 두 개의 상이한 세트의 I/O 커넥터(706)를 연결해야 할 수 있고, 또는 제 2 마진 테스터(102)가 연결되어야 할 수 있다.
내부 교정은 마진 테스터(102)에 대하여 종래의 기구보다 더 빠르고 잠재적으로 덜 비싼 공장 교정을 제공할 수 있다. 또한, 내부 교정은 최종 사용자가 자기 자신의 교정 테스팅을 수행할 수 있게 할 수 있다.
개시된 실시형태들의 이점, 장점, 및 개선 사항은 다음의 특징들을 포함하지만 이들로 한정되는 것은 아니다. 일부 실시형태는 거의 전체적으로 표준 FPGA 및 정현 지터 투입 칩 또는 지연 라인과 같은 기성품 컴포넌트로써 구현되고, 종래의 BERT 및 스코프와 비교할 때 매우 낮은 비용을 가질 수 있다. 예시적인 실시형태는 특수 소프트웨어에 대한 필요성과 모든 레인들이 한 번에 동작하는 것에 기인한 임의의 효과를 캡쳐할 필요가 없이 정상 동작 상태에서 동작하는 풀 멀티-레인 링크에서 실행될 수 있다. 다른 장점은, 본 발명의 실시형태가 하나의 자립형 유닛 내에서 Tx 및 Rx 중 하나의 방향 또는 양자 모두의 방향에서 테스트를 할 수 있다는 것이다. 다양한 실시형태는 임의의 소프트웨어 또는 DUT에 대한 변경이 필요없이, 생산 환경에서(예를 들어, 마더보드 생산 테스트 환경에서) 실행될 수도 있다. 프로토콜에 의해 변경되는 테스트 특이적 로직이 마진 테스터(102) 실리콘/펌웨어 내에 제공되어, 오류가 DUT 수신기에서 언제 발생하는지를 테스트 대상 디바이스에 의해서 마진 테스터로 되송신되고 있는 데이터에 기반하여 매우 빠르게 인식할 수 있다. 일부 예시적인 실시형태는, PCI 익스프레스 벤더에 특이적인 메시지 또는 다른 표준 프로토콜 피쳐를 통해서 마진 테스팅이 일어날 것이라는 것을 인식하고, DUT 실리콘을 일반적으로 오류에 기인하여 링크 폭 및/또는 속도를 열화시키지 않을 상태에 놓이게 하는, DUT 실리콘 내에 구현된 피쳐를 포함한다. 그러면 잡음 투입 또는 전압 스윙 조절을 사용한 DUT 수신기로의 마지닝 프로세스가 정상적인 프로토콜 메커니즘을 통해서 링크 폭 또는 속도를 열화시킬 위험이 없이 일어날 수 있도록 보장하는 것에 도움이 된다. 이것은 오류가 언제 시작하는지 신속하게 추론하고 링크 또는 속도 열화가 발생할 수 있기 이전에 스트레스를 감소시키기 위한 특수한 로직에 대한 대안이다.
본 명세서에서 설명되는 예시적인 실시형태에 의해 제공되는 다른 개선사항은, 복수 개의 마진 테스터 유닛의 각각의 마진 테스터 유닛이 개별적으로 교정되고 특성화되어, 사용자가 각각의 특정한 유닛으로써의 기대 마진 값을 알게 되고 그들의 사전-생산 및 생산 유닛들에 걸친 기대치로부터의 최소 불일치도 플래깅할 수 있다는 것이다. IBIS-AMI 모델과 같은 이러한 개별적인 특성화 및 교정 모델의 일부가, 최종 사용자가 그들의 특정 채널 모델의 기대 마진을 시뮬레이션되거나 측정된 S 파라미터에 기반하여 계산할 수 있게 하는 각각의 개체 마진 테스터(102)에 대해서 제공될 수 있다.
본 명세서는 매우 고속이고 사용하기가 매우 간단한 독창적인 마진 테스터를 기술한다. 길이 마진 측정 및 사용자에 의해서 구성될 수 있는 다양한 옵션을 위한 편리하고 효율적인 구성 소프트웨어가 제공된다. 구성되면, 마진 테스터(102)는 링크를 임의의 표준 디바이스로서 취급한 후, 동작 링크에 대한 측정을 자동으로 수행한다. 테스팅은 모든 레인에 동시에 수행되고, 신속한 전기적 마진 스캔이 밀리초 단위로 수행될 수 있다. 그러면 모든 고속 I/O 포트 및 레인의 풀 테스팅을 포함하는 대량 테스팅이 가능해진다. 다양한 실시형태들은 종래의 기구에 대한 필요성이 없이, 다음을 포함하지만 이들로 한정되는 것은 아닌 일부 수준의 문제점 특성화를 가능하게 하는 상이한 마진 테스트 모드를 제공한다: 반복 횟수 및 마진에 있는 런-투-런 변이율의 분석 및 선택된 Tx 등화(DUT 및 마진 테스터 양자 모두에 대한) 및 선택된 RX 등화(마진 테스트 수신기에 대한) 및 테스트 대상 DUT Tx 또는 Rx 훈련 알고리즘 내의 훈련 이슈가 생길 가능성; 송신기 등화를 어느 한 방향으로 고정하고 마진에 대한 영향을 관찰하는 것; 마진 테스터 수신기 내의 수신기 등화(CTLE) 및 DFE 탭의 개수(제로를 포함)를 고정시키고 마진 값에 대한 영향을 관찰하는 것. 예를 들어, DFE가 턴오프될 수 있다는 것이 특정 채널 내의 큰 불연속성을 표시한다면, 마진은 크게 변한다.
마진 테스터(102)의 다양한 실시형태에 의해 제공되는 다른 장점은, 특정 DUT의 모든 고속 I/O 포트 및 레인이 모든 사전-생산 유닛들에 걸친 전기적 마진에 대하여 그리고 실제 생산에서 테스트되고, 이슈 및 잠재적인 이슈가 제품이 생산되기 이전에 또는 고객에게 전달되기 전에 이러한 이슈를 플래깅하기 위한 전례가 없는 능력을 얻을 수 있다는 것이다. 또한, 다양한 실시형태는 파워 상태 천이와 같은 다양한 링크 이벤트 이전 및 이후에도 마진이 분석될 수 있게 한다(일부 경우에는 DUT에 있는 소프트웨어를 사용함).
종래의 솔루션은 매우 일반적인 목적과 높은 지터 및 잡음 삽입 방법을 가진다. 본 발명의 다양한 실시형태는 지터/진폭 스트레스를 크게 단순화시켜서(하지만 제거하지는 않음) 이러한 필요 태스크를 달성함으로써, 다양한 실시형태들에 비해서 장점을 가진다. 이러한 단순성은 현존하는 방법을 사용할 때 요구될 것에 비해서 더 낮은 동작 비용, 더 빠른 결과, 및 증가된 제품 신뢰도로 전환된다(대량 데이터 세트 콜렉션을 통하여).
본 발명의 양태들은 특수한 하드웨어, 펌웨어, 디지털 신호 프로세서, 또는 프로그래밍된 명령에 따라 동작하는 프로세서를 포함하는, 특수하게 프로그래밍된 범용 컴퓨터에서 동작할 수 있다. 콘트롤러 또는 프로세서란 용어는 본 명세서에서 사용될 때 독립적으로 동작하거나 서로 결합되어 동작하는 하나 이상의 마이크로프로세서, 마이크로컴퓨터, 주문형 집적 회로(ASIC), 및 전용 하드웨어 콘트롤러를 포함하도록 의도된다. 본 발명의 하나 이상의 양태는 하나 이상의 컴퓨터(모니터링 모듈 및 콘트롤러를 포함함), 또는 다른 디바이스에 의해서 실행되는, 하나 이상의 프로그램 모듈 안에 있는 것과 같은 컴퓨터-사용가능 데이터 및 컴퓨터-실행가능 명령으로 구현될 수 있다. 일반적으로, 프로그램 모듈은 컴퓨터 또는 다른 디바이스에 의해 실행될 때 특정 태스크를 수행하거나 특정한 추상적인 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조체 등을 포함한다. 컴퓨터 실행가능한 명령은 하드 디스크, 광학 디스크, 착탈식 저장 매체, 고상 메모리, DDR 메모리, 랜덤 액세스 메모리(RAM) 등과 같은 비-일시적 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 당업자가 알 수 있는 바와 같이, 프로그램 모듈의 기능은 다양한 양태들에서 소망되는 바에 따라 결합되거나 분산될 수 있다. 추가적으로, 기능은 집적 회로, FPGA 등과 같은 펌웨어 또는 하드웨어 균등물 내에 전체적으로 또는 부분적으로 구현될 수 있다. 본 발명의 하나 이상의 양태를 더 효과적으로 구현하기 위해서 특정한 데이터 구조체가 사용될 수 있고, 이러한 데이터 구조체는 본 명세서에서 설명되는 컴퓨터 실행가능 명령 및 컴퓨터-사용가능 데이터의 범위에 속하는 것으로 여겨진다.
일부 경우에, 개시된 양태들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 또한, 개시된 양태들은 하나 이상의 프로세서에 의하여 판독되고 실행될 수 있고 비일시적 머신-판독가능 매체에 운반되거나 저장되는 명령으로서 구현될 수 있다. 이러한 명령은 컴퓨터 프로그램 제품이라고 불릴 수 있다. 본 명세서에서 논의되는 바와 같은 컴퓨터-판독가능 매체는 컴퓨팅 디바이스에 의해 액세스될 수 있는 임의의 매체를 의미한다. 비한정적인 일 예로서, 컴퓨터-판독가능 매체는 컴퓨터 저장 미디어 및 통신 매체를 포함할 수 있다.
컴퓨터 저장 매체는 컴퓨터-판독가능 정보를 저장하기 위하여 사용될 수 있는 임의의 매체를 의미한다. 비한정적인 일 예로서, 컴퓨터 저장 매체는 RAM, ROM, 전기 소거가능 프로그램가능 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 비디오 디스크(DVD), 또는 다른 광학적 디스크 저장소, 자기적 카세트, 자기적 테이프, 자기적 디스크 저장소 또는 다른 자기적 저장 디바이스, 및 임의의 기술로 구현된 임의의 다른 휘발성 또는 비휘발성, 착탈식 또는 비-착탈식 매체를 포함할 수 있다. 컴퓨터 저장 매체는 신호 그 자체 및 신호 송신의 일시적 형태를 배제한다.
통신 매체란 컴퓨터-판독가능 정보의 통신을 위해 사용될 수 있는 임의의 매체를 의미한다. 비한정적인 일 예로서, 통신 매체는 동축 케이블, 광섬유 케이블, 공기, 또는 전기, 광학, 무선 주파수(RF), 적외선, 음향 또는 다른 타입의 신호의 통신에 적합한 임의의 매체를 포함할 수 있다.
또한, 이러한 상세한 설명은 특정 피쳐들을 참조한다. 본 명세서의 개시내용이 그러한 특정 피쳐들의 모든 가능한 조합을 포함한다는 것이 이해되어야 한다. 예를 들어, 특정 피쳐가 특정 양태의 콘텍스트에서 개시되는 경우, 해당 피쳐는 가능한 정도에서는 다른 양태의 콘텍스트에서도 사용될 수 있다.
또한, 본 출원에서 두 개 이상의 규정된 단계 또는 동작을 가지는 방법을 언급하는 경우에, 규정된 단계 또는 동작은 콘텍스트 상 가능성이 없는 경우를 제외하고는 임의의 순서로 또는 동시에 수행될 수 있다.
비록 본 발명의 특정한 양태가 도시되고 예시를 위해서 설명되었지만, 본 발명의 사상 및 범위에서 벗어나지 않으면서 다양한 변형이 이루어질 수 있다는 것이 이해될 것이다. 따라서, 본 발명은 첨부된 청구 범위에 의해 한정되는 것을 제외하고는 한정되어서는 안 된다.

Claims (25)

  1. 테스트 디바이스로서,
    테스트 대상 디바이스(device under test; DUT)에 연결되도록 구성된 적어도 하나의 인터페이스;
    상기 인터페이스에 연결된 하나 이상의 레인(lane); 및
    상기 하나 이상의 레인을 통하여 상기 적어도 하나의 인터페이스에 커플링된 콘트롤러를 포함하고,
    상기 콘트롤러는,
    상기 DUT와 단일-레인 또는 멀티-레인 고속 입력/출력(I/O) 링크를 구축하고, 상기 테스트 디바이스가 상기 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 송신(Tx) 및 수신(Rx) 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가하게 하도록 구성되는, 테스트 디바이스.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 인터페이스는, 상기 DUT와의 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 Tx 및 Rx 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가하게끔, 상기 DUT에 연결되도록 구성되는 적어도 하나의 레인을 포함하는 디바이스.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 레인은 복수 개의 레인을 포함하고,
    상기 콘트롤러는,
    상이한 프로토콜에 따라 각각 동작하는 다수의 상이한 디바이스들을 상기 테스트 디바이스가 테스트하기 위한 다수의 상이한 프로토콜을 지원하고, 상이한 디바이스 역할들 및 다수의 상이한 프로토콜들에 대하여 상기 복수 개의 레인을 구성하기 위한 옵션을 제공하도록 구성되는, 테스트 디바이스.
  4. 제 3 항에 있어서,
    상기 복수 개의 레인은,
    멀티-레인 고속 I/O 링크의 전기적 마진을 평가하게끔 적어도 하나의 테스트 설비에 연결되도록 구성되는, 테스트 디바이스.
  5. 제 1 항에 있어서,
    상기 DUT와의 단일-레인 또는 멀티-레인 고속 I/O 링크는, 특별한 테스트 모드가 없이 온전히 실행되는(fully running) 동작 링크(operational link)인, 테스트 디바이스.
  6. 제 1 항에 있어서,
    상기 테스트 디바이스는,
    애드-인 카드의 인쇄 회로 기판(PCB)을 더 포함하고,
    상기 DUT는 마더보드이며,
    상기 애드-인 카드는 상기 단일-레인 또는 멀티-레인 고속 I/O 링크의 각각의 레인에 대한 물리적 계층 및 링크 논리 계층을 구현하게끔, 상기 마더보드 상의 커넥터에 플러그인되도록 구성되는, 테스트 디바이스.
  7. 제 1 항에 있어서,
    상기 콘트롤러는,
    마진 테스트 송신기 상에 조절가능한 스트레스를 투입하도록 적어도 구성됨으로써, 상기 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 평가하도록 구성되는, 테스트 디바이스.
  8. 제 1 항에 있어서,
    상기 콘트롤러는,
    레인별 스큐의 양을 변경하도록 적어도 구성됨으로써, 상기 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 평가하도록 구성되는, 테스트 디바이스.
  9. 제 1 항에 있어서,
    상기 콘트롤러는, 전기적 마진 평가 도중에 이벤트가 검출되는 경우에 트리거 신호를 출력하도록 더 구성되는, 테스트 디바이스.
  10. 제 1 항에 있어서,
    상기 콘트롤러는, 트리거 신호가 수신되는 경우에 상기 테스트 디바이스가 상기 전기적 마진을 평가하게 하도록 더 구성되는, 테스트 디바이스.
  11. 제 1 항에 있어서,
    상기 콘트롤러는, 전기적 마진 평가 도중에 링크 훈련 상태 대 전기적 마진의 로그를 캡쳐하도록 더 구성되는, 테스트 디바이스.
  12. 제 1 항에 있어서,
    상기 하나 이상의 레인 각각은 송신기 및 수신기를 포함하고,
    상기 콘트롤러는, 각각의 송신기를 개별 수신기와 커플링함으로써 교정을 수행하도록 더 구성되는, 테스트 디바이스.
  13. 제 1 항에 있어서,
    상기 DUT는 테스트 대상 상호연결(interconnect)이고,
    상기 콘트롤러는, 상기 테스트 대상 상호연결을 테스트하기 위하여, 벡터 네트워크 분석기 모드를 활성화시키도록 더 구성되는, 테스트 디바이스.
  14. 제 13 항에 있어서,
    상기 테스트 대상 상호연결은 상기 하나 이상의 레인의 적어도 하나의 송신기와 적어도 하나의 수신기 사이에 커플링되는, 테스트 디바이스.
  15. 테스트 대상 디바이스(DUT)를 전기적 마진 테스팅하기 위한 방법으로서,
    DUT를 마진 테스터의 복수 개의 레인에 커플링하는 단계;
    상기 복수 개의 레인을 통하여 상기 DUT와 멀티-레인 고속 I/O 링크를 구축하는 단계; 및
    상기 마진 테스터에 의하여, 송신(Tx) 및 수신(Rx) 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 상기 멀티-레인 고속 I/O 링크의 각각의 고속 입력/출력(I/O) 레인에 대한 전기적 마진을 평가하는 단계를 포함하는, 전기적 마진 테스팅 방법.
  16. 제 15 항에 있어서,
    상기 방법은,
    상기 전기적 마진을 평가할 경우에 레인별 스큐의 양을 변경하는 단계를 더 포함하는, 전기적 마진 테스팅 방법.
  17. 제 15 항에 있어서,
    상기 방법은,
    전기적 마진 평가 도중에 이벤트가 검출되는 경우에 트리거 신호를 생성하는 단계를 포함하는, 전기적 마진 테스팅 방법.
  18. 제 15 항에 있어서,
    상기 방법은,
    트리거 신호를 수신하고, 상기 트리거 신호가 수신되는 경우에 상기 전기적 마진을 평가하는 단계를 더 포함하는, 전기적 마진 테스팅 방법.
  19. 제 15 항에 있어서,
    상기 방법은,
    전기적 마진 평가 도중에 링크 훈련 상태 대 전기적 마진의 로그를 캡쳐하는 단계를 더 포함하는, 전기적 마진 테스팅 방법.
  20. 제 15 항에 있어서,
    각각의 레인은 송신기 및 수신기를 포함하고,
    상기 방법은,
    송신기를 수신기와 커플링하고 교정을 수행함으로써 상기 테스트 디바이스를 교정하는 단계를 더 포함하는, 전기적 마진 테스팅 방법.
  21. 제 15 항에 있어서,
    상기 DUT는 테스트 대상 상호연결이고,
    상기 방법은,
    상기 테스트 대상 상호연결을 테스트하기 위하여, 벡터 네트워크 분석기 모드를 활성화시키는 단계를 더 포함하는, 전기적 마진 테스팅 방법.
  22. 제 21 항에 있어서,
    상기 테스트 대상 상호연결은 상기 복수 개의 레인의 적어도 하나의 송신기와 적어도 하나의 수신기 사이에 커플링되는, 전기적 마진 테스팅 방법.
  23. 마진 테스터로서,
    테스트 대상 디바이스(device under test; DUT)에 커플링되도록 구성된 하나 이상의 레인; 및
    하나 이상의 컨트롤러를 포함하고,
    상기 하나 이상의 콘트롤러는,
    상기 하나 이상의 레인을 통하여 상기 DUT와 단일-레인 또는 멀티-레인 고속 입력/출력(I/O) 링크를 구축하고,
    상기 단일-레인 또는 멀티-레인 고속 I/O 링크의 전기적 마진을 송신(Tx) 및 수신(Rx) 방향 중 어느 하나의 방향 또는 양자 모두의 방향으로 평가하도록
    구성되는, 마진 테스터.
  24. 제 23 항에 있어서,
    상기 하나 이상의 콘트롤러는,
    루트 콤플렉스(root complex)로서의 역할을 하는 상기 마진 테스터로써 상기 DUT와 단일-레인 또는 멀티-레인 고속 I/O 링크를 구축하도록 더 구성되는, 마진 테스터.
  25. 제 23 항에 있어서,
    상기 하나 이상의 콘트롤러는,
    종단점으로서의 역할을 하는 상기 마진 테스터로써 상기 DUT와 단일-레인 또는 멀티-레인 고속 I/O 링크를 구축하도록 더 구성되는, 마진 테스터.
KR1020210149972A 2020-11-09 2021-11-03 고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스 KR20220063091A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063111533P 2020-11-09 2020-11-09
US63/111,533 2020-11-09
US17/470,424 US11940483B2 (en) 2019-01-31 2021-09-09 Systems, methods and devices for high-speed input/output margin testing
US17/470,424 2021-09-09

Publications (1)

Publication Number Publication Date
KR20220063091A true KR20220063091A (ko) 2022-05-17

Family

ID=81256175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210149972A KR20220063091A (ko) 2020-11-09 2021-11-03 고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스

Country Status (5)

Country Link
JP (1) JP2022076479A (ko)
KR (1) KR20220063091A (ko)
CN (1) CN114460434A (ko)
DE (1) DE102021128363A1 (ko)
TW (1) TW202225714A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115525495A (zh) * 2022-10-21 2022-12-27 中科可控信息产业有限公司 一种高速串行总线的余量测试方法、装置、设备及介质
CN116048897B (zh) * 2022-12-30 2024-04-02 成都电科星拓科技有限公司 一种高速串行信号接收端压力眼图构造和测试方法及系统
EP4415324A1 (en) * 2023-02-10 2024-08-14 Rohde & Schwarz GmbH & Co. KG Automated compliance testing of a dut with communication interfaces

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US778249A (en) 1904-04-27 1904-12-27 Gen Electric Centrifugal governor.

Also Published As

Publication number Publication date
DE102021128363A1 (de) 2022-05-12
JP2022076479A (ja) 2022-05-19
TW202225714A (zh) 2022-07-01
CN114460434A (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
US12117486B2 (en) Systems, methods and devices for high-speed input/output margin testing
US12055584B2 (en) Systems, methods, and devices for high-speed input/output margin testing
US11940483B2 (en) Systems, methods and devices for high-speed input/output margin testing
KR20220063091A (ko) 고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스
CN109766232B (zh) 一种PCIe压力眼图测试校准方法
US20020089335A1 (en) Integrated time domain reflectometry (TDR) tester
KR20020026841A (ko) 고속 ic 테스트 인터페이스 방법과 장치
JPWO2020160477A5 (ko)
CN116775389A (zh) 测试装置、信号眼图校准系统及方法
JP2004061487A (ja) 高速データ出力素子のジッタ測定装置及びトータルジッタ測定方法
US20090164854A1 (en) System And Method For Measuring And Depicting Performance Of A Serial Communications Link
Ungar et al. Creating Reusable Manufacturing Tests for High-Speed I/O with Synthetic Instruments
Kulp Testing and characterizing jitter in 100BASE-TX and 155.52 Mbit/s ATM devices with a 1 Gsamples/s AWG in an ATE system
Nelson Challenges extend from simulation to compliance.
Lee External loopback testing on high speed serial interface
Damle et al. Generic system for characterization of BER and JTOL of high speed serial links
Lee et al. Method for Diagnosing Channel Damage Using FPGA Transceiver
Hosman High-speed bus debug and validation test challenges
Napier Validating and characterizing high speed datacom devices
Aaberge et al. Meeting the test challenges of the 1 Gbps parallel RapidIO/spl reg/interface with new automatic test equipment capabilities
Hockett PAM4, PCIE, JITTER LIMITS MOVE THE NEEDLE IN HIGH-SPEED DIGITAL.
Jain et al. Testing beyond EPA: TDF methodology solutions matrix
Raval Platform readiness test plan

Legal Events

Date Code Title Description
A201 Request for examination