KR101265116B1 - Integrated circuit with self-test feature for validating functionality of external interfaces - Google Patents
Integrated circuit with self-test feature for validating functionality of external interfaces Download PDFInfo
- Publication number
- KR101265116B1 KR101265116B1 KR1020107000661A KR20107000661A KR101265116B1 KR 101265116 B1 KR101265116 B1 KR 101265116B1 KR 1020107000661 A KR1020107000661 A KR 1020107000661A KR 20107000661 A KR20107000661 A KR 20107000661A KR 101265116 B1 KR101265116 B1 KR 101265116B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- logic circuit
- test
- processor
- integrated circuit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3187—Built-in tests
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/302—Contactless testing
- G01R31/305—Contactless testing using electron beams
- G01R31/307—Contactless testing using electron beams of integrated circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
이 출원은 2007년 6월 14일 출원된 미국 가출원 제60/943,935호의 이익을 주장하며, 그 전체 내용은 참조로써 통합된다.This application claims the benefit of US Provisional Application No. 60 / 943,935, filed June 14, 2007, the entire contents of which are incorporated by reference.
본 개시내용은 집적 회로들에 관련되며, 보다 상세하게는 집적 회로용 외부 인터페이스들의 기능성과 타이밍을 검증하기 위한 기술들에 관련된다.The present disclosure relates to integrated circuits, and more particularly to techniques for verifying the functionality and timing of external interfaces for integrated circuits.
집적 회로(integrated circuit, IC) 디바이스들은 반도체 기판에 구현된 많은 소형화된 회로들을 포함할 수 있다. IC 디바이스들은 판매되고 상업적으로 사용되기 전에 적절한 동작을 보장하기 위하여 제조 후 테스트 된다. 통상 IC 디바이스의 철저한 테스트가 복잡하고 고가의 외부 테스트 장비를 이용하여 수행된다. IC 디바이스를 테스트하기 위하여, IC 디바이스는 테스트 장비 상에 탑재된다. 특히, IC 디바이스는 코어 로직을 입/출력(I/O) 핀들에 상호접속시키는 패드 링(pad ring)을 통해 테스트 장비에 접속된다. IC 디바이스를 테스트하기 위하여, 테스트 장비는 I/O 핀들을 통해 IC 디바이스로 테스트를 정의하는 테스트 데이터를 전달하고 테스트 프로그램에 의해 정의된 테스트에 따라 IC 디바이스로부터 응답 신호들을 획득한다.Integrated circuit (IC) devices may include many miniaturized circuits implemented in a semiconductor substrate. IC devices are tested after manufacture to ensure proper operation before they are sold and used commercially. Thorough testing of IC devices is typically performed using complex and expensive external test equipment. To test the IC device, the IC device is mounted on test equipment. In particular, the IC device is connected to the test equipment through a pad ring that interconnects the core logic to the input / output (I / O) pins. To test the IC device, the test equipment passes test data defining the test to the IC device through the I / O pins and obtains response signals from the IC device according to the test defined by the test program.
IC 디바이스를 테스트하는 것은 IC 디바이스의 내부 인터페이스들과 외부 인터페이스들에 대한 기능성 및 타이밍을 검증하는 것을 필요로 한다. 외부 인터페이스들의 예시로는 메모리 인터페이스들 및 주변 컴포넌트 상호접속(peripheral component interconnect, PCI) 버스, 향상된 고성능 버스(advanced high-performance bus, AHB), 향상된 익스텐서블 인터페이스(advance extensible interface, AXI) 인터페이스 버스, 소형 컴퓨터 시스템 인터페이스(small computer system interface, SCSI) 버스, 이더넷(Ethernet) 버스, 범용 직렬 버스(USB), 향상된 그래픽 프로세서(advanced graphics processor, AGP) 버스, 직렬 ATA(serial advanced technology attachment, SATA) 버스, 및 고 주파수에서 동작하는 다른 외부 인터페이스들과 같은 버스 인터페이스들이 포함된다. 외부 인터페이스들의 기능성 및 타이밍을 검증하는 것은 테스트 프로그램을 개발하고 시뮬레이션을 구동함에 의해 테스트 하의 외부 인터페이스를 위한 추적 파일들을 생성하기 위하여 호스트 컴퓨터를 이용하는 것을 포함한다. 테스트 벡터들, 벡터들, 또는 테스트 데이터라고도 불리는 추적 파일들이 준비되면, 상기 테스트 데이터가 테스트 장비 상에 로드(load)된다. 테스트 장비는 테스트 데이터에 따라 IC 디바이스로 테스트 신호들을 제공하고 I/O 핀들을 통해 IC 디바이스로부터 응답 신호들을 획득한다.Testing the IC device requires verifying the functionality and timing of the internal and external interfaces of the IC device. Examples of external interfaces include memory interfaces and peripheral component interconnect (PCI) buses, advanced high-performance buses (AHBs), enhanced extensible interface (AXI) interface buses. , Small computer system interface (SCSI) bus, Ethernet bus, Universal Serial Bus (USB), Advanced Graphics Processor (AGP) bus, Serial Serial Advanced Technology Attachment (ATA) Bus interfaces such as a bus and other external interfaces operating at high frequencies are included. Verifying the functionality and timing of the external interfaces includes using the host computer to generate trace files for the external interface under test by developing a test program and running a simulation. When trace files, also called test vectors, vectors, or test data, are prepared, the test data is loaded onto test equipment. The test equipment provides test signals to the IC device in accordance with the test data and obtains response signals from the IC device through the I / O pins.
테스트 동안에, IC 디바이스의 동작이 송신 및 수신 모드들 모두에서 테스트된다. 송신 모드 또는 수신 모드에서, 테스트 장비는 테스트 데이터에 따라 신호 변환(transition)들을 제공하며 IC 디바이스는 대응하는 응답 신호들을 생성한다. 다음, 테스트 장비는 테스트 데이터에 따라 상기 응답들을 검증한다. 테스트들이 완료되면, 테스트 장비, 또는 더 구체적으로는, 호스트 컴퓨터가 응답 신호들을 해석한다. 호스트 컴퓨터는 송신 및 수신 모드들에서 IC 디바이스에 의해 생성된 응답 신호들을 시뮬레이트된 결과들과 비교함으로써 결과치들을 해석한다. 호스트 컴퓨터는 상기 비교에 기초하여 IC 디바이스가 테스트를 통과하였는지 여부를 표시하는 리포트를 생성한다.During the test, the operation of the IC device is tested in both transmit and receive modes. In either the transmit mode or the receive mode, the test equipment provides signal transitions in accordance with the test data and the IC device generates corresponding response signals. The test rig then verifies the responses according to the test data. Once the tests are completed, the test equipment, or more specifically, the host computer interprets the response signals. The host computer interprets the results by comparing the response signals generated by the IC device in the transmit and receive modes with the simulated results. The host computer generates a report indicating whether the IC device passed the test based on the comparison.
또한, 각 테스트 벡터에 대하여, IC 디바이스는 다양한 동작 조건들, 예를들어 온도, 전압 변화들, 및 프로세스 코너(corner)들에 대하여 테스트될 수 있다. 또한, 테스트 장비가 외부 인터페이스의 최대 동작 주파수에서 또는 그 이상에서 신호를 생성하는 것이 요구될 수 있다. IC 디바이스들의 복잡성과 클록 주파수가 증가함에 따라, 테스트 장비 채널들이 동작하는 주파수도 또한 IC 디바이스를 신뢰성있게 테스트하기 위하여 증가되어야 할 필요가 있다. 예를들어, 고속 메모리 디바이스들의 클록 주파수가 거의 매년 마다 증가하기 때문에, 테스트 장비는 이들 디바이스들을 높은 동작 주파수들로 테스트하기 위하여 업그레이드되고, 수정되고, 또한 교체가 되기도하여야 한다. 달리 말하면, IC 디바이스들은 낮은 주파수들에서 동작하는 테스트 디바이스들 용으로 제조되었던 구식 테스트 장비를 이용해서는 IC 디바이스들의 최대 클록 주파수에서 테스트될 수 없다. 따라서, 클록 주파수의 각 향상(advance)에 따라 테스트 장비가 업그레이드되거나 구매되어야 하고 새로운 테스트 프로그램들이 개발되어야 하며, 이에 의해 새로운 IC 디바이스들의 가격을 증가시킨다.In addition, for each test vector, the IC device can be tested for various operating conditions, such as temperature, voltage changes, and process corners. It may also be required for the test equipment to generate a signal at or above the maximum operating frequency of the external interface. As the complexity and clock frequency of IC devices increase, the frequency at which test equipment channels operate also needs to be increased to reliably test the IC device. For example, because the clock frequency of high speed memory devices increases almost every year, test equipment must be upgraded, modified, and even replaced to test these devices at high operating frequencies. In other words, IC devices cannot be tested at the maximum clock frequency of IC devices using old test equipment that was manufactured for test devices operating at low frequencies. Thus, with each improvement in clock frequency, test equipment must be upgraded or purchased and new test programs must be developed, thereby increasing the cost of new IC devices.
본 개시내용은 고 주파수 외부 인터페이스들의 기능성을 검증하기 위한 자체-테스트 특징들을 갖는 집적 회로에 대해 설명하고 있다. 예시적인 외부 인터페이스들은 메모리 인터페이스들 및 주변 컴포넌트 상호접속(peripheral component interconnect, PCI), 향상된 고성능 버스(advanced high-performance bus, AHB), 향상된 익스텐서블 인터페이스(advance extensible interface, AXI) 버스, 및 예를들어 200㎒ 이상의 고 주파수에서 동작하는 다른 외부 인터페이스들과 같은 버스 인터페이스들이 포함된다. 테스트 로직은 집적 회로 상에 내장될 수 있으며 외부 인터페이스들의 기능성을 검증하도록 구성될 수 있다. 예를들어, 테스트 로직은 외부 테스트 장비로부터 전력과 비-테스트 신호들을 수신하면서 외부 인터페이스 기능성을 검증하도록 구성될 수 있다. 따라서, 외부 테스트 장비는 집적 회로에 고 주파수 테스트 신호들을 제공하지 않을 수 있다. This disclosure describes an integrated circuit with self-test features for verifying the functionality of high frequency external interfaces. Exemplary external interfaces include memory interfaces and peripheral component interconnect (PCI), an advanced high-performance bus (AHB), an enhanced extensible interface (AXI) bus, and examples Bus interfaces such as, for example, other external interfaces operating at high frequencies above 200 MHz are included. The test logic may be embedded on the integrated circuit and may be configured to verify the functionality of the external interfaces. For example, the test logic may be configured to verify external interface functionality while receiving power and non-test signals from external test equipment. Thus, external test equipment may not provide high frequency test signals to the integrated circuit.
외부 인터페이스의 기능성을 검증하는 것은 일반적으로 외부 인터페이스들을 통해 송신된 트랜잭션(transaction)들을 상기 트랜잭션들과 관련된 데이터에 기초해서 또는 상기 트랜잭션들이 대응하는 프로토콜과 일치하는지 여부에 기초해서 검증하는 것을 의미한다. 외부 테스트 장비는, 전력과 핵심 신호들을 집적회로에 공급하는 것뿐만 아니라 집적 회로의 핀 인터페이스의 기능성을 독립적으로 검증하는데 이용된다. 이러한 방식으로, 집적 회로의 온-칩, 자체 테스트 특징들이 테스트 장비가 고주파수 테스트 신호들을 제공해야되는 필요성을 실질적으로 제거하며, 그 결과, 외부 인터페이스들의 타이밍과 기능성을 검증하는데 요구되는 비용과 시간을 감소시킬 수 있다. Verifying the functionality of an external interface generally means verifying transactions sent over the external interfaces based on data associated with the transactions or whether the transactions match a corresponding protocol. External test equipment is used to independently verify the functionality of the pin interface of the integrated circuit, as well as supply power and key signals to the integrated circuit. In this way, the on-chip, self-test features of the integrated circuit substantially eliminate the need for the test equipment to provide high frequency test signals, resulting in the cost and time required to verify the timing and functionality of the external interfaces. Can be reduced.
일 양상에서, 집적 회로는 송신 모드 및 수신 모드 중 하나에서의 동작을 개시하기 위하여 테스트 프로그램의 명령들을 실행하는 프로세서, 상기 테스트 프로그램에 따라 하나 이상의 외부 디바이스들과 상기 프로세서와 통신하기 위하여 트랜잭션들을 생성하는 코어 로직 회로 ― 상기 프로세서는 상기 테스트 프로그램에 따라 상기 코어 로직과 통신하기 위한 트랜잭션들을 생성함 ― , 및 상기 트랜잭션들 중 하나 이상을 검증하고 상기 하나 이상의 트랜잭션들이 유효한지 여부를 표시하는 상태 신호를 출력하는 테스트 로직을 포함한다.In one aspect, an integrated circuit includes a processor that executes instructions of a test program to initiate operation in one of a transmit mode and a receive mode, and generate transactions to communicate with the processor with one or more external devices in accordance with the test program. A core logic circuit, the processor generating transactions for communicating with the core logic in accordance with the test program, and verifying one or more of the transactions and indicating a status signal indicating whether the one or more transactions are valid. Contains test logic to output.
다른 양상에서, 방법은 송신 모드 및 수신 모드 중 하나에서 동작을 개시하도록 집적 회로 상의 프로세서 내의 테스트 프로그램의 명령들을 실행하는 단계, 상기 테스트 프로그램에 따라 상기 집적 회로 상의 코어 로직과 통신하기 위하여 상기 프로세서에서 트랜잭션들을 생성하는 단계, 상기 테스트 프로그램에 따라 하나 이상의 외부 디바이스들 및 상기 프로세서와 통신하기 위하여 상기 코어 로직에서 트랜잭션들을 생성하는 단계, 상기 집적 회로 상의 테스트 로직을 통하여 상기 트랜잭션들의 하나 이상을 검증하는 단계, 및 상기 하나 이상의 트랜잭션들이 유효한지 여부를 표시하는 상태 신호를 상기 테스트 로직에서 생성하는 단계를 포함한다.In another aspect, a method includes executing instructions of a test program in a processor on an integrated circuit to initiate operation in one of a transmit mode and a receive mode, at the processor to communicate with core logic on the integrated circuit in accordance with the test program. Generating transactions, generating transactions in the core logic to communicate with one or more external devices and the processor in accordance with the test program, and verifying one or more of the transactions through test logic on the integrated circuit. And generating a status signal in the test logic indicating whether the one or more transactions are valid.
다른 양상에서, 집적 회로는 송신 모드 및 수신 모드 중 하나에서 동작을 개시하도록 집적 회로 상의 테스트 프로그램의 명령들을 실행하기 위한 수단, 상기 테스트 프로그램에 따라 상기 집적 회로 상의 코어 로직과 통신하기 위하여 상기 프로세서에서 트랜잭션들을 생성하기 위한 수단, 상기 테스트 프로그램에 따라 하나 이상의 외부 디바이스들 및 상기 프로세서와 통신하기 위하여 상기 코어 로직에서 트랜잭션들을 생성하기 위한 수단, 상기 집적 회로 상의 테스트 로직을 통하여 상기 트랜잭션들의 하나 이상을 검증하기 위한 수단, 및 상기 하나 이상의 트랜잭션들이 유효한지 여부를 표시하는 상태 신호를 생성하기 위한 수단을 포함한다.In another aspect, an integrated circuit includes means for executing instructions of a test program on an integrated circuit to initiate operation in one of a transmit mode and a receive mode, at the processor to communicate with core logic on the integrated circuit in accordance with the test program. Means for generating transactions, means for generating transactions in the core logic to communicate with one or more external devices in accordance with the test program, and verifying one or more of the transactions through test logic on the integrated circuit. Means for generating, and means for generating a status signal indicating whether the one or more transactions are valid.
다른 양상에서, 컴퓨터 프로그램 물건이 컴퓨터 판독가능 매체를 포함하고, 상기 컴퓨터 판독가능 매체는 상기 컴퓨터 판독가능 매체 상에 저장된 명령들을 갖는다. 상기 명령들은 송신 모드 및 수신 모드 중 하나에서 동작을 개시하도록 집적 회로 상의 테스트 프로그램의 명령들을 실행하기 위한 코드, 상기 테스트 프로그램에 따라 상기 집적 회로 상의 코어 로직과 통신하기 위하여 상기 프로세서에서 트랜잭션들을 생성하기 위한 코드, 상기 테스트 프로그램에 따라 하나 이상의 외부 디바이스들 및 상기 프로세서와 통신하기 위하여 상기 코어 로직에서 트랜잭션들을 생성하기 위한 코드, 상기 집적 회로 상의 테스트 로직을 통하여 상기 트랜잭션들의 하나 이상을 검증하기 위한 코드, 및 상기 하나 이상의 트랜잭션들이 유효한지 여부를 표시하는 상태 신호를 생성하기 위한 코드를 포함한다.In another aspect, a computer program product includes a computer readable medium, the computer readable medium having instructions stored on the computer readable medium. The instructions are code for executing instructions of a test program on an integrated circuit to initiate operation in one of a transmit mode and a receive mode, generating transactions in the processor to communicate with core logic on the integrated circuit in accordance with the test program. Code for generating code in the core logic to communicate with one or more external devices and the processor in accordance with the test program, code for verifying one or more of the transactions through test logic on the integrated circuit, And code for generating a status signal indicating whether the one or more transactions are valid.
다른 양상에서, 시스템이 집적 회로 및 상기 집적 회로에 전력과 클록 신호를 공급하는 테스트 장비를 포함한다. 상기 집적 회로는 송신 모드 및 수신 모드 중 하나에서의 동작을 개시하기 위하여 테스트 프로그램의 명령들을 실행하는 프로세서, 상기 테스트 프로그램에 따라 하나 이상의 외부 디바이스들과 상기 프로세서와 통신하기 위하여 트랜잭션들을 생성하는 코어 로직 회로 ― 상기 프로세서는 상기 테스트 프로그램에 따라 상기 코어 로직과 통신하기 위한 트랜잭션들을 생성함 ― , 및 상기 트랜잭션들 중 하나 이상을 검증하고 상기 하나 이상의 트랜잭션들이 유효한지 여부를 표시하는 상태 신호를 출력하는 테스트 로직을 포함한다.In another aspect, a system includes an integrated circuit and test equipment for supplying power and clock signals to the integrated circuit. The integrated circuit includes a processor that executes instructions of a test program to initiate operation in one of a transmit mode and a receive mode, core logic that generates transactions to communicate with the processor with one or more external devices in accordance with the test program. Circuitry, wherein the processor generates transactions for communicating with the core logic in accordance with the test program, and a test that verifies one or more of the transactions and outputs a status signal indicating whether the one or more transactions are valid Contains logic.
본 개시내용에서 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수 있다. 소프트웨어에서 구현되는 경우에, 소프트웨어는, 마이크로프로세서, 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA), 또는 디지털 신호 처리기(DSP)와 같은 하나 이상의 프로세서들에서 실행될 수 있다. 상기 기술들을 실행하는 소프트웨어는 컴퓨터 판독가능 매체에 초기에 저장되고 프로세서에 로딩 및 실행될 수 있다. 따라서, 본 개시내용은 실행시 디바이스가 본 개시내용에서 설명된 바와 같은 기술들을 수행하도록 야기하는 명령들을 포함하는 컴퓨터 판독가능 매체를 또한 고려한다. 일부 경우들에서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물건의 일부를 형성할 수 있다.The techniques described in this disclosure may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the software may be executed in one or more processors, such as a microprocessor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), or digital signal processor (DSP). Software implementing the techniques may be initially stored on a computer readable medium and loaded and executed on a processor. Thus, the present disclosure also contemplates computer readable media comprising instructions that, when executed, cause a device to perform techniques as described in this disclosure. In some cases, the computer readable medium may form part of a computer program product including the computer readable medium.
본 개시내용의 하나 이상의 양상들은 이하의 상세한 설명과 첨부된 도면에서 제시된다. 본 개시내용의 다른 특징, 목적들, 및 이점들은 상세한 설명 및 도면과, 청구범위로부터 명확해질 것이다.One or more aspects of the disclosure are set forth in the following description and the annexed drawings. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
도1은 자체 테스트 특징들을 갖는 집적 회로와 집적 회로를 테스트하기 위한 외부 테스트 장비를 나타내는 블록도이다.
도2는 도1의 집적 회로를 보다 상세히 나타내는 블록도이다.
도3은 도2의 집적 회로의 예시적인 컴포넌트들을 보다 상세히 나타내는 블록도이다.
도4 및 도5는 도2의 집적 회로에 의해 수행될 수 있는 예시적인 자체 테스트 기술들을 나타내는 흐름도이다.1 is a block diagram illustrating an integrated circuit with self test features and external test equipment for testing the integrated circuit.
FIG. 2 is a block diagram illustrating the integrated circuit of FIG. 1 in more detail.
3 is a block diagram illustrating exemplary components of the integrated circuit of FIG. 2 in more detail.
4 and 5 are flow diagrams illustrating exemplary self test techniques that may be performed by the integrated circuit of FIG.
집적 회로들은 판매와 상업적 사용 전에 적절한 동작을 보장하기 위하여 제조 후 테스트된다. 집적 회로를 테스트하는 것은 외부 디바이스들과 통신하는데 사용된 외부 인터페이스들의 기능성을 검증하는 것을 포함할 수 있다. 일반적으로, 호스트 컴퓨터가 테스트 프로그램을 개발하고 외부 인터페이스들을 위한 추적(trace) 파일들을 생성하기 위해 시뮬레이션을 구동시키는데 이용된다. 본 개시내용에서 테스트 벡터들, 벡터들, 또는 테스트 데이터로도 언급되는 추적 파일들이 생성되면, 테스트 데이터에 따라 집적 회로로 신호들을 공급하는 테스트 장비 상으로 추적 파일들이 로딩된다. Integrated circuits are tested after manufacture to ensure proper operation prior to sales and commercial use. Testing the integrated circuit can include verifying the functionality of the external interfaces used to communicate with the external devices. In general, a host computer is used to run a simulation to develop a test program and generate trace files for external interfaces. When trace files, also referred to as test vectors, vectors, or test data in the present disclosure, are generated, the trace files are loaded onto test equipment that supplies signals to the integrated circuit in accordance with the test data.
이러한 방식으로 집적 회로를 테스트하는 것은 집적 회로의 외부 인터페이스들의 복잡한 기능성을 커버하는데 다수의 테스트 벡터들을 필요로 하므로 시간 소모적일 수 있다. 또한, 외부 인터페이스의 타이밍을 검증하기 위해 높은 주파수의 집적 회로 동작을 테스트 장비가 지원해야 하기 때문에 테스트 장비가 고가가 될 수 있다. 집적 회로들의 복잡성과 클록 주파수는 빈번하게 증가되기 때문에, 외부 테스트 장비의 성능은 새로운 집적 회로들을 테스트하는데 제한 요인이 될 수 있다. 즉, 낮은 주파수에서 동작하는 집적 회로를 테스트하기 위해 제조되었던 구식 테스트 장비는 새로운 집적 회로들을 이들의 높은 동작 주파수들에서 테스트하는데 이용될 수 없다. 더 높은 주파수들에서 집적 회로들을 테스트할 수 있는 새로운 외부 테스트 장비를 획득하는 것은 가격이 많이 들고 추가적인 시간이 요구될 수 있다.Testing an integrated circuit in this manner can be time consuming because it requires multiple test vectors to cover the complex functionality of the external interfaces of the integrated circuit. In addition, test equipment can be expensive because the test equipment must support high frequency integrated circuit operation to verify the timing of the external interface. Because the complexity and clock frequency of integrated circuits increases frequently, the performance of external test equipment can be a limiting factor in testing new integrated circuits. That is, old test equipment that was manufactured to test integrated circuits operating at low frequencies cannot be used to test new integrated circuits at their high operating frequencies. Acquiring new external test equipment that can test integrated circuits at higher frequencies can be expensive and require additional time.
본 개시내용은 고주파수 외부 인터페이스들의 기능성을 검증하기 위한 자체 테스트 특징들을 갖는 집적 회로를 설명하고 있다. 외부 인터페이스들의 예에는 메모리 인터페이스들 및 주변 컴포넌트 상호접속(peripheral component interconnect, PCI) 버스, 향상된 고성능 버스(advanced high-performance bus, AHB), 향상된 익스텐서블 인터페이스(advance extensible interface, AXI) 인터페이스 버스, 소형 컴퓨터 시스템 인터페이스(small computer system interface, SCSI) 버스, 이더넷(Ethernet) 버스, 범용 직렬 버스(USB), 향상된 그래픽 프로세서(advanced graphics processor, AGP) 버스, 직렬 ATA(serial advanced technology attachment, SATA) 버스, 및 고 주파수, 예를들어 200㎒ 이상에서 동작하는 다른 외부 인터페이스들과 같은 버스 인터페이스들이 포함된다. 본 개시내용의 다양한 양상들에 따르면, 테스트 로직이 집적 회로 상에 내장되고 외부 인터페이스들의 기능성을 검증하도록 구성될 수 있다. 일부 양상들에서, 테스트 로직은 외부 테스트 장비로부터 전력 및 비 테스트 신호들을 수신하면서 외부 인터페이스 기능성을 테스트하도록 구성될 수 있다. 따라서, 외부 테스트 장비는 집적 회로에 고주파수 테스트 신호들을 제공하지 않을 수 있다.The present disclosure describes an integrated circuit with self test features for verifying the functionality of high frequency external interfaces. Examples of external interfaces include memory interfaces and peripheral component interconnect (PCI) buses, enhanced high-performance buses (AHBs), enhanced extensible interface (AXI) interface buses, Small computer system interface (SCSI) bus, Ethernet bus, Universal Serial Bus (USB), Advanced Graphics Processor (AGP) bus, Serial Serial Technology Attachment (ATA) bus And bus interfaces such as, and other external interfaces operating at high frequencies, for example 200 MHz or more. According to various aspects of the present disclosure, test logic may be embedded on an integrated circuit and configured to verify the functionality of external interfaces. In some aspects, the test logic may be configured to test external interface functionality while receiving power and non test signals from external test equipment. Thus, external test equipment may not provide high frequency test signals to the integrated circuit.
외부 인터페이스의 기능성을 검증하는 것은 외부 인터페이스들을 통해 송신된 트랜잭션들을 상기 트랜잭션들과 관련된 데이터에 기초해서 또는 상기 트랜잭션들이 대응하는 프로토콜과 일치하는지 여부에 기초해서 검증하는 것을 의미한다. 외부 테스트 장비가 전력과 비 테스트 신호들, 즉 집적 회로의 동작에 핵심적인 신호들을 집적회로에 공급하고 집적 회로의 핀 인터페이스의 기능성을 독립적으로 검증하는데 이용된다. 이러한 방식으로, 집적 회로의 온-칩, 자체 테스트 특징들이 테스트 장비가 고주파수 테스트 신호들을 제공해야되는 필요성을 실질적으로 제거하며, 그 결과, 외부 인터페이스들의 타이밍과 기능성을 검증하는데 요구되는 비용과 시간을 감소시킬 수 있다. Verifying the functionality of the external interface means verifying transactions sent over the external interfaces based on data associated with the transactions or based on whether the transactions match a corresponding protocol. External test equipment is used to supply power and non-test signals, i.e., signals critical to the operation of the integrated circuit, to the integrated circuit and to independently verify the functionality of the integrated circuit's pin interface. In this way, the on-chip, self-test features of the integrated circuit substantially eliminate the need for the test equipment to provide high frequency test signals, resulting in the cost and time required to verify the timing and functionality of the external interfaces. Can be reduced.
도1은 집적 회로(12)의 고주파수 외부 인터페이스들의 기능성을 검증하기 위한 시스템(10)을 도시하는 블록도이다. 도1에 도시된 바와 같이, 시스템(10)은 집적 회로(12)와 테스트 장비(22)를 포함한다. 일반적으로, 집적 회로(12)는 고주파수 외부 인터페이스들의 기능성을 검증하기 위해 테스트 장비(22)가 고주파수 테스트 신호들을 제공해야하는 필요성을 실질적으로 제거하는 자체 테스트 특징들을 갖는다. 결과적으로, 테스트 장비(22)는 전력과 비 테스트 신호들, 즉 동작을 위한 핵심적인 신호들을 테스트 프로세스 동안에 집적 회로(12)에 제공하는 비교적 저가의 테스트 장비일 수 있다.1 is a block diagram illustrating a
집적 회로(12)는 실리콘 칩과 같은 반도에 기판에 구현된 하나 이상의 소형화된 회로들을 포함할 수 있다. 일반적으로, 집적 회로(12)는 하나 이상의 인터페이스들을 통해 외부 디바이스들(미도시)과 통신하는 주문형 집적 회로(ASIC) 또는 범용 집적 회로일 수 있다. 예를들어, 집적 회로(12)는 개인용 컴퓨터, 랩톱 컴퓨터, 개인 휴대 정보 단말기(PDA), 울트라 모바일 개인용 컴퓨터(UMPC), 이동 전화 핸드셋, 네트워킹 디바이스, 또는 다른 전자 디바이스에서 사용되도록 구성될 수 있다. 집적 회로(12)는 시스템 메모리, 디스크 드라이브, 키보드, 모니터 또는 디스플레이, 마우스, 프린터, 스캐너, 외부 저장 디바이스, 및 다른 외부 입/출력(I/O) 디바이스들과 같은 외부 디바이스들과 하나 이상의 외부 인터페이스들을 통하여 통신하도록 구성될 수 있다. 따라서, 집적 회로(12)가 적어도 하나의 외부 디바이스, 즉, 반도체 기판에서 떨어져 위치하는 전기적 컴포넌트와 통신하도록 구성된 임의의 집적 회로임이 이해되어야 한다.Integrated
도1에서, 집적 회로(12)는 프로세서(14), 코어 로직 회로(16), 테스트 로직 회로(18), 및 핀 인터페이스(20)를 포함하고, 테스트 장비(22) 상에 탑재된다. 프로세서(14)는 로컬 메모리 내에 저장된 컴퓨터 프로그램 명령들을 실행하고 저장된 명령들에 의해 지시된 대로 데이터를 처리하는 프로그램가능 프로세서이다. 예를들어, 프로세서(14)는 마이크로프로세서, 마이크로콘트롤러, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA), 이산 로직 회로, 또는 이러한 컴포넌트들의 조합일 수 있다.In FIG. 1, integrated
프로세서(14)는 일반적으로 송신 모드 또는 수신 모드에서 동작한다. 일 실시예에서, 프로세서(14)는 외부 디바이스(미도시)에 데이터를 기록하고 외부 디바이스로부터 데이터를 수신하기 위해서 송신 및 수신 모드로 동작한다. 다른 실시예들에서, 프로세서(14)는 외부 디바이스에 데이터를 기록하거나 외부 디바이스로부터 데이터를 판독하지 않고 송신 및 수신 모드로 동작할 수 있다. 송신 모드 및 수신 모드에서 생성된 트랜잭션들은 본 개시내용에서 기록 트랜잭션들 및 판독 트랜잭션들로 각각 불릴 것이다. 송신 모드에서 동작할 때, 프로세서(14)는 요청 트랜잭션들로도 불리는 기록 트랜잭션들을 생성하며, 상기 요청 트랜잭션들은 코어 로직 회로(16)로 전송된다. 예로서, 요청 트랜잭션은 외부 디바이스를 식별하고 외부 디바이스에 기록되어야 할 데이터를 포함한다.The
프로세서(14)는 수신 모드에서 동작할 때 유사한 방식으로 동작한다. 즉, 프로세서(14)는 판독 트랜잭션들 생성하고 상기 판독 트랜잭션들을 코어 로직 회로(16)로 전송한다. 어느 경우든, 즉, 송신 또는 수신 모드로 동작할 때, 프로세서(14)는 코어 로직 회로(16)에 할당된 프로토콜에 따라 요청 트랜잭션을 생성한다. 보다 상세히 설명되는 바와 같이, 코어 로직 회로(16)는 상이한 프로토콜들에 따라 통신하는 상이한 블록들을 포함할 수 있다. 따라서, 프로세서(14)는 코어 로직 회로(16)의 대응하는 블록들에 대한 프로토콜들에 따라 트랜잭션들을 생성한다.
코어 로직 회로(16)는 프로세서(14)와 하나 이상의 외부 디바이스들(미도시) 간에 데이터 송신을 위한 외부 인터페이스를 제공한다. 특히, 코어 로직 회로(16)는 대응 외부 인터페이스와 관련된 프로토콜에 따라 트랜잭션들을 생성하고 프로세서(14) 및 외부 디바이스들 사이에서 트랜잭션들을 라우팅함에 의해 프로세서(14)와 외부 디바이스들 간의 통신을 관리한다. 예를 들어, 송신 모드에서 동작할 때, 코어 로직 회로(16)는 기록 트랜잭션들을 생성하고 프로세서(14)로부터 수신된 기록(요청) 트랜잭션에 따라 상기 기록 트랜잭션을 적절한 외부 디바이스로 라우팅한다. 일부 경우들에서, 코어 로직 회로(16)는 기록 트랜잭션을 확인하기 위하여 프로세서(14)로 응답 메시지를 전송한다. 코어 로직 회로(16)는 외부 디바이스에 송신된 대응하는 기록 트랜잭션에 응답하여 외부 디바이스로부터 메시지를 또한 수신할 수 있다. 코어 로직이 외부 디바이스로부터 메시지를 수신하는 경우에, 코어 로직 회로(16)는 상기 메시지를 처리하고 적절한 응답을 프로세서(14)로 송신한다.The
유사하게, 수신 모드에서 동작하는 경우에, 코어 로직 회로(16)는 프로세서(14)로부터 수신된 판독(요청) 트랜잭션들을 처리하고 대응하는 판독 트랜잭션들을 생성하며 코어 로직 회로(16)는 상기 대응하는 판독 트랜잭션들을 적절한 외부 인터페이스 디바이스로 전송한다. 코어 로직 회로(16)는 외부 디바이스와 관련된 프로토콜에 따라 판독 트랜잭션들을 생성한다. 판독 트랜잭션에 응답하여, 코어 로직 회로(16)는 외부 디바이스로부터 메시지를 수신한다. 코어 로직 회로(16)는 메시지를 처리하고 대응하는 메시지를 프로세서(14)로 전송한다. 코어 로직 회로(16)는 메시지를 처리하고 프로세서(14)로부터 수신된 판독 트랜잭션에 응답하여 프로세서(14)로 메시지를 또한 전송할 수 있다.Similarly, when operating in receive mode,
코어 로직 회로(16)와 하나 이상의 외부 디바이스들은 단일 버스 또는 버스들의 집단(collection)을 통해 통신할 수 있다. 각 버스는 코어 로직 회로(16)를 하나 이상의 외부 디바이스들에 접속시킬 수 있고 특정 프로토콜, 타이밍 및 대역폭 성능에 따라 동작하는 상이한 구조(architecture)를 가질 수 있다. 집적 회로(12)를 외부 디바이스들에 상호접속시키는데 이용될 수 있는 예시적인 버스 구조들에는, 산업 표준 구조(Industry Standard Architecture, ISA) 버스, 향상된 ISA(Enhanced ISA, EISA) 버스, 주변 컴포넌트 상호접속(Peripheral Component Interconnect, PCI) 버스, AGP(Advance Graphics Processor) 버스, 범용 직렬 버스(universal serial bus, USB), 향상된 고성능 버스(advanced high-performance bus, AHB), 향상된 익스텐서블 인터페이스(advance extensible interface, AXI) 버스, ATA(Advanced technology Advancement) 버스, 소형 컴퓨터 시스템 인터페이스(small computer system interface, SCSI) 버스, 이더넷 버스, 범용 직렬 버스(USB), 및 직렬 ATA(serial advanced technology attachment, SATA) 버스가 포함된다. 다른 버스 구조들이 집적 회로(12)를 외부 장치들에 접속하는데 이용될 수 있다. 코어 로직 회로(16) 및 프로세서(14)는 하나 이상의 개별 버스들을 통해 통신할 수 있다. 일 실시예에서, 프론트사이드(frontside) 버스로 불리는 별도의 전용 버스가 프로세서(14)와 코어 로직 회로(16) 사이에서 트랙잭션들을 운반한다.The
일 실시예로서, 집적 회로(12)는 개인용 컴퓨터 내에서 이용될 수 있다. 이 예에서, 코어 로직 회로(16)는 고주파수 메모리 버스를 통해 중앙 처리 장치(CPU)로서 동작하는 프로세서(14)와 시스템 메모리 사이의 통신을 관리할 수 있다. 코어 로직 회로(16)는 ISA 버스를 통해 프로세서(14)와 하나 이상의 키보드, 모니터, 및 마우스 사이의 통신을 또한 관리할 수 있다. 또한, 코어 로직 회로(16)는 PCI 버스를 통해 프로세서(14)와 하나 이상의 이더넷 확장 카드, SCSI 카드, 또는 다른 PCI 카드들 사이의 통신을 관리할 수 있다. 또한, 코어 로직 회로(16)는 AGP 버스를 통해 프로세서(14)와 전용 비디오 프로세서 사이의 통신과, ATA 버스를 통해 프로세서(14)와 CD-ROM 또는 다른 하드 디스크 사이의 통신과, USB를 통해 프로세서(14)와 하나 이상의 프린터, 스캐너, 외부 대량 저장 매체, 또는 다른 USB 호환 주변 디바이스 사이의 통신을 관리할 수 있다.In one embodiment, integrated
개인용 컴퓨터 내의 동작에서, 집적 회로(12)는 메모리 모듈, 예를들어 하드 디스크 드라이브, 플래시 디스크 드라이브, 또는 소거가능 메모리 카드 내에 저장된 파일을 리트리브(retrieve)하고 모니터 상에 상기 파일을 디스플레이한다. 이 경우, 집적 회로(12)는 디스크 모듈과 통신하기 위해서 제 1 외부 인터페이스를, 시스템 메모리와 통신하기 위해서 제 2 외부 인터페이스를, 디스플레이 모니터와 통신하기 위해서 제 3 외부 인터페이스를 이용할 수 있다. 외부 인터페이스들 각각은 상이한 프로토콜에 따라 통신할 수 있다. 예를들어, 집적 회로(12)는 파일을 요청하기 위하여 디스크 모듈과 연관된 프로토콜을 초기에 따른다. 디스크 모듈이 상기 요청을 수신하는 경우, 디스크 모듈은 상기 파일을 집적회로(21)로 제공한다. 다음, 집적 회로(12)는 데이터를 저장하기 위하여 시스템 메모리 프로토콜에 부착된 시스템 메모리에 상기 파일을 기록한다. 집적 회로(12)가 모니터 상에 상기 파일을 디스플레이할 준비가 된 때, 집적 회로(12)는 시스템 메모리로부터 데이터를 판독하고 이를 디스플레이 모니터를 위한 적절한 프로토콜에 따라 디스플레이 모니터에 기록한다. 집적 회로(12)는 이들 상이한 모듈들로부터 데이터를 판독하고 이들 상이한 모듈들로 데이터를 기록하기 위해 프로토콜을 따라야 한다. 상기 프로토콜을 따르지 않는 경우, 모듈들은 정확한(correct) 데이터를 저장하거나 제공하지 않을 것이다.In operation within a personal computer, integrated
다른 예로서, 집적 회로(12)는 이동 무선전화 핸드셋과 같은 무선 통신 장치 내에 사용되도록 구성될 수 있다. 이 예에서, 집적 회로(12)는, 코어 로직 회로(16) 메모리 버스를 통해 프로세서(14)와 시스템 메모리 간의 통신을 관리하고, ISA 버스를 통해 프로세서(14)와 키패드 간의 통신을 관리하고, USB 버스를 통해 프로세서(14)와 소거가능 메모리 카드와 같은 소거가능 저장 디바이스 간의 통신을 관리하고, PCI 버스를 통해 프로세서(14)와 디스플레이 스크린 간의 통신을 관리하고, 상이한 PCI 버스를 통해 프로세서(14)와 카메라 모듈 간의 통신을 관리하는 등을 행하는 이동국 모뎀(MSM)일 수 있다. 이 예에서, 프로세서(14)는 범용 이동 통신 시스템(UMTS), 이동 통신 세계화 시스템(GSM), 코드 분할 다중 액세스(CDMA) 프로토콜, 및/또는 일반 패킷 무선 서비스(GPRS) 프로세서로서 동작할 수 있다.As another example, integrated
집적 회로(12)가 MSM 칩으로서 동작하도록 구성되는 경우에, 집적 회로(12)는 사진 촬영을 위해 카메라 모듈, 메모리 모듈, 시스템 메모리, 및 디스플레이 스크린과 인터페이싱 할 수 있다. 집적 회로(12)는 상이한 프로토콜에 따라 이들 외부 디바이스들 각각과 인터페이싱 할 수 있다. 예를들어, 집적 회로(12)는 사진을 캡처(capture)하기 위하여 카메라 모듈과 통신을 개시하기 위하여 카메라 모듈과 연관된 프로토콜을 따른다. 카메라 모듈이 사진을 캡처하면, 집적 회로(12)는 캡처된 이미지 데이터를 판독하고 상기 이미지 데이터를 시스템 메모리에 기록하기 위한 요청을 시스템 메모리에 전송한다. 프로세서(14)는 상기 이미지 데이터가 시스템 메모리에 있는 동안에 상기 이미지 데이터를 처리한다. 처리가 완료되는 경우, 집적 회로(12)는 시스템 메모리 프로토콜에 따라 시스템 메모리로부터 데이터를 판독하고 이미지를 디스플레이 스크린으로 전달한다. 사용자가 이미지를 저장할 것을 요청하면, 집적 회로(12)는 상기 이미지를 디스크 드라이브로 전달한다. 다시, 집적 회로(12)는 상이한 프로토콜에 따라 카메라 인터페이스, 시스템 메모리 인터페이스, 디스플레이 인터페이스, 플래시 카드/디스크 드라이브 인터페이스와 같은 MSM 칩의 외부 인터페이스들 각각과 통신한다. 이러한 이유로, 집적 회로(12)는 각 외부 인터페이스를 통한 통신을 테스트함에 의해 제조 후의 기능성을 검증한다. In the case where the
코어 로직 회로(16)는 하나 이상의 인터페이스를 제공하며, 즉 프로세서(14)와 적어도 하나의 외부 디바이스 간의 통신을 관리한다. 특히, 코어 로직 회로(16)와 프로세서(14)는 단일 프로토콜에 따라 서로 통신할 수 있다. 그러나, 코어 로직 회로(16)는 프로세서(14)와 통신하는데 사용된 프로토콜과 다른 각각의 프로토콜들에 따라 외부 인터페이스들 각각과 통신할 수 있다. 달리 말하면, 코어 로직 회로(16)는 예를 들어 시스템 메모리에 데이터를 기록하는 트랜잭션 요청을 수신하기 위해 제 1 프로토콜에 따라 프로세서(14)와 통신하고, 시스템 메모리에 데이터를 기록하기 위한 트랜잭션을 시스템 메모리에 전송하기 위하여 제 2 프로토콜에 따라 프로세서(14)와 통신할 수 있다. 따라서, 코어 로직 회로(16)는 적절한 프로토콜에 따라 트랜잭션들을 생성하는 책임을 갖는다.The
본 개시내용의 다른 실시예들에서, 외부 인터페이스들 중 적어도 하나는 고주파수 외부 인터페이스이다. 고주파수 외부 인터페이스는 약 200㎒ 이상의 주파수에서, 약 200㎒에서 약 400㎒ 범위 내에서, 또는 약 400㎒ 이상의 주파수에서 동작할 수 있다. PCI, AHB, 및 AXI 버스들은 예시적인 고주파수 외부 인터페이스들이다. 위에서 설명된 개인용 컴퓨터와 무선 통신 디바이스의 예의 경우에, 메모리 버스, PCI 버스, AGP 버스, ATA 버스, 및 USB 버스들이 고주파수 인터페이스일 수 있다. 다른 고주파수 외부 인터페이스들에는 EISA 버스들, AHB 버스들, AXI 버스들, AXA 버스들, 이더넷 버스들, SCSI 버스들, 및 SATA 버스들이 포함된다.In other embodiments of the present disclosure, at least one of the external interfaces is a high frequency external interface. The high frequency external interface may operate at frequencies above about 200 MHz, within the range of about 200 MHz to about 400 MHz, or at frequencies above about 400 MHz. PCI, AHB, and AXI buses are exemplary high frequency external interfaces. In the case of the personal computer and wireless communication device described above, the memory bus, PCI bus, AGP bus, ATA bus, and USB buses may be high frequency interfaces. Other high frequency external interfaces include EISA buses, AHB buses, AXI buses, AXA buses, Ethernet buses, SCSI buses, and SATA buses.
테스트 로직 회로(18)는 집적 회로(12)의 반도체 기판 상에 내장되며 집적 회로(12)의 고주파수 외부 인터페이스들의 기능성을 검증하도록 구성된다. 고주파수 외부 인터페이스들의 기능성을 검증하는 것은 고주파수 인터페이스들을 통해 송신된 트랜잭션들을 검증하는 것을 의미한다. 일 예시적 양상에서, 테스트 로직 회로(18)는 트랜잭션들과 관련된 데이터에 기초하여 트랜잭션들을 검증할 수 있다. 다른 양상에서, 테스트 로직 회로(18)는 트랜잭션들과 연관된 프로토콜과 트랜잭션들이 일치하는지 여부에 기초하여 트랜잭션들을 검증할 수 있다. 트랜잭션들이 프로토콜과 일치하는지 여부에 기초하여 트랜잭션들을 검증하는 경우, 테스트 로직 회로(18)는 트랜잭션들과 연관된 데이터에 기초하여 트랜잭션들을 또한 검증할 수 있다.The
트랜잭션들을 검증하기 위하여, 테스트 로직 회로(18)는 먼저 트랜잭션이 전송되는 통신 채널 또는 버스를 스누핑(snoop)한다. 이하에서 보다 상세히 설명되는 바와 같이, 테스트 로직 회로(18)는 프로세서(14)와 코어 로직 회로(16) 간의 통신 채널 또는 버스 또는 코어 로직 회로(16)와 핀 인터페이스(20) 간의 통신 채널 또는 버스를 스누핑할 수 있다. 어느 경우든, 테스트 로직 회로(18)가 트랜잭션을 획득한 경우, 테스트 로직 회로(18)는 트랜잭션이 유효한지 여부를 결정하기 위하여 트랜잭션을 조사(examine)한다. 트랜잭션은 예를 들어 트랜잭션과 관련된 데이터를 기준 데이터에 비교함에 의해 또는 트랜잭션이 관련 프로토콜과 일치하는지 여부를 결정함에 의해 조사될 수 있다. 일 실시예에서, 트랜잭션이 관련 프로토콜과 일치하는지 여부를 결정하는 것은 프로토콜에 의해 정의된 제어 신호들을 체크하는 것을 포함할 수 있다. 다른 실시예들에서, 트랜잭션이 관련 프로토콜과 일치하는 지를 결정하는 것은 제어 신호들을 체크하는 것을 필요로 하지 않는다. 어느 경우든, 테스트 로직 회로(18)는 트랜잭션이 유효한지 여부, 즉, 유효성 테스트를 통과했는지 또는 실패했는지 여부를 표시하는 상태 신호를 출력한다. 이 신호는 예를들어 핀 인터페이스(20)의 지정된 핀을 통해 출력된다. 이 때, 사용자는 집적 회로(12)가 기능하는지 여부를 결정하기 위하여 테스트 장비(22)와 인터페이스하고 있는 호스트 컴퓨터의 디스플레이 모니터 상의 상태 신호를 볼(view) 수 있게 된다.To verify the transactions, the
집적 회로(12)의 고주파수 외부 인터페이스들의 기능성을 검증하는 것은, 본 개시내용에 설명된 바와 같이, 테스트 장비(22)가 집적 회로(12)에 고주파수 신호들을 제공하는 것을 요구하지 않는다. 오히려, 테스트 장비(22)는 프로세서(14)의 로컬 메모리에 테스트 프로그램을 로딩하는데 이용된다. 프로세서(14)는 집적 회로(12)가 송신 및 수신 모드들의 동작을 시뮬레이션하도록 야기하는 테스트 프로그램을 실행한다. 달리 말하면, 테스트 장비는 프로세서(14)에 의해 실행가능한 경우, 프로세서(14) 및 코어 로직 회로(16)가 하나 이상의 외부 인터페이스들을 통해 전송된 기록 및 판독 트랜잭션들을 생성하도록 야기하는 명령들을 포함한다. 테스트 로직 회로(18)는 트랜잭션들을 획득하기 위하여 집적 회로(12)의 통신 채널을 스누핑하고, 트랜잭션들의 유효성을 결정하기 위하여 트랜잭션들을 조사한다. 이러한 방식으로, 테스트 로직 회로(18)는 프로세서(14) 및 코어 로직 회로(16)가 외부 인터페이스들의 각각을 통해 통신하는 경우 대응하는 프로토콜을 따르는지를 검증한다. 그 결과, 다양한 동작 조건들에 대하여 테스트가 온칩 상에서 완료되고, 그렇지 않으면 테스트 조건들의 각 세트에 대하여 테스트를 셋업 및/또는 개시하는데 요구되었을 수동 작업이 테스트에 요구되지 않게 된다. 이것은 외부 인터페이스들의 기능성과 타이밍을 검증하는데 요구되는 시간과 비용을 감소시킨다. 또한, 테스트 장비(22)가 전력, 접지, 및 클록 신호들, 예를 들어, 시스템 클록, 시스템 리셋, 등과 같은 비테스트 신호들을 집적 회로(12)에 제공하고 집적 회로(12)에 테스트 프로그램을 로딩하는데 이용되는 저가 장비가 될 수 있다. 이러한 방식으로, 테스트 장비(22)는 고주파수 테스트 신호들을 제공하기 위하여 수정되거나 업데이트될 필요가 없어진다.Verifying the functionality of the high frequency external interfaces of the
본 개시내용에서 집적 회로(12)가 고주파수 인터페이스들의 기능성을 검증하는 것으로 설명되고 있으나, 테스트 로직 회로(18)는 임의의 주파수에서 동작하는 외부 인터페이스들의 기능성을 검증하는데 이용될 수 있다. 이것은 기존 테스트 장비를 업데이트하는 높은 비용과 고주파수 외부 인터페이스들의 기능성을 검증하기 위해 새로운 테스트 장비를 구입하는 것에 부가해서, 각 외부 인터페이스들이 모든 가능한 동작 조건들, 예를들어 공급 전압 범위, 온도 범위, 및 처리 코너(corner)들에 대해 종종 테스트되기 때문에 임의의 주파수에서 동작하는 외부 인터페이스들의 기능성을 검증하는 것이 복잡할 수 있고 시간 소모적 태스크(task)일 수 있기 때문이다. 또한, 집적 회로들 간의 차이들로 인해 테스트 프로그램에 수동 변경들이 행해지는 것이 요구된다. Although the
그러나, 테스트 로직 회로(18)가 반도체 기판 상에 추가적인 물리적 영역(real estate)을 차지하기 때문에, 테스트 장비를 통해 테스트 신호들을 제공함에 의해, 낮은 주파수, 예를들어 200 MHz 미만에서 동작하는 외부 인터페이스들을 검증하는 것이 바람직할 수 있음이 인식된다. 이것은 테스트 로직에 할당된 기판 공간의 비용과 본 개시내용에서 설명된 자체 테스트 특징을 이용하지 않는 테스트 비용 간의 트레이드-오프(trade-off)에 의존한다. 달리 말하면, 테스트 장비(18)가 차지하는 반도체 기판 상의 물리적 영역의 비용과 본 개시내용의 시점에서 당업계에 주지된 기술들에 따라 외부 인터페이스들의 기능성을 검증하기 위해 신호들을 검증하도록 신호들을 공급하기 위해 테스트 장비를 이용하는 것과 관련된 비용 간에 트레이드-오프가 존재한다. 따라서, 본 개시내용에서 설명된 외부 인터페이스들의 기능성을 검증하기 위한 자체 테스트 특징들은 임의의 주파수에서 동작하는 외부 인터페이스들의 기능성을 검증하기 위해 이용될 수 있고, 고주파수, 예를들어, 200 MHz 이상에서 동작하는 외부 인터페이스들에 대해 특히 유용할 수 있다는 점이 이해되어야 한다. However, since the
도2는 집적 회로(12)를 보다 상세히 나타내는 블록도이다. 구체적으로는, 집적 회로(12)는 외부 인터페이스 제어기들(30A 및 30B)과 테스트 로직 모듈들(32A 및 32B)을 포함하는 것으로 도2에 도시되어 있다. 외부 인터페이스 제어기들(30A 및 30B)은 도1의 코어 로직 회로(16)에 대응한다. 즉, 외부 인터페이스 제어기들(30A 및 30B)은 상이한 외부 인터페이스들과 연관된 코어 로직 회로(16)의 개별 블록들 또는 모듈들을 나타낸다. 예를들어, 외부 인터페이스 제어기(30A)는 PCI 버스와 같은 한 타입의 고주파수 외부 인터페이스를 통한 통신을 관리할 수 있으며, 외부 인터페이스 제어기(30B)는 AGP 버스와 같은 다른 타입의 고주파수 외부 인터페이스를 통한 통신을 관리할 수 있다. 외부 인터페이스 제어기들(30A 및 30B)은 상이한 프로토콜들에 따른 각 외부 디바이스들과의 통신을 관리할 수 있다. 도2에서, 외부 인터페이스 제어기(30A)는 버스(31)를 통해 프로세서(14)와 통신하고 버스(33)를 통해 대응하는 외부 디바이스(미도시)와 통신한다. 외부 인터페이스 제어기(30B)는 버스(35)를 통해 프로세서(14)와 통신하고 버스(37)를 통해 대응하는 외부 디바이스(미도시)와 통신한다. 그러나, 프로세서(14)와 외부 인터페이스 제어기들(30A 및 30B)은 하나 이상의 버스들의 일부를 공유할 수 있다는 점이 이해되어야 한다. 즉, 도2에 통신 채널들이 버스들(31, 33, 35, 및 37)로서 참조되는 것으로 도시되어 있으나, 이들 통신 채널들은 단일 또는 다중 버스들을 나타낼 수 있다. 일 예로, 버스들(31 및 35)은 다수의 외부 인터페이스 제어기들을 포함할 수 있는 코어 로직과 프로세서(14) 사이에 채널을 제공하는, 프론트-사이드(front-side) 버스로 불리는 단일 버스일 수 있다.2 is a block diagram illustrating the
유사한 방식으로, 테스트 로직 모듈들(32A 및 32B)은 상이한 외부 인터페이스들과 연관된 테스트 로직 회로(18)의 개별 블록들 또는 모듈들을 나타낸다. 테스트 로직 모듈들(32A 및 32B)의 각각은 대응하는 고주파수 외부 인터페이스의 기능성을 검증한다. 도2에서, 테스트 로직 모듈(32A)은 외부 인터페이스 제어기(30A)와 연관되며 테스트 로직 모듈(32B)은 외부 인터페이스 제어기(30B)와 연관된다.In a similar manner,
테스트 로직 모듈(30A)은 버스(31), 버스(35), 또는 이들 모두를 스누핑할 수 있다. 예를들어, 테스트 로직 모듈(32A)은 송신 모드 또는 수신 모드에서 동작시 프로세서(14)에 의해 생성된 트랜잭션들을 검증하기 위해 버스(31)를 스누핑할 수 있다. 다른 실시예에서, 테스트 로직 모듈(32A)은 외부 인터페이스 제어기(30A)에 의해 생성되고 송신 모드 또는 수신 모드에서 프로세서(14)에 전송된 트랜잭션들을 검증하기 위해 버스(31)를 스누핑할 수 있다. 외부 인터페이스 제어기(30A)가 수신 모드에서 프로세서(14)에 전송되는 경우에, 테스트 장비(22)(도2에 미도시)는 고주파수 신호들을 제공하거나 체크하지 않는다. 오히려, 테스트 장비 모듈(32A)은 프로세서(14)에 의해 제공된 시드(seed) 값에 기초하여 외부 인터페이스 제어기(30A)에 대한 프로토콜에 의해 요구되는 바와 같이 데이터 및 다른 신호들을 전송한다.The
외부 인터페이스 제어기(30A)는 테스트 로직 모듈(32A)로부터 수신된 데이터 및 다른 신호들에 기초하여 대응하는 기록 트랜잭션들을 생성하고 상기 기록 트랜잭션들을 프로세서(14)로 전송한다. 이러한 방식으로, 테스트 로직 모듈(32A)이 외부 디바이스의 동작을 에뮬레이트(emulate)한다는 점에서, 즉 외부 인터페이스 제어기(30A)에 적절한 데이터 및 신호들을 제공한다는 점에서 테스트 로직 모듈(32A)은 통상의 테스트 장비와 유사한 방식으로 동작한다. 이것은 도3을 참조하여 보다 상세히 설명된다. 추가적인 실시예에서, 테스트 로직 모듈(32A)는 외부 인터페이스 제어기(30A)에 의해 생성되고 송신 모드 또는 수신 모드에서 핀 인터페이스(20)에 전송된 트랜잭션들을 검증하기 위해 버스(33)를 스누핑할 수 있다.The
테스트 로직 모듈(32B)은 외부 인터페이스 제어기(30B)와 연관된 외부 인터페이스를 통해 송신된 트랜잭션들을 검증하기 위해서 유사한 방식으로 동작할 수 있다. 즉, 테스트 로직 모듈(32B)은 송신 또는 수신 모드에서 대응하는 외부 인터페이스를 통해 송신된 트랜잭션들을 검증하기 위하여 버스(35), 버스(37), 또는 이들 모두를 스누핑할 수 있다.
이들 실시예들 각각에서, 테스트 로직 모듈들(32A 및 32B)은 트랜잭션들과 연관된 데이터에 기초하여 또는 트랜잭션들이 관련 프로토콜과 일치하는지 여부에 기초하여 트랜잭션들을 검증할 수 있다. 트랜잭션들이 관련 프로토콜과 일치하는지 여부에 기초하여 트랜잭션들을 검증하는 것은 트랜잭션들이 프로토콜에 의해 정의된 규칙들에 따라 생성되었는지를 검증하는 것을 포함할 수 있다. 프로토콜에 의해 정의된 규칙들은 데이터 표현, 시그널링(signaling), 인증, 에러 검출, 및 에러 핸들링을 정의하는 규칙들을 포함할 수 있다. 테스트 로직 모듈들(32A 및 32B)은 트랜잭션들이 관련 프로토콜과 일치하는지 여부에 기초하여 트랜잭션들을 검증하는 경우에 관련 데이터에 기초하여 트랜잭션들을 또한 검증할 수 있다. 집적 회로(12)에 의해 이용된 검증 프로세스가 도3에 도시된 블록도와 도4 및 도5에 도시된 흐름도들을 참조하여 상세히 설명된다.In each of these embodiments, the
도2에 집적 회로(12)가 테스트 모듈들(32A 및 32B)과 외부 인터페이스 제어기들(30A 및 30B)를 포함하는 2개의 고주파수 외부 인터페이스들을 포함하는 것으로 도시되어 있으나, 집적 회로(12)는 하나 이상의 외부 인터페이스들을 포함할 수 있다. 따라서, 도2는 단지 예시적인 것으로 이해되어야 하며 어떤 방식으로든 본 개시내용을 제한하는 것으로 의도되어서는 안 된다. 오히려, 도2의 목적은 집적 회로의 외부 인터페이스들과 외부 인터페이스들의 기능성을 검증하기 위하여 집적 회로 상에 내장되는 테스트 로직 회로 간의 관계를 예시하기 위한 것이다.Although the
도3은 집적 회로(12)의 컴포넌트들을 보다 상세히 나타내는 블록도이다. 특히, 도3은 프로세서(14), 외부 인터페이스 제어기(30A) 및 테스트 로직 모듈(32A)을 보다 상세히 나타낸다. 프로세서(14) 및 외부 인터페이스 제어기(30A)는 예를들어 외부 디바이스(미도시)에 데이터를 기록하고 외부 디바이스(미도시)로부터 데이터를 판독하도록 판독 및 기록 동작을 수행하기 위한 외부 인터페이스를 제공하기 위하여 협력적으로 동작한다. 특히, 프로세서(14), 외부 인터페이스 제어기(30A), 및 대응하는 외부 인터페이스 디바이스는 각각의 프로토콜에 따라 서로 통신한다. 즉, 프로세서(14) 및 외부 인터페이스 제어기(30A)는 특정 프로토콜에 따라 서로 통신하고 외부 인터페이스 제어기(30A) 및 외부 디바이스는 상이한 프로토콜에 따라 서로 통신한다. 테스트 로직 모듈(32A)은 고주파수 신호들을 공급 및 체크하기 위하여 테스트 장비(22)와 같은 외부 테스트 장비를 필요로 함 없이 외부 인터페이스의 기능성을 검증하기 위한 특징들을 제공한다. 일 양상에서, 예를들어, 테스트 로직 모듈(32A)은 트랜잭션들과 관련된 데이터에 기초하여 프로세서(14) 및 외부 인터페이스 제어기(30A) 중 하나 또는 모두에 의해 생성된 트랜잭션들을 검증한다. 다른 예시적인 양상에서, 테스트 로직 모듈(32A)은 트랜잭션들이 관련 프로토콜과 일치하는지 여부에 기초하여 프로세서(14) 및 외부 인터페이스 제어기(30A) 중 하나 또는 모두에 의해 생성된 트랜잭션들을 검증한다. 3 is a block diagram illustrating the components of the
프로세서(14)는 메모리(40), 프로세서(46), 입/출력(I/O) 모듈(48), 및 트랜잭션 모듈(49)을 포함한다. 메모리(40)는 테스트 프로그램(42)과 상태(44)를 저장한다. 테스트 프로그램(42)은 테스트 장비(22)(미도시)를 통해 호스트 컴퓨터에 의해 메모리(40)로 로딩되며, 프로세서(46)에 의해 실행될 때 송신 모드 또는 수신 모드에서 동작을 개시시키는 명령들을 포함한다. 송신 모드 또는 수신 모드에서 동작할 때, 프로세서(14)는 일부 실시예들에서, 외부 디바이스들에 데이터를 기록하기 위한 또는 대응하는 외부 디바이스로부터 데이터를 판독하기 위한 동작들을 수행할 수 있다. 다른 실시예들에서, 프로세서(14)는 외부 디바이스로 데이터를 기록하거나 외부 디바이스로부터 데이터를 판독할 필요가 없는 송신 또는 수신 모드에서 동작할 때 동작들을 수행할 수 있다. 일반적으로, 프로세서(46)는 테스트 프로그램(42)의 명령들에 따라 데이터를 처리하고 트랜잭션 모듈(49) 및 I/O 모듈(48)의 동작을 제어한다.The
송신 모드에서 동작할 때, 예를들어, 트랜잭션 모듈(49)은 프로세서(46)의 제어하에 기록 트랜잭션들을 생성한다. 예시적인 기록 트랜잭션들은 시스템 메모리에 데이터를 기록하라는 요청, 이미지를 캡처하라는 카메라 모듈에 대한 요청, 및 데이터를 디스플레이하라는 모니터에 대한 요청을 포함한다. 외부 디바이스에 데이터를 기록하기 위한 기록 트랜잭션은 외부 디바이스에 기록될 데이터와 외부 디바이스를 식별하는 정보를 포함할 수 있다.When operating in transmit mode, for example,
프로세서(46)는 수신 모드에서 동작할 때 판독 트랜잭션들을 생성하도록 트랜잭션 모듈(49)을 또한 제어할 수 있다. 판독 트랜잭션들은 하드 디스크 또는 소거가능 메모리 카드와 같은 메모리로부터 데이터를 리트리브(retrieve)하라는 요청, 핸드헬드(handheld) 디바이스의 카메라 모듈에 의해 캡처된 이미지 데이터를 리트리브하라는 요청, 및 주변 디바이스로부터 데이터를 리트리브하라는 요청을 포함할 수 있다.
I/O 모듈(48)은 버스(31)를 통하여 외부 인터페이스 제어기(30A)로 판독 및 기록 트랜잭션들을 전송한다. 버스(31)는 프론트 사이드 버스일 수 있으며, 프론트 사이드 버스를 통하여 프로세서(14)는 외부 인터페이스 제어기(30A) 및 부가적인 외부 인터페이스 제어기들과 통신한다. 대안적으로, 버스(31)는 프로세서(14) 및 외부 인터페이스 제어기(30A) 간의 통신을 위한 전용 버스일 수 있다.I /
외부 인터페이스 제어기(30A)는 프로세서(14)로부터 수신된 기록 및 판독 트랜잭션들을 처리하고 대응하는 기록 및 판독 트랜잭션들을 실제(real world) 환경에서 대응하는 외부 디바이스로 전송한다. 테스트 환경에서, 외부 인터페이스 제어기(30A)는 대응하는 트랜잭션들을 인터페이스(20)의 지정된 핀에 전송한다. 다음은 송신 모드에서의 동작을 참조하여 외부 인터페이스 제어기(30A)의 동작을 설명한다. 수신 모드에서의 외부 인터페이스 제어기(30A)의 동작은 혼동을 피하기 위하여 별도로 설명될 것이다.The
도3에서, 외부 인터페이스 제어기(30A)는 트랜잭션 모듈(50) 및 I/O 모듈(52)을 포함한다. I/O 모듈(52)은 외부 인터페이스 제어기(30A)에 대한 I/O를 관리한다. I/O 모듈은 버스(31)를 통해 수신된 기록 트랜잭션들을 트랜잭션 모듈(52)로 지향시키고 트랜잭션 모듈(50)에 의해 생성된 대응하는 기록 트랜잭션들을 버스(33)에 적용한다. 테스트 동안에, 버스(33)는 핀 인터페이스(20)(미도시)의 지정된 핀에 접속된다.In FIG. 3,
트랜잭션 모듈(50)은 수신된 트랜잭션들에 포함된 데이터를 처리하고 I/O 모듈(52)을 버스(33)에 적용하는 것에 대응하는 기록 트랜잭션을 생성한다. 외부 인터페이스 제어기(30A)가 상이한 프로토콜에 따라 프로세서(14) 및 대응하는 외부 디바이스와 통신하기 때문에, 트랜잭션 모듈(50)은 적절한 프로토콜에 따라 트랜잭션들을 생성한다. 이러한 방식으로, 트랜잭션 모듈(50)은 한 프로토콜로부터 다른 프로토콜로 트랜잭션들을 변환하는 것으로 보여질 수 있다. 따라서, 각 외부 인터페이스 제어기의 트랜잭션 모듈은 대응하는 외부 인터페이스와 관련된 프로토콜에 따라 트랜잭션들을 생성할 수 있다. 이것은 코어 로직 회로(16)(도1에 도시됨)이 도2의 제어기들(30A 및 30B)과 같은 복수의 외부 인터페이스 제어기들을 포함하는 것으로 보여질 수 있는 이유가 된다. 따라서, 트랜잭션 모듈(50)은 프로세서(14)로부터 수신된 기록 트랜잭션을 대응하는 외부 디바이스와 관련된 프로토콜로 변환(translate)한다.
위에서 설명한 바와 같이, 외부 인터페이스 제어기(30A)는 제 1 실시예에서, 응답 메시지를 프로세서(14)로 전송할 수 있다. 이러한 실시예들에서, 트랜잭션 모듈(50)은 응답 메시지를 생성하고 I/O 모듈(52)은 상기 응답 메시지를 버스(31)를 통해 프로세서(14)로 전송한다. As described above, the
제 2 실시예에서, 외부 인터페이스 제어기(30A)가 정상 동작에서, 즉 실제 환경에서 동작하는 경우에 대응하는 외부 디바이스로부터 응답 메시지를 수신할 수 있다. 그러나, 테스트 동안에, 외부 인터페이스 제어기(30A)는 테스트 로직 모듈(32A)로부터 응답 메시지를 수신한다. 즉, 테스트 로직 모듈(32A)은 예를들어 프로토콜에 의해 외부 인터페이스 제어기(30A)에 요구되는 바와 같은 데이터와 다른 신호들을 제공함에 의해, 외부 인터페이스가 제어기(30A)가 대응하는 응답 메시지를 생성하고 프로세서(14)에 전송하도록 한다. 도3을 참조하면, I/O 모듈(52)은 버스(33)를 통해 테스트 로직 모듈(32A)로부터 데이터와 다른 신호들을 수신하고 이에 대응하는 응답 메시지를 생성하는 트랜잭션 모듈(50)로 지향(direct)시킨다. I/O 모듈(52)은 대응하는 응답 메시지를 버스(31)를 통해 프로세서(14)로 전송한다.In the second embodiment, the
제 3 실시예에서, 외부 인터페이스 제어기(30A)는 제 1 및 제 2 실시예들에 따라 응답 메시지들을 전송할 수 있다. 즉, 외부 인터페이스 제어기(30A)는 프로세서(14)로부터 수신된 기록 트랜잭션을 수신하는 것에 응답하여 프로세서(14)에 제 1 응답 메시지를 전송할 수 있고 외부 인터페이스 제어기(30A)에 의해 외부 디바이스에 전송된 기록 트랜잭션과 대응하는 제 3 응답 메시지를 수신하는 것에 응답하여 제 2 응답 메시지를 프로세서(14)에 전송할 수 있다.In the third embodiment, the
제 4 실시예에서, 외부 인터페이스 제어기(30A)는 어떠한 응답 신호들도 생성하지 않는다. 외부 인터페이스 제어기(30A)는 이들 실시예들 중 어느 것에 따라 동작할 수 있다. 따라서, 외부 인터페이스 제어기(30A)를 테스트하는 것은 실시예들 각각에 따라 외부 인터페이스 제어기(30A)의 동작을 검증하는 것을 포함할 수 있다.In the fourth embodiment, the
테스트 로직 모듈(32A)은 송신 모드 및 수신 모드에서 프로세서(14) 및 외부 인터페이스 제어기(30A)에 의해 제공된 외부 인터페이스의 기능성을 검증한다. 테스트 로직 모듈(32A)은 또한 관련 프로토콜에 의해 제공된 데이터 및 다른 신호들을 외부 디바이스의 동작을 에뮬레이트하기 위하여 외부 인터페이스 제어기(30A)로 제공한다. 데이터 및 신호들을 공급하기 위하여 외부 테스트 장비 대신에 테스트 로직 모듈(32A)을 이용함에 의해, 외부 테스트 장비가 고주파수에서 동작할 필요가 없어지며, 따라서, 집적 회로 디바이스들이 점진적으로 증가하는 동작 주파수들에서 테스트될 필요가 있는 경우에, 수정되거나, 업그레이드되거나, 대체될 필요가 없어질 수 있다.The
동작에서, 프로세서(14)는 테스트 로직 모듈(32A)을 개시하거나 인에이블한다. 즉, 프로세서(46)는 테스트 프로그램(42)에 따라 제어 신호를 생성하며, I/O 모듈(48)은 전용선 접속(61)을 통해 테스트 로직 모듈(32A)로 테스트 프로그램(42)을 전송한다. 제어 신호를 수신하기 전에, 테스트 로직 모듈(32A)은 디스에이블, 즉 비활성화될 수 있다. 따라서, 프로세서(14)는 기록 트랜잭션을 외부 인터페이스 제어기(30A)에 전송하기 전에 제어 신호를 테스트 로직 모듈(32A)에 전송할 수 있다. 그러나, 제어 신호를 수신하는 것에 응답하여, 테스트 로직 모듈(32A)은 버스들(31 및 33)을 능동적으로 스누핑할 수 있다. 이러한 방식으로, 테스트 로직 모듈(32A)은 버스들을 통한 모든 트랜잭션들을 획득할 수 있으며, 따라서 적절한 시간에 전송된 트랜잭션들을 검증하는 것에 추가하여 너무 많거나 너무 적은 트랜잭션들이 송신되었는지 여부를 결정할 수 있다.In operation,
도3에서, 테스트 로직 모듈(32A)은 검증 모듈(60), 의사 랜덤 데이터 생성기(62), 및 I/O 모듈(64)를 포함하며 전용 선 접속(61)을 통하여 프로세서(14)로부터 제어 신호를 수신한다. I/O 모듈(64)은 프로세서(14) 및 외부 인터페이스 제어기(30A)에 의해 각각 생성된 기록 트랜잭션들을 가로채기(intercept)하기 위하여 송신 모드에서 버스들(31 및 33)을 스누핑한다. I/O 모듈(64)은 또한 외부 인터페이스 제어기(30A)에 의해 프로세서(14)로 전송된 응답 메시지 또는 트랜잭션들을 리트리브하기 위하여 버스(31)를 스누핑할 수 있다.In FIG. 3, the
제어 신호는 기준 데이터를 생성하기 위해 테스트 로직 모듈(32A)에 의해 이용된 시드 값을 포함한다. 특히, 의사 랜덤 데이터 생성기(62)는 I/O 모듈(64)로부터 시드 값을 수신하고 테스트 프로그램(42)에 의해 특정된 데이터, 즉, 프로세서(14)에 의해 생성된 기록 트랜잭션과 관련된 데이터와 매칭되는 기준 데이터를 생성하기 위해 시드 값을 이용한다. 의사 랜덤 데이터 생성기(62)는 가로채진 트랜잭션, 즉 버스(31) 상에서 가로채진 기록 트랜잭션과 관련된 데이터와 기준 데이터를 비교하는 모듈(60)에 기준 데이터를 출력한다. 트랜잭션이 프로토콜과 일치하는지 여부에 기초하여 테스트 로직 모듈(32A)이 트랜잭션들을 검증하는 실시예들에서, 검증 모듈(60)은 프로토콜을 체크한 후에 데이터를 체크할 수 있다.The control signal includes a seed value used by the
예시적 프로토콜이 데이터가 언제 전달되고 있는지를 표시하는데 이용되는 신호를 정의할 수 있다. 상기 신호는 데이터 전달이 진행되고 있음을 표시하는 제 1 상태와 데이터 전달이 진행되고 있지 않음을 표시하는 제 2 상태를 가질 수 있다. 따라서, 검증 모듈(60)은 단지 제어 신호가 제 1 상태에 있는 경우만 I/O 모듈(64)에 의해 제공된 트랜잭션의 데이터를 체크할 것이다. 제어 신호가 제 1 상태에 있는 경우에 데이터를 검증함에 의해, 검증 모듈(60)은 트랜잭션과 관련된 데이터 및 프로토콜과 트랜잭션이 일치하는지를 검증한다. 이러한 방식으로, 검증 모듈(60)은 언제 트랜잭션이 프로토콜과 일치하고 데이터가 유효할지, 언제 트랜잭션이 프로토콜과 일치하고 데이터가 유효할지, 및 언제 트랜잭션이 프로토콜과 일치하지 않을지를 결정할 수 있다. 그러나, 검증 모듈(60)이 하나의 트랜잭션과 관련된 데이터만을 체크하는 경우에, 상기 데이터는 유효할 수 있으나 상기 트랜잭션은 프로토콜과 일치하지 않을 수 있다. 이러한 이유로, 트랜잭션이 프로토콜과 일치하는지 여부에 기초하여 검증하는 것은 외부 인터페이스의 기능성을 결정하기 위한 보다 정확한 테스트를 제공할 수 있다. 위의 설명은 트랜잭션들을 검증하는 단순한 예시적 설명을 제공하기 위해 사용된 예이며, 어떠한 방식으로든 본 개시내용을 제한하는 것으로 고려되어서는 안 된다. 오히려, 프로토콜이 다수의 신호들을 정의할 수 있고, 이러한 경우들에서, 트랜잭션을 검증하기 위하여 체크된 다수의 상태들을 정의할 수 있다. 다수의 상태들이 정의되는 경우에, 트랜잭션들을 검증하는 것은 하나 이상의 상태들을 체크하거나 하나 이상의 상태들의 시퀀스를 체크하는 것을 포함할 수 있다. An example protocol may define a signal that is used to indicate when data is being delivered. The signal may have a first state indicating that data transfer is in progress and a second state indicating that data transfer is not in progress. Thus, the
검증 모듈(60)은 트랜잭션의 상태를 표시하는 상태 신호를 생성한다. 검증 모듈(60)이 관련 데이터에 기초해서 트랜잭션을 검증하는 경우에, 상태 신호는 트랜잭션이 통과되었는지 실패되었는지 여부를 표시할 수 있다. 그러나, 검증 모듈(60)이 트랜잭션이 프로토콜과 일치하는지 여부에 기초하여 트랜잭션을 검증하는 경우에, 상태 신호는 트랜잭션이 프로토콜과 일치하고 데이터가 유효한지와, 언제 트랜잭션이 프로토콜과 일치하고 데이터가 유효한지와, 언제 트랜잭션이 프로토콜과 일치하지 않는 지를 표시할 수 있다. The
도3에서, 검증 모듈(60)은 전용 선 접속(61)을 통해 상태 신호를 출력한다. 프로세서(14)는 수신된 신호에 기초하여 상태(44)를 업데이트한다. 특히, I/O 모듈(48)은 메모리(40) 내에서 상태(44)를 업데이트하는 프로세서(46)에 상태 신호를 지향시킨다. 상태(44)는 외부 인터페이스의 상태를 표시하는 파라미터이다. 예를들어, 상태(44)는 트랜잭션이 프로토콜과 일치하고 데이터가 유효하다면 "통과(PASS)" 값을 저장하거나, 트랜잭션이 프로토콜과 일치하나 데이터가 유효하지 않다면 "데이터 에러(DATA ERROR)" 값을 저장하거나, 트랜잭션이 프로토콜과 일치하지 않으면 "프로토콜 에러(PROTOCOL ERROR)" 값을 저장한다. 이 경우, 프로세서(14)는 테스트 장비(22)(도3에 미도시)에 의해 판독되고 테스트 장비(22)에 접속된 호스트 컴퓨터를 통해 사용자에 디스플레이된 상태(44)에 기록된 값에 기초하여 신호를 생성할 것이다. 대안적인 양상에서, 검증 모듈(60)은 상태 신호를 핀 인터페이스(20)의 지정 핀에 직접 출력하는 I/O 모듈(64)에 상태 신호를 전송할 수 있다.In Fig. 3, the
테스트 로직 모듈(32A)은 외부 인터페이스 제어기(30A)에 의해 생성된 기록 트랜잭션들을 검증하기 위하여 유사한 프로세스를 이용한다. 즉, I/O 모듈(64)는 기록 트랜잭션을 가로채기하기 위하여 버스(33)를 스누핑하고 검증 모듈(60)은 가로채기된 트랜잭션과 관련된 데이터를 의사 랜덤 데이터 생성기(62)에 의해 생성된 기준 데이터에 비교한다. 다음, 검증 모듈(60)은 상기 비교에 기초하여 상태 신호를 출력한다.The
위에서 설명된 바와 같이, 일부 예시적 양상들에서, 외부 인터페이스 제어기(30A)는 외부 디바이스로부터 응답 메시지를 수신하는 것에 응답하여 응답 메시지를 프로세서(14)로 전송한다. 이러한 예시적인 양상들에서, 테스트 로직 모듈(32A)과, 일부 예시적 양상들에서, 외부 인터페이스 제어기(30A)는, 외부 인터페이스 제어기(30A)에 의해 생성된 기록 트랜잭션을 수신하거나 검증하는 것에 응답하여, 정상 동작에서 외부 디바이스에 의해 생성되었을 응답 메시지를 에뮬레이트하는 외부 인터페이스 제어기(30A)로 관련 프로토콜에 의해 요구되는 데이터 및 다른 신호들을 제공한다. 이러한 방식으로, 테스트 로직 모듈(32A)은 통상적으로 외부 테스트 장비에 의해 제공되는 기능성을 제공하며 테스트 장비(22)(도3에는 미도시)는 저가의 테스트 장비로서 구현될 수 있다. 도3을 참조하면, 검증 모듈(60)이 응답 메시지, 즉 프로토콜에 의해 요구되는 데이터와 다른 신호를 생성할 수 있으며, I/O 모듈(64)은 상기 응답 메시지를 버스(33)를 통해 외부 인터페이스 제어기(30A)로 전송한다.As described above, in some example aspects, the
외부 인터페이스 제어기(30A)는 버스(31)를 통해 대응하는 응답 메시지를 프로세서(14)로 전송한다. 테스트 로직 모듈(32A)은 이전의 설명에서 제공된 기술들을 이용하여 프로세서(14)에 전송된 응답 메시지를 가로채고 검증하기 위하여 버스(31)를 스누핑한다.The
이전의 설명은 송신 모드에서의 집적 회로(12)의 동작에 관련된다. 이하의 설명은 수신 모드에서의 집적 회로(12)의 동작에 관련된다. 수신 모드에서 동작하는 경우 외부 인터페이스의 기능성을 검증하기 위하여, 트랜잭션과 관련된 데이터에 기초하거나 트랜잭션이 관련 프로토콜과 일치하는지 여부에 기초하여 집적 회로(12)는 수신 모드에서 프로세서(14) 및 외부 인터페이스 제어기(30A)에 의해 생성된 트랜잭션들을 검증한다. 이것은 외부 인터페이스 제어기(30A)에 전송된 프로세서(14)에 의해 생성된 판독 트랜잭션들, 핀 인터페이스(20)에 전송된 외부 인터페이스 제어기(30A)에 의해 생성된 판독 트랜잭션들, 및 프로세서(14)에 전송된 외부 인터페이스 제어기(30A)에 의해 생성된 응답 메시지들을 검증하는 것을 필요로 한다. 위에서 설명된 바와 같이, 외부 인터페이스 제어기(30A)는, 일부 예시적 양상들에서, 프로세서(14)로부터 수신된 판독 트랜잭션에 대응하는 응답 메시지를 생성하여 프로세서(14)로 또한 전송한다. 이러한 예시적 양상들에서, 이 응답 메시지는 또한 검증된다.The previous description relates to the operation of the
수신 모드에서 동작하는 경우, 프로세서(14)는 테스트 프로그램(42)에 따라 판독 트랜잭션을 생성하고 상기 판독 트랜잭션을 대응하는 판독 트랜잭션을 외부 디바이스로 전송하는 외부 인터페이스 제어기(30A)로 판독 트랜잭션을 전송한다. 테스트 로직 모듈(32A)은 송신 모드에서 생성된 기록 트랜잭션들을 검증하기 위해 이용된 것들과 유사한 기술들을 이용하여 판독 트랜잭션들을 검증한다. 프로세서(14)로부터 판독 트랜잭션을 수신한 후에 외부 인터페이스 제어기(30A)가 응답 메시지를 프로세서(14)에 전송하는 경우에, 테스트 로직 모듈(32A)은 응답 메시지를 검증하기 위하여 동일한 검증 기술들을 또한 이용한다.When operating in the receive mode, the
그러나, 수신 모드에서 동작하는 경우, 외부 인터페이스 제어기(30A)는 동일한 외부 디바이스에 전송된 판독 트랜잭션에 응답하는 외부 디바이스로부터 응답 메시지를 수신한다. 외부 테스트 장비(22)가 고주파수 신호들을 제공하지 않기 때문에, 테스트 도중에, 테스트 로직 모듈(32A)은 프로토콜에 의해 요구되는 데이터 및 다른 신호들을 외부 인터페이스 제어기(30A)로 제공한다. 따라서, 테스트 로직 모듈(32A)은, 외부 인터페이스 제어기(30A)로 하여금 대응하는 응답 메시지 또는 트랜잭션을 생성하거나 이를 프로세서(14)로 전송하도록 야기하는 외부 인터페이스 제어기(30A)로 테스트 로직 모듈(32A)이 프로토콜에 의해 요구되는 데이터 및 다른 신호들을 제공한다는 점에서 테스트 로직 모듈(32A)은 통상의 테스트 장비와 유사한 방식으로 동작한다. However, when operating in the receive mode,
도3을 참조하면, 검증 모듈(60)은 프로토콜에 의해 요구되는 데이터 및 다른 신호들을 포함할 수 있는 응답 메시지를 생성하고 I/O 모듈(64)은 상기 응답 메시지를 버스(33)를 통해 외부 인터페이스 제어기(30A)로 전송한다. I/O 모듈(64)은 응답 메시지를 전송하기 전에 버스(33) 상에서 적절한 프로토콜을 대기할 수 있다. 검증 모듈(60)은 외부 인터페이스 제어기(30A)로부터 수신된 대응하는 판독 트랜잭션과 관련된 상태 신호를 생성한 후에 응답 메시지를 생성할 수 있다.Referring to Figure 3, the
I/O 모듈(52)은 응답 메시지를 수신하고 이를 트랜잭션 모듈(50)로 전송한다. 트랜잭션 모듈(50)은 응답 메시지를 처리하고 I/O 모듈(52)이 버스(31)를 통해 프로세서(14)로 전송하는 대응하는 응답 메시지를 생성한다.I /
테스트 모듈(32A)은 외부 인터페이스 제어기(30A)에 의해 생성된 응답 메시지를 검증한다. 특히, I/O 모듈(64)은 응답 메시지를 리트리브하기 위해 버스(31)를 스누핑하고 검증 모듈(60)은 관련 데이터 또는 응답 메시지가 관련 프로토콜과 일치하는지 여부에 기초하여 리트리브된 응답 메시지를 검증한다. 검증 모듈(60)은 검증 프로세스를 완결하기 위하여 응답 신호가 유효한지 여부를 표시하는 상태 신호를 출력한다.The
도4는 트랜잭션과 관련있는 데이터에 기초하여 고주파수 외부 인터페이스를 통해 송신된 트랜잭션을 검증하기 위하여 집적 회로(12)에 의해 실행될 수 있는 예시적인 기술을 나타내는 흐름도이다. 일반적으로, 도4에 도시된 단계들은 송신 모드 및 수신 모드에서 생성된 트랜잭션을 검증하는데 이용될 수 있으며 도3에 도시된 집적 회로(12)의 컴포넌트들과 관련하여 설명된다. 흐름도는 집적 회로(12)가 제조후 테스트 도중 핀 인터페이스(20)를 통해 테스트 장비(22)에 탑재되는 때에 시작된다. 초기에, 호스트 컴퓨터가 테스트 프로그램을 집적 회로(12) 상에 로딩한다(70). 테스트 프로그램은 호스트 컴퓨터 상에서 개발될 수 있으며 테스트 장비를 통해 프로세서(14)의 프로그램 메모리(42)로 로딩될 수 있다.4 is a flow diagram illustrating an exemplary technique that may be executed by integrated
프로세서(14) 및 외부 인터페이스 제어기(30A)는 테스트 프로그램 명령들에 따라 트랜잭션들을 생성하고(72) 상기 트랜잭션들을 버스를 통해 전송한다(74). 예를들어, 단계들(72 및 74)은 송신 모드에서 동작하는 경우에 버스(31)를 통해 인터페이스 제어기(30A)에 기록 트랜잭션을 전송하는 프로세서 또는 버스(33)를 통해 외부 디바이스로 대응하는 기록 트랜잭션을 전송하는 외부 인터페이스 제어기를 참조할 수 있다. 집적 회로(12)가 수신 모드에서 동작하는 실시예에서, 동작들(72 및 74)는 버스(31)를 통해 외부 인터페이스 제어기(30A)로 판독 트랜잭션을 전송하는 프로세서(14), 외부 디바이스로 대응하는 판독 트랜잭션을 전송하는 외부 인터페이스 제어기(30A), 또는 프로세서(14)로 응답 메시지를 전송하는 외부 인터페이스 제어기(30A)를 참조할 수 있다. 즉, 동작들(72 및 74)은 판독 또는 기록 동작을 수행하는 프로세스 도중에 생성되는 단일 트랜잭션을 일반적으로 의미한다. 따라서, 도4에 도시된 흐름도의 동작들이 완전한 기록 또는 판독 동작을 검증하기 위하여 반복될 수 있다는 점이 명확할 것이다.
테스트 로직 모듈(32A)은 적절한 버스, 즉, 트랜잭션을 리트리브 또는 가로채기하기 위하여 트랜잭션이 동작(74)에서 전송되는 버스를 스누핑한다(76). 따라서, 테스트 로직 모듈(32A)은 송신 모드 또는 수신 모드에서 프로세서(14)에 의해 생성된 트랜잭션들과 수신 모드에서 외부 인터페이스 제어기(30A)에 의해 생성된 트랜잭션들을 검증하기 위하여 그리고 이러한 트랜잭션들에 대한 응답들을 외부인터페이스 제어기(30A)에 의해 생성된 트랜잭션들을 검증하기 위하여 버스(33)를 스누핑할 수 있다. 기록 및 판독 동작들이 버스들(31 및 33)을 통해 기록 및 판독 트랜잭션들을 전송하는 것을 필요로 하기 때문에, 테스트 로직 모듈(32A)은 외부 인터페이스의 완전한 신호 경로를 검증하기 위하여 버스들(31 및 33)을 일반적으로 스누핑한다.
트랜잭션을 리트리빙하는 경우, 테스트 로직 모듈(32A)은 기준 데이터를 생성하고(78) 트랜잭션과 관련된 데이터를 기준 데이터와 비교함으로써 상기 트랜잭션을 검증한다(80). 테스트 로직 모듈(32A)은 프로세서(14)에 의해 제공된 시드 값에 기초하여, 보다 구체적으로는, 프로세서(14)로부터 수신된 제어 신호에 기초하여 기준 데이터를 생성할 수 있다. 제어 신호, 즉 시드 값은 전용선 접속 또는 대응하는 버스를 통해 송신될 수 있다.When retrieving a transaction,
상기 비교에 기초하여, 테스트 로직 모듈(32A)은 트랜잭션이 유효한지 여부를 표시하는 상태 신호를 생성한다(82). 테스트 로직 모듈(32A)은 상기 상태 신호를 핀 인터페이스(20)의 출력에 직접 인가할 수 있다. 상기 출력은 상태 신호를 보기 위한 디스플레이를 갖는 호스트 컴퓨터에 접속될 수 있다. 그 결과, 사용자는 단계(72)에서 생성된 트랜잭션이 유효한지 여부를 결정하기 위하여 상기 상태를 조사할 수 있다(84). 대안적으로, 상기 상태 신호는 프로세서(14)에 의해 수신될 수 있으며 판독될 수 있고 모니터 상에 디스플레이될 수 있는 메모리 파라미터의 값을 설정하는데 이용될 수 있다.Based on the comparison,
도5는 트랜잭션이 관련 프로토콜과 일치하는지 여부에 기초하여 고주파수 외부 인터페이스를 통해 송신된 트랜잭션을 검증하기 위하여 집적 회로(12)에 의해 수행될 수 있는 예시적인 기술을 도시하는 흐름도이다. 도5에 도시된 단계들은 송신 모드 또는 수신 모드에서 생성된 트랜잭션을 검증하는데 이용될 수 있다. 도4에 도시된 흐름도와 유사하게, 도5에 도시된 흐름도의 단계들은 집적 회로(12)가 제조후 테스트 도중에 핀 인터페이스(20)를 통해 테스트 장비(22)에 탑재되는 때에 실행된다.5 is a flow diagram illustrating an example technique that may be performed by
초기에, 호스트 컴퓨터가 테스트 프로그램(42)을 집적 회로(12)에 테스트 장비(22)를 통해 로딩한다(70). 테스트 프로그램(42)은 송신 모드 및 수신 모드에서 동작하는 경우에 외부 인터페이스들의 기능성을 테스트하기 위하여 개발된다. 따라서, 집적 회로(12)는 테스트 프로그램 명령들에 따라 트랜잭션을 생성하며(102) 버스를 통해 상기 트랜잭션을 전송한다(104). 도4와 유사하게, 동작들(102 및 104)은 판독 또는 기록 동작 도중에 프로세서(14) 또는 외부 인터페이스 제어기(30A)에 의해 생성된 단일 판독 또는 기록 트랜잭션을 참조한다. 그러나, 도5의 흐름도의 동작들은 판독 및 기록 동작들 도중에 생성된 다중의 판독 및 기록 트랜잭션들을 검증하기 위하여 반복될 수 있다는 점이 이해되어야 한다.Initially, the host computer loads the
트랜잭션을 리트리브 또는 가로채기 위해 버스를 스누핑(106)하는 것은 트랜잭션이 동작(102)에서 전송되는 버스를 테스트 로직 모듈(32A)이 스누핑하는 것을 참조할 수 있다. 테스트 로직 모듈(32A)은 프로세서(14)로부터 제어 신호를 수신하는 경우 적절한 버스를 능동적으로 스누핑할 수 있다. 프로세서(14)는 테스트 프로그램(42)이 메모리에 로딩되는 경우 테스트 로직 모듈(32A)을 인에이블하기 위하여 제어 신호를 전송할 수 있다.Snooping 106 the bus to retrieve or intercept the transaction may refer to test
트랜잭션을 리트리빙하는 경우, 테스트 로직 모듈(32A)은 트랜잭션이 관련 프로토콜과 일치하는지 여부에 기초하여 리트리브된 트랜잭션을 검증한다(108). 예를들어, 테스트 로직 모듈(32A)은 프로토콜에 의해 정의된 하나 이상의 신호들을 체킹함에 의해 트랜잭션을 검증할 수 있다. 이것은 하나 이상의 신호들에 의해 정의된 상태들의 시퀀스 또는 신호에 의해 정의된 하나 이상의 상태들을 체킹하는 것을 포함한다. 예를들어, 프로토콜이 언제 데이터가 전달되고 있는지를 나타내는 신호를 정의하는 경우에, 테스트 로직 모듈(32A)은 데이터가 프로토콜에 의해 특정된 시간에서 전달되고 있는지 여부를 결정하기 위하여 이 신호를 체크할 수 있다. 그러나, 보다 일반적으로, 테스트 로직 모듈(32A)은 트랜잭션이 프로토콜에 의해 설정된 규칙들을 만족시키는지 여부를, 즉 트랜잭션이 프로토콜과 일치하는지 여부를 결정하기 위하여 트랜잭션을 조사한다. When retrieving the transaction, the
다음, 테스트 로직 모듈(32A)은 예를들어 프로세서(14)로부터 수신된 제어 신호에 의해 제공되는 시드 값에 기초하여 기준 데이터를 생성할 수 있다(110). 테스트 로직 모듈(32A)은 트랜잭션과 관련된 데이터를 기준 데이터와 비교함으로써 트랜잭션과 관련된 데이터를 검증한다(112). 따라서, 테스트 로직 모듈(32A)은 트랜잭션의 상태를 표시하는 상태 신호를 생성할 수 있다(114). 예를들어, 테스트 로직 모듈(32A)은 트랜잭션이 관련 데이터와 일치하고 상기 데이터가 유효한지, 트랜잭션이 관련 프로토콜과 일치하나 상기 데이터가 유효하지 않은지, 또는 트랜잭션이 프로토콜과 일치하지 않은지를 표시하는 상태 신호를 생성할 수 있다.The
다음, 사용자는 트랜잭션이 유효한지 여부를 결정하기 위하여 상태 신호를 조사할 수 있다(116). 일 예로, 상태 신호는 핀 인터페이스(20)의 지정된 핀으로 출력될 수 있거나 프로세서(14)의 메모리의 저장된 파라미터의 값을 설정하는데 이용될 수 있다. 어느 경우든, 상태 신호는 호스트 컴퓨터의 모니터 상에서 디스플레이되기 위하여 테스트 장비(22)에 의해 판독될 수 있다.The user can then examine the status signal to determine whether the transaction is valid (116). As an example, the status signal may be output to a designated pin of the
다양한 양상들과 실시예들이 설명되었다. 그러나, 청구범위를 벗어남 없이 본 개시내용의 기술들 또는 구조에 수정들이 행해질 수 있다. 예를들어, 위에서 설명된 집적 회로들은 상보형 금속 산화물 반도체(CMOS), 바이폴라 접합 트랜지스터(BJT), 바이폴라-CMOS(BiCMOS), 실리콘게르마늄(SiGe), 갈륨비소(GaAs) 등과 같은 다양한 IC 프로세스 기술들로 제조될 수 있다. 본 개시내용의 이들과 다른 양상들은 청구범위 내에 속한다.Various aspects and embodiments have been described. However, modifications may be made to the techniques or structure of the present disclosure without departing from the claims. For example, the integrated circuits described above include various IC process technologies such as complementary metal oxide semiconductor (CMOS), bipolar junction transistor (BJT), bipolar-CMOS (BiCMOS), silicon germanium (SiGe), gallium arsenide (GaAs), and the like. It can be prepared with. These and other aspects of the disclosure are within the scope of the claims.
Claims (72)
테스트 프로그램의 명령들을 실행하도록 동작하는 프로세서 ― 상기 프로세서는 데이터를 포함하는 메시지를 생성하도록 동작함 ― ;
상기 테스트 프로그램에 따라 상기 프로세서로부터 상기 메시지를 수신하도록 동작하는 코어 로직 회로; 및
상기 프로세서로부터 상기 코어 로직 회로로 전송되는 상기 메시지를 스누핑(snoop)하고, 상기 메시지를 평가하고, 그리고 상기 메시지가 유효한지 여부를 표시하는 상태 신호를 상기 프로세서로 제공하도록 동작하는 테스트 로직 회로를 포함하며,
여기서 상기 메시지는 프로토콜에 따라 통신되고, 그리고 상기 테스트 로직 회로는, 기준 데이터를 생성하고 그리고 상기 메시지가 상기 프로토콜과 일치하는(consistent)지 여부에 대한 결정 및 상기 메시지와 관련된 데이터와 상기 기준 데이터의 비교 중 적어도 하나에 기초하여 상기 메시지를 평가하는,
집적 회로. As an integrated circuit,
A processor operative to execute instructions of a test program, the processor operative to generate a message comprising data;
Core logic circuitry operative to receive the message from the processor in accordance with the test program; And
Test logic circuitry operative to snoop the message sent from the processor to the core logic circuitry, evaluate the message, and provide a status signal to the processor indicating whether the message is valid. ,
Wherein the message is communicated in accordance with a protocol, and the test logic circuit generates reference data and determines whether the message is consistent with the protocol and the data associated with the message and the reference data. Evaluating the message based on at least one of the comparisons,
integrated circuit.
상기 코어 로직 회로는 200 MHz 내지 400 MHz의 범위 내의 주파수에서 동작하도록 구성되는,
집적 회로.The method of claim 1,
The core logic circuit is configured to operate at a frequency in the range of 200 MHz to 400 MHz,
integrated circuit.
상기 코어 로직 회로는 400 MHz보다 큰 주파수에서 동작하도록 구성되는,
집적 회로.The method of claim 1,
The core logic circuit is configured to operate at a frequency greater than 400 MHz,
integrated circuit.
상기 코어 로직 회로는, 주변 컴포넌트 상호접속(peripheral component interconnect, PCI) 버스, 향상된 고성능 버스(advanced high-performance bus, AHB), 향상된 익스텐서블 인터페이스(advance extensible interface, AXI) 버스, 소형 컴퓨터 시스템 인터페이스(small computer system interface, SCSI) 버스, 이더넷(Ethernet) 버스, 범용 직렬 버스(USB), AGP(Advance Graphics Processor) 버스, 및 직렬 ATA(serial advanced technology attachment, SATA) 버스 중 하나를 통해 외부 디바이스에 연결되도록 동작하는,
집적 회로.The method of claim 1,
The core logic circuit includes a peripheral component interconnect (PCI) bus, an advanced high-performance bus (AHB), an advanced extensible interface (AXI) bus, and a small computer system interface. to external devices through one of the following: a small computer system interface (SCSI) bus, Ethernet bus, Universal Serial Bus (USB), Advance Graphics Processor (AGP) bus, and serial serial advanced technology attachment (SATA) bus. Operative to connect,
integrated circuit.
상기 메시지는 제 1 메시지이고,
송신 모드에서 동작하는 경우, 상기 코어 로직 회로는 상기 제 1 메시지에 기초하여 제 2 메시지를 생성하고 상기 제 2 메시지를 외부 디바이스로 전송하며,
상기 테스트 로직 회로는 상기 제 2 메시지를 스누핑 하도록 동작하고, 상기 테스트 로직 회로는 상기 제 2 메시지를 평가하고 상기 제 2 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 프로세서로 제공하는,
집적 회로.The method of claim 1,
The message is a first message,
When operating in a transmit mode, the core logic circuit generates a second message based on the first message and transmits the second message to an external device,
The test logic circuit is operative to snoop the second message, the test logic circuit providing a second status signal to the processor that evaluates the second message and indicates whether the second message is valid;
integrated circuit.
상기 메시지는 제 1 메시지이고,
수신 모드에서 동작하는 경우, 상기 코어 로직 회로는 상기 제 1 메시지에 기초하여 제 2 메시지를 생성하고 상기 제 2 메시지를 외부 디바이스로 전송하며,
상기 테스트 로직 회로는 상기 제 2 메시지를 스누핑 하도록 동작하고, 상기 테스트 로직 회로는 상기 제 2 메시지를 평가하고 상기 제 2 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 프로세서로 제공하고, 그리고
상기 테스트 로직 회로는 상기 제 2 메시지에 기초하여 제 3 메시지를 생성하고 상기 외부 디바이스를 에뮬레이트(emulate)하기 위해 상기 제 3 메시지를 상기 코어 로직 회로로 전송하도록 추가적으로 동작하는,
집적 회로.The method of claim 1,
The message is a first message,
When operating in a receive mode, the core logic circuit generates a second message based on the first message and sends the second message to an external device,
The test logic circuit is operative to snoop the second message, the test logic circuit provides a second status signal to the processor that evaluates the second message and indicates whether the second message is valid, and
The test logic circuit is further operative to generate a third message based on the second message and send the third message to the core logic circuit to emulate the external device,
integrated circuit.
상기 코어 로직 회로는 상기 제 3 메시지에 기초하여 제 4 메시지를 생성하고 상기 제 4 메시지를 상기 프로세서로 전송하도록 동작하고,
상기 테스트 로직 회로는 상기 제 4 메시지를 평가하고 상기 제 4 메시지가 유효한지 여부를 표시하는 제 3 상태 신호를 상기 프로세서로 제공하는,
집적 회로.The method of claim 8,
The core logic circuit is operative to generate a fourth message based on the third message and send the fourth message to the processor,
The test logic circuitry provides a third status signal to the processor that evaluates the fourth message and indicates whether the fourth message is valid;
integrated circuit.
상기 코어 로직 회로는 상기 메시지와 관련된 응답 메시지를 생성하고 상기 응답 메시지를 상기 프로세서로 전송하고,
상기 테스트 로직 회로는 상기 응답 메시지를 평가하고 상기 응답 메시지가 유효한지 여부를 표시하기 위해 제 2 상태 신호를 제공하는,
집적 회로.The method of claim 1,
The core logic circuit generates a response message associated with the message and sends the response message to the processor,
The test logic circuitry provides a second status signal to evaluate the response message and indicate whether the response message is valid;
integrated circuit.
상기 집적 회로는, 개인용 컴퓨터, 랩톱 컴퓨터, 개인 디지털 보조기(PDA), 울트라 모바일 개인용 컴퓨터(UMPC), 무선 통신 디바이스, 네트워킹 디바이스, 및 전자 계산 디바이스 중 하나에서 동작하도록 구성된,
집적 회로.The method of claim 1,
The integrated circuit is configured to operate in one of a personal computer, a laptop computer, a personal digital assistant (PDA), an ultra mobile personal computer (UMPC), a wireless communication device, a networking device, and an electronic computing device,
integrated circuit.
상기 집적 회로는 무선 통신 디바이스의 이동국 모뎀(MSM) 칩으로서 동작하도록 구성되는,
집적 회로.The method of claim 1,
The integrated circuit is configured to operate as a mobile station modem (MSM) chip of a wireless communication device,
integrated circuit.
집적 회로 상의 프로세서에서 테스트 프로그램의 명령들을 실행하는 단계;
상기 테스트 프로그램에 따라 상기 집적 회로의 코어 로직 회로와 통신하기 위해 상기 프로세서에서 데이터를 포함하는 메시지를 생성하는 단계;
상기 프로세서로부터 상기 코어 로직 회로로 상기 메시지를 전송하는 단계;
상기 집적 회로의 테스트 로직 회로에서 상기 메시지를 스누핑하는 단계;
상기 메시지가 유효한지 여부를 결정하기 위해 상기 테스트 로직 회로에서 상기 메시지를 평가하는 단계 ― 상기 메시지는 프로토콜에 따라 통신되고, 그리고 상기 메시지를 평가하는 단계는, 기준 데이터를 생성하는 단계 및 상기 메시지가 상기 프로토콜과 일치하는지 여부에 대한 결정 및 상기 메시지와 연관된 데이터와 상기 기준 데이터의 비교 중 적어도 하나에 기초하여 상기 메시지를 평가하는 단계를 포함함 ―; 및
상기 메시지가 유효한지 여부를 표시하는 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하는 단계를 포함하는,
방법.As a method,
Executing instructions of a test program at a processor on an integrated circuit;
Generating a message comprising data at the processor to communicate with a core logic circuit of the integrated circuit in accordance with the test program;
Sending the message from the processor to the core logic circuit;
Snooping the message in a test logic circuit of the integrated circuit;
Evaluating the message in the test logic circuit to determine whether the message is valid, wherein the message is communicated according to a protocol, and evaluating the message comprises generating reference data and Evaluating the message based on at least one of a determination of whether the protocol matches the protocol and a comparison of the reference data with data associated with the message; And
Providing a status signal from the test logic circuit to the processor indicating whether the message is valid,
Way.
상기 코어 로직 회로는 200 MHz 내지 400 MHz의 범위 내의 주파수에서 동작하도록 구성되는,
방법.17. The method of claim 16,
The core logic circuit is configured to operate at a frequency in the range of 200 MHz to 400 MHz,
Way.
상기 코어 로직 회로는 400 MHz보다 높은 주파수에서 동작하도록 구성되는,
방법.17. The method of claim 16,
The core logic circuit is configured to operate at a frequency higher than 400 MHz,
Way.
상기 코어 로직 회로는, 주변 컴포넌트 상호접속(PCI) 버스, 향상된 고성능 버스(AHB), 향상된 익스텐서블 인터페이스(AXI) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI) 버스, 이더넷 버스, 범용 직렬 버스(USB), AGP 버스, 및 직렬 ATA(SATA) 버스 중 하나를 통해 외부 디바이스와 연결되도록 동작하는,
방법.17. The method of claim 16,
The core logic circuit includes a peripheral component interconnect (PCI) bus, an enhanced high performance bus (AHB), an enhanced extensible interface (AXI) bus, a small computer system interface (SCSI) bus, an Ethernet bus, a universal serial bus (USB). Operative to connect with external devices through one of the following: AGP bus, and Serial ATA (SATA) bus,
Way.
상기 명령들을 실행시키는 단계는 송신 모드에서 동작을 개시하기 위하여 상기 프로세서에서 상기 테스트 프로그램의 명령들을 실행시키는 단계를 포함하고, 상기 방법은,
상기 메시지에 기초하여 상기 코어 로직 회로에서 제 2 메시지를 생성하는 단계;
외부 디바이스로 상기 메시지를 제공하기 위하여 상기 제 2 메시지를 상기 집적 회로의 핀 인터페이스로 전송하는 단계;
상기 테스트 로직 회로에서 상기 제 2 메시지를 스누핑하는 단계;
상기 제 2 메시지가 유효한지 여부를 결정하기 위하여 상기 테스트 로직 회로에서 상기 제 2 메시지를 평가하는 단계; 및
상기 제 2 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하는 단계를 더 포함하는,
방법.17. The method of claim 16,
Executing the instructions includes executing instructions of the test program at the processor to initiate operation in a transmission mode, the method comprising:
Generating a second message in the core logic circuit based on the message;
Sending the second message to a pin interface of the integrated circuit to provide the message to an external device;
Snooping the second message in the test logic circuit;
Evaluating the second message in the test logic circuit to determine whether the second message is valid; And
Providing a second status signal from the test logic circuit to the processor indicating whether the second message is valid;
Way.
상기 명령들을 실행시키는 단계는 수신 모드에서 동작을 개시하기 위하여 상기 프로세서에서 상기 테스트 프로그램의 명령들을 실행시키는 단계를 포함하고, 상기 방법은,
상기 메시지에 기초하여 상기 코어 로직 회로에서 제 2 메시지를 생성하는 단계;
상기 메시지를 외부 디바이스로 제공하기 위하여 상기 제 2 메시지를 상기 코어 로직 회로으로부터 상기 집적회로의 핀 인터페이스로 전송하는 단계;
상기 테스트 로직 회로에서 상기 제 2 메시지를 스누핑하는 단계;
상기 제 2 메시지에 기초하여 상기 테스트 로직 회로에서 제 3 메시지를 생성하는 단계; 및
상기 제 3 메시지를 상기 테스트 로직 회로로부터 상기 코어 로직 회로로 전송하는 단계를 더 포함하고,
상기 테스트 로직 회로는 상기 외부 디바이스를 에뮬레이트하는,
방법.17. The method of claim 16,
Executing the instructions comprises executing instructions of the test program at the processor to initiate operation in a receive mode, the method comprising:
Generating a second message in the core logic circuit based on the message;
Sending the second message from the core logic circuit to a pin interface of the integrated circuit to provide the message to an external device;
Snooping the second message in the test logic circuit;
Generating a third message in the test logic circuit based on the second message; And
Sending the third message from the test logic circuit to the core logic circuit,
The test logic circuit emulates the external device,
Way.
상기 제 3 메시지에 기초하여 상기 코어 로직 회로에서 제 4 메시지를 생성하는 단계;
상기 제 4 메시지를 상기 코어 로직 회로로부터 상기 프로세서로 전송하는 단계;
상기 테스트 로직 회로에서 상기 제 4 메시지를 스누핑하는 단계;
상기 제 4 메시지가 유효한지 여부를 결정하기 위해 상기 테스트 로직 회로에서 상기 제 4 메시지를 평가하는 단계; 및
상기 제 4 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하는 단계를 더 포함하는,
방법.24. The method of claim 23,
Generating a fourth message in the core logic circuit based on the third message;
Sending the fourth message from the core logic circuit to the processor;
Snooping the fourth message in the test logic circuit;
Evaluating the fourth message in the test logic circuit to determine whether the fourth message is valid; And
Providing a second status signal from the test logic circuit to the processor indicating whether the fourth message is valid;
Way.
상기 메시지와 관련된 응답 메시지를 상기 코어 로직 회로에서 생성하는 단계, 상기 응답 메시지를 상기 프로세서로 전송하는 단계, 상기 테스트 로직 회로에서 상기 응답 메시지를 평가하는 단계, 및 상기 응답 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로에서 생성하는 단계를 더 포함하는,
방법.17. The method of claim 16,
Generating a response message associated with the message in the core logic circuit, transmitting the response message to the processor, evaluating the response message in the test logic circuit, and indicating whether the response message is valid Generating at the test logic circuit a second state signal;
Way.
상기 집적 회로는, 개인용 컴퓨터, 랩톱 컴퓨터, 개인 디지털 보조기(PDA), 울트라 모바일 개인용 컴퓨터(UMPC), 모바일 핸드셋, 네트워킹 디바이스, 및 전자 계산 디바이스 중 하나에서 동작하도록 구성된,
방법.17. The method of claim 16,
The integrated circuit is configured to operate in one of a personal computer, a laptop computer, a personal digital assistant (PDA), an ultra mobile personal computer (UMPC), a mobile handset, a networking device, and an electronic computing device,
Way.
송신 모드 및 수신 모드 중 하나의 모드에서 동작을 개시하도록 집적 회로 상에서 테스트 프로그램의 명령들을 실행하기 위한 수단;
상기 테스트 프로그램에 따라 상기 집적 회로의 코어 로직 회로와 통신하도록 프로세서에서 데이터를 포함하는 메시지를 생성하기 위한 수단;
상기 메시지를 상기 프로세서로부터 상기 코어 로직 회로로 전송하기 위한 수단;
상기 집적 회로의 테스트 로직 회로에서 상기 메시지를 스누핑하기 위한 수단;
상기 메시지가 유효한지 여부를 결정하기 위해 상기 테스트 로직 회로에서 상기 메시지를 평가하기 위한 수단 ― 상기 메시지는 프로토콜에 따라 통신되고, 그리고 상기 메시지를 평가하기 위한 수단은, 기준 데이터를 생성하기 위한 수단 및 상기 메시지가 상기 프로토콜과 일치하는지 여부에 대한 결정 및 상기 메시지와 연관된 데이터와 상기 기준 데이터의 비교 중 적어도 하나에 기초하여 상기 메시지를 평가하기 위한 수단을 포함함 ―; 및
상기 메시지가 유효한지 여부를 표시하는 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하기 위한 수단을 포함하는,
집적 회로.As an integrated circuit,
Means for executing instructions of a test program on an integrated circuit to initiate operation in one of a transmit mode and a receive mode;
Means for generating a message comprising data at a processor to communicate with a core logic circuit of the integrated circuit in accordance with the test program;
Means for sending the message from the processor to the core logic circuit;
Means for snooping the message in a test logic circuit of the integrated circuit;
Means for evaluating the message in the test logic circuit to determine whether the message is valid, the message being communicated according to a protocol, and the means for evaluating the message comprising: means for generating reference data; Means for evaluating the message based on at least one of a determination of whether the message conforms to the protocol and a comparison of the reference data with data associated with the message; And
Means for providing a status signal from the test logic circuit to the processor indicating whether the message is valid;
integrated circuit.
상기 명령들을 실행시키기 위한 수단은 상기 송신 모드에서 동작을 개시하기 위하여 상기 프로세서에서 상기 테스트 프로그램의 명령들을 실행시키기 위한 수단을 포함하고, 상기 집적 회로는,
상기 메시지에 기초하여 상기 코어 로직 회로에서 제 2 메시지를 생성하기 위한 수단;
상기 메시지를 외부 디바이스로 제공하기 위하여 상기 제 2 메시지를 상기 집적 회로의 핀 인터페이스로 전송하기 위한 수단;
상기 테스트 로직 회로에서 상기 제 2 메시지를 스누핑하기 위한 수단;
상기 제 2 메시지가 유효한지 여부를 결정하기 위해 상기 테스트 로직 회로에서 상기 제 2 메시지를 평가하기 위한 수단; 및
상기 제 2 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하기 위한 수단을 더 포함하는,
집적 회로.31. The method of claim 30,
Means for executing the instructions includes means for executing instructions of the test program at the processor to initiate operation in the transmission mode, wherein the integrated circuit comprises:
Means for generating a second message in the core logic circuit based on the message;
Means for sending the second message to a pin interface of the integrated circuit to provide the message to an external device;
Means for snooping the second message in the test logic circuit;
Means for evaluating the second message in the test logic circuit to determine whether the second message is valid; And
Means for providing a second status signal from the test logic circuit to the processor indicating whether the second message is valid;
integrated circuit.
상기 명령들을 실행시키기 위한 수단은 상기 수신 모드에서 동작을 개시하기 위하여 상기 프로세서에서 상기 테스트 프로그램의 명령들을 실행시키기 위한 수단을 포함하고, 상기 집적 회로는,
상기 메시지에 기초하여 상기 코어 로직 회로에서 제 2 메시지를 생성하기 위한 수단;
상기 제 2 메시지를 외부 디바이스로 제공하기 위하여 상기 제 2 메시지를 상기 코어 로직 회로로부터 핀 인터페이스로 전송하기 위한 수단;
상기 테스트 로직 회로에서 상기 제 2 메시지를 스누핑하기 위한 수단;
상기 제 2 메시지에 기초하여 상기 테스트 로직 회로에서 제 3 메시지를 생성하기 위한 수단; 및
상기 제 3 메시지를 상기 테스트 로직 회로로부터 상기 코어 로직 회로로 전송하기 위한 수단을 더 포함하고,
상기 테스트 로직 회로는 상기 외부 디바이스를 에뮬레이트하는,
집적 회로.31. The method of claim 30,
Means for executing the instructions includes means for executing instructions of the test program at the processor to initiate operation in the receive mode, wherein the integrated circuit comprises:
Means for generating a second message in the core logic circuit based on the message;
Means for sending the second message from the core logic circuit to a pin interface to provide the second message to an external device;
Means for snooping the second message in the test logic circuit;
Means for generating a third message in the test logic circuit based on the second message; And
Means for sending the third message from the test logic circuit to the core logic circuit,
The test logic circuit emulates the external device,
integrated circuit.
상기 제 3 메시지에 기초하여 상기 코어 로직 회로에서 제 4 메시지를 전송하기 위한 수단;
상기 제 4 메시지를 상기 코어 로직 회로로부터 상기 프로세서로 전송하기 위한 수단;
상기 제 4 메시지를 상기 테스트 로직 회로에서 스누핑하기 위한 수단;
상기 제 4 메시지가 유효한지 여부를 결정하기 위해 상기 제 4 메시지를 상기 테스트 로직 회로에서 평가하기 위한 수단;
상기 제 4 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하기 위한 수단을 더 포함하는,
집적 회로.39. The method of claim 37,
Means for sending a fourth message in the core logic circuit based on the third message;
Means for sending the fourth message from the core logic circuit to the processor;
Means for snooping the fourth message in the test logic circuit;
Means for evaluating the fourth message in the test logic circuit to determine whether the fourth message is valid;
Means for providing a second status signal from the test logic circuit to the processor indicating whether the fourth message is valid;
integrated circuit.
상기 메시지와 관련된 응답 메시지를 상기 코어 로직 회로에서 생성하기 위한 수단, 상기 응답 메시지를 상기 프로세서로 전송하기 위한 수단, 상기 응답 메시지를 상기 테스트 로직 회로에서 평가하기 위한 수단, 및 상기 응답 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로에서 생성하기 위한 수단을 더 포함하는,
집적 회로.31. The method of claim 30,
Means for generating a response message associated with the message in the core logic circuit, means for sending the response message to the processor, means for evaluating the response message in the test logic circuit, and the response message is valid. Means for generating, in said test logic circuit, a second status signal indicating whether or not;
integrated circuit.
송신 모드 및 수신 모드 중 하나의 모드에서 동작을 개시하도록 상기 컴퓨터에 의해 실행가능한 명령들;
테스트 프로그램에 따라 집적 회로의 코어 로직 회로와 통신하기 위해 프로세서의 데이터를 포함하는 메시지를 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 프로세서로부터 상기 코어 로직 회로로 상기 메시지를 전송하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 메시지를 상기 집적 회로의 테스트 로직 회로에서 스누핑하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 메시지가 유효한지 여부를 결정하기 위해 상기 테스트 로직 회로에서 상기 메시지를 평가하도록 상기 컴퓨터에 의해 실행가능한 명령들 ― 상기 메시지는 프로토콜에 따라 통신되고, 그리고 상기 메시지를 평가하도록 상기 컴퓨터에 의해 실행가능한 명령들은, 기준 데이터를 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들 및 상기 메시지가 상기 프로토콜과 일치하는지 여부에 대한 결정 및 상기 메시지와 연관된 데이터와 상기 기준 데이터의 비교 중 적어도 하나에 기초하여 상기 메시지를 평가하도록 상기 컴퓨터에 의해 실행가능한 명령들을 포함함 ―; 및
상기 메시지가 유효한지 여부를 표시하는 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하도록 상기 컴퓨터에 의해 실행가능한 명령들을 포함하는,
컴퓨터-판독가능 매체.A computer-readable medium for storing instructions executable by a computer, the instructions comprising:
Instructions executable by the computer to initiate operation in one of a transmission mode and a reception mode;
Instructions executable by the computer to generate a message comprising data of a processor for communicating with a core logic circuit of an integrated circuit in accordance with a test program;
Instructions executable by the computer to send the message from the processor to the core logic circuitry;
Instructions executable by the computer to snoop the message from a test logic circuit of the integrated circuit;
Instructions executable by the computer to evaluate the message in the test logic circuit to determine whether the message is valid—the message is communicated according to a protocol and executable by the computer to evaluate the message The instructions may be adapted to generate the reference data based on at least one of instructions executable by the computer to determine whether the message matches the protocol and comparison of the reference data with the data associated with the message. Instructions executable by the computer to evaluate; And
Instructions executable by the computer to provide a status signal from the test logic circuit to the processor indicating whether the message is valid,
Computer-readable media.
상기 메시지에 기초하여 제 2 메시지를 상기 코어 로직 회로에서 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 제 2 메시지를 테스트 로직 회로에서 스누핑하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 메시지가 유효한지 여부를 결정하기 위해 상기 테스트 로직 회로를 평가하도록 상기 컴퓨터에 의해 실행가능한 명령들; 및
상기 제 2 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하도록 상기 컴퓨터에 의해 실행가능한 명령들을 더 포함하는,
컴퓨터-판독가능 매체.45. The method of claim 44,
Instructions executable by the computer to generate a second message in the core logic circuit based on the message;
Instructions executable by the computer to snoop the second message in a test logic circuit;
Instructions executable by the computer to evaluate the test logic circuit to determine whether the message is valid; And
Further instructions executable by the computer to provide a second status signal from the test logic circuit to the processor indicating whether the second message is valid;
Computer-readable media.
상기 메시지에 기초하여 제 2 메시지를 상기 코어 로직 회로에서 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 제 2 메시지를 외부 디바이스로 제공하기 위해 상기 제 2 메시지를 상기 코어 로직 회로로부터 핀 인터페이스로 전송하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 테스트 로직 회로에서 상기 제 2 메시지를 스누핑하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 제 2 메시지에 기초하여 제 3 메시지를 상기 테스트 로직 회로에서 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들; 및
상기 제 3 메시지를 상기 테스트 로직 회로로부터 상기 코어 로직 회로로 전송하도록 상기 컴퓨터에 의해 실행가능한 명령들을 더 포함하고,
상기 테스트 로직 회로는 상기 외부 디바이스를 에뮬레이트하는,
컴퓨터-판독가능 매체.45. The method of claim 44,
Instructions executable by the computer to generate a second message in the core logic circuit based on the message;
Instructions executable by the computer to send the second message from the core logic circuit to a pin interface to provide the second message to an external device;
Instructions executable by the computer to snoop the second message in the test logic circuit;
Instructions executable by the computer to generate a third message in the test logic circuit based on the second message; And
Further instructions executable by the computer to send the third message from the test logic circuit to the core logic circuit,
The test logic circuit emulates the external device,
Computer-readable media.
상기 제 3 메시지에 기초하여 제 4 메시지를 상기 코어 로직 회로에서 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 제 4 메시지를 상기 코어 로직 회로로부터 상기 프로세서로 전송하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 테스트 로직 회로에서 상기 제 4 메시지를 스누핑하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 제 4 메시지가 유효한지 여부를 결정하기 위해 상기 테스트 로직 회로에서 상기 제 4 메시지를 평가하도록 상기 컴퓨터에 의해 실행가능한 명령들; 및
상기 제 4 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로로부터 상기 프로세서로 제공하도록 상기 컴퓨터에 의해 실행가능한 명령들을 더 포함하는,
컴퓨터-판독가능 매체.52. The method of claim 51,
Instructions executable by the computer to generate a fourth message in the core logic circuit based on the third message;
Instructions executable by the computer to send the fourth message from the core logic circuit to the processor;
Instructions executable by the computer to snoop the fourth message from the test logic circuit;
Instructions executable by the computer to evaluate the fourth message in the test logic circuit to determine whether the fourth message is valid; And
Further instructions executable by the computer to provide a second status signal from the test logic circuit to the processor indicating whether the fourth message is valid;
Computer-readable media.
상기 메시지와 관련된 응답 메시지를 상기 코어 로직 회로에서 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 응답 메시지를 상기 프로세서로 전송하도록 상기 컴퓨터에 의해 실행가능한 명령들;
상기 응답 메시지를 상기 테스트 로직 회로에서 평가하도록 상기 컴퓨터에 의해 실행가능한 명령들; 및
상기 응답 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 테스트 로직 회로에서 생성하도록 상기 컴퓨터에 의해 실행가능한 명령들을 더 포함하는,
컴퓨터-판독가능 매체.45. The method of claim 44,
Instructions executable by the computer to generate a response message in the core logic circuit associated with the message;
Instructions executable by the computer to send the response message to the processor;
Instructions executable by the computer to evaluate the response message in the test logic circuit; And
Further instructions executable by the computer to generate, in the test logic circuit, a second status signal indicating whether the response message is valid;
Computer-readable media.
상기 집적회로는:
테스트 프로그램의 명령들을 실행하도록 동작하는 프로세서 ― 상기 프로세서는 데이터를 포함하는 메시지를 생성하도록 동작함 ― ;
버스를 통해 상기 프로세서로 연결되는 인터페이스 제어기 ― 상기 인터페이스 제어기는 상기 테스트 프로그램에 따라 상기 프로세서로부터 상기 버스를 통해 상기 메시지를 수신하도록 동작함 ― ; 및
상기 프로세서 및 상기 인터페이스 제어기의 외부에 있는 테스트 로직 회로를 포함하고,
상기 테스트 로직 회로는 상기 버스에 연결되고, 상기 테스트 로직 회로는 상기 버스를 통해 전송되는 상기 메시지를 인터셉트(intercept)하도록 동작하고, 상기 테스트 로직 회로는 상기 메시지를 평가하고 상기 평가에 기초하여 상기 메시지가 유효한지 여부를 표시하는 상태 신호를 핀 인터페이스로 제공하며,
상기 메시지는 프로토콜에 따라 통신되고, 그리고 상기 테스트 로직 회로는, 기준 데이터를 생성하고 그리고 상기 메시지가 상기 프로토콜과 일치하는지 여부에 대한 결정 및 상기 메시지와 관련된 데이터와 상기 기준 데이터의 비교 중 적어도 하나에 기초하여 상기 메시지를 평가하는,
시스템. A system comprising an integrated circuit,
The integrated circuit is:
A processor operative to execute instructions of a test program, the processor operative to generate a message comprising data;
An interface controller coupled to the processor via a bus, the interface controller operative to receive the message over the bus from the processor in accordance with the test program; And
A test logic circuit external to the processor and the interface controller,
The test logic circuit is coupled to the bus, the test logic circuit operates to intercept the message sent over the bus, the test logic circuit evaluating the message and based on the evaluation Provides a status signal to the pin interface indicating whether is valid.
The message is communicated according to a protocol, and the test logic circuit generates at least one of: generating reference data and determining whether the message conforms to the protocol and comparing the reference data with data associated with the message. To evaluate the message based on
system.
상기 프로세서는, 수신 모드에서 상기 테스트 프로그램의 명령들을 실행하고, 상기 테스트 로직 회로는, 상기 프로세서에 의해 제공된 상기 테스트 로직 회로에서의 시드(seed) 값에 기초하여, 프로토콜과 연관되는 제 2 데이터를 포함하는 제 2 메시지를 상기 코어 로직 회로로 전송하는,
집적 회로.The method of claim 1,
The processor executes instructions of the test program in a receive mode, and the test logic circuitry is further configured to generate second data associated with the protocol based on a seed value in the test logic circuit provided by the processor. Sending a second message to the core logic circuit,
integrated circuit.
상기 코어 로직 회로는 상기 테스트 로직 회로로부터 수신된 상기 제 2 데이터에 기초하여 제 3 메시지를 생성하는,
집적 회로.64. The method of claim 63,
The core logic circuit generates a third message based on the second data received from the test logic circuit;
integrated circuit.
상기 테스트 로직 회로는 상기 프로세서로부터 시드 값을 수신하고 제 2 데이터를 생성하는 의사 랜덤 데이터 생성기를 포함하고, 상기 제 2 데이터는 상기 테스트 프로그램에 의해 특정되는 테스트 데이터와 매치되는,
집적 회로.The method of claim 1,
The test logic circuit comprises a pseudo random data generator for receiving a seed value from the processor and generating second data, the second data matching the test data specified by the test program,
integrated circuit.
상기 테스트 로직 회로는 검증 회로를 포함하고, 상기 검증 회로는 상기 메시지가 유효한지 여부를 결정하기 위해 상기 제 2 데이터를 상기 메시지로부터 스누핑된 데이터와 비교하는,
집적 회로.66. The method of claim 65,
The test logic circuit comprises a verify circuit, the verify circuit comparing the second data with data snooped from the message to determine whether the message is valid,
integrated circuit.
상기 프로세서는 수신 모드에서 상기 테스트 프로그램의 명령들을 실행하고, 상기 방법은,
프로토콜에 의해 요구되는 제 2 데이터를 포함하는 제 2 메시지를 상기 테스트 로직 회로로부터 상기 코어 로직 회로로 전송하는 단계 ― 상기 제 2 메시지는 상기 프로세서에 의해 제공되는 상기 테스트 로직 회로에서의 시드 값에 기반함 ― 를 더 포함하는,
방법.17. The method of claim 16,
The processor executes instructions of the test program in a receive mode, the method further comprising:
Sending a second message from the test logic circuit to the core logic circuit, the second message comprising second data required by a protocol, the second message being based on a seed value in the test logic circuit provided by the processor Further comprising:
Way.
상기 테스트 로직 회로로부터 수신된 상기 제 2 데이터에 기초하여 상기 코어 로직 회로에서 제 3 메시지를 생성하는 단계를 더 포함하는,
방법.68. The method of claim 67,
Generating a third message in the core logic circuit based on the second data received from the test logic circuit,
Way.
상기 프로세서로부터 상기 테스트 로직 회로의 의사 랜덤 데이터 생성기에서의 시드 값을 수신하는 단계; 및
상기 의사 랜덤 데이터 생성기에서, 상기 테스트 프로그램에 의해 특정된 테스트 데이터와 매치되는, 제 2 메시지에 대응하는 제 2 데이터를 생성하는 단계를 더 포함하는,
방법.17. The method of claim 16,
Receiving a seed value at the pseudo random data generator of the test logic circuit from the processor; And
In the pseudo random data generator, generating second data corresponding to a second message, which matches the test data specified by the test program,
Way.
상기 테스트 로직 회로의 검증 모듈에서, 상기 메시지가 유효하지 여부를 결정하기 위해 상기 제 2 데이터를 상기 메시지로부터 스누핑된 데이터와 비교하는 단계를 더 포함하는,
방법.70. The method of claim 69,
In the verification module of the test logic circuit, further comprising comparing the second data with data snooped from the message to determine whether the message is valid,
Way.
상기 인터페이스 제어기는 상기 메시지에 기초하여 제 2 메시지를 생성하고 제 2 버스를 통해 외부 디바이스로 상기 제 2 메시지를 전송하고,
상기 테스트 로직 회로는 상기 제 2 버스로 연결되고, 상기 테스트 로직 회로는 상기 제 2 버스를 통해 상기 제 2 메시지를 인터셉트 하도록 동작하고, 상기 테스트 로직 회로는 상기 제 2 메시지를 평가하고 상기 제 2 메시지가 유효한지 여부를 표시하는 제 2 상태 신호를 상기 핀 인터페이스로 제공하고,
상기 테스트 로직 회로는 상기 제 2 메시지에 기초하여 제 3 메시지를 생성하고 상기 외부 디바이스를 에뮬레이트하기 위해 상기 제 2 버스를 통해 상기 인터페이스 제어기로 상기 제 3 메시지를 전송하도록 추가적으로 동작하는,
시스템.59. The method of claim 58,
The interface controller generates a second message based on the message and sends the second message to an external device via a second bus,
The test logic circuit is coupled to the second bus, the test logic circuit is operative to intercept the second message via the second bus, the test logic circuit evaluates the second message and the second message Provide a second status signal to the pin interface indicating whether is valid;
The test logic circuit is further operative to generate a third message based on the second message and send the third message to the interface controller via the second bus to emulate the external device;
system.
상기 인터페이스 제어기는 상기 제 3 메시지에 기초하여 제 4 메시지를 생성하고 상기 버스를 통해 상기 프로세서로 상기 제 4 메시지를 전송하도록 동작하고, 그리고
상기 테스트 로직 회로는 상기 제 4 메시지를 평가하고 상기 제 4 메시지가 유효한지 여부를 표시하는 제 3 상태 신호를 상기 핀 인터페이스로 제공하는,
시스템.The method of claim 71 wherein
The interface controller is operative to generate a fourth message based on the third message and send the fourth message to the processor via the bus; and
The test logic circuitry evaluates the fourth message and provides a third status signal to the pin interface indicating whether the fourth message is valid;
system.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/943,935 | 2007-06-14 | ||
US11/842,396 US8484524B2 (en) | 2007-08-21 | 2007-08-21 | Integrated circuit with self-test feature for validating functionality of external interfaces |
US11/842,396 | 2007-08-21 | ||
US94393507P | 2007-09-10 | 2007-09-10 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137005441A Division KR20130040259A (en) | 2007-06-14 | 2008-06-12 | Integrated circuit with self-test feature for validating functionality of external interfaces |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100027214A KR20100027214A (en) | 2010-03-10 |
KR101265116B1 true KR101265116B1 (en) | 2013-05-16 |
Family
ID=39734919
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107000661A KR101265116B1 (en) | 2007-06-14 | 2008-06-12 | Integrated circuit with self-test feature for validating functionality of external interfaces |
KR1020137005441A KR20130040259A (en) | 2007-06-14 | 2008-06-12 | Integrated circuit with self-test feature for validating functionality of external interfaces |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137005441A KR20130040259A (en) | 2007-06-14 | 2008-06-12 | Integrated circuit with self-test feature for validating functionality of external interfaces |
Country Status (8)
Country | Link |
---|---|
US (1) | US8484524B2 (en) |
EP (1) | EP2158495B1 (en) |
JP (1) | JP2010537156A (en) |
KR (2) | KR101265116B1 (en) |
CN (1) | CN101680932B (en) |
AT (1) | ATE521903T1 (en) |
TW (1) | TW200909829A (en) |
WO (1) | WO2008157246A1 (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9004355B2 (en) * | 2005-09-29 | 2015-04-14 | Cardfree Inc | Secure system and method to pay for a service provided at a reservation |
US8622292B2 (en) * | 2005-09-29 | 2014-01-07 | Jeffrey Bart Katz | Reservation-based preauthorization payment system |
US20090089003A1 (en) * | 2007-09-28 | 2009-04-02 | Inventec Corporation | Accessory-testing device and method therefor |
US8220718B2 (en) * | 2008-09-15 | 2012-07-17 | Vasco Data Security, Inc. | Method for post-manufacturing data transfer to and from a sealed device |
JP2011075460A (en) * | 2009-09-30 | 2011-04-14 | Toshiba Corp | Semiconductor integrated circuit |
US20120324302A1 (en) * | 2011-06-17 | 2012-12-20 | Qualcomm Incorporated | Integrated circuit for testing using a high-speed input/output interface |
US8933715B2 (en) * | 2012-04-08 | 2015-01-13 | Elm Technology Corporation | Configurable vertical integration |
US9542347B2 (en) | 2013-03-16 | 2017-01-10 | Intel Corporation | Host interface crossbar for sensor hub |
US9430414B2 (en) | 2013-03-16 | 2016-08-30 | Intel Corporation | Bus independent platform for sensor hub peripherals to provide coalescing of multiple reports |
CN104678279A (en) * | 2013-11-29 | 2015-06-03 | 英业达科技有限公司 | System and method for testing connecting slot by using testing vector |
US10379926B2 (en) * | 2014-08-05 | 2019-08-13 | Macronix International Co., Ltd. | Method and device for monitoring data error status in a memory |
US11403170B2 (en) * | 2014-08-05 | 2022-08-02 | Macronix International Co., Ltd. | Method and device for monitoring data error status in a memory |
KR102377362B1 (en) * | 2015-07-08 | 2022-03-23 | 삼성전자주식회사 | Auxiliary test device, test board having the same, and test method thereof |
US10657092B2 (en) * | 2016-06-30 | 2020-05-19 | Intel Corporation | Innovative high speed serial controller testing |
US10521363B2 (en) * | 2016-11-23 | 2019-12-31 | Nuvoton Technology Corporation | Fully-digital multiple pin value detector apparatus and sampling methods useful in conjunction therewith |
TW201935305A (en) * | 2018-02-02 | 2019-09-01 | 美商多佛微系統公司 | Systems and methods for post cache interlocking |
CN112256512B (en) * | 2020-10-27 | 2024-05-07 | 重庆航天工业有限公司 | GLINK bus-based verification and test universal system |
WO2023078573A1 (en) * | 2021-11-08 | 2023-05-11 | Advantest Corporation | Automated test equipment, device under test, test setup methods using a measurement request |
WO2023078571A1 (en) * | 2021-11-08 | 2023-05-11 | Advantest Corporation | Automated test equipment, device under test, test setup methods using an acknowledge signaling |
KR20230168801A (en) | 2022-06-08 | 2023-12-15 | 와이아이케이 주식회사 | Semiconductor test apparatus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020183054A1 (en) | 2001-04-09 | 2002-12-05 | Yoram Rimoni | Mobile system testing architecture |
US20030023914A1 (en) | 2001-07-30 | 2003-01-30 | Taylor Richard D. | Built-in-self-test using embedded memory and processor in an application specific integrated circuit |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0425955A (en) * | 1990-05-22 | 1992-01-29 | Nec Corp | Bus interface diagnosis device |
US5537536A (en) * | 1994-06-21 | 1996-07-16 | Intel Corporation | Apparatus and method for debugging electronic components through an in-circuit emulator |
US5574733A (en) * | 1995-07-25 | 1996-11-12 | Intel Corporation | Scan-based built-in self test (BIST) with automatic reseeding of pattern generator |
JP3274332B2 (en) | 1995-11-29 | 2002-04-15 | 株式会社東芝 | Controller / mass memory embedded semiconductor integrated circuit device, test method and use method thereof, and semiconductor integrated circuit device and test method therefor |
JPH09223081A (en) | 1996-02-16 | 1997-08-26 | Fujitsu Ltd | Verification system for external device interface |
US5909593A (en) * | 1996-12-09 | 1999-06-01 | International Business Machines Corporation | System for assigning snoop levels to snooper modules and selectively invoking snooper modules having specified relation to a selected snoop level for hardware detection |
JPH10221410A (en) | 1997-02-07 | 1998-08-21 | Mitsubishi Electric Corp | Automatic logic verification system for lsi |
US5991898A (en) * | 1997-03-10 | 1999-11-23 | Mentor Graphics Corporation | Arithmetic built-in self test of multiple scan-based integrated circuits |
DE19917884C1 (en) * | 1999-04-20 | 2000-11-16 | Siemens Ag | Circuit with built-in self-test |
US7036064B1 (en) * | 2000-11-13 | 2006-04-25 | Omar Kebichi | Synchronization point across different memory BIST controllers |
US7475312B2 (en) * | 2003-07-09 | 2009-01-06 | Nxp B.V. | Integrated circuit (IC) with on-board characterization unit |
TWI266065B (en) * | 2005-05-18 | 2006-11-11 | Via Tech Inc | Chip capable of testing itself and testing method thereof |
JP4599266B2 (en) * | 2005-09-27 | 2010-12-15 | 株式会社東芝 | Simulation apparatus and simulation method |
US8032745B2 (en) * | 2005-12-20 | 2011-10-04 | International Business Machines Corporation | Authentication of I2C bus transactions |
US7519886B2 (en) * | 2006-01-05 | 2009-04-14 | International Business Machines Corporation | Apparatus and method for integrated functional built-in self test for an ASIC |
-
2007
- 2007-08-21 US US11/842,396 patent/US8484524B2/en not_active Expired - Fee Related
-
2008
- 2008-06-12 KR KR1020107000661A patent/KR101265116B1/en not_active IP Right Cessation
- 2008-06-12 EP EP08770869A patent/EP2158495B1/en not_active Not-in-force
- 2008-06-12 KR KR1020137005441A patent/KR20130040259A/en not_active Application Discontinuation
- 2008-06-12 WO PCT/US2008/066744 patent/WO2008157246A1/en active Application Filing
- 2008-06-12 JP JP2010512354A patent/JP2010537156A/en active Pending
- 2008-06-12 AT AT08770869T patent/ATE521903T1/en not_active IP Right Cessation
- 2008-06-12 CN CN2008800199234A patent/CN101680932B/en not_active Expired - Fee Related
- 2008-06-13 TW TW097122316A patent/TW200909829A/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020183054A1 (en) | 2001-04-09 | 2002-12-05 | Yoram Rimoni | Mobile system testing architecture |
US20030023914A1 (en) | 2001-07-30 | 2003-01-30 | Taylor Richard D. | Built-in-self-test using embedded memory and processor in an application specific integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
US8484524B2 (en) | 2013-07-09 |
EP2158495A1 (en) | 2010-03-03 |
CN101680932B (en) | 2013-11-20 |
KR20100027214A (en) | 2010-03-10 |
ATE521903T1 (en) | 2011-09-15 |
US20090055695A1 (en) | 2009-02-26 |
WO2008157246A8 (en) | 2010-04-15 |
TW200909829A (en) | 2009-03-01 |
KR20130040259A (en) | 2013-04-23 |
JP2010537156A (en) | 2010-12-02 |
EP2158495B1 (en) | 2011-08-24 |
CN101680932A (en) | 2010-03-24 |
WO2008157246A1 (en) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101265116B1 (en) | Integrated circuit with self-test feature for validating functionality of external interfaces | |
EP3274836B1 (en) | System and method to enable closed chassis debug control interface using a usb type-c connector | |
US10289779B2 (en) | Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor | |
CN107077409B (en) | Method and apparatus for multi-interface debugging in an electronic system | |
US7047458B2 (en) | Testing methodology and apparatus for interconnects | |
US10203371B2 (en) | Methods and systems for generating functional test patterns for manufacture test | |
CN115146568B (en) | Chip verification system and verification method based on UVM | |
US11828787B2 (en) | Eye diagram capture test during production | |
CN112269120A (en) | Interface signal loop test method and device, computer equipment and storage medium | |
US10762029B2 (en) | Electronic apparatus and detection method using the same | |
US7650540B2 (en) | Detecting and differentiating SATA loopback modes | |
US20240095366A1 (en) | Secure boot apparatus and method | |
CN115496018A (en) | Multi-version verification method, device and equipment for SoC (System on chip) | |
CN109102436A (en) | The soft core property right protection of IP and infringement identification method based on USB3.0 agreement TS1 training sequence | |
CN109214144A (en) | The soft core property right protection of IP and infringement identification method based on USB3.2 agreement TS2 training sequence | |
TWI234705B (en) | Detecting method for PCI system | |
CN105589530B (en) | Electronic system and method for managing use of semiconductor chip | |
CN109214143A (en) | The soft core property right protection of IP and infringement identification method based on USB3.2 agreement TS1 training sequence | |
US20240118340A1 (en) | Processor test pattern generation and application for tester systems | |
CN109165482A (en) | The soft core property right protection of IP and infringement identification method based on USB3.1 agreement TS1 training sequence | |
US20240094287A1 (en) | Low power environment for high performance processor without low power mode | |
CN109165481A (en) | The soft core property right protection of IP and infringement identification method based on USB3.0 agreement TS2 training sequence | |
CN109145527A (en) | The soft core property right protection of IP and infringement identification method based on USB3.1 agreement TS2 training sequence | |
US7206556B1 (en) | Wireless transmitter control lockout | |
CN114297982A (en) | UVM-based SPI bus verification method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |