TWI810523B - Automated test equipment system and apparatus, and method for testing duts - Google Patents

Automated test equipment system and apparatus, and method for testing duts Download PDF

Info

Publication number
TWI810523B
TWI810523B TW110104549A TW110104549A TWI810523B TW I810523 B TWI810523 B TW I810523B TW 110104549 A TW110104549 A TW 110104549A TW 110104549 A TW110104549 A TW 110104549A TW I810523 B TWI810523 B TW I810523B
Authority
TW
Taiwan
Prior art keywords
protocol
fpga
dut
duts
signals
Prior art date
Application number
TW110104549A
Other languages
Chinese (zh)
Other versions
TW202212851A (en
Inventor
美美 蘇
艾迪 周
艾德蒙多 迪拉龐堤
杜恩 尚普
Original Assignee
日商愛德萬測試股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/135,790 external-priority patent/US20210117298A1/en
Application filed by 日商愛德萬測試股份有限公司 filed Critical 日商愛德萬測試股份有限公司
Publication of TW202212851A publication Critical patent/TW202212851A/en
Application granted granted Critical
Publication of TWI810523B publication Critical patent/TWI810523B/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/26Testing of individual semiconductor devices
    • G01R31/2601Apparatus or methods therefor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output

Abstract

An automated test equipment (ATE) system comprises a system controller communicatively coupled to a tester processor, where the system controller is operable to transmit instructions to the tester processor, and where the tester processor is operable to generate commands and data from the instructions for coordinating testing of a plurality of devices under test (DUTs). The apparatus also comprises an FPGA programmed to support a first protocol communicatively coupled to the tester processor comprising at least one hardware accelerator circuit operable to internally generate commands and data transparently from the tester processor for testing a DUT of the plurality of DUTs. Further, the apparatus comprises a bus adapter comprising a protocol converter module operable to convert signals associated with the first protocol received from the FPGA to signals associated with a second protocol prior to transmitting the signals to the DUT, wherein the DUT communicates using the second protocol.

Description

自動測試裝備系統及設備、以及用於測試受測裝置的方法 Automatic test equipment system and device, and method for testing device under test

交互引用到相關的申請cross-references to related applications

本申請案係提交於2018年3月7日之美國專利申請第15/914,553號標題為「A TEST ARCHITECTURE WITH A FPGA BASED TEST BOARD TO SIMULATE A DUT OR END-POINT」發明人為Duane Champoux及Mei-Mei Su並具有代理人案號ATST-JP0090.P1的一部分延續案,而前案係提交於2013年2月21日之美國專利申請第13/773,569號標題為「A TEST ARCHITECTURE HAVING MULTIPLE FPGA BASED HARDWARE ACCELERATOR BLOCKS FOR TESTING MULTIPLE DUTS INDEPENDENTLY」發明人為Gerald Chan、Eric Kushnick、Mei-Mei Su及Andrew Niemic並具有代理人案號ATST-JP0090的一部分延續案。出於所有目的,通過引用把這兩個申請案全部合併於本案。 This application is based on U.S. Patent Application No. 15/914,553 filed on March 7, 2018, entitled "A TEST ARCHITECTURE WITH A FPGA BASED TEST BOARD TO SIMULATE A DUT OR END-POINT" and the inventors are Duane Champoux and Mei-Mei Su also has Attorney Docket No. ATST-JP0090.P1, which is a continuation in part of U.S. Patent Application Serial No. 13/773,569, filed February 21, 2013, entitled "A TEST ARCHITECTURE HAVING MULTIPLE FPGA BASED HARDWARE ACCELERATOR BLOCKS FOR TESTING MULTIPLE DUTS INDEPENDENTLY", the inventors are Gerald Chan, Eric Kushnick, Mei-Mei Su and Andrew Niemic, and it is part of the continuation case with attorney case number ATST-JP0090. Both applications are hereby incorporated by reference in their entirety for all purposes.

本申請案還宣稱代理人案號為ATSY-0090-00.00US提交日為2020年3月12日之美國臨時申請第62/988,612號標題為「使用主機匯流排適配器以在與具完整加速功能之FPGA結合使用中提供協定靈活性之技術(USE OF HOST BUS ADAPTER TO PROVIDE PROTOCOL FLEXIBILITY USED IN COMBINATION WITH FPGA WITH FULL ACCELERATION FOR TESTING)」的優先權。出於所有的目的,以上所列之每一個申請案的全部內容通過引用被合併於本案,如同在本案中被完整闡述一樣。 This application also asserts U.S. Provisional Application No. 62/988,612, filed March 12, 2020, with Attorney Docket No. ATSY-0090-00.00US, entitled "Use of a Host Bus Adapter to Comply with a Computer with Full Acceleration" The priority of the technology that provides protocol flexibility in combination with FPGA (USE OF HOST BUS ADAPTER TO PROVIDE PROTOCOL FLEXIBILITY USED IN COMBINATION WITH FPGA WITH FULL ACCELERATION FOR TESTING). The entire contents of each of the applications listed above are hereby incorporated by reference for all purposes as if fully set forth in this case.

發明領域 field of invention

本發明一般係涉及電子裝置測試系統領域,並更具體地係涉及用於測試受測裝置(DUT)之電子裝置測試裝備的領域。 The present invention relates generally to the field of electronic device test systems, and more particularly to the field of electronic device test equipment for testing devices under test (DUTs).

發明背景 Background of the invention

自動化測試裝備(ATE)可以是在一半導體裝置或電子組件上執行一測試之任何的測試組件。ATE組件可被使用來執行自動化測試,其快速地執行測量並產生測試結果,然後該測試結果可被分析。一ATE組件可以是從與一儀表耦合之電腦系統到一複雜自動化測試組件之任何的裝置,其包括一可定制、專用的電腦控制系統以及許多不同的測試儀器,該等測試儀器能夠自動測試電子零件及/或半導體晶圓測試,諸如系統單晶片(SOC)測試或積體電路測試。ATE系統既減少了在測試裝置上所花費的時間以確保該裝置係按設計運行,又可充當一診斷工具以判定一給定裝置在送達該消費者之前是否存在有故障組件。 Automated test equipment (ATE) may be any test component that performs a test on a semiconductor device or electronic component. ATE components can be used to perform automated testing that rapidly performs measurements and produces test results that can then be analyzed. An ATE assembly can be anything from a computer system coupled to an instrumentation to a complex automated test assembly that includes a customizable, dedicated computer control system and many different test instruments capable of automatically testing electronic Component and/or semiconductor wafer testing, such as system-on-chip (SOC) testing or integrated circuit testing. The ATE system both reduces the time spent on testing a device to ensure that the device is functioning as designed, and also acts as a diagnostic tool to determine whether a given device has a faulty component before it reaches the customer.

圖1係用於測試某些典型DUT例如諸如一DRAM半導體記憶體裝置之一類傳統自動測試裝備(ATE)主體100的一示意性方塊圖。該ATE包括具有硬體匯流排適配器插座110A-110N的一ATE主體100。特定於特別通訊協定(例如PCIe、USB、SATA、SAS等等)的硬體匯流排適配器插座110A-110N連接到在該ATE主體上所提供的硬體匯流排適配器插座,並經由特定於該相應協定之電纜介接該等DUT。該ATE主體100還包括具有一相關聯記憶體108的一測試處理器101以控制內建在該ATE主體100內的該等硬體組件,並產生與透過該等硬體匯流排適配器插座(或卡)正被測試之該等DUT進行通訊所需要的命令及資料。該測試器處理器101通過系統匯流排130與該等硬體匯流排適配器插座(或卡)進行通訊。該測試器處理器可被規劃成包括某些功能方塊,該等功能方塊包括有一型 樣產生器102及一比較器106。或者,該型樣產生器102及比較器106可以是硬體組件,其被安裝在插入到該ATE主體100中之一擴充或適配卡上。 FIG. 1 is a schematic block diagram of a conventional automatic test equipment (ATE) body 100 for testing some typical DUTs, such as a DRAM semiconductor memory device. The ATE includes an ATE body 100 having hardware bus adapter receptacles 110A-110N. Hardware bus adapter sockets 110A-110N specific to a particular protocol (such as PCIe, USB, SATA, SAS, etc.) Agreed cables interface the DUTs. The ATE body 100 also includes a test processor 101 with an associated memory 108 to control the hardware components built into the ATE body 100, and to generate card) commands and data required for communication between the DUTs being tested. The tester processor 101 communicates with the hardware bus adapter sockets (or cards) through the system bus 130 . The tester processor can be programmed to include certain functional blocks including a type Sample generator 102 and a comparator 106. Alternatively, the pattern generator 102 and comparator 106 may be hardware components mounted on an expansion or adapter card that plugs into the ATE main body 100 .

該ATE主體100透過插入到該ATE主體100之該等硬體匯流排適配器插座中的該等硬體匯流排適配器來測試被連接到該ATE主體100之該等DUT 112A-112N的該等電氣功能。因此,該測試器處理器101被規劃成使用唯一於該等硬體匯流排適配器之該協定把將要被執行的該等測試程式傳送到該等DUT。同時,根據在該測試器處理器101中運行的測試程式,在內建在該ATE主體100中其他硬體組件彼此之間以及與該等DUT之間傳送信號。 The ATE main body 100 tests the electrical functions of the DUTs 112A-112N connected to the ATE main body 100 through the hardware bus adapters plugged into the hardware bus adapter sockets of the ATE main body 100 . Therefore, the tester processor 101 is programmed to transmit the test programs to be executed to the DUTs using the protocol unique to the hardware bus adapters. Meanwhile, other hardware components built in the ATE main body 100 transmit signals among each other and the DUTs according to the test program running in the tester processor 101 .

由該測試器處理器101所執行的該測試程式可包括一功能測試,該功能測試涉及把由該型樣產生器102所產生的輸入信號寫入到該等DUT,從該等DUT中讀出該等寫入的信號並且使用該比較器106把該輸出與該等預期的型樣進行比較。如果該輸出與該輸入不匹配,則該測試器處理器101將把該DUT識別為有缺陷的。例如,如果該DUT係諸如一DRAM之類的一記憶體裝置,則該測試程式將使用一寫入操作把由該型樣產生器102所產生的資料寫入到該DUT,使用一讀取操作從該DRAM讀取出資料並使用該比較器106把該期望的位元型樣與該讀取出的型樣進行比較。 The test program executed by the tester processor 101 may include a functional test involving writing the input signals generated by the pattern generator 102 into the DUTs, reading them from the DUTs The written signals and the comparator 106 are used to compare the output with the expected patterns. If the output does not match the input, the tester processor 101 will identify the DUT as defective. For example, if the DUT is a memory device such as a DRAM, the test program will use a write operation to write the data generated by the pattern generator 102 into the DUT, and use a read operation Data is read from the DRAM and the comparator 106 is used to compare the desired bit pattern with the read pattern.

在傳統的系統中,該測試器處理器101需要包含該等功能邏輯方塊以產生被使用在測試該等DUT中的該等命令及測試型樣,諸如該型樣產生器102及該比較器106,它們直接在該處理器上以軟體被規劃。然而,在某些情況下,諸如該比較器106之類的某些功能方塊可被實現在一現場可規劃閘陣列(FPGA)上,FPGA係可根據一使用者需求來對邏輯電路進行規劃之一專用積體電路(ASIC)類型的半導體裝置。 In conventional systems, the tester processor 101 needs to contain the functional logic blocks to generate the commands and test patterns used in testing the DUTs, such as the pattern generator 102 and the comparator 106 , they are programmed in software directly on the processor. However, in some cases, certain functional blocks such as the comparator 106 can be implemented on a Field Programmable Gate Array (FPGA), which can program logic circuits according to a user's needs. An Application Specific Integrated Circuit (ASIC) type semiconductor device.

在傳統系統中所使用的該等FPGA可以是直通式的裝置,其依賴於該測試器處理器101把該等命令及測試型樣傳送到該FPGA,該FPGA進而把其中 繼到該等DUT。因為係由該測試器處理器而不是由該FPGA負責產生該等命令及測試型樣,因此可以使用一給定ATE主體來進行測試之DUT的數量及類型會受到該測試器處理器之該等處理能力及規劃的限制。在該測試器處理器產生所有命令及測試型樣的情況下,該系統匯流排130上的頻寬限制也在可同時測試之DUT的數量上設置了上限,該系統匯流排130把該測試器處理器連接到各種硬體組件,包括有任何FPGA裝置及該等硬體匯流排適配器插座。 The FPGAs used in conventional systems may be pass-through devices that rely on the tester processor 101 to transmit the commands and test patterns to the FPGA, which in turn to the DUTs. Because the tester processor, not the FPGA, is responsible for generating the commands and test patterns, the number and types of DUTs that can be tested using a given ATE subject will be limited by the number and types of DUTs that can be tested using the tester processor. Processing capacity and planning constraints. With the tester processor generating all commands and test patterns, the bandwidth limitation on the system bus 130 also places an upper limit on the number of DUTs that can be tested simultaneously. The system bus 130 connects the tester The processor is connected to various hardware components, including any FPGA devices and such hardware bus adapter sockets.

而且,在傳統的系統中,被使用來與該等DUT進行通訊的該通訊協定係固定的,因為插入到該ATE主體100中的該等硬體匯流排適配器插座(或卡)係單一目的裝置,它們被設計成僅以一種協定進行通訊並且不能被重新規劃成使用不同的協定來進行通訊。例如,被組配來測試PCIe裝置的一ATE主體將在其主體中插入僅支援該PCIe協定的硬體匯流排適配器插座(或卡)。為了測試支援一不同協定例如SATA的DUT,該使用者通常需要用支援該SATA協定的匯流排適配器卡來替換該PCIe硬體匯流排適配器插座(或卡)。除非該PCIe硬體匯流排適配器插座(或卡)被實體上以支援其他協定的卡來替代,否則此一系統只能測試支援PCIe協定的DUT。 Also, in conventional systems, the communication protocol used to communicate with the DUTs is fixed because the hardware bus adapter sockets (or cards) that plug into the ATE main body 100 are single purpose devices , they are designed to communicate with only one protocol and cannot be reprogrammed to communicate using a different protocol. For example, an ATE body configured to test PCIe devices will have hardware bus adapter sockets (or cards) that only support the PCIe protocol plugged into its body. To test a DUT that supports a different protocol such as SATA, the user typically needs to replace the PCIe hardware bus adapter socket (or card) with a bus adapter card that supports the SATA protocol. Unless the PCIe hardware bus adapter socket (or card) is physically replaced by a card supporting another protocol, this system can only test DUTs that support the PCIe protocol.

在一不同類型之傳統的ATE中,該FPGA不是僅如以上所述之一直通式的裝置。無需使用硬體匯流排適配器插座(或卡)來實現用於與該等DUT進行通訊的一協定,而是可經由一簡單的位元串流從在一系統控制器上之一快取處下載,用於與DUT進行通訊之新的協定可被直接下載並安裝在一測試器系統的FPGA上。在一測試器中的一FPGA通常可包括一可組配的介面核心(或IP核心),該介面可規劃來為一DUT提供一或多個基於協定之介面的功能,並可規劃為介接該DUT。另外,如果發布了一新的協定,則可以經由一位元串流下載輕鬆地以該協定來組配該等FPGA,這比必須實體切換在該系統中所有的硬體匯流排適配器插座(或卡)更為方便。 In a different type of conventional ATE, the FPGA is not just a straight-through device as described above. Instead of using a hardware bus adapter socket (or card) to implement a protocol for communicating with the DUTs, it can be downloaded via a simple bitstream from a cache on a system controller , the new protocol for communicating with the DUT can be downloaded and installed directly on the FPGA of a tester system. An FPGA in a tester typically includes a configurable interface core (or IP core) that can be programmed to provide the functionality of one or more protocol-based interfaces to a DUT and can be programmed to interface The DUT. Additionally, if a new protocol is released, the FPGAs can be easily configured with that protocol via bitstream download rather than having to physically switch all the hardware bus adapter sockets (or card) is more convenient.

通常,傳統的測試器僅允許把一單一IP核心規劃到一FPGA上。由於目前測試系統的FPGA加速器只能夠支援一單一IP核心,如果一不同的第三方IP核心需要被規劃到該FPGA中的話,它將需要把該FPGA重新規劃。因此,如果需要把連接到一FPGA的該等DUT替換成一不同類型的DUT的話,則需要對該FPGA進行重新規劃以支援一不同的協定。在一測試環境中,對一FPGA進行重新規劃可能會非常耗時且麻煩。 Typically, conventional testers only allow a single IP core to be programmed onto an FPGA. Since the FPGA accelerator of the current test system can only support a single IP core, if a different third-party IP core needs to be planned into the FPGA, it will need to redesign the FPGA. Therefore, if the DUTs connected to an FPGA need to be replaced with a different type of DUT, the FPGA needs to be reprogrammed to support a different protocol. In a test environment, reprogramming an FPGA can be very time-consuming and cumbersome.

再者,記憶體及其他裝置的上市時間越來越短。而且,協定IP變得越來越專有,因此該FPGA可能僅支援一單一協定。此外,由於許多第三方IP核心是專有的,因此無法把它們規劃到一FPGA上。 Furthermore, the time-to-market of memory and other devices is getting shorter and shorter. Also, protocol IP is becoming more and more proprietary, so the FPGA may only support a single protocol. In addition, since many third-party IP cores are proprietary, they cannot be programmed onto an FPGA.

發明概要 Summary of the invention

因此,需要一種能夠解決上述系統問題的測試器架構。所需要的係一種測試架構,其中該命令及測試型樣產生功能可被轉移到該FPGA上,從而可把在該測試器處理器上的該處理負載及在該系統匯流排上的該等頻寬需求可被保持在一最低水平。這將比目前的組配更為有效率,因為在目前的組配中,該測試器處理器承擔了整個處理工作,並且該系統匯流排為連接到該ATE主體之該等所有的DUT傳遞了測試資料及命令。 Therefore, there is a need for a tester architecture that can solve the above-mentioned system problems. What is needed is a test architecture in which the command and test pattern generation functions can be offloaded to the FPGA so that the processing load on the tester processor and the frequency on the system bus can be offloaded. Broad demand can be kept to a minimum. This would be more efficient than the current configuration, where the tester processor does the entire processing and the system bus passes all the DUTs connected to the ATE body. Test data and commands.

此外,需要一種測試架構,通過該架構,主機匯流排適配器可以與FPGA結合來使用以提供協定靈活性。如以上所述,由於協定IP越來越專有,使得該FPGA僅支援一種協定並且如果需要另一協定的話,則可以使用一主機匯流排適配器(HBA)來橋接一第三方IP協定。換句話說,在該FPGA中該可規劃介面核心(或IP核心),其係可規劃的,與一主機匯流排適配器配合來使用以便介接一第三方協定來與一DUT進行通訊,其中該DUT支援與在該IP核心中該被規劃協定不同的一協定。這使得在一測試環境中的工程師無需重新規劃該FPGA即可 快速地切換協定。 Additionally, there is a need for a test architecture by which a host bus adapter can be used in conjunction with an FPGA to provide protocol flexibility. As mentioned above, since protocol IP is becoming more and more proprietary, the FPGA only supports one protocol and if another protocol is required, a host bus adapter (HBA) can be used to bridge a third party IP protocol. In other words, the programmable interface core (or IP core) in the FPGA, which is programmable, is used in conjunction with a host bus adapter to interface a third-party protocol to communicate with a DUT, wherein the The DUT supports a different protocol than the one programmed in the IP core. This allows engineers in a test environment to be able to Switch protocols quickly.

在一個實施例中,揭露了一種自動測試裝備(ATE)系統。該設備包含被通訊耦合到一測試器處理器的一系統控制器,其中該系統控制器可操作來向該測試器處理器發送指令,並且其中該測試器處理器可操作來從該等指令中產生命令及資料用於協調複數個受測裝置(DUT)的測試。該設備還包含被通訊地耦合到該測試器處理器的一FPGA,該FPGA包含有至少一個硬體加速器電路其可操作來在內部地產生透明於該測試器處理器的命令及資料用於測試該等複數個DUT中的一DUT。再者,該設備包含一匯流排適配器,該匯流排適配器包含有一協定轉換器模組,該協定轉換器模組可操作來把接收自該FPGA與一第一協定相關聯的信號轉換為與一第二協定相關聯的信號,然後才把該等信號發送至該DUT,其中該DUT使用該第二協定進行通訊。在一個實施例中,該第二協定係一專有的第三方協定。 In one embodiment, an automatic test equipment (ATE) system is disclosed. The apparatus includes a system controller communicatively coupled to a tester processor, wherein the system controller is operable to send instructions to the tester processor, and wherein the tester processor is operable to generate from the instructions Commands and data are used to coordinate testing of multiple devices under test (DUTs). The apparatus also includes an FPGA communicatively coupled to the tester processor, the FPGA including at least one hardware accelerator circuit operable to internally generate commands and data transparent to the tester processor for testing A DUT among the plurality of DUTs. Further, the device includes a bus adapter including a protocol converter module operable to convert a signal received from the FPGA associated with a first protocol to a signal associated with a first protocol The signals associated with the second protocol are then sent to the DUT, wherein the DUT communicates using the second protocol. In one embodiment, the second agreement is a proprietary third-party agreement.

在另一個實施例中,一種自動測試裝備(ATE)設備包含一測試器處理器,該測試器處理器可操作來產生命令及資料用於協調複數個受測裝置(DUT)的測試,該設備還包含被通訊地耦合到該測試器處理器的一FPGA,其中該FPGA包含一硬體加速器電路其可操作來在內部地產生透明於該測試器處理器的命令及資料用於測試該等複數個DUT中的一DUT,並且其中該FPGA包含一IP核心,其可操作來產生信號用於使用一第一協定把命令及資料從該FPGA發送到該DUT。該設備還包含一匯流排適配器,該匯流排適配器包含有一協定轉換器模組,該協定轉換器模組可操作來把接收自該FPGA與一第一協定相關聯的該等信號轉換為與一第二協定相關聯的信號,然後才把該等信號發送給該DUT,其中該DUT使用該第二協定進行通訊。 In another embodiment, an automatic test equipment (ATE) apparatus includes a tester processor operable to generate commands and data for coordinating testing of a plurality of devices under test (DUTs), the apparatus Also included is an FPGA communicatively coupled to the tester processor, wherein the FPGA includes a hardware accelerator circuit operable to internally generate commands and data transparent to the tester processor for testing the complex A DUT of the DUTs, and wherein the FPGA includes an IP core operable to generate signals for sending commands and data from the FPGA to the DUT using a first protocol. The device also includes a bus adapter including a protocol converter module operable to convert the signals received from the FPGA associated with a first protocol to those associated with a The signals associated with the second protocol are then sent to the DUT, wherein the DUT communicates using the second protocol.

在一個實施例中,揭露了一種用於測試DUT的方法。該方法包含把指令從一系統控制器傳送到一測試器處理器,其中包含有一FPGA之一測試器 板及該測試器處理器被耦合到該系統控制器,並且其中該測試器處理器可操作來協調複數個受測裝置(DUT)的測試。該方法還包含根據實現在該FPGA之一IP核心中的一第一協定並根據一選擇的加速模式,產生用於測試該等複數個DUT中之一DUT的命令及資料,其中該產生係由包含在該FPGA中之一硬體加速器電路所執行的。此外,該方法包含使用第一協定把與該等命令及該資料相關聯的信號從該FPGA傳送到一匯流排適配器。另外,該方法包含使用該匯流排適配器及實現該第二協定的一協定IP核心,把使用該第一協定進行傳送的該等信號轉換為在一第二協定中的信號,其中該匯流排適配器被通訊地耦合到可操作來使用該第二協定進行通訊的一DUT。該方法更包含把在該第二協定中的該等信號中繼到用於測試的該DUT。 In one embodiment, a method for testing a DUT is disclosed. The method includes transferring instructions from a system controller to a tester processor, including a tester processor with an FPGA A board and the tester processor are coupled to the system controller, and wherein the tester processor is operable to coordinate testing of a plurality of devices under test (DUTs). The method also includes generating commands and data for testing one of the plurality of DUTs according to a first protocol implemented in an IP core of the FPGA and according to a selected acceleration mode, wherein the generating is performed by Executed by a hardware accelerator circuit included in the FPGA. Additionally, the method includes communicating signals associated with the commands and the data from the FPGA to a bus adapter using a first protocol. Additionally, the method includes converting the signals transmitted using the first protocol to signals in a second protocol using the bus adapter and a protocol IP core implementing the second protocol, wherein the bus adapter is communicatively coupled to a DUT operable to communicate using the second protocol. The method further includes relaying the signals in the second protocol to the DUT for testing.

以下的詳細描述以及該等附圖將一起對本發明之本質及優點提供一更佳的理解。 The following detailed description together with these drawings will provide a better understanding of the nature and advantages of the present invention.

100:ATE主體 100: ATE subject

101,204,304,1101:測試器處理器 101, 204, 304, 1101: Tester processor

102:型樣產生器 102: Pattern Generator

106:比較器 106: Comparator

108,304,308:記憶體 108,304,308: memory

110A,110B,...,110N:硬體匯流排適配器插座 110A, 110B,...,110N: Hardware bus adapter sockets

112A,112B,...,112N,220A,220B,220C,...,220N,372A,372B,372C,...,372M,1055,1110,1207,1208,1209,1210:DUT 112A,112B,...,112N,220A,220B,220C,...,220N,372A,372B,372C,...,372M,1055,1110,1207,1208,1209,1210:DUT

130,330,332:系統匯流排 130,330,332: system bus

200,300:ATE設備 200,300: ATE equipment

201,301:系統控制器 201, 301: System controller

202,302:網路交換器 202,302: network switches

210A,210B,210C,...,210N:具有功能模組之實例化的FPGA測試器方塊 210A, 210B, 210C,..., 210N: FPGA tester blocks with instantiation of functional modules

211A,211B,...,210M,316,318,1002,1104:FPGA 211A, 211B,..., 210M, 316, 318, 1002, 1104: FPGA

212:共用匯流排~ 212: Shared bus~

230A,230B,...,230N,310A,310B,1102:現場模組 230A, 230B,..., 230N, 310A, 310B, 1102: field modules

240A,240B,...,240M:記憶體方塊 240A,240B,...,240M: memory block

340A,340B,...,340N:測試器片層 340A, 340B,..., 340N: tester sheet

332A,332B:裝置電源供應 332A, 332B: device power supply

380:負載板 380: load plate

390:熱測試室 390: Thermal Test Chamber

410:實例化的FPGA測試器方塊 410:Instantiated FPGA tester block

420:本地記憶體模組 420:Local memory module

430:協定引擎模組 430:Protocol engine module

440:硬體加速器方塊 440:Hardware Accelerator Block

443:演算法式型樣產生器模組 443:Algorithm pattern generator module

444:記憶體控制模組 444:Memory control module

445:封包建構器模組 445:Packet builder module

446:比較器模組 446:Comparator module

450:邏輯方塊 450: Logic Block

470:PCIe上游埠 470: PCIe upstream port

472,474,476:路徑 472,474,476: paths

480:PCIe下游埠 480:PCIe downstream port

481:通用連接器 481: Universal Connector

482:安排路由邏輯 482: Arrange routing logic

500,600,700,800,900,1300:流程圖 500,600,700,800,900,1300: flow chart

502~508,602~612,702~714,800~814,902~916,1310~1316:方塊 502~508,602~612,702~714,800~814,902~916,1310~1316: block

1001,1040,1042:介面 1001, 1040, 1042: interface

1004:協定轉換器IP方塊 1004: Protocol converter IP block

1008,1106,1206:HBA 1008, 1106, 1206: HBA

1010,1205:IP核心 1010, 1205: IP core

1060:現場模組板 1060: Field module board

1062,1107,1215:夾心板 1062,1107,1215: sandwich panel

1064:裝置介面板 1064: device interface panel

1201,1202,1203,1204:加速器核心 1201, 1202, 1203, 1204: accelerator cores

在該等附圖的各個圖示中,本發明的實施例係藉由舉例的方式而不是藉由限制的方式來被示出,並且其中類似的參考標號指出類似的元件。 In the various views of the drawings, embodiments of the present invention are shown by way of example and not by way of limitation, and wherein like reference numerals designate like elements.

圖1係用於測試一典型受測裝置(DUT)之一傳統的自動測試裝備主體的一示意性方塊圖。 FIG. 1 is a schematic block diagram of a conventional automatic test equipment body for testing a typical device under test (DUT).

圖2根據本發明的一個實施例係在系統控制器、該現場模組與該等DUT間之該等互連的一高階示意性方塊圖。 Figure 2 is a high level schematic block diagram of the interconnections between a system controller, the field modules and the DUTs according to one embodiment of the present invention.

圖3根據本發明的一實施例係該現場模組以及其與該系統控制器及該等DUT之互連的一詳細示意方塊圖。 Figure 3 is a detailed schematic block diagram of the field module and its interconnection with the system controller and the DUTs according to an embodiment of the present invention.

圖4根據本發明的一實施例的係圖2之一實例化FPGA測試器方塊之一詳細的示意方塊圖。 FIG. 4 is a detailed schematic block diagram of one of the instantiated FPGA tester blocks in FIG. 2 according to an embodiment of the present invention.

圖5根據本發明的一實施例係測試DUT之一示例性方法的一高階 流程圖。 Figure 5 is a high level view of an exemplary method of testing a DUT according to an embodiment of the present invention flow chart.

圖6係圖5的一繼續,並且係在本發明的一個實施例中以該旁路模式測試DUT之一示例性方法的一流程圖。 FIG. 6 is a continuation of FIG. 5 and is a flowchart of an exemplary method of testing a DUT in the bypass mode in one embodiment of the invention.

圖7係圖5的一繼續,並且係在本發明的一個實施例中以該硬體加速器型樣產生器模式測試DUT之一示例性方法的一流程圖。 7 is a continuation of FIG. 5 and is a flowchart of an exemplary method of testing a DUT in the hardware accelerator pattern generator mode in one embodiment of the invention.

圖8係圖5的一繼續,並且係在本發明的一個實施例中以該硬體加速器記憶體模式測試DUT之一示例性方法的一流程圖。 8 is a continuation of FIG. 5 and is a flowchart of an exemplary method of testing a DUT in the hardware accelerator memory mode in one embodiment of the invention.

圖9係圖5的一繼續,並且係在本發明的一個實施例中以該硬體加速器封包建構器模式測試DUT之一示例性方法的一流程圖。 9 is a continuation of FIG. 5 and is a flowchart of an exemplary method of testing a DUT in the hardware accelerator packet builder mode in one embodiment of the invention.

圖10根據本發明的一個實施例圖示出一種方式,其中包含有協定轉換器IP的一HBA可被使用來把一FPGA連接到一DUT,該DUT係以與該FPGA被規劃之協定不同的一協定來進行通訊。 FIG. 10 illustrates a manner in which an HBA containing protocol converter IP can be used to connect an FPGA to a DUT with a protocol different from that for which the FPGA is programmed, according to one embodiment of the present invention. A protocol to communicate.

圖11根據本發明的一個實施例圖示出一種方式,其中包含有一或多個HBA的一夾心板可被使用來介接在一FPGA與一DUT之間。 FIG. 11 illustrates a manner in which a sandwich board containing one or more HBAs may be used to interface between an FPGA and a DUT, according to an embodiment of the present invention.

圖12根據本發明的一個實施例圖示出一示例性測試器組配,其中每一個DUT以一相應的加速器引擎被連接。 Figure 12 illustrates an exemplary tester configuration in which each DUT is connected with a corresponding accelerator engine, according to one embodiment of the present invention.

圖13根據本發明的一個實施例描繪出測試DUT之一示例性程序的一流程圖1300,其中該DUT係以與在一測試器系統中之一FPGA上所實現之該協定不同的一協定來進行通訊。 FIG. 13 depicts a flowchart 1300 of an exemplary procedure for testing a DUT with a different protocol than that implemented on an FPGA in a tester system, according to an embodiment of the present invention. to communicate.

在該等附圖中,具有相同名稱的元件具有相同或相似的功能。 In these drawings, elements with the same names have the same or similar functions.

較佳實施例之詳細說明 Detailed Description of the Preferred Embodiment

現在將詳細參考本發明的較佳實施例,其實例在該等附圖中被示出。儘管將結合該等較佳實施例描述本發明,但是應當理解的是,它們並不旨 在把本發明限制於這些實施例。相反的是,本發明旨在涵蓋替代、修改、以及等同的方案,其可被包括在由該等所附請求項所限定之本發明的精神及範圍之內。此外,在本發明以下的詳細描述中,闡述了許多具體的細節以便提供對本發明之一透徹的理解。然而,對於本領域之普通技術人員將顯而易見的是,可以在沒有這些具體細節的情況下實踐本發明。在其他的情況下,眾所周知的方法、程序、組件、及電路並未被詳細地描述,以避免不必要地模糊了本發明的各個方面。 Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these preferred embodiments, it should be understood that they are not intended to The present invention is limited to these examples. On the contrary, the invention is intended to cover alternatives, modifications, and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.

符號及術語部分 Symbols and Terminology Section

本詳細描述的某些部分所呈現的方式係使用程序、邏輯方塊、處理、以及在一電腦記憶體內在資料位元上操作的其他符號表示形式。這些描述及表示係在資料處理領域之習知技藝者通常使用來向該領域之其他習知技藝者有效地傳達其工作實質的手段。在本申請中,一程序、邏輯方塊、處理等等被視為導致所需結果之步驟或指令的一自洽序列。這些步驟包括對物理量的實體操縱。通常,儘管不是必須的,這些量採取能夠在一電腦系統中被儲存、傳輸、組合、比較、以及以其他方式被操縱之電氣、磁性、光學或量子信號的形式。 Portions of this detailed description are presented in the form of programs, logic blocks, processes, and other symbolic representations of operations on data bits within a computer's memory. These descriptions and representations are the means commonly used by those skilled in the data processing arts to effectively convey the substance of their work to others skilled in the art. In this application, a program, logic block, process, etc. is considered to be a self-consistent sequence of steps or instructions leading to a desired result. The steps include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, optical or quantum signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system.

然而,應該被牢記的是所有這些及類似的術語均與適當的物理量相關聯,並且僅是套用至這些量的方便標籤而已。除非特別地指出不然會從該等討論中顯而易見,應被理解的是在本申請的通篇中利用諸如「測試」、「通訊」、「耦合」、「轉換」、「中繼」、或類似者等術語的討論係指一電腦系統或類似電子運算裝置的操作及過程,該操作及過程把在該電腦系統之暫存器及記憶體中被表示為物理(電子)量的資料轉換為在該等電腦系統記憶體或暫存器或其他此類資訊儲存、傳輸或顯示裝置中被類似地表示為物理量的其他資料。 It should be borne in mind, however, that all of these and similar terms are to be to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, it will be apparent from this discussion that it should be understood that references to terms such as "test," "communication," "coupling," "conversion," "relay," or the like are used throughout this application The discussion of such terms refers to the operations and processes of a computer system or similar electronic computing device that convert data represented as physical (electronic) quantities in the registers and memories of the computer system into Other data similarly expressed as physical quantities in such computer system memory or temporary registers or other such information storage, transmission or display devices.

以下的描述提供了對可能包括一或多個模組之電腦及其他裝置的討論。如在本文中所使用的,「模組」或「方塊」等術語可被理解為係指軟體、 韌體、硬體及/或其之各種組合。要注意的是,該等方塊及模組係示例性的。該等方塊或模組可以被組合、被整合、被分開、及/或被重複以支援各種的應用。此外,在本文中被描述為在一特定模組或方塊處被執行之一功能可以在一或多個其他模組或方塊處被執行及/或由一或多個其他裝置執行,替代或附加於在該描述之特定模組或方塊處被執行的該功能之外。此外,該等方塊或模組的實現可跨越多個裝置及/或可跨越彼此相近或遠離的其他組件。另外,該等模組或方塊可從一個裝置移開並被添加到另一裝置,及/或可被包括在該等兩個裝置中。本發明的任何軟體實現可被有形地具體實現在一或多個儲存媒體中,諸如,一記憶體裝置、一軟碟、一光碟(CD)、一數位通用碟(DVD)、或可儲存電腦代碼之其他裝置中。 The following description provides a discussion of computers and other devices that may include one or more modules. As used herein, terms such as "module" or "box" may be understood to refer to software, Firmware, hardware and/or various combinations thereof. Note that these blocks and modules are exemplary. These blocks or modules can be combined, integrated, separated, and/or repeated to support various applications. Furthermore, a function described herein as being performed at a particular module or block may be performed at one or more other modules or blocks and/or by one or more other means, instead of or in addition to out of the functionality that is performed at the specific module or block of the description. Furthermore, implementation of such blocks or modules may span multiple devices and/or other components that may be close to or remote from each other. Additionally, the modules or blocks may be removed from one device and added to another device, and/or may be included in both devices. Any software implementation of the present invention may be tangibly embodied in one or more storage media, such as a memory device, a floppy disk, a compact disk (CD), a digital versatile disk (DVD), or a storable computer code in other devices.

在本文中所使用的術語僅係出於描述特定實施例的目的,並不旨在限制本發明的範圍。如在本發明之通篇中所使用的,該等單數形式的「一」、「一個」、及「該」包括對複數的引用,除非上下文另外明確地指出。因此,例如,在本文中提及「一模組」包括複數個如此的模組、一單一模組、以及本領域習知技藝者所熟知的等同物。 The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of the invention. As used throughout this disclosure, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise. Thus, for example, reference herein to "a module" includes a plurality of such modules, a single module, and equivalents known to those skilled in the art.

用於獨立測試多個DUT之具有多個基於FPGA之硬體加速器方塊的測試架構 Test architecture with multiple FPGA-based hardware accelerator blocks for independent testing of multiple DUTs

通常可以以多種方式來提高測試產出量。減少DUT測試時間的一種方法是把先前在一通用測試器處理器上軟體中所執行的功能轉移到在FPGA裝置上所實現之硬體加速器上。另一種方法是藉由增加可在流行之硬體及時間限制下進行測試之受測裝置(DUT)的該數量及類型,例如,藉由組配該硬體使得支援許多不同類型的協定,例如PCIe、SATA、等等的DUT可以使用該相同的硬體來被測試,而無需更換或重新組配任何硬體組件。本發明的實施例致力於此,以在該自動測試裝備的該硬體中提高測試效率。 Test throughput can often be increased in a number of ways. One approach to reducing DUT test time is to offload functions previously performed in software on a general-purpose tester processor to hardware accelerators implemented on FPGA devices. Another approach is by increasing the number and types of devices under test (DUTs) that can be tested on popular hardware and time constraints, for example, by configuring the hardware so that many different types of protocols are supported, such as DUTs for PCIe, SATA, etc. can be tested using this same hardware without replacing or reconfiguring any hardware components. Embodiments of the present invention address this to improve test efficiency in the hardware of the automated test equipment.

圖2係該自動測試裝備(ATE)設備200之一示例性高階方塊圖,其中根據本發明的一實施例,一測試器處理器透過具有內建功能模組的FPGA裝置被連接到該受測裝置(DUT)。在一個實施例中,ATE設備200可以在能夠同時測試多個DUT的任何測試系統內被實現。 FIG. 2 is an exemplary high-level block diagram of an automatic test equipment (ATE) device 200 in which a tester processor is connected to the device under test through an FPGA device with built-in functional modules according to an embodiment of the present invention. device (DUT). In one embodiment, ATE equipment 200 may be implemented within any test system capable of testing multiple DUTs simultaneously.

參考圖2,根據本發明一實施例之用於更有效地測試半導體裝置的一ATE設備200包括一系統控制器201、把該系統控制器連接到該等現場模組板230A-230N的一網路交換器202、包含有實例化之FPGA測試器方塊210A-210N之FPGA裝置211A-211M、記憶體模組模組240A-240M其中該等記憶體模組的每一個都被連接到該等FPGA裝置211A-211M中之一個、以及該等受測裝置(DUT)220A-220N,其中每一個受測裝置220A-220N都被連接到該等實例化的FPGA測試器模組210A-210N中之一個。 Referring to FIG. 2, an ATE apparatus 200 for more efficiently testing semiconductor devices according to an embodiment of the present invention includes a system controller 201, a network connecting the system controller to the field module boards 230A-230N. Road switch 202, FPGA devices 211A-211M including instantiated FPGA tester blocks 210A-210N, memory module modules 240A-240M each of which are connected to the FPGAs one of the devices 211A-211M, and the devices under test (DUTs) 220A-220N, wherein each device under test 220A-220N is connected to one of the instantiated FPGA tester modules 210A-210N .

在一個實施例中,該系統控制器201可以是一電腦系統,例如一個人電腦(PC),其為該ATE的該使用者提供一使用者介面以載入該等測試程式並為被連接到該ATE 200的該等DUT執行測試。惠瑞捷(Verigy)的Stylus作業系統係在裝置測試期間通常被使用之測試軟體的一個例子。它為該使用者提供了一圖形使用者介面,可從其組配及控制該等測試。它還可以包含以下功能:控制該測試流程、控制該測試程式的該狀態、判定哪一個測試程式正在運行、以及記錄測試結果及與測試流程相關的其他資料。在一個實施例中,該系統控制器可被連接至並控制多達512個DUT。 In one embodiment, the system controller 201 may be a computer system, such as a personal computer (PC), which provides a user interface for the user of the ATE to load the test programs and be connected to the The DUTs of the ATE 200 perform the tests. Verigy's Stylus operating system is an example of test software commonly used during device testing. It provides the user with a graphical user interface from which the tests can be configured and controlled. It can also include functions for controlling the test process, controlling the state of the test program, determining which test program is running, and recording test results and other data related to the test process. In one embodiment, the system controller can be connected to and control up to 512 DUTs.

在一個實施例中,該系統控制器201可以透過諸如以太網路交換器之類的一網路交換器被連接到該等現場模組板230A-230N。在其他的實施例中,該網路交換器可以與諸如光纖通道、802.11或ATM之類不同的協定兼容。 In one embodiment, the system controller 201 may be connected to the field module boards 230A- 230N through a network switch such as an Ethernet switch. In other embodiments, the network switch may be compatible with different protocols such as Fiber Channel, 802.11 or ATM.

在一個實施例中,該等現場模組板230A-230N中的每一個可以是被使用來用於評估及開發之目的之一分開的獨立板,其附接到定制的內建負載 板固定裝置,在其上該等DUT 220A-220N被裝載;其並附接到該系統控制器201,從其接收該等測試程式。在其他的實施例中,該等現場模組板可被實現為插入式的擴充卡或被實現為直接插入至該系統控制器201之機架中的子板。 In one embodiment, each of the field module boards 230A-230N may be a separate stand-alone board that is used for evaluation and development purposes, attached to a custom built-in load A board fixture on which the DUTs 220A-220N are loaded; and attached to the system controller 201, from which it receives the test programs. In other embodiments, the field module boards may be implemented as plug-in expansion cards or as daughter boards directly plugged into the chassis of the system controller 201 .

在一個實施例中,該等現場模組板230A-230N可各自包含至少一個測試器處理器204及至少一個FPGA裝置。在該現場模組板上的該測試器處理器204及該FPGA裝置211A-211M根據從該系統控制器201所接收到之該等測試程式指令執行用於每一個測試案例的該等測試方法。在一個實施例中,該測試器處理器可以是市售的Intel 8086 CPU或任何其他知名的處理器。此外,該測試器處理器可以在Ubuntu OS x64作業系統上運行並執行該Core軟體,從而允許它與在該系統控制器上所執行的Stylus軟體進行通訊,以執行該等測試方法。該測試器處理器204基於從該系統控制器所接收到的該測試程式來控制在該現場模組上的該等FPGA裝置及被連接至該現場模組的該等DUT。 In one embodiment, the field module boards 230A- 230N may each include at least one tester processor 204 and at least one FPGA device. The tester processor 204 and the FPGA devices 211A-211M on the field module board execute the test methods for each test case according to the test program instructions received from the system controller 201 . In one embodiment, the tester processor may be a commercially available Intel 8086 CPU or any other well-known processor. Additionally, the tester processor can run on an Ubuntu OS x64 operating system and execute the Core software, allowing it to communicate with the Stylus software running on the system controller to execute the test methods. The tester processor 204 controls the FPGA devices on the field module and the DUTs connected to the field module based on the test program received from the system controller.

該測試器處理器204通過匯流排212被連接到該等FPGA裝置並可以與之進行通訊。在一個實施例中,測試器處理器204通過一分開之專用匯流排與該等FPGA裝置211A-211M中的每一個進行通訊。在一個實施例中,測試器處理器204可以透過該等FPGA透明地控制該等DUT 220A-220N的該測試,其中分配給該等FPGA裝置最少的處理功能。在此種實現方式中,該等FPGA裝置充當直通裝置。在此實施例中,由於由該測試器處理器所產生之所有的該等命令及資料都需要通過匯流排被傳送到該等FPGA裝置,因此該匯流排212的該資料流量容量會被快速地耗盡。在其他的實施例中,該測試器處理器204可藉由分配功能來控制對該等DUT的該測試來把該處理負載分配到該等FPGA裝置。在這些實施例中,由於該等FPGA裝置可以產生它們自己的命令及資料,所以減少了匯流排212上的該通訊量。 The tester processor 204 is connected to and communicates with the FPGA devices through the bus bar 212 . In one embodiment, the tester processor 204 communicates with each of the FPGA devices 211A-211M through a separate dedicated bus. In one embodiment, the tester processor 204 can transparently control the testing of the DUTs 220A- 220N through the FPGAs with minimal processing functionality allocated to the FPGA devices. In such an implementation, the FPGA devices act as pass-through devices. In this embodiment, since all the commands and data generated by the tester processor need to be sent to the FPGA devices through the bus, the data traffic capacity of the bus 212 will be quickly run out. In other embodiments, the tester processor 204 may distribute the processing load to the FPGA devices by distributing functions to control the testing of the DUTs. In these embodiments, the traffic on bus 212 is reduced because the FPGA devices can generate their own commands and data.

在一個實施例中,該等FPGA裝置211A-211M的每一個被連接到其 自己的專用記憶體方塊240A-240M。這些記憶體方塊尤其可被使用來儲存將被寫出到該等DUT的該測試型樣資料。在一個實施例中,該等FPGA裝置的每一個可以包含兩個實例化的FPGA測試器方塊210A-210B,它們具有用於執行功能的功能模組,該等功能包括有通訊協定引擎及硬體加速器的實現,如在本文中會被進一步描述的。記憶體方塊240A-240M可以各自包含一或多個記憶體模組,其中在該記憶體方塊內的每一個記憶體模組可被專用於該等實例化之FPGA測試器方塊210A-210B中的一或多個。因此,該等實例化之FPGA測試器方塊210A-210B中的每一個可被連接到在該記憶體模組240A內其自己專用的記憶體模組。在另一個實施例中,實例化的FPGA測試器模組210A及210B可以共享在記憶體模組240A內該等記憶體模組中的一個。 In one embodiment, each of the FPGA devices 211A-211M is connected to its Own dedicated memory block 240A-240M. These memory blocks may be used, inter alia, to store the test pattern data to be written out to the DUTs. In one embodiment, each of the FPGA devices may include two instantiated FPGA tester blocks 210A-210B with functional modules for performing functions including protocol engines and hardware The implementation of the accelerator, as will be described further in this paper. Memory blocks 240A-240M may each contain one or more memory modules, wherein each memory module within the memory block may be dedicated to one of the instantiated FPGA tester blocks 210A-210B. one or more. Accordingly, each of the instantiated FPGA tester blocks 210A-210B may be connected to its own dedicated memory module within the memory module 240A. In another embodiment, instantiated FPGA tester modules 210A and 210B may share one of the memory modules within memory module 240A.

此外,在該系統中之該等DUT 220A-220N中的每一個可以以一種「每一個DUT有測試器」組配被連接到一專用實例化的FPGA測試器模組210A-210N,其中每一個DUT都有其自己的測試器方塊。這允許對每一個DUT分別執行測試。在這一種組配中的該等硬體資源係以一種以最少硬體共享來支援各別DUT的方式被設計出。這種組配還允許對許多DUT進行並行地測試,其中每一個DUT可被連接到其自己的專用FPGA測試器方塊並執行一不同的測試程式。在一種實現方式中,兩個或更多個DUT也可被連接到每一個FPGA測試器方塊(例如,方塊210A)。 Additionally, each of the DUTs 220A-220N in the system can be connected to a dedicated instantiated FPGA tester module 210A-210N in a "tester per DUT" configuration, each of which Each DUT has its own tester block. This allows testing to be performed on each DUT individually. The hardware resources in this configuration are designed in a way to support individual DUTs with a minimum of hardware sharing. This configuration also allows many DUTs to be tested in parallel, where each DUT can be connected to its own dedicated FPGA tester block and execute a different test program. In one implementation, two or more DUTs may also be connected to each FPGA tester block (eg, block 210A).

圖2所描繪之本發明實施例的架構具有多個優點。首先,它允許把通訊協定模組直接規劃在該等FPGA裝置中該等實例化之FPGA測試器方塊上。該等實例化的測試器方塊可被組配成以該等DUT所支援之任何協定與該等DUT進行通訊。因此,如果具有支援不同協定的DUT需要被測試,則它們可被連接到同一系統並且可對該等FPGA進行重新規劃以支援該相關聯的協定。因此,一個ATE主體可被輕鬆組配成可以測試支援許多不同類型協定的DUT。 The architecture of the embodiment of the invention depicted in FIG. 2 has several advantages. First, it allows programming of protocol modules directly on the instantiated FPGA tester blocks in the FPGA devices. The instantiated tester blocks can be configured to communicate with the DUTs using any protocol supported by the DUTs. Thus, if DUTs with support for a different protocol need to be tested, they can be connected to the same system and the FPGAs can be reprogrammed to support the associated protocol. Therefore, an ATE subject can be easily configured to test DUTs that support many different types of protocols.

在一個實施例中,新的協定可以經由一簡單的位元串流下載從在系統控制器201上的快取中被直接下載並安裝,而無需進行任何類型的硬體互動。一FPGA將通常包括一可組配的介面核心(或IP核心),該介面可被規劃為一DUT提供一或多個基於協定之介面的功能,並可規劃成介接該DUT。例如,在該ATE設備200中的該等FPGA 211A-211M將包括一介面核心,該介面核心可被組配有該PCIe協定以一開始先測試PCIe裝置,隨後經由一軟體下載被重新組配以測試SATA裝置。另外,如果發布了一新的協定,則可以經由一位元串流下載輕鬆地用該協定來組配該等FPGA。最後,如果需要實現一非標準協定,則仍可以把該等FPGA組配成實現此一種協定。 In one embodiment, new protocols can be downloaded and installed directly from cache on the system controller 201 via a simple bitstream download without any type of hardware interaction. An FPGA will typically include a configurable interface core (or IP core) that can be programmed to provide the functionality of one or more protocol-based interfaces to a DUT and can be programmed to interface with the DUT. For example, the FPGAs 211A-211M in the ATE equipment 200 will include an interface core that can be configured with the PCIe protocol to initially test PCIe devices, then reconfigured via a software download to Test the SATA device. Also, if a new protocol is released, the FPGAs can be easily configured with that protocol via bitstream download. Finally, if a non-standard protocol needs to be implemented, the FPGAs can still be configured to implement such a protocol.

在另一個實施例中,該等FPGA 211A-211M可被組配成執行一個以上的通訊協定,其中這些協定也可以從系統控制器201下載並透過軟體進行組配。換句話說,每一個FPGA均實現定制的韌體及軟體映像,以在一單一晶片中實現一或多個基於PC之測試器的該功能。該等所需的電氣信令及基於協定的信令係由在該等FPGA中之晶片上IP核心所提供。如上所述,每一個FPGA都可以以預先驗證的介面或IP核心進行規劃。這樣可以確保根據一給定介面標準實現合規性及兼容性。該FPGA之該可規劃特性被利用來為來自SSD、HDD及其他基於協定之儲存裝置的儲存測試應用最佳化靈活性、成本、並行性及可升級能力。 In another embodiment, the FPGAs 211A-211M can be configured to execute more than one communication protocol, wherein these protocols can also be downloaded from the system controller 201 and configured through software. In other words, each FPGA implements custom firmware and software images to implement the functionality of one or more PC-based testers in a single chip. The required electrical and protocol-based signaling is provided by the on-chip IP cores in the FPGAs. As mentioned above, each FPGA can be programmed with pre-verified interfaces or IP cores. This ensures compliance and compatibility with a given interface standard. The programmable nature of the FPGA is exploited to optimize flexibility, cost, parallelism and scalability for storage test applications from SSDs, HDDs and other protocol-based storage devices.

例如,實例化的FPGA測試器方塊210A可被組配成執行該PCIe協定,而實例化的FPGA測試器方塊210B可被組配成執行該SATA協定。這允許該測試器硬體同時測試支援不同協定的DUT。FPGA 211A現在可被連接來測試同時支援PCIe及SATA協定的一DUT。或者,它可被連接以測試兩個不同的DUT,一個DUT支援該PCIe協定而另一個DUT支援該SATA協定,其中每一個實例化的功能模組(例如,210A、210B)被組配有一協定以測試其被連接到之該各別的DUT。 For example, the instantiated FPGA tester block 210A can be configured to implement the PCIe protocol, while the instantiated FPGA tester block 210B can be configured to implement the SATA protocol. This allows the tester hardware to simultaneously test DUTs that support different protocols. FPGA 211A can now be connected to test a DUT that supports both PCIe and SATA protocols. Alternatively, it can be connected to test two different DUTs, one DUT supporting the PCIe protocol and the other DUT supporting the SATA protocol, where each instantiated functional module (e.g., 210A, 210B) is configured with a protocol to test the respective DUT to which it is connected.

在一個實施例中,在該FPGA中的該介面或IP核心可從一第三方供應商處取得,但是可能需要一些客製化以與本文所描述的實施例兼容。在一個實施例中,該介面核心提供兩個功能:a)把儲存器命令包裝到一標準協定中以在一實體通道上傳輸;以及2)係該電氣信號產生器及接收器。 In one embodiment, the interface or IP core in the FPGA is available from a third party supplier, but some customization may be required to be compatible with the embodiments described herein. In one embodiment, the interface core provides two functions: a) packaging memory commands into a standard protocol for transmission over a physical channel; and 2) being the electrical signal generator and receiver.

在圖2中所展示該架構的另一個主要優點係它藉由把該命令及測試型樣產生功能分配給FPGA裝置來減少在該測試器處理器204上的處理負載,其中每一個DUT都有執行特定於它之該測試程式的一專用FPGA模組。例如,實例化的FPGA測試器方塊210A被連接至DUT 220A並執行特定於DUT 220A的測試程式。在這一種組配中的該等硬體資源係以一種以最少硬體共享來支援各別DUT的方式被設計出。這一種「每一個DUT有測試器」組配還允許每一個處理器測試更多的DUT並且更多的DUT可被並行測試。此外,利用能夠在某些模式下產生其自己的命令及測試型樣的該等FPGA,在把該測試器處理器與其他硬體組件包括有FPGA裝置、裝置電源(DPS)及DUT做連接之匯流排212上的該等頻寬需求也得以降低。因此,與現有的組配相比,更多的DUT可被同時地測試。 Another major advantage of the architecture shown in FIG. 2 is that it reduces the processing load on the tester processor 204 by distributing the command and test pattern generation functions to FPGA devices, where each DUT has A dedicated FPGA module that executes the test program specific to it. For example, instantiated FPGA tester block 210A is connected to DUT 220A and executes a test program specific to DUT 220A. The hardware resources in this configuration are designed in a way to support individual DUTs with a minimum of hardware sharing. This "tester per DUT" configuration also allows each processor to test more DUTs and more DUTs can be tested in parallel. In addition, utilizing the FPGAs, which can generate their own commands and test patterns in certain modes, after connecting the tester processor to other hardware components including the FPGA device, device power supply (DPS) and DUT The bandwidth requirements on bus 212 are also reduced. Thus, more DUTs can be tested simultaneously than with existing assemblies.

圖3根據本發明之一實施例,提供了一現場模組及其與該系統控制器及該等DUT之互連之一更為詳細的示意方塊圖。參照圖3,在一個實施例中,該ATE設備之該等現場模組可被機械式地組配到測試器片層340A-340N上,其中每一個測試器片層包括至少一個現場模組。在某些典型的實施例中,每一個測試器片層可包含兩個現場模組及兩個裝置電源供應板。例如,圖3的測試器片層340A包含現場模組310A及310B以及裝置電源供應板332A及332B。然而,可被組配到一測試器片層上之裝置電源供應板或現場模組的數量係沒有限制的。測試器片層340透過網路交換器302被連接到系統控制器301。系統控制器301及網路交換器302分別執行與在圖2中之元件201及202相同的功能。網路交換器302可用32位元寬的匯流排被連接到該等現場模組的每一個。 Figure 3 provides a more detailed schematic block diagram of a field module and its interconnection with the system controller and the DUTs, according to an embodiment of the present invention. Referring to FIG. 3, in one embodiment, the field modules of the ATE equipment may be mechanically assembled to tester slices 340A-340N, wherein each tester slice includes at least one field module. In some exemplary embodiments, each tester slice may include two field modules and two device power supply boards. For example, tester slice 340A of FIG. 3 includes field modules 310A and 310B and device power supply boards 332A and 332B. However, there is no limit to the number of device power supply boards or field modules that can be assembled onto a tester slice. The tester slice 340 is connected to the system controller 301 through the network switch 302 . System controller 301 and network switch 302 perform the same functions as elements 201 and 202 in FIG. 2, respectively. The network switch 302 can be connected to each of the field modules with a 32-bit wide bus.

可從該等現場模組310A-310B中之一個控制該等裝置電源供應板332A-332B的每一個。在該測試器處理器304上所執行的該軟體可被被組配來把一裝置電源供應分配給一特定的現場模組。例如,在一個實施例中,該等現場模組310A-310B及該等裝置電源供應332A-332B被組配成使用一高速串列協定例如快速周邊組件互連(PCIe)、串列AT附接(SATA)或串列附接的SCSI(SAS)彼此通訊。 Each of the device power supply boards 332A-332B can be controlled from one of the field modules 310A-310B. The software executing on the tester processor 304 can be configured to assign a device power supply to a specific field module. For example, in one embodiment, the field modules 310A-310B and the device power supplies 332A-332B are configured to use a high-speed serial protocol such as Peripheral Component Interconnect Express (PCIe), Serial AT Attach (SATA) or Serial Attached SCSI (SAS) to communicate with each other.

在一個實施例中,每一個現場模組如在圖3中所示地被組配成具有兩個FPGA。在圖3該實施例中之該等FPGA 316及318的每一個係由該測試器處理器304所控制的,並執行在圖2中FPGA 211A-211M相似的功能。該測試器處理器304可以使用一8通道高速串列協定介面與該等FPGA之每一個進行通訊,諸如使用PCIe,如在圖3中之系統匯流排330及332所指出的。在其他的實施例中,該測試器的處理器304還可以使用不同的高速串列協定與該等FPGA進行通訊,例如串列AT附接(SATA)或串列附接的SCSI(SAS)。 In one embodiment, each field module is configured with two FPGAs as shown in FIG. 3 . Each of the FPGAs 316 and 318 in the embodiment of FIG. 3 is controlled by the tester processor 304 and performs similar functions to FPGAs 211A-211M in FIG. 2 . The tester processor 304 may communicate with each of the FPGAs using an 8-lane high speed serial protocol interface, such as using PCIe, as indicated by system buses 330 and 332 in FIG. 3 . In other embodiments, the processor 304 of the tester can also communicate with the FPGAs using a different high-speed serial protocol, such as Serial AT Attached (SATA) or Serial Attached SCSI (SAS).

FPGA 316及318分別被連接到記憶體模組308及304,其中該等記憶體模組執行類似於在圖2中記憶體方塊240A-240N的功能。該等記憶體模組被耦合到該等FPGA裝置及該測試器處理器304兩者並可由該兩者控制。 FPGAs 316 and 318 are connected to memory modules 308 and 304, respectively, which perform functions similar to memory blocks 240A-240N in FIG. 2 . The memory modules are coupled to and controllable by both the FPGA devices and the tester processor 304 .

FPGA 316及318可分別透過匯流排352及354被連接到在該負載板380上的該等DUT 372A-372M。該負載板380係一種實體的導線,其允許在該現場模組端進行一通用的高速連接,而該高速連接與在匯流排352和354上被使用來與該等DUT進行通信的該協定無關。然而,在該DUT端,該負載板需要被設計成具有特定於正由該DUT所使用之該協定的連接器。 FPGAs 316 and 318 may be connected to the DUTs 372A-372M on the load board 380 through bus bars 352 and 354, respectively. The load board 380 is a physical wire that allows a common high speed connection at the field module side independent of the protocol used on the bus bars 352 and 354 to communicate with the DUTs . However, on the DUT side, the load board needs to be designed with connectors specific to the protocol being used by the DUT.

在本發明的一個實施例中,該等DUT 372A-372M被裝載在一負載板380上,而該負載板380被放置在一熱測試室390內以進行測試。該等DUT 372A-372M及該負載板380從該等裝置電源供應332A及332B處獲得電力。 In one embodiment of the invention, the DUTs 372A-372M are loaded on a load board 380, and the load board 380 is placed in a thermal test chamber 390 for testing. The DUTs 372A-372M and the load board 380 receive power from the device power supplies 332A and 332B.

可被連接到每一個FPGA之該DUT的數量取決於在該FPGA中該收發器的數量及由每一個DUT所需之該I/O通道的數量。在一個實施例中,FPGA 316及318可各自包含32個高速收發器,並且匯流排352及354可各自為32位元寬,然而,取決於該應用,更多個或更少個可被實現。例如,如果每個DUT需要8個I/O通道,則在這樣的一系統中只有4個DUT可被連接到每一個FPGA。 The number of DUTs that can be connected to each FPGA depends on the number of transceivers in the FPGA and the number of I/O channels required by each DUT. In one embodiment, FPGAs 316 and 318 may each contain 32 high-speed transceivers, and buses 352 and 354 may each be 32 bits wide, however, depending on the application, more or fewer may be implemented . For example, if each DUT requires 8 I/O channels, only 4 DUTs can be connected to each FPGA in such a system.

圖4根據本發明的一實施例係圖2之一實例化的FPGA測試器方塊的一詳細示意方塊圖。參照圖4,該實例化的FPGA測試器方塊410透過PCIe上游埠270被連接到該測試器處理器,並透過PCIe下游埠480被連接到該DUT。 FIG. 4 is a detailed schematic block diagram of an instantiated FPGA tester block in FIG. 2 according to an embodiment of the present invention. Referring to FIG. 4 , the instantiated FPGA tester block 410 is connected to the tester processor through the PCIe upstream port 270 and to the DUT through the PCIe downstream port 480 .

實例化的FPGA方塊410可以包含一協定引擎模組430、一邏輯方塊模組450、以及一硬體加速器方塊440。該硬體加速器方塊440更可包含一記憶體控制模組444、比較器模組446、一封包建構器模組445、以及一演算法式型樣產生器(APG)模組443。 The instantiated FPGA block 410 may include a protocol engine module 430 , a logic block module 450 , and a hardware accelerator block 440 . The hardware accelerator block 440 may further include a memory control module 444 , a comparator module 446 , a packet builder module 445 , and an algorithm pattern generator (APG) module 443 .

在一個實施例中,邏輯方塊模組450包含:解碼邏輯,用以解碼來自該測試器處理器的該等命令;安排路由邏輯,用以把來自該測試器處理器304之所有前來的命令及資料及由該等FPGA裝置所產生的該資料安排路由至該等適當的模組;以及仲裁邏輯,以在實例化的FPGA測試器方塊410內在該等各種通訊路徑之間進行仲裁。 In one embodiment, the logic block module 450 includes: decoding logic to decode the commands from the tester processor; routing logic to route all incoming commands from the tester processor 304 and data and routing of the data generated by the FPGA devices to the appropriate modules; and arbitration logic to arbitrate between the various communication paths within the instantiated FPGA tester block 410.

在一種實現方式中,被使用在該測試器處理器與該等DUT之間進行通訊的該通訊協定最好是可以重新組配的。在這一種實現方式中的該通訊協定引擎直接地被規劃到實例化之FPGA測試器方塊410的該協定引擎模組430中。該實例化的FPGA測試器方塊410因此可被組配成以該等DUT所支援之任何的協定來與該等DUT通訊。例如,可以把上述之該經預先驗證的介面或IP核心規劃到該協定引擎模組430中。這確保了根據一給定介面標準的合規性及兼容性。此外,該IP核心使得該測試人員可獲得靈活性,因為該IP核心致能了基於軟 體的介面更改。實施例提供了獨立於硬體之測試多種類型之DUT的能力。有了這種介面靈活性,可被把新的介面裝載到一可規劃晶片的該IP核心中。 In one implementation, the communication protocol used to communicate between the tester processor and the DUTs is preferably reconfigurable. The protocol engine in this implementation is programmed directly into the protocol engine module 430 of the instantiated FPGA tester block 410 . The instantiated FPGA tester block 410 can thus be configured to communicate with the DUTs using any protocol supported by the DUTs. For example, the above-mentioned pre-verified interface or IP core can be programmed into the protocol engine module 430 . This ensures compliance and compatibility according to a given interface standard. In addition, the IP core enables flexibility for the tester because the IP core enables software-based Body interface changes. Embodiments provide the ability to test multiple types of DUTs independent of hardware. With this interface flexibility, new interfaces can be loaded into the IP core of a programmable chip.

例如,在一個實施例中,對於儲存器/SSD/HDD,每一個FPGA包含一可組配的IC,該IC被連接到一SSD並可規劃成透過一儲存器特定的介面諸如SATA或SAS來提供基於儲存器的型樣。在一個實施例中,對於RF模組,一FPGA包含一可組配的IC,其中該可組配的介面核心被規劃成提供USB或PCIe介面連接,其使用當前的RF模組。 For example, in one embodiment, for storage/SSD/HDD, each FPGA includes a configurable IC that is connected to an SSD and can be programmed to communicate via a storage-specific interface such as SATA or SAS Provides storage-based models. In one embodiment, for RF modules, an FPGA includes a configurable IC, wherein the configurable interface core is programmed to provide USB or PCIe interface connections using current RF modules.

在一個實施例中,一FPGA可以是一基於SSD或RF模組的測試器,其使用基於協定的通訊來介接一DUT或模組。在一個實施例中,該可組配之介面核心可被被規劃以提供任何標準化之基於協定的通訊介面。例如,在一個實施例中,在基於一SSD模組之測試的情況下,該介面核心可被規劃以提供基於標準化協定的通訊介面,諸如SATA、SAS、等等。在一個實施例中,在基於一RF模組之測試器的情況下,該介面核心可被規劃以提供標準化之基於協定的通訊介面,諸如USB、PCIe、等等。在一個實施例中,在具有光學互連之模組的情況下,該介面核心可被規劃以提供標準化之基於協定的通訊,其被使用於來通過一光學互連與該模組通訊。 In one embodiment, an FPGA may be an SSD or RF module-based tester that interfaces with a DUT or module using protocol-based communication. In one embodiment, the configurable interface core can be programmed to provide any standardized protocol-based communication interface. For example, in one embodiment, in the case of an SSD module-based test, the interface core can be programmed to provide communication interfaces based on standardized protocols, such as SATA, SAS, and the like. In one embodiment, the interface core may be programmed to provide standardized protocol-based communication interfaces such as USB, PCIe, etc. in the case of an RF module based tester. In one embodiment, in the case of a module with an optical interconnect, the interface core may be programmed to provide standardized protocol-based communication used to communicate with the module over an optical interconnect.

因此,從一電氣的角度來看,該等FPGA利用一可組配的IP核心。藉由對一FPGA之該可規劃晶片資源進行軟體規劃,一給定的IP核心可被輕鬆地重新規劃並以另一個IP核心來被替換,而無需實體上替換該FPGA晶片或其他的硬體組件。例如,如果一給定基於FPGA的測試器目前支援SATA,則使之能夠連接到一光纖通道DUT所需要做的就是把該FPGA重新規劃成使用一光纖通道IP核心,而不是使用針對SATA來組配之該現存的IP核心。 Therefore, from an electrical point of view, the FPGAs utilize a configurable IP core. By software programming the programmable chip resources of an FPGA, a given IP core can be easily reprogrammed and replaced with another IP core without physically replacing the FPGA chip or other hardware components. For example, if a given FPGA-based tester currently supports SATA, all that is required to enable it to connect to a Fiber Channel DUT is to reprogram the FPGA to use a Fiber Channel IP core instead of a SATA-specific Compatible with the existing IP core.

在一個實施例中,該等協定可以是高速串列協定,包括有但不侷限於SATA、SAS或PCIe、等等。該新的或修改過的協定可被直接地下載並安裝 在該等FPGA上,方式係經由一簡單的位元串流透過該測試器處理器從該系統控制器下載。同樣地,如果發布了一新的協定,則經由一軟體下載可以輕鬆地用該協定來重新組配該等FPGA。 In one embodiment, the protocols may be high-speed serial protocols, including but not limited to SATA, SAS, or PCIe, among others. The new or modified protocol can be downloaded and installed directly On the FPGAs, patterns are downloaded from the system controller through the tester processor via a simple bit stream. Likewise, if a new protocol is released, the FPGAs can easily be reconfigured with that protocol via a software download.

在圖4中,如果耦合到該PCIe下游埠480的該DUT係一PCIe裝置,則包含有該PCIe協定之該實例化的一位元檔案可透過該PCIe上游埠470來被下載並被安裝在該協定引擎模組430上的該IP核心中。每一個FPGA裝置316或318可包含一或多個實例化的FPGA測試器方塊,並因此包含一或多個協定引擎模組。任何一個FPGA裝置可支援之該協定引擎模組的數量僅受到該FPGA之該大小及閘數的限制。 In FIG. 4, if the DUT coupled to the PCIe downstream port 480 is a PCIe device, the instantiated bit file containing the PCIe protocol can be downloaded through the PCIe upstream port 470 and installed on In the IP core on the protocol engine module 430 . Each FPGA device 316 or 318 may include one or more instantiated FPGA tester blocks, and thus one or more protocol engine modules. The number of protocol engine modules that any one FPGA device can support is limited only by the size and gate count of the FPGA.

在本發明的一個實施例中,在一FPGA裝置內之該等協定引擎模組的每一個可被組配成具有一不同的通訊協定。因此,一FPGA裝置可被連接來測試多個DUT,每一個同時支援不同的通訊協定。另外,一FPGA裝置可被連接以支援多種協定之一單一DUT,並同時測試在該裝置上執行的所有模組。例如,如果把一FPGA組配成同時運行PCIe及SATA協定,則它可被連接以測試同時支援PCIe及SATA協定的一DUT。或者,它可被連接以測試兩個不同的DUT,一個DUT支援該PCIe協定,而另一個DUT支援該SATA協定。 In one embodiment of the invention, each of the protocol engine modules in an FPGA device can be configured with a different communication protocol. Therefore, an FPGA device can be connected to test multiple DUTs, each supporting different communication protocols simultaneously. Alternatively, an FPGA device can be connected to a single DUT supporting multiple protocols and simultaneously test all modules running on the device. For example, if an FPGA is configured to run both PCIe and SATA protocols, it can be connected to test a DUT that supports both PCIe and SATA protocols. Alternatively, it can be connected to test two different DUTs, one supporting the PCIe protocol and the other supporting the SATA protocol.

圖4之該硬體加速器模組440可被使用來加速在該FPGA硬體上的某些功能,而這些功能可能無法在該測試器處理器上的軟體中來做。該硬體加速器方塊440可提供被使用在測試該DUT中之初始的測試型樣資料。它也可包含可以產生被使用來控制該等DUT測試之某些命令的功能。為了產生測試型樣資料,加速器方塊440使用該演算法式型樣產生器模組443。 The hardware accelerator module 440 of FIG. 4 can be used to accelerate certain functions on the FPGA hardware that may not be available in software on the tester processor. The hardware accelerator block 440 can provide initial test pattern data used in testing the DUT. It may also contain functionality that can generate certain commands that are used to control the DUT tests. To generate test pattern data, the accelerator block 440 uses the algorithmic pattern generator module 443 .

該硬體加速器方塊440可以使用比較器模組446以把從該等DUT讀取出的該資料與在一先前週期中被寫入到該等DUT中的該資料進行比較。該比較器模組446包含可把該測試器處理器304標記成一不匹配以識別出不合規裝置 的功能。更具體地說,該比較器模組446可包含一錯誤計數器,該錯誤計數器紀錄該等不匹配並把它們傳送給該測試器處理器304。 The hardware accelerator block 440 can use a comparator module 446 to compare the data read from the DUTs with the data written to the DUTs in a previous cycle. The comparator module 446 includes the ability to flag the tester processor 304 as a mismatch to identify non-compliant devices function. More specifically, the comparator module 446 may include an error counter that records the mismatches and communicates them to the tester processor 304 .

硬體加速器方塊440可連接到一本地記憶體模組420。記憶體模組420執行與在該等記憶體方塊240A-240M任一中之一記憶體模組相似的功能。記憶體模組420可由該硬體加速器方塊440及該測試器處理器304兩者來控制。該測試器處理器304可控制該本地記憶體模組420並且向其寫入該初始測試型樣資料。 The hardware accelerator block 440 can be connected to a local memory module 420 . Memory module 420 performs a similar function to one of the memory modules in any of the memory blocks 240A-240M. The memory module 420 can be controlled by both the hardware accelerator block 440 and the tester processor 304 . The tester processor 304 can control the local memory module 420 and write the initial test pattern data therein.

該記憶體模組420儲存將被寫入到該等DUT的該測試型樣資料,並且該硬體加速器方塊440對其進行存取以把該儲存的資料與在該寫入周期之後從該等DUT讀取出的該資料進行比較。該本地記憶體模組420也可被用來記錄故障。該記憶體模組將儲存一日誌檔,其中包含在測試期間該等DUT所經歷之所有故障的一記錄。在一個實施例中,該加速器模組440具有不能被任何其他實例化的FPGA測試器方塊來存取的一專用的本地記憶體模組模組420。在另一個實施例中,該本地記憶體模組方塊420與在另一個實例化之FPGA測試器方塊中的硬體加速器方塊共享。 The memory module 420 stores the test pattern data to be written into the DUTs, and the hardware accelerator block 440 accesses it to compare the stored data with the data from the DUTs after the write cycle. The data read by the DUT is compared. The local memory module 420 can also be used to record faults. The memory module will store a log file containing a record of all failures experienced by the DUTs during testing. In one embodiment, the accelerator module 440 has a dedicated local memory module 420 that cannot be accessed by any other instantiated FPGA tester block. In another embodiment, the local memory module block 420 is shared with a hardware accelerator block in another instantiated FPGA tester block.

硬體加速器方塊440還可包含一記憶體控制模組444。該記憶體控制模組444與該記憶體模組420互動並控制對該記憶體模組420的讀出及寫入存取。最後,硬體加速器方塊440包含一封包建構器模組445。該硬體加速器方塊在某些模式下使用該建構器模組來建構要被寫入到該等DUT的封包,其包含有標頭/命令資料及測試型樣資料。 The hardware accelerator block 440 may further include a memory control module 444 . The memory control module 444 interacts with the memory module 420 and controls read and write access to the memory module 420 . Finally, the hardware accelerator block 440 includes a packet builder module 445 . The hardware accelerator block uses the builder module in some modes to construct packets to be written to the DUTs, which include header/command data and test pattern data.

在某些實施例中,可由該測試器處理器304對硬體加速器模組440進行規劃以用硬體加速的幾種模式中之一進行操作。在旁路模式下,該硬體加速器被旁路,並且該測試器處理器304透過路徑472把命令及測試資料直接發送到該DUT。在硬體加速器型樣產生器模式下,測試型樣資料係由該APG模組443 來產生,而該等命令係由該測試器處理器304來產生。該等測試封包透過路徑474被傳送到該DUT。在硬體加速器記憶體模式下,該測試型樣資料係從本地記憶體模組420來存取,同時由該測試器處理器304產生該等命令。該測試型樣資料透過路徑476被發送到該DUT。安排路由邏輯482被需要在路徑472、474及476之間進行仲裁,以控制流向該DUT的資料流。 In some embodiments, the hardware accelerator module 440 may be programmed by the tester processor 304 to operate in one of several modes of hardware acceleration. In bypass mode, the hardware accelerator is bypassed and the tester processor 304 sends commands and test data via path 472 directly to the DUT. In hardware accelerator pattern generator mode, test pattern data is generated by the APG module 443 and the commands are generated by the tester processor 304. The test packets are sent to the DUT via path 474 . In hardware accelerator memory mode, the test pattern data is accessed from the local memory module 420 while the commands are generated by the tester processor 304 . The test pattern data is sent to the DUT via path 476 . Arrangement routing logic 482 is required to arbitrate between paths 472, 474 and 476 to control data flow to the DUT.

該現場模組可包含一通用的連接器481。因為該協定引擎模組430可被組配成執行任意數量的各種通訊協定,所以在該現場模組上需要一通用的高速連接器481。因此,如果需要改變在該協定引擎模組430上所實現的該協定,則不需要在該現場模組上進行所伴隨的實體修改。該現場模組使用負載板380連接該DUT,該負載板380可連接到在該現場模組端之該通用連接器,但其係特定於正在該DUT端被實現的該協定。支援不同通訊協定的DUT將需要不同的組配。因此,如果該協定被重新規劃以適應需要一不同組配的DUT,則需要把該負載板斷開並更換。 The field module may include a universal connector 481 . Because the protocol engine module 430 can be configured to implement any number of various communication protocols, a common high-speed connector 481 is required on the field module. Thus, if the protocol implemented on the protocol engine module 430 needs to be changed, no concomitant physical modification on the field module is required. The field module connects to the DUT using a load board 380 that can be connected to the universal connector at the field module end, but is specific to the protocol being implemented at the DUT end. DUTs that support different protocols will require different configurations. Therefore, if the protocol is reprogrammed to accommodate a DUT that requires a different configuration, the load board will need to be disconnected and replaced.

圖5根據本發明的一實施例描繪了測試DUT之一示例性程序的一流程圖500。然而,本發明不侷限於由該流程圖500所提供的描述。相反的是,根據本文所提供的教導,對於本發明之相關領域的習知技藝者而言將顯而易見的是其他功能流程圖也在本發明的範圍及精神內。以下將繼續參照上述參考圖2、3及4所描述之示例性實施例來描述該流程圖500,儘管該方法並不侷限於那些實施例。 FIG. 5 depicts a flowchart 500 of an exemplary procedure for testing a DUT, according to an embodiment of the present invention. However, the invention is not limited to the description provided by this flowchart 500 . Rather, other functional flow diagrams are within the scope and spirit of the present invention, as will be apparent to those skilled in the art to which the present invention pertains, in light of the teachings provided herein. The flowchart 500 will continue to be described with reference to the exemplary embodiments described above with reference to FIGS. 2 , 3 and 4 , although the method is not limited to those embodiments.

現在參考圖5,在方塊502,該使用者啟動設置並把該測試程式載入到系統控制器中。啟動設置可包含從一可用協定庫中選擇一或多個協定以被組配到在該ATE設備200中之該等FPGA裝置上。該等協定被快取成為在該系統控制器301上的檔案,並且可被下載成為位元檔案到該等FPGA上。該使用者可透過一圖形使用者介面從一可用發布版本列表中選擇該協定。在一協定成為一 可使用選項之前,其必須先被建構、測試、並把其整合到到一發布版本中。除了其他事項之外,被發布的FPGA組配包含有關於該等所支援的協定及可用於連接DUT之該收發器數量的限定。該發布版本庫然後可透過一圖形使用者介面提供給使用者使用。 Referring now to FIG. 5, at block 502, the user initiates setup and loads the test program into the system controller. Startup setup may include selecting one or more protocols from a library of available protocols to be configured on the FPGA devices in the ATE equipment 200 . The protocols are cached as files on the system controller 301 and can be downloaded as bit files to the FPGAs. The user may select the protocol from a list of available distributions through a graphical user interface. in an agreement to be one Before an option can be used, it must first be built, tested, and incorporated into a release. The published FPGA configuration contains, among other things, restrictions on the supported protocols and the number of transceivers that can be used to interface with the DUT. The distribution repository is then made available to users through a graphical user interface.

在方塊502,該使用者還透過該圖形使用者介面把該測試程式載入到該系統控制器301中。該測試程式定義了將需要在該等DUT上執行之該等測試的所有參數。在方塊504,該系統控制器把指令發送到在該現場模組310A上的該測試器處理器。此步驟包括傳送將被規劃到該等FPGA上之該等協定引擎的位元檔案。該系統控制器可包含安排路由邏輯,以把用於一特定測試程式的指令安排路由至連接到由該測試程式控制之DUT的該測試器處理器。 At block 502, the user also loads the test program into the system controller 301 through the GUI. The test program defines all parameters of the tests that will need to be performed on the DUTs. At block 504, the system controller sends commands to the tester processor on the field module 310A. This step includes transferring the bitfiles of the protocol engines to be programmed on the FPGAs. The system controller may include routing logic to route commands for a particular test program to the tester processor connected to the DUT controlled by the test program.

在方塊506,在從該系統控制器接收到指令之後,該測試器處理器304可確定用於在被連接到現場模組310A之該等DUT上執行該等測試的該硬體加速模式。 At block 506, after receiving instructions from the system controller, the tester processor 304 may determine the hardware accelerated mode for performing the tests on the DUTs connected to the field module 310A.

在一個實施例中,該測試器處理器304可在四個不同硬體加速模式之一個中操作。每一種功能模式被組配成分配用於在該測試器處理器304與該等FPGA 316及318之間產生命令及測試資料的功能。在一個實施例中,該測試器處理器可被規劃成在旁路模式下操作,其中用於測試該等DUT之所有的命令及測試資料係由該測試器處理器304來產生,並且該等FPGA 316及318被旁路。在另一個實施例中,該測試器處理器304可被規劃成以硬體加速器型樣產生器模式來操作,其中將要在該等DUT之該測試中被使用之虛擬隨機資料係由該等FPGA 316及318所產生,並且該比較也係由該等FPGA來完成,但該測試器處理器處理該等命令產生。 In one embodiment, the tester processor 304 can operate in one of four different hardware accelerated modes. Each functional mode is configured to allocate functions for generating commands and test data between the tester processor 304 and the FPGAs 316 and 318 . In one embodiment, the tester processor can be programmed to operate in a bypass mode, wherein all commands and test data for testing the DUTs are generated by the tester processor 304, and the FPGAs 316 and 318 are bypassed. In another embodiment, the tester processor 304 can be programmed to operate in a hardware accelerator pattern generator mode, wherein the pseudorandom data to be used in the testing of the DUTs is generated by the FPGAs 316 and 318, and the comparison is also done by the FPGAs, but the tester processor handles the command generation.

在又另一個實施例中,該測試器處理器304可被規劃成以硬體加速器記憶體模式操作,其中在初始設置期間,由該測試器處理器把該測試型樣預 先寫入到被連接到每一個FPGA 316及318的該記憶體模組上。在這種模式下,該等FPGA存取該專用的記憶體裝置以檢索將被寫入到該等DUT的該測試資料,從該等DUT讀取出該測試資料,並把該讀取的資料與被寫入到該記憶體裝置上的該資料進行比較。在這種模式下,該等FPGA的每一個都回應於來自該等DUT之讀取及寫入操作來控制該記憶體裝置。然而,在此模式下,該測試器處理器仍然負責該命令的產生。在又令一個實施例中,該測試器處理器304可被規劃成在硬體加速器封包建構器模式中來操作,其中該資料及基本的讀取/寫入/比較命令係由該等FPGA 316及318來產生。 In yet another embodiment, the tester processor 304 may be programmed to operate in a hardware accelerator memory mode, wherein the test pattern is pre-programmed by the tester processor during initial setup. Write to the memory module connected to each FPGA 316 and 318 first. In this mode, the FPGAs access the dedicated memory device to retrieve the test data to be written to the DUTs, read the test data from the DUTs, and convert the read data to is compared with the data written to the memory device. In this mode, each of the FPGAs controls the memory device in response to read and write operations from the DUTs. However, in this mode, the tester processor is still responsible for the command generation. In yet another embodiment, the tester processor 304 can be programmed to operate in a hardware accelerator packet builder mode, wherein the data and basic read/write/compare commands are handled by the FPGAs 316 and 318 to generate.

在方塊508,該測試器處理器分支到在其下該測試將被執行的該模式。 At block 508, the tester processor branches to the mode under which the test is to be performed.

應當注意的是,可以使用上述該等四種功能模式中之任一種來規劃圖10的該FPGA 1002,即,該旁路模式、該硬體加速器型樣產生器模式、該硬體加速器記憶體模式以及該硬體加速器封包建構器模式。 It should be noted that the FPGA 1002 of FIG. 10 can be programmed using any of the above four functional modes, i.e., the bypass mode, the hardware accelerator pattern generator mode, the hardware accelerator memory mode and the hardware accelerator packet builder mode.

圖6根據本發明的一實施例描繪了在該旁路模式下測試DUT之一示例性程序的一流程圖600。然而,本發明不侷限於由該流程圖600所提供的描述。相反的是,根據本文所提供的教導,對於本發明之相關領域的習知技藝者而言將顯而易見的是其他功能流程圖也在本發明的範圍及精神內。以下將繼續參照上述參考圖2、3及4所描述之示例性實施例來描述該流程圖600,儘管該方法並不侷限於那些實施例。 FIG. 6 depicts a flowchart 600 of an exemplary procedure for testing a DUT in the bypass mode, according to an embodiment of the present invention. However, the invention is not limited to the description provided by this flowchart 600 . Rather, other functional flow diagrams are within the scope and spirit of the present invention, as will be apparent to those skilled in the art to which the present invention pertains, in light of the teachings provided herein. The flowchart 600 will be described below with continued reference to the exemplary embodiments described above with reference to FIGS. 2 , 3 and 4 , although the method is not limited to those embodiments.

現在參考圖6,在旁路模式下,在方塊602該測試器處理器304產生用來要被安排路由到該等DUT之該等測試封包的命令及封包標頭。在方塊604處,該測試器程序還產生要被安排路由到該等DUT之該等測試封包的該測試型樣資料。在這種模式下,由於該測試器處理器會產生其自己的命令及測試資料,因此沒有硬體加速。 Referring now to FIG. 6, in bypass mode, at block 602 the tester processor 304 generates commands and packet headers for the test packets to be routed to the DUTs. At block 604, the tester program also generates the test pattern data for the test packets to be routed to the DUTs. In this mode, there is no hardware acceleration since the tester processor generates its own commands and test data.

在方塊606,該測試器處理器與實例化的FPGA方塊410及下游埠480進行通訊,以把包含該測試型樣資料的該等測試封包安排路由到該等DUT。該旁路模式係一直通模式,其中,在某些有限例外的情況下,該等命令及資料透明地透過該實例化的FPGA模組410直接傳遞到該等DUT。在旁路模式中,該測試器處理器304直接控制該等DUT。儘管該實例化的FPGA方塊可包含用以把該等資料封包安排路由到該下游埠的邏輯,但它不參與該等命令產生(也稱為「信令發送」)或該資料產生。 At block 606, the tester processor communicates with instantiated FPGA block 410 and downstream port 480 to route the test packets containing the test pattern data to the DUTs. The bypass mode is a pass-through mode in which, with some limited exceptions, the commands and data are passed transparently through the instantiated FPGA module 410 directly to the DUTs. In bypass mode, the tester processor 304 directly controls the DUTs. Although the instantiated FPGA block may include logic for routing the data packets to the downstream port, it does not participate in the command generation (also referred to as "signalling") or the data generation.

在方塊608,該測試器處理器304與下游埠480進行通訊,以啟動從該等DUT的一讀取操作,讀取先前在方塊606被寫入到該等DUT之該資料。在方塊610,該測試器處理器把從該等DUT所讀取的該資料與在方塊606該寫入的資料進行比較。如果在方塊606該寫入的資料與在方塊610該讀取的資料之間存在任何的不匹配,則在方塊612該測試器處理器304把一標誌發送到該系統控制器301。然後,該控制器將把該不匹配項標記給該使用者。 At block 608 , the tester processor 304 communicates with downstream port 480 to initiate a read operation from the DUTs, reading the data previously written to the DUTs at block 606 . At block 610 , the tester processor compares the data read from the DUTs with the data written at block 606 . If there is any mismatch between the written data at block 606 and the read data at block 610 , the tester processor 304 sends a flag to the system controller 301 at block 612 . The controller will then flag the mismatch to the consumer.

在旁路模式下,測試器處理器304在它可支援之DUT的該數量上受到限制,因為可從為該等DUT產生所有的命令及測試資料來快速地最大化它的處理能力。而且,可由現場模組310A所支援之DUT的該數量進一步受到在系統匯流排330及332上該頻寬限制的限制。在旁路模式下,由於有大量資料係由該測試器處理器304發送到該等DUT,匯流排330及332的該頻寬會相對快速地被耗盡。因此,具有更多硬體加速之其他模式被提供,其中該等FPGA裝置具有更多功能來產生測試資料及命令。 In bypass mode, the tester processor 304 is limited in the number of DUTs it can support since it can quickly maximize its processing capacity from generating all commands and test data for those DUTs. Moreover, the number of DUTs that can be supported by field module 310A is further limited by the bandwidth limitations on system buses 330 and 332 . In bypass mode, the bandwidth of buses 330 and 332 is depleted relatively quickly due to the large amount of data being sent from the tester processor 304 to the DUTs. Therefore, other modes with more hardware acceleration are provided in which the FPGA devices have more functions to generate test data and commands.

圖7根據本發明的一實施例描繪了在該硬體加速器型樣產生器模式下測試DUT之一示例性程序的一流程圖700。然而,本發明不侷限於由該流程圖700所提供的描述。相反的是,根據本文所提供的教導,對於本發明之相關領域的習知技藝者而言將顯而易見的是其他功能流程圖也在本發明的範圍及精神 內。 FIG. 7 depicts a flow chart 700 of an exemplary procedure for testing a DUT in the hardware accelerator pattern generator mode, according to an embodiment of the present invention. However, the invention is not limited to the description provided by this flowchart 700 . Rather, from the teachings provided herein, it will be apparent to those skilled in the art to which the present invention pertains that other functional flow diagrams are within the scope and spirit of the present invention Inside.

以下將繼續參照上述參考圖2、3及4所描述之示例性實施例來描述該流程圖700,儘管該方法並不侷限於那些實施例。現在參考圖7,一種硬體加速方法被展示出,其中該等FPGA裝置分擔資料產生功能,以便減輕在該測試器處理器304上的該處理負載以及系統匯流排330及332上的該資料負載。在該硬體加速器型樣產生器模式的方塊702,該測試器處理器304為將被安排路由到該等DUT之該等封包產生命令及封包標頭。該測試器程序保留了在此模式下用於信令的該功能。在該硬體加速器方塊440內的該演算法式型樣產生器模組443在方塊704產生將要被寫入到該等DUT的該虛擬隨機測試資料。該邏輯方塊模組450包含安排路由該產生的資料並把其添加到將被寫出至該等DUT之該等封包的功能。 The flowchart 700 will be described below with continued reference to the exemplary embodiments described above with reference to FIGS. 2 , 3 and 4 , although the method is not limited to those embodiments. Referring now to FIG. 7, a hardware acceleration method is shown in which the FPGA devices offload data generation functions to relieve the processing load on the tester processor 304 and the data load on system buses 330 and 332 . At block 702 of the hardware accelerator pattern generator mode, the tester processor 304 generates commands and packet headers for the packets to be routed to the DUTs. The tester program retains this functionality for signaling in this mode. The algorithm pattern generator module 443 within the hardware accelerator block 440 generates the virtual random test data to be written to the DUTs at block 704 . The logic block module 450 includes functionality for routing the generated data and adding it to the packets to be written out to the DUTs.

該模式被認為係「硬體加速的」,因為該產生資料的功能係由該FPGA裝置之該演算法式型樣產生器以硬體完成,其速度要比由該測試器處理器以軟體完成的速度要快得多。同樣地,該「每個DUT有測試器」架構允許該DUT將被直接連接到其自己專用實例化的FPGA測試器方塊,該FPGA測試器方塊如在圖4中所示地為該DUT產生測試型樣資料,與該旁路模式相比在頻寬方面有一顯著地增加,因為在該旁路模式中該測試器處理器304通過系統匯流排330及332把所有的命令及資料提供給該等DUT。通過在該資料產生功能中之該等FPGA裝置分擔,該等系統匯流排330及332被釋放,因此命令可以比在旁路模式下以更快的速率被傳送給該等FPGA。此外,對於需要多次測試迭代的裝置,諸如固態硬碟,具有透過該實例化之FPGA測試器方塊的一專用資料路徑,比起該測試器處理器的該等資源被數個DUT共享的情況下,可以大大地加快測試速度。它還允許該DUT以接近完全效能的方式運行,因為它不必等待該測試器處理器為其分配處理資源。 This mode is considered "hardware accelerated" because the function of generating data is performed in hardware by the algorithm pattern generator of the FPGA device faster than it is performed in software by the tester processor Much faster. Likewise, the "tester per DUT" architecture allows the DUT to be directly connected to its own dedicated instantiated FPGA tester block that generates test data for the DUT as shown in Figure 4. There is a significant increase in bandwidth compared to the bypass mode, because in the bypass mode the tester processor 304 provides all commands and data to the system buses 330 and 332 DUT. By sharing the FPGA devices in the data generation function, the system buses 330 and 332 are freed so commands can be sent to the FPGAs at a faster rate than in bypass mode. Also, for devices that require multiple test iterations, such as solid-state drives, have a dedicated data path through the instantiated FPGA tester block, as opposed to the case where the resources of the tester processor are shared by several DUTs , can greatly speed up the test speed. It also allows the DUT to run at near full capacity because it does not have to wait for the tester processor to allocate processing resources to it.

在一個實施例中,該演算法式型樣產生器模組443可被規劃成動態地產生資料。該APG模組可以產生遞增型樣、虛擬隨機型樣或某種類型的恆定型樣。該APG模組還可以具有特定的閘控功能以產生具有條紋、對角條紋或交替型樣的測試型樣。在一個實施例中,該APG模組可被使用有限狀態機、計數器或線性反饋移位暫存器、等等來產生測試型樣。在一些實施例中,該APG模組可被提供一起始種子作為一初始值以產生更複雜的型樣。 In one embodiment, the algorithmic pattern generator module 443 can be programmed to generate data dynamically. The APG module can generate incremental patterns, pseudo-random patterns, or some type of constant patterns. The APG module can also have specific gating functions to generate test patterns with stripes, diagonal stripes or alternating patterns. In one embodiment, the APG module can be used to generate test patterns using finite state machines, counters or linear feedback shift registers, and the like. In some embodiments, the APG module can be provided with a starting seed as an initial value to generate more complex patterns.

在步驟706,該實例化的FPGA方塊410與該下游埠480進行通訊,以根據由該測試器處理器所產生的該等命令及封包標頭把該測試型樣資料安排路由到該等DUT。在步驟708,該實例化的FPGA方塊410與該下游埠進行通訊,以根據由該測試器處理器所產生的該等命令從該等DUT讀取該測試型樣資料。在方塊710,該硬體加速器方塊440的該比較器模組446隨後被使用以把該讀取的資料與被寫入該等DUT的該資料進行比較。該APG模組443以一種方式被設計使得該比較器模組可以使用與用於產生虛擬隨機資料之參數相同的參數來對其執行讀取操作,並且接收在方塊704被寫入到該等DUT的相同資料。該APG模組443動態地重新產生寫入該等DUT的資料,並把其傳送給該比較器模組446。在方塊712,任何的不匹配不是由該記憶體控制模組444記錄在記憶體模組420上,就是被該實例化的FPGA方塊傳送到該測試器處理器。在接收到該錯誤日誌之後,該測試器處理器隨後在方塊714向該系統控制器標記不匹配。 At step 706, the instantiated FPGA block 410 communicates with the downstream port 480 to route the test pattern data to the DUTs according to the commands and packet headers generated by the tester processor. At step 708, the instantiated FPGA block 410 communicates with the downstream port to read the test pattern data from the DUTs according to the commands generated by the tester processor. At block 710, the comparator module 446 of the hardware accelerator block 440 is then used to compare the read data with the data written to the DUTs. The APG module 443 is designed in such a way that the comparator module can use the same parameters used to generate the pseudorandom data to perform read operations on it, and receive data written to the DUTs at block 704 of the same information. The APG module 443 dynamically regenerates the data written into the DUTs and sends it to the comparator module 446 . At block 712, any mismatch is either recorded on the memory module 420 by the memory control module 444 or communicated to the tester processor by the instantiated FPGA block. After receiving the error log, the tester processor then flags a mismatch to the system controller at block 714 .

圖8根據本發明的一實施例描繪了在該硬體加速器記憶體模式下測試DUT之一示例性程序的一流程圖800。然而,本發明不侷限於由該流程圖800所提供的描述。相反的是,根據本文所提供的教導,對於本發明之相關領域的習知技藝者而言將顯而易見的是其他功能流程圖也在本發明的範圍及精神內。 FIG. 8 depicts a flowchart 800 of an exemplary procedure for testing a DUT in the hardware accelerator memory mode, according to an embodiment of the present invention. However, the invention is not limited to the description provided by this flowchart 800 . Rather, other functional flow diagrams are within the scope and spirit of the present invention, as will be apparent to those skilled in the art to which the present invention pertains, in light of the teachings provided herein.

以下將繼續參照上述參考圖2、3及4所描述之示例性實施例來描述該流程圖800,儘管該方法並不侷限於那些實施例。 The flowchart 800 will continue to be described with reference to the exemplary embodiments described above with reference to FIGS. 2 , 3 and 4 , although the method is not limited to those embodiments.

現在參考圖8,一種硬體加速方法被展示,其中該等FPGA裝置分擔資料產生功能,以便減輕在該測試器處理器304上的處理負載以及在系統匯流排330及332上的該資料負載。與該硬體加速器型樣產生器模式相比,在該硬體加速器記憶體模式下,該實例化的FPGA測試器方塊從本地記憶體模組420存取將被寫入到該等DUT的該資料,而不是使用該APG模組443。 Referring now to FIG. 8 , a hardware acceleration method is shown in which the FPGA devices share data generation functions to offload the processing load on the tester processor 304 and the data load on system buses 330 and 332 . In contrast to the hardware accelerator pattern generator mode, in the hardware accelerator memory mode, the instantiated FPGA tester block accesses from local memory module 420 the data to be written to the DUTs. information instead of using the APG mod 443.

在該硬體加速器型樣記憶體模式的方塊800,該測試器處理器304產生將被安排路由到該等DUT之該等封包的命令及封包標頭。該測試器程序保留了在此模式下該用於信令的功能。在方塊802,該測試器處理器利用將被寫出到該等DUT的測試型樣來初始化該實例化之FPGA測試器方塊410的該本地記憶體模組420。該硬體加速器記憶體模式的一個優點是,與在該硬體加速器型樣產生器模式下由該APG模組443所產生之虛擬隨機資料相反,由該測試器處理器所產生的該等測試型樣可以構成真正的隨機資料。該測試器處理器及該實例化的FPGA測試器方塊均具有對本地記憶體模組420的讀寫存取權限。但是,該測試器處理器僅在初始設置期間存取記憶體模組420。在該加速器模式期間,該測試器處理器不會存取該記憶體模組,因為在該測試器處理器304上該附加的處理負載以及在該等系統匯流排330及332上該附加資料負載大大地降低了該加速。 At block 800 of the emulator model, the tester processor 304 generates commands and packet headers for the packets to be routed to the DUTs. The tester program retains the functionality for signaling in this mode. At block 802, the tester processor initializes the local memory module 420 of the instantiated FPGA tester block 410 with test patterns to be written out to the DUTs. An advantage of the hardware accelerator memory mode is that, in contrast to the pseudorandom data generated by the APG module 443 in the hardware accelerator pattern generator mode, the test data generated by the tester processor Patterns can constitute truly random data. Both the tester processor and the instantiated FPGA tester block have read and write access to the local memory module 420 . However, the tester processor only accesses memory module 420 during initial setup. During the accelerator mode, the tester processor will not access the memory module because of the additional processing load on the tester processor 304 and the additional data load on the system buses 330 and 332 This acceleration is greatly reduced.

在方塊804,該實例化的FPGA測試器方塊從該記憶體模組420讀取將被安排路由到該等DUT的該測試型樣資料。因為該記憶體模組420係專用於該FPGA測試器方塊或僅與一個其他的FPGA測試器方塊共享,在該等兩者之間存在一高頻寬連接,從而實現了快速讀取操作。該邏輯方塊模組450包含安排路由該產生的資料並把其添加到將被寫出到該等DUT之該等封包的功能。 At block 804, the instantiated FPGA tester block reads from the memory module 420 the test pattern data to be routed to the DUTs. Because the memory module 420 is dedicated to the FPGA tester block or shared with only one other FPGA tester block, there is a high bandwidth connection between the two, enabling fast read operations. The logic block module 450 includes functionality for routing the generated data and adding it to the packets to be written out to the DUTs.

在該資料已經被添加到該等封包之後,在方塊806,該實例化的FPGA方塊與該下游埠480進行通訊,以根據由該測試器處理器所產生的該等命令及封包標頭把該測試型樣資料安排路由到該等DUT。在步驟808,該實例化的 FPGA方塊410與該下游埠進行通訊,以根據由該測試器處理器所產生的該等命令從該等DUT讀取該測試型樣資料。在方塊810,該硬體加速器方塊440的該比較器模組446隨後被使用以把該讀取的資料與被寫入該等DUT的該資料進行比較。在方塊812,任何的不匹配不是被記錄在記憶體模組420上,就是被該實例化的FPGA方塊傳送到該測試器處理器。在接收到該錯誤日誌之後,該測試器處理器隨後在方塊814向該系統控制器標記不匹配。 After the data has been added to the packets, at block 806, the instantiated FPGA block communicates with the downstream port 480 to send the packets according to the commands and packet headers generated by the tester processor. Test pattern data is scheduled to be routed to the DUTs. At step 808, the instantiated FPGA block 410 communicates with the downstream port to read the test pattern data from the DUTs according to the commands generated by the tester processor. At block 810, the comparator module 446 of the hardware accelerator block 440 is then used to compare the read data with the data written to the DUTs. At block 812, any mismatch is either recorded on memory module 420 or communicated to the tester processor by the instantiated FPGA block. After receiving the error log, the tester processor then flags a mismatch to the system controller at block 814 .

圖9根據本發明的一實施例描繪了在該硬體加速器封包建構器模式下測試DUT之一示例性程序的一流程圖900。然而,本發明不侷限於由該流程圖900所提供的描述。相反的是,根據本文所提供的教導,對於本發明之相關領域的習知技藝者而言將顯而易見的是其他功能流程圖也在本發明的範圍及精神內。 FIG. 9 depicts a flowchart 900 of an exemplary procedure for testing a DUT in the hardware accelerator packet builder mode, according to an embodiment of the present invention. However, the invention is not limited to the description provided by the flowchart 900 . Rather, other functional flow diagrams are within the scope and spirit of the present invention, as will be apparent to those skilled in the art to which the present invention pertains, in light of the teachings provided herein.

以下將繼續參照上述參考圖2、3及4所描述之示例性實施例來描述該流程圖900,儘管該方法並不侷限於那些實施例。 The flowchart 900 will be described with continued reference to the exemplary embodiments described above with reference to FIGS. 2 , 3 and 4 , although the method is not limited to those embodiments.

現在參考圖9,一種硬體加速方法被展示,其中該等FPGA裝置分擔資料及命令產生功能,以便減輕在該測試器處理器304上的處理負載以及在系統匯流排330及332上的該資料負載。這個模式也被稱為「全加速」模式,因為用於執行該等裝置測試之大部分的控制都被轉移到了該等FPGA裝置,並且該測試器處理器304僅對除了讀取及寫入以及比較之外的命令保留了控制。 Referring now to FIG. 9, a hardware acceleration method is shown in which the FPGA devices offload data and command generation functions to offload the processing load on the tester processor 304 and the data on system buses 330 and 332. load. This mode is also known as "Full Acceleration" mode because most of the control for performing the device tests is transferred to the FPGA devices and the tester processor 304 only performs operations other than reading and writing and Commands other than comparison retain control.

在該硬體加速器封包建構器模式的方塊902,該測試器處理器304產生將被傳送到該實例化FPGA方塊410的命令,以產生其自己的封包。在此模式下,該測試器處理器僅保留該等非讀取/寫入/比較命令的功能。諸如讀取、寫入及比較操作之類命令的功能被傳送到該等實例化的FPGA模組。在方塊904,該實例化之FPGA測試器方塊的該封包建構器模組445建構具有標頭及命令資訊的封包,以把其傳送至該等DUT。該等封包至少包含該命令類型、該裝置的方 塊位址以及該測試型樣資料。 At block 902 of the hardware accelerator package builder mode, the tester processor 304 generates commands to be passed to the instantiated FPGA block 410 to generate its own package. In this mode, the tester processor only retains the functionality of the non-read/write/compare commands. Functions of commands such as read, write, and compare operations are passed to the instantiated FPGA modules. At block 904, the packet builder module 445 of the instantiated FPGA tester block constructs a packet with header and command information to transmit to the DUTs. These packets include at least the command type, the Block address and the test pattern data.

在該硬體加速器方塊440內的該演算法式型樣產生器模組443在方塊906產生將被寫入到該等DUT的該虛擬隨機測試資料。該邏輯方塊模組450包含的功能可為由該實例化FPGA方塊所產生的該資料及命令安排路由並把它們合併成為將被寫出到該等DUT的封包。 The algorithm pattern generator module 443 within the hardware accelerator block 440 generates the virtual random test data to be written to the DUTs at block 906 . The logic block module 450 includes functionality to route and consolidate the data and commands generated by the instantiated FPGA blocks into packets to be written out to the DUTs.

在方塊908,該實例化的FPGA方塊與該下游埠480進行通訊以把該測試型樣資料安排路由到該等DUT。在步驟910,該實例化的FPGA方塊410與該下游埠進行通訊,以從該等DUT讀取該測試型樣資料。在方塊912,該硬體加速器方塊440的該比較器模組446隨後被使用以把該讀取的資料與被寫入該等DUT的該資料進行比較。在方塊914,任何的不匹配不是被記錄在記憶體模組420上,就是被該實例化的FPGA方塊傳送到該測試器處理器。在接收到該錯誤日誌之後,該測試器處理器隨後在方塊916向該系統控制器標記不匹配。 At block 908, the instantiated FPGA block communicates with the downstream port 480 to route the test pattern data to the DUTs. At step 910, the instantiated FPGA block 410 communicates with the downstream port to read the test pattern data from the DUTs. At block 912, the comparator module 446 of the hardware accelerator block 440 is then used to compare the read data with the data written to the DUTs. At block 914, any mismatch is either recorded on memory module 420 or communicated to the tester processor by the instantiated FPGA block. After receiving the error log, the tester processor then flags a mismatch to the system controller at block 916 .

在自動測試裝備中使用主機匯流排適配器來提供協定靈活性Using host bus adapters in automated test equipment to provide protocol flexibility

如以上所述,可以經由一簡單的位元串流下載從在一系統控制器上之一快取中直接下載並安裝用於與該等DUT進行通訊的新協定,並把其直接安裝在一測試器系統的FPGA上。在一FPGA中之該可組配的介面核心(或IP核心)可被規劃以提供功能用於一或多個基於協定的介面以與一DUT進行通訊。每一個FPGA均實現定制的韌體及軟體映像,以在一單一晶片中實現一或多個基於PC之測試器的該功能。該等所需的電氣信令及基於協定的信令係由在該等FPGA中之晶片上IP核心所提供。每一個FPGA都可以以預先驗證的介面或IP核心進行規劃。這樣可以確保根據一給定介面標準實現了合規性及兼容性。 As described above, new protocols for communicating with the DUTs can be downloaded and installed directly from a cache on a system controller via a simple bitstream download and installed directly on a on the FPGA of the tester system. The configurable interface core (or IP core) in an FPGA can be programmed to provide functionality for one or more protocol-based interfaces to communicate with a DUT. Each FPGA implements custom firmware and software images to implement the functionality of one or more PC-based testers in a single chip. The required electrical and protocol-based signaling is provided by the on-chip IP cores in the FPGAs. Each FPGA can be programmed with pre-verified interfaces or IP cores. This ensures compliance and compatibility with a given interface standard.

應當注意的是,儘管在某些情況下,可被把多種不同類型的核心規劃到一FPGA上,但是某些傳統的測試器僅允許把一單一IP核心規劃到一FPGA上。換句話說,某些測試系統的該等FPGA協定引擎模組(例如,圖4的模 組430)只能夠支援一單一IP核心,並且如果一不同的第三方協定IP核心需要被規劃到該FPGA的話,這把需要對該FPGA進行重新規劃。而且,該IP核心可能包含一第三方IP協定,該協定可能是專有的、不能被修改或被複製。這會導致在開發及測試環境中的延遲。對一FPGA進行重新規劃有時可能會耗費大量的時間,從而減緩了該開發或測試程序的速度。 It should be noted that some conventional testers only allow a single IP core to be programmed onto an FPGA, although in some cases multiple different types of cores can be programmed onto an FPGA. In other words, the FPGA protocol engine modules of some test systems (e.g., the module of FIG. 4 group 430) can only support a single IP core, and if a different third-party protocol IP core needs to be programmed into the FPGA, this will require a redesign of the FPGA. Also, the IP core may contain a third-party IP protocol, which may be proprietary and cannot be modified or copied. This can cause delays in development and test environments. Reprogramming an FPGA can sometimes be time consuming, slowing down the development or testing process.

因此,在一些實施例中,具有一可組配IP核心的一FPGA與一主機匯流排適配器(HBA)結合在一起被使用,以加快在開發或測試環境中的測試速度。無需把一新的位元串流下載到該FPGA中以對其進行重新規劃,而是使用一HBA把來自該FPGA的該流量轉換為一特定於DUT的協定。例如,最初可把該FPGA規劃成使用該PCIe協定進行通訊。該HBA可被組配成把前來的PCIe信號轉換為SATA或SAS信號,以便分別測試一SATA或SAS DUT。可替代地,該HBA可被組配成把前來的PCIe信號轉換為某些只能經由一HBA被「扔進」到該測試器系統中的第三方專有協定。 Therefore, in some embodiments, an FPGA with a configurable IP core is used in conjunction with a host bus adapter (HBA) to speed up testing in a development or test environment. Instead of downloading a new bitstream into the FPGA to reprogram it, an HBA is used to convert the traffic from the FPGA to a DUT-specific protocol. For example, the FPGA may initially be programmed to communicate using the PCIe protocol. The HBA can be configured to convert incoming PCIe signals to SATA or SAS signals for testing a SATA or SAS DUT, respectively. Alternatively, the HBA can be configured to convert incoming PCIe signals to some third-party proprietary protocol that can only be "thrown" into the tester system via an HBA.

圖10根據本發明的一實施例圖示出了該方式,其中包含有協定轉換器IP的一HBA可被使用來把一FPGA連接到一DUT,該DUT係以不同於該FPGA被規劃之該協定的一協定來進行通訊。本發明的實施例調用一HBA 1008的使用,該HBA包含有協定轉換器IP 1004(例如,包含一專有的第三方協定)以提供協定靈活性。該協定轉換器IP 1004把被輸入到該輸入HBA介面1040中之前來的流量從一個協定轉換為在該HBA輸出介面1042上被輸出之一不同的協定。 Figure 10 illustrates the manner in which an HBA containing protocol converter IP can be used to connect an FPGA to a DUT different from the FPGA for which the FPGA is programmed, according to an embodiment of the present invention. A protocol of protocols to communicate. Embodiments of the present invention invoke the use of an HBA 1008 that includes a protocol converter IP 1004 (eg, including a proprietary third-party protocol) to provide protocol flexibility. The protocol converter IP 1004 converts incoming traffic from one protocol before being input into the input HBA interface 1040 to a different protocol being output on the HBA output interface 1042 .

在一個實施例中,具有該協定轉換器IP 1004之該HBA 1008與在該FPGA 1002上之一硬體加速器及IP核心1010結合使用,以測試支援不同協定的該等DUT。在一個實施例中,該硬體加速器(例如,圖4的該硬體加速器模組440)可以是該IP核心1010的一部分,但是在一不同的實現方式中,該硬體加速器可以是與該IP核心1010分開的一分立模組。 In one embodiment, the HBA 1008 with the protocol converter IP 1004 is used in conjunction with a hardware accelerator and IP core 1010 on the FPGA 1002 to test the DUTs supporting different protocols. In one embodiment, the hardware accelerator (eg, the hardware accelerator module 440 of FIG. 4 ) may be part of the IP core 1010, but in a different implementation, the hardware accelerator may be the same as the The IP core 1010 is separated into a discrete module.

在圖10的該實施例中,不使用與該耦合之DUT匹配的一協定對該FPGA進行重新規劃,而是使用一HBA把來自該FPGA的該流量轉換為由該DUT所支援的一協定。在某些測試環境中,這是必需的,因為對FPGA進行重新規劃需要花時間。此外,在一開發環境中可能存在例如該FPGA可能不支援一特定協定的實例。使用一HBA避免了與重新規劃該FPGA或針對當前不被支援之一協定開發FPGA韌體相關聯的該等延遲。此外,在一FPGA內被組配的該等IP核心可以是某些第三方所專有的,並且使用一HBA避免了需要修改來自第三方的專有核心。例如,該第三方專有協定IP可能不允許被整合到一FPGA中,並且可能需要作為一HBA的一部分來被獨立使用。 In the embodiment of FIG. 10, instead of reprogramming the FPGA with a protocol that matches the coupled DUT, an HBA is used to convert the traffic from the FPGA to a protocol supported by the DUT. In some test environments, this is required because of the time it takes to reprogram the FPGA. Additionally, there may be instances in a development environment where, for example, the FPGA may not support a particular protocol. Using an HBA avoids the delays associated with re-programming the FPGA or developing FPGA firmware for a protocol that is not currently supported. Furthermore, the IP cores assembled within an FPGA may be proprietary to certain third parties, and using an HBA avoids the need to modify proprietary cores from third parties. For example, the third-party proprietary protocol IP may not be allowed to be integrated into an FPGA, and may need to be used independently as part of an HBA.

此外,因為測試器系統的產品上市時間愈來愈短,故有需要一種靈活測試器系統的需求,其允許一位測試工程師可以快速地在支援不同協定之DUT之間做切換,而不需要重新組配一FPGA。圖10的該實施例提供了一種測試器系統,其把一FPGA IP核心與具有一HBA(例如,具有一第三方IP協定)的硬體加速器相結合,以在測試支援各種協定之DUT之間靈活地切換。在一個實施例中,該FPGA 1002可通過一輸入介面1001從一系統控制器(例如,圖3的系統控制器301)或一測試器處理器(例如,圖3的測試器處理器304)接收輸入信號。該輸入介面1001可以,例如,包含一高速串列介面協定諸如PCIe。在該FPGA上所實現之該硬體加速器及IP核心1010可被組配成以一特定的協定進行通訊,例如PCIe。因此,該FPGA 1002可被連接到PCIe DUT,但是無法與支援任何其他協定的該等DUT進行通訊。 In addition, as the time-to-market of tester systems becomes shorter and shorter, there is a need for a flexible tester system that allows a test engineer to quickly switch between DUTs that support different protocols without resetting the tester system. Assemble an FPGA. The embodiment of FIG. 10 provides a tester system that combines an FPGA IP core with a hardware accelerator with an HBA (e.g., with a third-party IP protocol) to test between DUTs supporting various protocols. Switch flexibly. In one embodiment, the FPGA 1002 may receive information from a system controller (e.g., system controller 301 of FIG. 3 ) or a tester processor (e.g., tester processor 304 of FIG. 3 ) through an input interface 1001. input signal. The input interface 1001 may, for example, comprise a high speed serial interface protocol such as PCIe. The hardware accelerator and IP core 1010 implemented on the FPGA can be configured to communicate with a specific protocol, such as PCIe. Thus, the FPGA 1002 can be connected to PCIe DUTs, but cannot communicate with those DUTs that support any other protocol.

在一個實施例中,在一測試或開發環境中,如果支援一非PCIe協定的DUT需要被測試,具有一協定轉換器IP 1004(例如,具有一第三方專有協定)的一HBA 1008可被使用來以該相同的測試器來測試該等DUT,而無需重新規劃該FPGA。在一個實施例中,該HBA 1008包含一協定轉換器1004(或第三方IP), 該協定轉換器1004用作為一協定轉換器並把流量從一個協定轉換為另一個協定。因此,該HBA 1008會把在介面1040上的該等前來信號(例如,PCIe信號)轉換為由該DUT所支援之一不同的協定。以這種方式,至該DUT 1055的該HBA協定介面1042將支援與該DUT 1055相對應的該協定。 In one embodiment, in a test or development environment, if a DUT supporting a non-PCIe protocol needs to be tested, an HBA 1008 with a protocol converter IP 1004 (e.g., with a third-party proprietary protocol) can be Use the same tester to test the DUTs without reprogramming the FPGA. In one embodiment, the HBA 1008 includes a protocol converter 1004 (or third-party IP), The protocol converter 1004 acts as a protocol converter and converts traffic from one protocol to another. Accordingly, the HBA 1008 will convert the incoming signals (eg, PCIe signals) on the interface 1040 to a different protocol supported by the DUT. In this way, the HBA protocol interface 1042 to the DUT 1055 will support the protocol corresponding to the DUT 1055 .

本發明的實施例有利地允許該FPGA 1002可以快速地使用第三方IP來實現其他協定,而無需重新規劃FPGA。本發明的實施例還為該測試器系統提供了一更佳的上市時間。藉由允許該協定IP核心可以互換,測試器系統面對顧客的上市時間可以有利地被縮短。 Embodiments of the present invention advantageously allow the FPGA 1002 to quickly implement other protocols using third-party IP without redesigning the FPGA. Embodiments of the present invention also provide a better time to market for the tester system. By allowing the protocol IP cores to be interchangeable, time-to-market for tester systems to customers can be advantageously shortened.

在一個實施例中,測試器系統可能會被運送到支援一特定協定(例如,PCIe)之該測試器系統的一客戶端。在該客戶端現場,不用重新規劃在該測試器中的該等FPGA,該客戶可以簡單地把具有支援一不同協定,例如,SATA,或其他一些專有協定之一第三方IP(或協定轉換器IP)的一HBA添加到測試器系統。用這種方式,該客戶端可以測試與不同協定相關聯的DUT,而無需重新組配該測試器系統。 In one embodiment, the tester system may be shipped to a client of the tester system that supports a particular protocol (eg, PCIe). At the client site, without reprogramming the FPGAs in the tester, the customer can simply transfer a third-party IP (or protocol conversion) that supports a different protocol, such as SATA, or some other proprietary protocol Add one HBA to the tester IP) to the tester system. In this way, the client can test DUTs associated with different protocols without reconfiguring the tester system.

在一個實施例中,該HBA 1008可以是具有一開關的一匯流排擴展器。在一個實現方式中,給該HBA 1008的該輸入(通過介面1040)可以是PCIE信號,並且該等輸出包含SAS信號。例如,通過介面1040輸入到一協定轉換器IP方塊1004的一PCIe可通過介面1042被轉換成一不同的協定,例如用於測試一SAS DUT 1055的SAS。 In one embodiment, the HBA 1008 may be a bus extender with a switch. In one implementation, the input to the HBA 1008 (via interface 1040) can be a PCIE signal, and the outputs include SAS signals. For example, a PCIe input to a protocol converter IP block 1004 via interface 1040 can be converted to a different protocol such as SAS for testing a SAS DUT 1055 via interface 1042 .

在一個實施例中,該HBA 1008與該FPGA之該加速器引擎(例如,圖4的硬體加速器模組440)相結合以產生用於一協定的流量,其比由一HBA與一處理器之組合所支援之一協定的流量要有更快的產出量。例如,在圖1中,該測試器處理器101與該等硬體匯流排適配器插座110A被結合使用。圖1的該測試器系統的效率低下,因為該HBA被侷限於由該測試器處理器101產生該資料的該等 緩慢速來接收及傳送資料。 In one embodiment, the HBA 1008 is combined with the accelerator engine of the FPGA (e.g., the hardware accelerator module 440 of FIG. 4 ) to generate traffic for a protocol that is compared by an HBA to a processor The traffic of one of the protocols supported by the combination should have faster throughput. For example, in FIG. 1, the tester processor 101 is used in conjunction with the hardware bus adapter sockets 110A. The tester system of FIG. 1 is inefficient because the HBA is limited to the data generated by the tester processor 101. Receive and transmit data slowly.

相比之下,在圖10的該實施例中,該HBA與該FPGA硬體加速器方塊440被結合使用以為未在該FPGA上被實現或無法被實現的一協定(例如,由於一第三方之專有的限制)提供高速支援。在一種實現方式中,該HBA能夠與由該FPGA硬體加速器方塊440所支援之該高速資料產生及傳輸速率保持同步。該FPGA能夠驅動該HBA以用與該硬體加速器方塊440產生該資料一樣快的速度來接收及傳送資料。因此,無論是該測試器處理器(例如,圖3的測試器處理器圖304)還是該HBA都不會是在該資料異動期間中的一瓶頸。 In contrast, in the embodiment of FIG. 10, the HBA is used in conjunction with the FPGA hardware accelerator block 440 as a protocol that is not implemented or cannot be implemented on the FPGA (e.g., due to a third-party Proprietary restrictions) provide high-speed support. In one implementation, the HBA can keep pace with the high speed data generation and transfer rates supported by the FPGA hardware accelerator block 440 . The FPGA can drive the HBA to receive and transmit data as fast as the hardware accelerator block 440 generates the data. Therefore, neither the tester processor (eg, tester processor map 304 of FIG. 3 ) nor the HBA is a bottleneck during the data transaction.

請注意,該FPGA可被佈置在現場模組板1060上(類似於圖3的現場模組310A),而該DUT 1055可被佈置在一裝置介面板1064上(類似於圖3的負載板380)。該HBA 1008可被設置在與該現場模組板1060及該裝置介面板1064都耦合的一夾心板1062上。在一個實施例中,該HBA 1008可被安置在該現場模組板1060與該裝置介面板1064之間。 Note that the FPGA can be placed on a field module board 1060 (similar to field module 310A of FIG. 3 ), and the DUT 1055 can be placed on a device interface board 1064 (similar to load board 380 of FIG. 3 ). ). The HBA 1008 may be mounted on a sandwich board 1062 coupled to both the field module board 1060 and the device interface board 1064 . In one embodiment, the HBA 1008 can be disposed between the field module board 1060 and the device interface board 1064 .

圖11根據本發明的一實施例圖示出該方式,其中包含有一或多個HBA的一夾心板可被使用以介接在一FPGA與一DUT之間。正如前面所討論的,一FPGA 1104可被通訊地耦合到一試器處理器1102,從其它可以接收用於測試一或多個DUT 1110的指令。該FPGA 1104及該測試器處理器1102可被佈置在一現場模組板1102上。 FIG. 11 illustrates the manner in which a sandwich board containing one or more HBAs may be used to interface between an FPGA and a DUT, according to an embodiment of the invention. As previously discussed, an FPGA 1104 can be communicatively coupled to a tester processor 1102 from which it can receive instructions for testing one or more DUTs 1110 . The FPGA 1104 and the tester processor 1102 may be disposed on a field module board 1102 .

該FPGA傳送該等測試信號,例如,PCIe信號給被設置在一夾心板1107上之一或多個HBA 1106,其中每一個HBA包含一協定轉換器IP。請注意,放置在該夾心板上之該HBA的數量取決於該所選HBA的類型。此外,連接到每一個HBA之該DUT 1110的數量也取決於該選擇的HBA。 The FPGA transmits the test signals, eg, PCIe signals, to one or more HBAs 1106 disposed on a sandwich board 1107, where each HBA includes a protocol converter IP. Note that the number of HBAs placed on the sandwich depends on the type of HBA selected. Additionally, the number of DUTs 1110 connected to each HBA also depends on the selected HBA.

在圖11所示的實現方式中,在每一個HBA中的該協定轉換器IP可把來自該FPGA的該等PCIe信號轉換為用於測試DUT 1110之另一個協定,例如 SAS,的信號。這允許該測試器可以測試被組配有不同協定的DUT而無需重新規劃FPGA並直接使用未被整合在該FPGA中的一第三方協定。應被注意的是,該FPGA可被組配成實現幾種協定中的任何一種,並且不限於PCIe。類似地,該HBA可被組配成具有用於任何數量之協定的協定轉換器IP,並且不限於SAS。 In the implementation shown in Figure 11, the protocol converter IP in each HBA can convert the PCIe signals from the FPGA to another protocol for testing the DUT 1110, e.g. SAS, the signal. This allows the tester to test DUTs configured with different protocols without reprogramming the FPGA and directly using a third-party protocol not integrated in the FPGA. It should be noted that the FPGA can be configured to implement any of several protocols and is not limited to PCIe. Similarly, the HBA can be configured with a protocol converter IP for any number of protocols, and is not limited to SAS.

在一個實施例中,每一個DUT被連接到在一相關聯之FPGA中之一單一加速引擎(或硬體加速器方塊)。如結合圖2所述,每一個FPGA可具有多個實例化的FPGA測試器方塊,其中每一個方塊都包含其自己的加速器引擎。在一種實現方式中,每一個加速器引擎可與它自己各自的DUT耦合。在一種實現方式中,每一個HBA可與N個實例化的FPGA測試器方塊耦合。因為每一個實例化的FPGA測試器方塊都包含其自己的加速器引擎,所以每一個HBA可與N個加速器引擎耦合。 In one embodiment, each DUT is connected to a single acceleration engine (or hardware accelerator block) in an associated FPGA. As described in connection with FIG. 2, each FPGA may have multiple instantiated FPGA tester blocks, each of which contains its own accelerator engine. In one implementation, each accelerator engine can be coupled to its own respective DUT. In one implementation, each HBA can be coupled to N instantiated FPGA tester blocks. Since each instantiated FPGA tester block contains its own accelerator engine, each HBA can be coupled with N accelerator engines.

在一種實現方式中,每一個HBA還可與N個DUT連接,其中每一個加速器引擎可與自己個別的DUT連接。在一種實現方式中,N=4,並且每一個HBA可被連接到4個實例化的FPGA測試器方塊及4個DUT,其中每一個DUT將與它自己的加速器核心相關聯。然而,應當注意的是,本發明的實施例並不侷限於此。每一個加速引擎可與多於一單一DUT連接並且每一個HBA可與任何數目的DUT連接。 In one implementation, each HBA can also be connected to N DUTs, wherein each accelerator engine can be connected to its own individual DUT. In one implementation, N=4, and each HBA can be connected to 4 instantiated FPGA tester blocks and 4 DUTs, where each DUT will be associated with its own accelerator core. However, it should be noted that embodiments of the present invention are not limited thereto. Each acceleration engine can be connected to more than a single DUT and each HBA can be connected to any number of DUTs.

圖12根據本發明的一實施例圖示出一示例性測試器組配,其中每一個DUT與一相應的加速器引擎連接。如在圖12中所示,該FPGA包含多個加速器核心,例如1201、1202、1203及1204。每一個加速器核心都可如上所述地運行在該型樣產生器模式(APG模式)或全加速器模式(FA模式)中。每一個加速器核心與該IP核心1205進行通訊。該等加速器核1201-1204及該IP核心1205共同執行與在圖10中模組1010基本上相同的功能。在圖12所示的該實例中,IP核心1205係一PCIe核心,並因此,該FPGA實現了該PCIe協定。 Figure 12 illustrates an exemplary tester configuration in which each DUT is connected to a corresponding accelerator engine, according to an embodiment of the present invention. As shown in FIG. 12 , the FPGA includes a plurality of accelerator cores, such as 1201 , 1202 , 1203 and 1204 . Each accelerator core can run in the pattern generator mode (APG mode) or full accelerator mode (FA mode) as described above. Each accelerator core communicates with the IP core 1205 . The accelerator cores 1201-1204 and the IP core 1205 collectively perform substantially the same functions as the module 1010 in FIG. 10 . In the example shown in FIG. 12, IP core 1205 is a PCIe core, and thus, the FPGA implements the PCIe protocol.

來自該FPGA的該等PCIe信號被傳送到該夾心板1215。HBA 1206可以是被設置在夾心板1215上之幾個HBA中之一個。在這個實例中,該HBA 1206接收該等PCIe信號並把其轉換為符合該SAS協定的信號。在一種實現方式中,該SAS協定可被提供作為一專有的第三方協定IP,其可被投入到該設計中而無需對其進行更改或檢查。該HBA 1206與4個DUT做通訊地耦合,其中每一個DUT對應於一各別的加速器核心。例如,DUT 1207可對應於加速器核心1201、DUT 1208可對應於加速器核心1202、DUT 1209可對應於加速器核心1203、以及DUT 1210可對應於加速器核心1204。 The PCIe signals from the FPGA are sent to the sandwich board 1215 . HBA 1206 may be one of several HBAs disposed on sandwich panel 1215 . In this example, the HBA 1206 receives the PCIe signals and converts them to signals compliant with the SAS protocol. In one implementation, the SAS protocol can be provided as a proprietary third-party protocol IP that can be dropped into the design without changes or inspections being made to it. The HBA 1206 is communicatively coupled with four DUTs, each of which corresponds to a respective accelerator core. For example, DUT 1207 may correspond to accelerator core 1201 , DUT 1208 may correspond to accelerator core 1202 , DUT 1209 may correspond to accelerator core 1203 , and DUT 1210 may correspond to accelerator core 1204 .

圖13根據本發明的一個實施例描繪出測試DUT之一示例性程序的一流程圖1300,其中該DUT係以與在一測試器系統中之一FPGA上所實現(整合)之該協定不同的一協定來進行通訊。然而,本發明不侷限於由該流程圖1300所提供的描述。相反的是,根據本文所提供的教導,對於本發明之相關領域的習知技藝者而言將顯而易見的是其他功能流程圖也在本發明的範圍及精神內。 FIG. 13 depicts a flowchart 1300 of an exemplary procedure for testing a DUT with a different protocol than that implemented (integrated) on an FPGA in a tester system, according to an embodiment of the present invention. A protocol to communicate. However, the invention is not limited to the description provided by this flowchart 1300 . Rather, other functional flow diagrams are within the scope and spirit of the present invention, as will be apparent to those skilled in the art to which the present invention pertains, in light of the teachings provided herein.

在方塊1310,一系統控制器被耦合到一測試器處理器及一FPGA。該系統控制器可以是一基於Windows的作業系統,如上面所討論的。該FPGA被通訊地耦合到該測試器處理器,並且可操作成根據上述各種加速模式中之一種來產生用於測試複數個DUT的命令及資料。 At block 1310, a system controller is coupled to a tester processor and an FPGA. The system controller can be a Windows-based operating system, as discussed above. The FPGA is communicatively coupled to the tester processor and is operable to generate commands and data for testing the plurality of DUTs according to one of the various acceleration modes described above.

在方塊1312,根據在一FPGA之一IP核心中所實現的一第一協定並根據一選擇的加速模式,產生用於測試複數個連接之DUT的命令及資料。該加速模式可以是一標準或旁路模式其中該測試器程序會產生所有的命令及資料,而該FPGA會被旁路。替代地,該加速模式可以是一PIDA、FA、或如上所述之硬體加速器記憶體模式。 At block 1312, commands and data for testing a plurality of connected DUTs are generated according to a first protocol implemented in an IP core of an FPGA and according to a selected acceleration mode. The accelerated mode can be a standard or bypass mode where the tester program generates all commands and data and the FPGA is bypassed. Alternatively, the acceleration mode may be a PIDA, FA, or hardware accelerator memory mode as described above.

在方塊1314,使用一第一協定所傳送之與命令及資料相關聯的信號被轉換成包含有由一HBA使用一第二協定被傳送之命令及資料的信號。在一 個實施例中,該HBA包含一協定轉換器IP方塊1004,其把使用該第一協定被傳送的該等命令及資料信號轉換為該第二協定。換句話說,在HBA中的該第三方協定IP被使用來替換已被規劃到該FPGA中的該協定。注意的是,如上所述該HBA被通訊地耦合到可操作來使用該第二協定進行通訊的一DUT。 At block 1314, signals associated with commands and data communicated using a first protocol are converted to signals comprising commands and data communicated by an HBA using a second protocol. In a In one embodiment, the HBA includes a protocol converter IP block 1004 that converts the command and data signals transmitted using the first protocol to the second protocol. In other words, the third-party protocol IP in the HBA is used to replace the protocol programmed into the FPGA. Note that, as described above, the HBA is communicatively coupled to a DUT operable to communicate using the second protocol.

在方塊1316,與該第二協定相關聯的該等信號被中繼到用於測試的該DUT。 At block 1316, the signals associated with the second agreement are relayed to the DUT for testing.

為了說明的目的,已經參考了特定的實施例描述了前述描述。然而,以上說明性的討論並非旨在窮舉或把本發明限制為所公開的精確形式。鑑於以上教導,許多修改及變化是可能的。該等實施例的選擇及描述係為了可以最佳地解釋本發明的原理及其實際應用,從而使得本領域之其他的習知技藝者能夠最佳地利用本發明以及具有各種修改的各種實施例,這些修改可適合於該預期的特定用途。 The foregoing description, for purposes of illustration, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teaching. These embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to best utilize the invention and various embodiments with various modifications , such modifications may be suited to the intended particular use.

200:ATE設備 200: ATE equipment

201:系統控制器 201: System Controller

202:網路交換器 202: network switch

204:測試器處理器 204: Tester processor

210A,210B,210C,...,210N:具有功能模組之實例化的FPGA測試器方塊 210A, 210B, 210C,..., 210N: FPGA tester blocks with instantiation of functional modules

211A,211B,...,210M:FPGA 211A, 211B,..., 210M: FPGA

212:共用匯流排 212: shared bus

220A,220B,220C,...,220N:DUT 220A, 220B, 220C,..., 220N: DUT

230A,230B,...,230N:現場模組 230A,230B,...,230N: On-site modules

240A,240B,...,240M:記憶體方塊 240A,240B,...,240M: memory block

Claims (20)

一種自動測試裝備(ATE)系統,其包含有:一系統控制器,其被通訊地耦合到一測試器處理器,其中該系統控制器可操作來向該測試器處理器發送指令,並且其中該測試器處理器可操作來從該等指令中產生命令及資料用於協調複數個受測裝置(DUT)的測試;一FPGA,其被通訊地耦合到該測試器處理器,其中該FPGA包含一硬體加速器電路,該硬體加速器電路可操作來在內部地產生透明於該測試器處理器的命令及資料用於測試該等複數個DUT;以及一匯流排適配器,其包含有一協定轉換器模組,該協定轉換器模組可操作來:在將該等信號發送至該等複數個DUT中的一第一DUT之前,以一第一轉換模式操作,該第一轉換模式把接收自該FPGA與一第一協定相關聯的信號轉換為與一第二協定相關聯的信號,其中該第一DUT使用該第二協定進行通訊;及在將該等信號發送至該等複數個DUT中的一第二DUT之前,以一第二轉換模式操作,該第二轉換模式把接收自該FPGA與該第一協定相關聯的信號轉換為與一相異的協定相關聯的信號,其中該第二DUT使用該相異的協定進行通訊,且其中該第二協定與該相異的協定為不同的協定。 An automatic test equipment (ATE) system comprising: a system controller communicatively coupled to a tester processor, wherein the system controller is operable to send instructions to the tester processor, and wherein the test a processor operable to generate commands and data from the instructions for coordinating testing of a plurality of devices under test (DUTs); an FPGA communicatively coupled to the tester processor, wherein the FPGA includes a hardware a hardware accelerator circuit operable to internally generate commands and data transparent to the tester processor for testing the plurality of DUTs; and a bus adapter including a protocol converter module , the protocol converter module is operable to: before sending the signals to a first DUT of the plurality of DUTs, operate in a first conversion mode that converts signals received from the FPGA and converting signals associated with a first protocol into signals associated with a second protocol using which the first DUT communicates; and transmitting the signals to a first of the plurality of DUTs Before the two DUTs, operate in a second conversion mode that converts signals received from the FPGA associated with the first protocol to signals associated with a different protocol, wherein the second DUT uses The alien protocol communicates, and wherein the second protocol is a different protocol than the alien protocol. 如請求項1之系統,其更包含有與該FPGA相關聯的一記憶體裝置,其中該記憶體裝置儲存要被寫入到該DUT的測試型樣資料。 The system according to claim 1, further comprising a memory device associated with the FPGA, wherein the memory device stores test pattern data to be written into the DUT. 如請求項1之系統,其中與該第一協定相關聯的該等信號包含由該測試器處理器或該FPGA根據與該硬體加速器電路相關聯之一選擇的加速模式所產生的命令及資料。 The system of claim 1, wherein the signals associated with the first protocol include commands and data generated by the tester processor or the FPGA according to a selected acceleration mode associated with the hardware accelerator circuit . 如請求項1之系統,其中該第一協定係一PCIe協定以及該第二協定係一SAS協定。 The system of claim 1, wherein the first protocol is a PCIe protocol and the second protocol is a SAS protocol. 如請求項1之系統,其中該匯流排適配器被實現在一電路板上,該電路板被設置在包含有該FPGA之一現場模組板與包含該DUT之一裝置介面板之間。 The system of claim 1, wherein the bus adapter is implemented on a circuit board disposed between a field module board including the FPGA and a device interface board including the DUT. 如請求項1之系統,其中該FPGA包含用於產生與該第一協定相關聯之該等信號的一晶片上IP核心,並且其中該第二協定係一第三方專有的協定。 The system of claim 1, wherein the FPGA includes an on-chip IP core for generating the signals associated with the first protocol, and wherein the second protocol is a third-party proprietary protocol. 如請求項1之系統,其中該測試器處理器被組配成以複數個功能模式中之一個功能模式進行操作,該等複數個功能模式被組配成分配用於在該測試器處理器與該FPGA之間產生命令及資料的功能。 The system of claim 1, wherein the tester processor is configured to operate in one of a plurality of functional modes configured to be allocated between the tester processor and The function of generating commands and data between the FPGAs. 如請求項1之系統,其中該協定轉換器模組被組配成介接該硬體加速器電路並且以由該硬體加速器電路產生該等信號的一速度來接收與該第一協定相關聯的該等信號。 The system of claim 1, wherein the protocol converter module is configured to interface with the hardware accelerator circuit and receive the signals associated with the first protocol at a speed at which the signals are generated by the hardware accelerator circuit such signals. 一種自動測試裝備(ATE)設備,其包含有:一測試器處理器,該測試器處理器可操作來產生用於協調複數個受測裝置(DUT)的測試之命令及資料;一FPGA,其被通訊地耦合到該測試器處理器,其中該FPGA包含一硬體加速器電路,該硬體加速器電路可操作來在內部地產生透明於該測試器處理器用於測試該等複數個DUT之命令及資料,並且其中該FPGA包含一IP核心,該IP核心可操作來產生用於使用一第一協定把命令及資料從該FPGA發送到該DUT之信號;以及一匯流排適配器,其包含有一協定轉換器模組,該協定轉換器模組可操作來:在將把該等信號發送給該等複數個DUT中的一第一DUT之前,以一第一轉換模式操作,該第一轉換模式把接收自該FPGA與該第一協定相關聯的該等信號 轉換為與一第二協定相關聯的信號,其中該第一DUT使用該第二協定進行通訊;及在將該等信號發送至該等複數個DUT中的一第二DUT之前,以一第二轉換模式操作,該第二轉換模式把接收自該FPGA與該第一協定相關聯的信號轉換為與一相異的協定相關聯的信號,其中該第二DUT使用該相異的協定進行通訊。 An automatic test equipment (ATE) device comprising: a tester processor operable to generate commands and data for coordinating testing of a plurality of devices under test (DUTs); an FPGA whose communicatively coupled to the tester processor, wherein the FPGA includes a hardware accelerator circuit operable to internally generate commands transparent to the tester processor for testing the plurality of DUTs and data, and wherein the FPGA includes an IP core operable to generate signals for sending commands and data from the FPGA to the DUT using a first protocol; and a bus adapter including a protocol conversion converter module, the protocol converter module is operable to: before sending the signals to a first DUT of the plurality of DUTs, operate in a first conversion mode, the first conversion mode will receive the signals associated with the first protocol from the FPGA converting to signals associated with a second protocol using which the first DUT communicates; and prior to sending the signals to a second DUT of the plurality of DUTs, using a second Operating in a conversion mode, the second conversion mode converts signals received from the FPGA associated with the first protocol to signals associated with a different protocol, wherein the second DUT communicates using the different protocol. 如請求項9之設備,其更包含有與該FPGA相關聯的一記憶體裝置,其中該記憶體裝置儲存要被寫入到該DUT的測試型樣資料,並且其中該第二協定係一第三方專有的協定。 As the device of claim 9, it further includes a memory device associated with the FPGA, wherein the memory device stores test pattern data to be written into the DUT, and wherein the second protocol is a first Tripartite exclusive agreement. 如請求項9之設備,其中與該第一協定相關聯的該等信號包含由該測試器處理器或該FPGA根據與該硬體加速器電路相關聯之一選擇的加速模式所產生的命令及資料。 The apparatus of claim 9, wherein the signals associated with the first protocol include commands and data generated by the tester processor or the FPGA according to a selected acceleration mode associated with the hardware accelerator circuit . 如請求項9之設備,其中該第一協定係一PCIe協定以及該第二協定係一SAS協定。 The device of claim 9, wherein the first protocol is a PCIe protocol and the second protocol is a SAS protocol. 如請求項9之設備,其中該匯流排適配器被實現在一板上,該板被設置在包含有該FPGA之一現場模組板與包含有該DUT之一裝置介面板之間。 The apparatus of claim 9, wherein the bus adapter is implemented on a board disposed between a field module board including the FPGA and a device interface board including the DUT. 如請求項9之設備,其中該測試器處理器被組配成以複數個功能模式中之一個功能模式進行操作,該等複數個功能模式被組配成分配用於產生在該測試器處理器與該FPGA之間之命令及資料的功能。 The apparatus of claim 9, wherein the tester processor is configured to operate in one of a plurality of functional modes configured to be allocated for generation on the tester processor The function of command and data with the FPGA. 如請求項9之設備,其中該協定轉換器模組被組配成介接該硬體加速器電路並且以由該硬體加速器電路產生該等信號的一速度來接收與該第一協定相關聯的該等信號。 The apparatus of claim 9, wherein the protocol converter module is configured to interface with the hardware accelerator circuit and receive signals associated with the first protocol at a speed at which the signals are generated by the hardware accelerator circuit such signals. 一種用於測試DUT的方法,其包含有:把指令從一系統控制器傳送到一測試器處理器,其中包含有一FPGA的一測 試器板及該測試器處理器被耦合到該系統控制器,並且其中該測試器處理器可操作來協調複數個受測裝置(DUT)的測試;根據被實現在該FPGA之一IP核心中的一第一協定並根據一選擇的加速模式,產生用於測試該等複數個DUT中之一DUT的命令及資料,其中該產生係由被包含在該FPGA中之一硬體加速器電路所執行的;使用該第一協定把與該等命令及該資料相關聯的信號從該FPGA傳送到一匯流排適配器;使用該匯流排適配器及實現一第二協定的協定IP核心,把使用該第一協定進行通訊的該等信號轉換為以該第二協定進行通訊的信號,其中該匯流排適配器被通訊地耦合到可操作來使用該第二協定進行通訊的一第一DUT;使用該匯流排適配器及實現一相異的協定的協定IP核心,把使用該第一協定進行通訊的該等信號轉換為以該相異的協定進行通訊的信號,其中該匯流排適配器被通訊地耦合到可操作來使用該相異的協定進行通訊的一第二DUT,並且其中該第二協定與該相異的協定為不同的協定;把以該第二協定進行通訊的該等信號中繼到該第一DUT以用於測試;以及把以該相異的協定進行通訊的該等信號中繼到該第二DUT以用於測試。 A method for testing a DUT comprising: transmitting instructions from a system controller to a tester processor including a tester processor of an FPGA A tester board and the tester processor are coupled to the system controller, and wherein the tester processor is operable to coordinate testing of a plurality of devices under test (DUTs); implemented in an IP core of the FPGA according to generating commands and data for testing one of the plurality of DUTs according to a selected acceleration mode, wherein the generation is performed by a hardware accelerator circuit included in the FPGA using the first protocol to transmit signals associated with the commands and the data from the FPGA to a bus adapter; using the bus adapter and a protocol IP core implementing a second protocol, using the first protocol converting the signals communicating using the second protocol to signals communicating using the second protocol, wherein the bus adapter is communicatively coupled to a first DUT operable to communicate using the second protocol; using the bus adapter and a protocol IP core implementing a distinct protocol, converting the signals communicating using the first protocol to signals communicating in the distinct protocol, wherein the bus adapter is communicatively coupled to the a second DUT communicating using the alien protocol, and wherein the second protocol is a different protocol than the alien protocol; relaying the signals communicating in the second protocol to the first DUT for testing; and relaying the signals communicated with the distinct protocol to the second DUT for testing. 如請求項16之方法,其中該匯流排適配器包含被組配來執行該轉換的一協定轉換器模組,並且其中該協定IP核心係一第三方所專有的。 The method of claim 16, wherein the bus adapter includes a protocol converter module configured to perform the conversion, and wherein the protocol IP core is proprietary to a third party. 如請求項16之方法,其中該第一協定係一PCIe協定以及該第二協定係一SAS協定。 The method of claim 16, wherein the first protocol is a PCIe protocol and the second protocol is a SAS protocol. 如請求項16之方法,其中該匯流排適配器被實現在一電路板上,該電路板被設置在包含有該FPGA之一現場模組板與包含有該DUT之一裝置介面板之間。 The method of claim 16, wherein the bus adapter is implemented on a circuit board disposed between a field module board including the FPGA and a device interface board including the DUT. 如請求項17之方法,其中該協定轉換器模組被組配成介接該 硬體加速器電路並且以由該硬體加速器電路產生該等信號的一速度來接收與該第一協定相關聯的該等信號。 The method of claim 17, wherein the protocol converter module is configured to interface with the The hardware accelerator circuit also receives the signals associated with the first protocol at a rate at which the signals are generated by the hardware accelerator circuit.
TW110104549A 2020-03-12 2021-02-05 Automated test equipment system and apparatus, and method for testing duts TWI810523B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062988612P 2020-03-12 2020-03-12
US62/988,612 2020-03-12
US17/135,790 2020-12-28
US17/135,790 US20210117298A1 (en) 2013-02-21 2020-12-28 Use of host bus adapter to provide protocol flexibility in automated test equipment

Publications (2)

Publication Number Publication Date
TW202212851A TW202212851A (en) 2022-04-01
TWI810523B true TWI810523B (en) 2023-08-01

Family

ID=77617441

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110104549A TWI810523B (en) 2020-03-12 2021-02-05 Automated test equipment system and apparatus, and method for testing duts

Country Status (2)

Country Link
CN (1) CN113391142A (en)
TW (1) TWI810523B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113904970B (en) * 2021-12-09 2022-03-01 伟恩测试技术(武汉)有限公司 Transmission system and method of semiconductor test equipment
CN115426291B (en) * 2022-11-03 2023-03-24 浙江正泰仪器仪表有限责任公司 Communication protocol detection method, device and system
TWI813505B (en) * 2022-11-15 2023-08-21 瑞昱半導體股份有限公司 Method for performing multiple circuit tests with multiple instruments and method for creating general form file applicable to multiple instruments

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130232293A1 (en) * 2012-03-05 2013-09-05 Nguyen P. Nguyen High performance storage technology with off the shelf storage components
TW201433804A (en) * 2013-02-21 2014-09-01 Advantest Corp A tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
TW201706862A (en) * 2015-04-30 2017-02-16 基薩系統公司 Adapter devices for enhancing the functionality of other devices
CN110502374A (en) * 2018-05-16 2019-11-26 爱德万测试公司 The traffic capture debugging tool of the basic reason of equipment fault when identification is tested automatically
US20200033405A1 (en) * 2018-07-27 2020-01-30 Advantest Corporation Method and apparatus for providing ufs terminated and unterminated pulse width modulation support using dual channels
US20200033409A1 (en) * 2018-07-27 2020-01-30 Advantest Corporation Integrated protocol analyzer configured within automated test equipment (ate) hardware

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896513A (en) * 1996-07-03 1999-04-20 Intel Corporation Computer system providing a universal architecture adaptive to a variety of processor types and bus protocols
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
JP2008257419A (en) * 2007-04-04 2008-10-23 Nec Electronics Corp Communication adapter and data transfer method for communication adapter
CN100568210C (en) * 2007-07-13 2009-12-09 上海大学 A kind of PCI adapter that is used for image processor
CN101527760B (en) * 2009-04-10 2011-05-04 重庆市公安局 Alarm information access method and system
CN101729561A (en) * 2009-11-19 2010-06-09 天津市百利电气有限公司 Low-voltage electrical appliance communication protocol adapter
CN101778133A (en) * 2010-01-13 2010-07-14 山东电力集团公司 Communication protocol adapter-based integrated terminal access system structure
US8718967B2 (en) * 2010-05-28 2014-05-06 Advantest Corporation Flexible storage interface tester with variable parallelism and firmware upgradeability
CN102170430B (en) * 2011-03-24 2013-06-19 华中科技大学 Multi-port multi-network protocol converter
US10162007B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently
US20170279894A1 (en) * 2016-03-22 2017-09-28 Esmart Tech, Inc. Universal internet of things (iot) smart translator
CN107360477B (en) * 2017-07-04 2020-09-11 北京理工大学 Multifunctional remote debugging device
US10955461B2 (en) * 2018-05-16 2021-03-23 Advantest Corporation Smart and efficient protocol logic analyzer configured within automated test equipment (ATE) hardware

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130232293A1 (en) * 2012-03-05 2013-09-05 Nguyen P. Nguyen High performance storage technology with off the shelf storage components
TW201433804A (en) * 2013-02-21 2014-09-01 Advantest Corp A tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
TW201706862A (en) * 2015-04-30 2017-02-16 基薩系統公司 Adapter devices for enhancing the functionality of other devices
CN110502374A (en) * 2018-05-16 2019-11-26 爱德万测试公司 The traffic capture debugging tool of the basic reason of equipment fault when identification is tested automatically
US20200033405A1 (en) * 2018-07-27 2020-01-30 Advantest Corporation Method and apparatus for providing ufs terminated and unterminated pulse width modulation support using dual channels
US20200033409A1 (en) * 2018-07-27 2020-01-30 Advantest Corporation Integrated protocol analyzer configured within automated test equipment (ate) hardware

Also Published As

Publication number Publication date
CN113391142A (en) 2021-09-14
TW202212851A (en) 2022-04-01

Similar Documents

Publication Publication Date Title
CN111426935B (en) Automatic change test equipment device
US10288681B2 (en) Test architecture with a small form factor test board for rapid prototyping
TWI547702B (en) Automated test equipment apparatus, method for testing using the same and tester system
TWI550629B (en) A test architecture having multiple fpga based hardware accelerator blocks for testing multiple duts independently
KR102100533B1 (en) A tester with acceleration for packet building within a fpga block
KR101993504B1 (en) A tester with acceleration on memory and acceleration for automatic pattern generation within a fpga block
TWI810523B (en) Automated test equipment system and apparatus, and method for testing duts
US20210117298A1 (en) Use of host bus adapter to provide protocol flexibility in automated test equipment
US20210116494A1 (en) Software directed firmware acceleration
US11860229B2 (en) Device interface board supporting devices with multiple different standards to interface with the same socket
US20210278458A1 (en) Software and firmware support for device interface board configured to allow devices supporting multiple different standards to interface with the same socket
TWI779458B (en) Software-focused solution for arbitrary all-data odd sector size support
US11430536B2 (en) Software-focused solution for arbitrary all-data odd sector size support