TWI245912B - Circuit testing with ring-connected test instrument modules - Google Patents
Circuit testing with ring-connected test instrument modules Download PDFInfo
- Publication number
- TWI245912B TWI245912B TW91118617A TW91118617A TWI245912B TW I245912 B TWI245912 B TW I245912B TW 91118617 A TW91118617 A TW 91118617A TW 91118617 A TW91118617 A TW 91118617A TW I245912 B TWI245912 B TW I245912B
- Authority
- TW
- Taiwan
- Prior art keywords
- test
- module
- data
- character
- synchronization
- Prior art date
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
1245912 柒、發明說明 【發明所屬之技術領域】 本發明是關於電子電路例如積體電路的測試。 【先前技術】 測試設備通常用來電性測試一裝配電路執行其預設功 能的能力。設計用來測試積體電路的設備通常與其他裝置 例如電腦裝置一起連結操作。這些設備和其他裝置通稱為 積體電路測試糸統或測試糸統。 傳統測試系統有一獨特的特徵是,它們包括一或數個 主時脈訊號,且也傾向包括至少一同步訊號,此訊號會同 時或依序地在管線中等待執行,整體地分配至所有測試電 路,用來指示一測試何時開始。 積體電路的測試一般包含施加一特定的刺激(stimuli) 於該電路之一或更多的接腳,然後由適當的量測設備在該 電路之一或更多的接腳得到訊號來決定結果。一測試系統 通常將所有需要的測試電路與被測試的電路鄰近地合併, 以一外部控制器驅動,此外部控制器傳達測試的要求至多 樣化的測試電路並由其收集測試的結果。測試電路的功能 是產生任何或大量的刺激,且依被測試電路的測試明細所 要求,控制任何或大量的量測。 【發明内容】 在此描述的系統和技術提供裝置和方法,包括電腦程 3 1245912 式產品和測試系統’用來執行任一或更多廣泛多樣化的測 試一例如交流參數的、直流參數的、數位功能的、掃描性 配置的(SCAN-based structural)、直接存取測試模式配置的 (Direct-Access-Test mode structural) > 類比的、功能的、 結構的、操作的或是其他的測試一在單一或多數的電路 上。 一般而言,在一方面,在此描述的系統和技術提供一 控制和資料訊號分配架構,其容許一測試系統在一或更多 的測試設備上同步進行量測,除了主時脈外不需要分佈任 何與系統中該設備同時的訊號。一測試設備,可能以一模 組來實施’通常包括如上所描述的測試電路系統。一模組 化實作的測試設備被通稱為一測試設備模組。除了包含測 試設備模組外,此測試系統可包含其他功能的模組。這些 其他的模組包含但不限制於,接腳電子(pin electr〇nics,pE) 模組’精密值量測(precision measurement unit,PMU)模 、、且 時間量測(time measurement unit,TMU)模組,和設備 電源供應器(device power supply,DPS)模組。通常來說, 攻些模組可以提供任何測試功能,任何數目和形式的模組 組合在一起,可形成一多功能模組。 除了具有不同的功能外,模組可以是不同的配置。在 實施例中’該模組是片狀接腳(p i n s 1 i c e)的配置。此種配 晉白勺才鼓彡 、、'且被稱為片狀接腳模組,其中各個包含記憶體、電 阻矛1雷/ I塔糸統,用來在測試中產生測試訊號給一元件的— 5' 夕接腳。此片狀接腳配置在Cheung和Graeve所擁有 1245912 的美國專利第5,461,310號中有被描述。 ~ 接 訊 資 何 試 的 料 測 路 部 備 , 模 不考慮配置和功能,模組通常包含電路系統,用來 收從一主時脈來源的一主時脈訊號,甚至,接收和發送 號的電卷系統是一通訊環的一構件。在此描述的控制和 料訊號分配架構容許該測試系統的模組間之通訊,除了 主時脈外並不需要分配與系統中全部此類設備同時的任 訊號。 一般而言,在另一方面,一控制和資料訊號分配架榍 提供安排類似或非類似裝置的不同和非相關測試之能力 即使這些測試的執行時間有所重疊時,該裝置之一的測 並不會在時間或空間上干擾另一裝置的測試。在此描述 架構也可提供從一交錯和結構格式中的多數模組得出資 的能力。 在此描述的架構允許測試處理過程被有制式結構的 試設備所概括,此設備在實質尺寸(p h y s i c a 1 d i m e n s i ο η) 電源要求、通訊連結等方面都有一致性,且與被測試電 的一或許多接腳(接點)連結。再者,測試處理過程的一 份或全部可被現成(off-the-shelf)已作為通訊用途的設 概括,和測試系統的其他部分使用該通訊環。如上所討論 測試設備不論現成與否,可被當作一模組來使用。任何 組可在通訊環排列的任何一個地方出現。各模組可當作 獨立模組來操作且包含積體自我測試和診斷的能力。 在此描述的一被設計在測試系統中操作的測試設備模 組,可包含電路系統,用來執行測試設備模組被設計的測 5 1245912 試。 統中 部其 可以 形成 些特 試系 第一 然後 然後 連結 傳遞 他模 或不 主時 控制 電源 備執 或電 做接 操作 含一』 在—測試控制器和一系統主時脈的·控制之下,測試系 的測試設備模組,可各個獨立地或與系統中一些或全 他的模組同步地執行測試。一如此配置的測試系統, 用如一或多數此類測試設備模組如此少的設備模組來 ’且通常則多如所需,用作該測試的操作,來測試一 定單一或多數的積體電路。 、、先中全部的模組。模組連接到一環配置,利用連接一 核組的「始(from)」埠到一第二模組的「至(t0)」埠 連接第二模組的「始」埠到一第三模組的「至」埠, 持續到最後的模組被連接,最後模組的「始」埠會補 到第一模組的「至」埠。資料通訊埠會沿著模組的環 控制和同步訊號,使各模組可與環中任何或全部的其 組個为I # 4、 、“ 〆同v地操作。系統主時脈和測試控制器可 :田作Μ組包含在環中。在任一情形下,測試系統 脈會间Β主ϋ \ 、为配時脈訊號給所有的模組,且測試系統 益通常初始環中的通訊。 各模組可與一或爭 接腳相連接。一測試裝置的一或更多訊號或 行的特^ 杈組,例如一測試設備模組,依該設 J W将疋功能來決 $, — 、 固定或依時間而變地供給電流 I保二SI流:電[各模組可依照排定的資訊 。各模組有-内部時==適當的時間執行測試 4串的測試要執;r 暫存盗,且排定的資訊可包 丁内部時間值暫存器被主時脈所驅 6 1245912 動且與測試系統中其他模組的時肩值暫存器同步。這種同 步讓所有的模組可以在與系統中其他模組測試活動實施的 時間,同步相關地實施測試事件或執行量測。因為測試設 備模組可以在内部產生高解析度時間訊號,該同步可在一 非常小於一主時脈週期的時間解析度内執行,且在排定的 測試之歪斜率(s k e w)或系統中其他設備的量測也都小於一 個時脈週期。 在另一方面,控制一或更多測試設備來測試一或更多 積體電路的系統,通常包含一主時脈和一控制器。測試設 備被連接形成一通訊環。主時脈被連接到各測試設備,而 且被配置來提供一時脈訊號給一或更多的測試設備。控制 器與通訊環連結,而且被配置來校準測試設備的計數器, 使其能從時脈訊號得到一共同的時脈時間值。控制器更用 來產生和發送資料字元(data word)進入通訊環中,傳達資 料字元至各測試設備。資料字元包含至少一資料字元,指 示出一被執行的測試事件、一共同的時脈時間值、和至少 一測試設備,其中至少一或更多的測試設備被配置在共同 時脈時間值所指定的時間,執行測試事件。 在另一方面,通常來說,一自動電路測試系統内的資 料和控制訊號分配次系統,包含一通訊環、一主時脈和一 介於測試系統中各設備和主時脈電路間專用的時脈訊號路 徑。測試系統包含用來測試電子電路的測試設備。通訊環 以一菊鏈(Daisy Chain)的形式將系統中測試設備相互耦 合,通訊環被配置成從一單一輸入埠和一單一輸出埠連接 1245912 各測試設備。主時脈電路挺供一主時脈訊號。專用的時間 訊號路徑同時將主時脈訊號分配至全部的測試設備。通訊 環是測試系統中測試設備的專屬通道,在執行一測試時, 相互發送同步訊號和命令訊號,且從一專用訊號路徑收到 的主時脈訊號,是提供給測試系統中測試設備的專屬通用 時脈訊號。 在另一方面,通常來說,一電腦程式產品,用來控制 一或更多被配置成依照一測試處理過程來測試一,或更多的 積體電路的模組,該產品包含使一處理器會執行以下的指 令:確認參與測試處理過程的一或多個模組之至少一者; 在獨立測試執行緒(thread)中確認屬於經確認設備的一測 試執行緒,測試執行緒包含用來產生被發送至其他模組的 資料字元之指令;且發送測試執行緒至經確認設備。此處 理過程被有形地儲存在機器可讀的媒體(machine-readable medium)上。 在另一方面,通常來說,一用來控制和同步一或更多 測試設備的方法,包含利用一主時脈的通用時脈訊號來設 定和維持各測試設備的一内部時間暫存器對一共同時脈週 期的同步性,此共同時脈週期提供排定的測試事件共同的 時脈時間值。測試設備在一通訊環中被連結用來測試一電 子電路。此方法包含插入匯流排字元進入通訊環中,輸送 匯流排字元至各測試設備,被插入的匯流排字元包含至少 一匯流排字元,指定一排定的共用時脈時間值使一目標測 試設備執行一測試事件。此方法包含利用目標測試設備讀 8 1245912 出至少/匯流排字 標測試設備的内部 定何時要執行測試 在此描述的系 優點。測試系統可 訊號外炎不需要分 統可安排類似或非 這些測試的執行時 時間或空間上干擾 有從一交錯和結構 試系統可被擴充包 組,利用提供同步 可以與被測試電路 試系統可執行多個 依序地排列。這些 或一群類似的裝置 被施加在不同裝置 系統可以被用來同 置上。測試系統使 模組中得出資料來 一測試系統控制器 沒有許多高解析度 多的模組同步成較 配的精確性和各獨 元’且使用排定的共 時間暫存器内的共同 事件。 統和技術可被應用來 同時測試一或多個模 配任何與所有模組同 類似裝置之不同和非 間有所重疊時,一袈 另一裝置的測試。此 格式的多數模組中得 含額外的用來提供任 的定義和排定的規則 的一或更多接腳合併 相互獨立的測試,並 測試可以相互有關且 上,或者是它們可以 或同一裝置的不同部 時實施產品測試和診 一結果資料字元可由 組成,並被以一資料 。應用此一方法的測 訊號奢侈分配的時脈 好的解析度。同步的 立模組的精確性所限 同時脈時間值和目 時脈週期值,來決 了解一或更多下列 組,除了一主時脈 時的訊號。測試系 相關的測試,即使 置的測試並不會在 外’測試系統可具 出資料的能力。測 何刺激或量測之模 使任何種類的模組 、同步和連結。測 不需要這些測試被 施加在一單一装置 相互沒有相關或可 分上。特別地,此 斷測試在類似的裝 一時間點上從多數 的單一字元呈現給 試系統,相較於一 週期,可使得任意 精確性只被時脈分 制。即使一同步操 9 1245912 作正在進行的‘同時,測試系統的任何模組可引入一訊息至 串列環中。 一或更多的實施例的細節在其後所附圖式和敘述中陳 述。其他的特徵和優點將會在敘述、圖式和申請專利範圍 中呈現。 【實施方式】 測試糸統總論 如第 1圖所示,一測試系統 10 0包含一測試控制器 1 02,控制測試的處理過程,包含分派測試功能和同步它們 的執行。為了要與測試系統1 〇 〇的其他部件通訊,測試控 制器102包含了一介面單元104。 在第1圖圖解的實施例中,測試系統1 0 0如傳統般, 具有一測試頭1 〇 1在片狀接腳模組上,例如設備模組、PE 模組、TMU模組、PMU模組和DSP模組,可以被物質地 安裝。當系統被配置來測試一或更多電路,此模組將包含 一測試頭介面 106(test head interface,THIF),一 或更多 測試電路系統模組,例如一片狀接腳模組1 0 8,和通常一 或更多電源模組,例如一 DP S模組1 1 0。測試頭介面1 0 6 與其他模組不同的地方在於它不需要包含提供訊號給一 被測試電路或從其量測訊號的測試設備。作為測試頭介面 的模組用來使測試控制器1 〇 2和其他模組間的通訊變得 容易。 雖然特定的模組已被描述,測試系統1 〇 〇可結合任何 10 1245912 數量和往何類型符合測試系統設計的外型尺寸和連接標準 之模組。這些標準會在下面描述。 測試系統1 〇 〇也包含一系統狀癌監測器(s y s t e m s t a t u s m ο n i t o r,S M)。此S M並不參與測試’但被配置來程式化可 程式的元件,例如包含在個別模組上的場式可程式閘陣列 (Field-Programmable Gate Arrays,FPGAs),用來接收當模 組偵測到任何故障如電源錯誤或過熱狀態所指示的狀態訊 號,並會發出重新啟動(RESET)的命令以防萬一偵測到的 狀態是真的。在一實施例中,系統狀態監測的通訊可用所 謂SM訊息或字元的資料字元來完成。 測試系統1 00包含一用來溝通測試控制器丨〇2和測試 系統1 00的模組之控制器連接丨丨2。測試系統丨〇〇也包含 一串列通訊環1 1 4,用作模組間的通訊,也用作模組與測 -式控制器1 〇 2間的通訊。連接一模組的傳輸琿至另一模組 的接收埠,直到全部的模組都包含於其中,來建立環1 1 4。 然後,最後模組的傳輸埠被連接在第一模組的接收埠,形 成一環狀的配置。在一實施例中,環114支援每秒8〇〇百 萬位兀組(MB/s)的傳輸速率。理想中,連接112支援與環 1 1 4同樣的傳輸速率。 測忒系統更包含一 SM連接,用來交換測試控制器工〇2 與杈組間的狀態監測訊息。& sm連接包括連接η2,越 匕測忒控制裔1 02接收和發送信號至測試介面i 〇4,和越 :測試頭介面106傳播測試控制器102和模組間交換的訊 心之連接1 1 6。Λ SM連接也可選擇用獨纟的線直接連接 1245912 測試控制器1 1 2與各模組來建立。SM訊息可從 或是如其他資料字元般從串列通訊環來通過。 系統100包含一系統主時脈107,在圖解的實 是包含在測試頭介面模組〗〇6中。系統主時脈也可 含在其他任一模組中,或者作為一完全獨立的裝置 提供訊號外不與測試系統連接。擁有該主時脈的模 為主時脈模組。主時脈模組產生一主時脈訊號(該 脈」;,、且以^脈連接同時且直接地分配訊號 組,5亥連接與控制器連接1 1 2、環i丨4和連接1 i 6 時脈連接1 1 7可用一從主時脈模組到各其他模組的 纜來實行。 操作時,測試控制器1〇2和主時脈模組— 制和同步全部的模組。測試控制器1〇2控制模 該被執行的輯處理過程所要求,命令模组在 間執行它們各自的測 則滅功此。測試控制器102 指引至模組、讀屮丨 、 ^ δ式板組的測試結果和傳遞 指令。測試控制器從它盥 ^Α碩介面106的連1245912 发明. Description of the invention [Technical field to which the invention belongs] The present invention relates to the testing of electronic circuits such as integrated circuits. [Previous Technology] Test equipment is usually used to electrically test the ability of an assembled circuit to perform its preset functions. Devices designed to test integrated circuits are often operated in conjunction with other devices, such as computer devices. These devices and other devices are commonly referred to as integrated circuit test systems or test systems. A unique feature of traditional test systems is that they include one or several main clock signals, and they also tend to include at least one synchronization signal. This signal will wait for execution in the pipeline at the same time or sequentially, and is distributed to all test circuits as a whole. To indicate when a test will begin. Testing of integrated circuits generally involves applying a specific stimuli to one or more of the pins of the circuit, and then obtaining signals from one or more of the pins of the circuit by appropriate measuring equipment to determine the result. . A test system usually incorporates all required test circuits in close proximity to the circuit under test and is driven by an external controller that communicates the requirements of the test to the most diverse test circuit and collects the results of the test. The function of the test circuit is to generate any or a large number of stimuli, and to control any or a large number of measurements as required by the test details of the circuit under test. [Summary] The systems and technologies described herein provide devices and methods, including computer programs 3, 1245912-type products and test systems' for performing any one or more of a wide variety of tests-for example, AC parameters, DC parameters, Digital functional, SCAN-based structural, Direct-Access-Test mode structural > Analog, functional, structural, operational or other testing On a single or multiple circuits. Generally speaking, in one aspect, the systems and techniques described herein provide a control and data signal distribution architecture that allows a test system to perform measurements simultaneously on one or more test devices without the need for a main clock Distribute any signal at the same time as the device in the system. A test device, possibly implemented in a module ' typically includes a test circuit system as described above. A modularized test equipment is commonly referred to as a test equipment module. In addition to including test equipment modules, this test system can include modules with other functions. These other modules include, but are not limited to, pin electronics (pE) modules, 'precision measurement unit (PMU) modules, and time measurement unit (TMU) modules. Modules, and device power supply (DPS) modules. Generally speaking, attack modules can provide any testing function, and any number and form of modules can be combined to form a multifunctional module. In addition to having different functions, the modules can be configured differently. In the embodiment, the module is an arrangement of chip pins (p i n s 1 i c e). This type of drum is only known as a chip pin module, and each of them contains a memory, a resistance spear 1 thunder / I tower system, and is used to generate a test signal to a component during the test. Yes — 5 'eve. This patch pin configuration is described in US Patent No. 5,461,310, owned by Cheung and Graeve. ~ The test equipment of the test equipment is prepared. The module does not consider the configuration and function. The module usually contains a circuit system for receiving a main clock signal from a main clock source, and even the receiving and sending numbers. The electric coil system is a component of a communication ring. The control and signal signal distribution architecture described here allows communication between the modules of the test system, except for the main clock, which does not require the assignment of any signals simultaneously to all such devices in the system. In general, on the other hand, a control and data distribution framework provides the ability to schedule different and unrelated tests for similar or non-similar devices, even when the execution times of these tests overlap. Does not interfere with the test of another device in time or space. The architecture described here also provides the ability to derive funding from most modules in an interleaved and structured format. The architecture described here allows the test process to be summarized by a test device with a standard structure. This device is consistent in physical dimensions (physica 1 dimensi ο η), power requirements, communication connections, etc., and is the same as the one being tested. Or many pins (contacts) connected. Furthermore, one or all of the test process can be used off-the-shelf as a communication device, and the communication ring is used in other parts of the test system. As discussed above, the test equipment can be used as a module, whether it is ready or not. Any group can appear anywhere in the communication ring arrangement. Each module can be operated as an independent module and includes the ability of the module to self-test and diagnose. A test equipment module described herein that is designed to operate in a test system may include circuitry to perform tests for which the test equipment module is designed. In the central part of the system, it can form some special test systems first, and then link and pass other models or control the power supply standby or electrical operation when there is no master control. Under the control of the test controller and a system clock, The test equipment modules of the test system can perform tests independently or synchronously with some or all other modules in the system. A test system so configured uses as few equipment modules as there are one or most of these test equipment modules, and usually as many as necessary, for the operation of the test to test a certain single or majority of integrated circuits . ,, first in all the modules. The module is connected to a ring configuration. The "from" port of a second module is used to connect the "to (t0)" port of a second module to the "start" port of the second module to a third module. The "to" port continues until the last module is connected, and the "start" port of the last module is supplemented to the "to" port of the first module. The data communication port will control and synchronize the signal along the module's ring, so that each module can operate with any or all of the groups in the ring as I # 4,, ". The main clock and test control of the system Device can be: Tian Zuo M group is included in the ring. In either case, the test system pulse will be the main B, and the clock signal will be given to all the modules, and the test system will usually communicate in the initial ring. The module can be connected to one or the scrambled pins. One or more signals or special features of a test device, such as a test equipment module, depends on the setting of the JW function. Or change the current according to time to supply current I and guarantee two SI flows: electricity [Each module can be according to the scheduled information. Each module has-internal time == appropriate time to execute the test 4 test instructions; r temporary storage The theft and scheduled information can include the internal time value register is driven by the main clock 6 1245912 and synchronized with the time value register of other modules in the test system. This synchronization allows all modules to Implement test events in synchronization with the time when other module test activities in the system are implemented Or perform measurement. Because the test equipment module can generate high-resolution time signals internally, the synchronization can be performed at a time resolution that is very less than a main clock cycle, and at the skew of the scheduled test (skew ) Or other devices in the system are also less than one clock cycle. On the other hand, a system that controls one or more test devices to test one or more integrated circuits usually includes a main clock and a control The test equipment is connected to form a communication ring. The main clock is connected to each test device and is configured to provide a clock signal to one or more test devices. The controller is connected to the communication ring and is configured to calibrate The counter of the test equipment enables it to obtain a common clock time value from the clock signal. The controller is also used to generate and send data words into the communication ring to communicate the data characters to the test equipment. The data character contains at least one data character indicating an executed test event, a common clock time value, and at least one test device, at least one or more of which The test equipment is configured to execute test events at the time specified by the common clock time value. On the other hand, in general, the data and control signal distribution system in an automatic circuit test system includes a communication ring, a main Clock and a dedicated clock signal path between each device in the test system and the main clock circuit. The test system contains test equipment for testing electronic circuits. The communication ring integrates the system in the form of a Daisy Chain The test equipment is coupled to each other, and the communication ring is configured to connect 1245912 test equipment from a single input port and a single output port. The main clock circuit is very suitable for a main clock signal. The dedicated time signal path simultaneously distributes the main clock signal To all test equipment. The communication ring is the exclusive channel of the test equipment in the test system. When a test is performed, the synchronization signal and the command signal are sent to each other, and the main clock signal received from a dedicated signal path is provided to the test. Exclusive universal clock signal for test equipment in the system. On the other hand, in general, a computer program product is used to control one or more modules configured to test one or more integrated circuits according to a test process. The product includes a process The device executes the following instructions: confirms at least one of the one or more modules participating in the test process; confirms a test thread belonging to the confirmed device in an independent test thread, and the test thread includes An instruction to generate data characters to be sent to other modules; and send a test thread to the confirmed device. The process is tangibly stored on a machine-readable medium. On the other hand, in general, a method for controlling and synchronizing one or more test devices includes using a common clock signal of a main clock to set and maintain an internal time register pair of each test device. Synchronization of a common clock cycle, which provides a common clock time value for the scheduled test events. The test equipment is connected in a communication ring to test an electronic circuit. This method includes inserting a bus character into a communication ring, transmitting the bus character to each test device, the inserted bus character including at least one bus character, and specifying a scheduled shared clock time value for a target test device to execute A test event. This method involves using the target test equipment to read 8 1245912 out of the internal / busbar test equipment to determine when to perform the test. The advantages of the system described here. The test system can be signaled. No need for system integration. It is possible to arrange similar or non-execution of these tests. Time or space interference. There is a staggered and structured test system that can be extended by the package group. Perform multiple sequential arrangements. These or a group of similar devices are applied to different devices. The system can be used for co-location. The test system enables data to be obtained from the module. A test system controller does not have many high-resolution and many modules synchronized to match the accuracy and accuracy of each unit, and uses a common event in a scheduled common time register. . Systems and techniques can be applied to simultaneously test one or more modules with any differences and similarities between all modules and similar devices, testing one device at a time. Most modules in this format have one or more pins that provide additional definitions and scheduling rules. These tests are combined with independent tests, and the tests can be related to each other, or they can be on the same device. The data characters of different parts of the product testing and diagnosis results can be composed and used as data. Apply this method to measure the timing of luxury signal distribution with good resolution. The accuracy of synchronized stand-alone modules is limited by the clock time value and clock cycle value to determine one or more of the following groups, except for the signal of a main clock. The test system is related to the test, and even if the test is installed, the test system can provide data capabilities. Measuring stimuli or measuring modules. Synchronize and link any kind of module. It is not necessary that these tests be applied to a single device that is not related or separable from each other. In particular, this break test is presented to the test system from a large number of single characters at a similar installation point in time. Compared to a cycle, arbitrary accuracy can be made only by clock division. Even if a synchronous operation 9 1245912 is in progress' at the same time, any module of the test system can introduce a message into the serial loop. Details of one or more embodiments are set forth in the accompanying drawings and description below. Other features and advantages will be presented in the narrative, drawings, and patent applications. [Embodiment] Test System Overview As shown in Figure 1, a test system 100 includes a test controller 102, which controls the test processing process, including dispatching test functions and synchronizing their execution. In order to communicate with other components of the test system 100, the test controller 102 includes an interface unit 104. In the embodiment illustrated in FIG. 1, the test system 100 has a test head 100 as a traditional pin module, such as a device module, a PE module, a TMU module, and a PMU module. Groups and DSP modules can be physically installed. When the system is configured to test one or more circuits, this module will include a test head interface 106 (THIF), one or more test circuit system modules, such as a piece of pin module 1 0 8, and usually one or more power modules, such as a DP S module 1 1 0. The test head interface 106 differs from other modules in that it does not need to include test equipment that provides signals to or measures signals from a circuit under test. The module as the test head interface is used to make the communication between the test controller 102 and other modules easy. Although specific modules have been described, the test system 100 can be combined with any number of 10 1245912 and what type of module meets the dimensions and connection standards of the test system design. These standards are described below. The test system 100 also includes a systemic cancer monitor (s y s t e m s t a t u s m ο n i t or r, SM). This SM does not participate in the test 'but is configured to program the programmable components, such as Field-Programmable Gate Arrays (FPGAs) contained in individual modules, which are used to receive module detection To any status signal indicated by a fault such as a power failure or overheating condition, and a reset command will be issued in case the detected status is true. In one embodiment, the communication of the system status monitoring may be completed by a data character called a SM message or character. The test system 100 includes a controller connection 2 for communication between the test controller 100 and the module of the test system 100. The test system 丨 〇〇 also includes a serial communication ring 1 1 4 for communication between the modules, and also for communication between the module and the test-type controller 102. Connect the transmission port of one module to the receiving port of the other module until all the modules are included in it to establish the ring 1 1 4. Then, the transmission port of the last module is connected to the reception port of the first module to form a ring configuration. In one embodiment, the ring 114 supports a transmission rate of 8 million bits per second (MB / s). Ideally, connection 112 supports the same transmission rate as ring 1 1 4. The test system also includes an SM connection for exchanging status monitoring messages between the test controller tool 02 and the branch group. & sm connection includes the connection η2, the control module 1 02 receives and sends signals to the test interface i 04, and the: the test head interface 106 propagates the communication connection between the test controller 102 and the module 1 1 6. Λ SM connection can also be selected to connect directly to the 1245912 test controller 1 1 2 and each module with a unique line. SM messages can be passed from or through serial communication rings like other data characters. The system 100 includes a system main clock 107, which is illustrated in the test head interface module. The main clock of the system can also be included in any other module, or it can be provided as a completely independent device without being connected to the test system. The module that owns the master clock is the master clock module. The main clock module generates a main clock signal (the pulse); and simultaneously and directly assigns the signal group with the ^ pulse connection, the connection is connected to the controller 1 1 2, the ring i 丨 4 and the connection 1 i 6 Clock connection 1 1 7 can be implemented by a cable from the main clock module to each other module. During operation, the test controller 102 and the main clock module — control and synchronize all the modules. Test The controller 102 requires the control module to be executed, and instructs the modules to perform their respective tests and then to eliminate the power. The test controller 102 guides to the module, reads 屮, and ^ δ-type board groups. Test results and transfer instructions. Test the controller from its connection
字兀進入通訊環丨M 士 ^ ^ 果傳遞它的控制訊號。 中,所有的系統通邻田、士 “ 5用被插入環中的資料字元 何部件可與其他任何部件 的貝科子 ^ 109 , ^ 丨仟扪用此技術來通訊。 口口 102的一控制 十子兀攸測试頭介面1 00 114。一包含對任何 A 體权組的命令之資料字 SM連接 '施例中 選擇包 ,除了 組被稱 「主時 給各模 分離。 同軸電 作來控 包含依 定的時 送測試 操作的 送資料 實施例 行。任 試控制 通訊環 稱為一 12 1245912 控制資料字元。控制資料字元可以表示一個寫入或 操作。控制資料字元在下面會有更多描述。一般來 試控制器1 0 2產生控制資料字元。同步資料字元可 如1 0 8和1 1 0,在執行測試期間,測試流程期間呼 而被產生。也可選擇一或更多的模組來產生一控制 元。舉例來說,一第一模組可產生一控制資料字元 一第二模組的暫存器。再者,在這另一可供選擇的 中,測試控制器1 02可以產生一同步字元。 測試頭介面 1 〇 6會回應測試控制器 1 0 2的一 令,使全部的模組同步成一共同時脈週期。然後主 分佈,容許模組自我同步成一較使用傳統技術的一 期更好的解析度。次時脈週期解析度的同步,使全 在與系統中其他模組的測試活動相關的時間,執行 能。此相關包括在一非常小於一時脈週期的時間 内,排定一測試或量測的能力,且排定測試的歪斜 統中其他模組的量測也少於一個時脈週期。 在一測試處理過程中,模組根據被執行的測試 程,相互協調來執行測試。模組利用主時脈訊號和 控制器1 02接收到的測試指引來協調。如討論中所 組同步成一共同時脈週期,且依照主時脈更同步成 期(s u b - c y c 1 e )解析度。模組利用發送至和由通訊環 收同步資料字元來確認一測試處理過程的事件。同 字元因此可由任何模組進入環 11 4。在下面會更有 資料字元更多的描述。 讀出的 說,測 由設備 叫它們 資料字 來讀取 實施例 特定命 時脈的 時脈週 部模組 測試功 解析度 率或系 處理過 由測試 說,模 一次週 114接 步資料 對同步 13 1245912 一旦一資料字元到達通訊環1 1 4,環1 1 4沿著模組環 傳送資料字元。在各主時脈週期,一資料字元通常行進至 下一個槽,槽可以是一下游模組,或是如果一模組有資料 字元的多管線、階級時,可以是模組中的下一管線階級。一 儲存於一模組中最後階級的資料字元被發送到相鄰的下游 模組。因此,當一模組有多管線階級時,各管線階級在一 主時脈週期保存一資料字元。在下面會對管線階級有更多 的描述。 一模組也可暫時地保存處理過程中的資料字元,直到 某最長時間。該最長值是靠系統的配置和操作參數來決 定,並設計來防止匯流排逾時(Timeouts)。處理過程完成 後,模組歸還該資料字元回到通訊環。 當各模組接收到資料字元,且資料字元被發送回到起 始模組時,一個週期就算被完成。一模組對應並依據一接 收到的資料字元來執行測試功能,包含等到合適的時間來 執行和與任何或全部其他模組協調。 在可供選擇的實施例中,系統主時脈可被放置,因此 它並不是環1 1 4中任何模組的一部份,或測試控制器1 02 可被包含在環1 1 4中。在所有的可選擇中,系統主時脈同 時分佈一時脈訊號給全部設備,測試控制器1 02通常起始 並終結環中的控制通訊,且任何設備可插入同步資料字元 進入環中。 測試一或多電路的方法 14 1245912 第2圖表示一種用來測試一或更多電路的方法。一 試系統,如第1圖所示,執行方法2〇〇來決定模組環的 置(步驟202)。如討論中,此環可以包含任何數量和任 類型被用來測試一或更多電路的測試設備。在一實施 中,一測試控制器,例如測試控制器1〇2(第i圖),決 ’則试設備的類型、測試設備在環中的位置和環延遲。在 面會更有對壞延遲的決定有更多的描述。測試控制器也 執行此技藝中習知的其他決定。 測试系統程式化模組(步驟2〇4)。程式化包括程式化 脈偏移值進入模組中、分配資源和功能碼,並且配置用 讀回資料(read back data)的映射(mapping)之設備。在下 會更有對時脈偏移值、碼的分配和讀回資料更多的描述 測減系統執行一通用時脈計數器校準(步驟2 〇 6)。通 脈计數器校準也被稱為同步至一共同的時脈週期。校 使得模組設定她們各自的計數器能夠相同計數在確切的 同時脈邊緣上。舉例來說,在相同的時間,所有的計數 會達到一計數五。在一實施例中,測試控制器使用一主 脈,例如主時脈1 〇 7 (第1圖),來執行通用時脈校準。 制器1 02廣播一訊息,使用以上所述的機制,來重新啟 各時脈的計數器。因為模組環的拓樸是已知的,因此 新啟動的訊息被發送的時間和到達一指定模組的時間之 的延遲是已知的。因此,測試控制器可以用一代表延遲 時脈偏移值來程式化各模組。模組可以在重新啟動操 時’使用時脈偏移值來延遲重新啟動它的計數器。用此 測 配 何 例 定 下 可 時 於 面 〇 用 準 相 器 時 控 動 重 間 的 作 方 15 1245912 法,測試系統的每個模組,在確切相同的時脈邊 新啟動各自的計數器至零,或可選擇任何其他計 測試系統執行測試處理過程和收集測試I 2 0 8)。如討論中,測試處理過程可包含用一或更 執行一或更多測試操作。在一實施例中,測試控 命令至設備,來控制測試處理過程和收集測試資 試期間,設備本身可以發送字元,例如一部份同 至彼此之間或至測試控制器來執行測試。在測試 步字元可與其他類型的字元被自由地互換。 共同模組架構 第3圖圖解一共同模組架構3 0 0的一實施例 示,架構3 0 0包含一匯流排和同步介面3 0 2,傳 一 FGPA上實行。匯流排和介面302提供一介面 的「始」蜂和「至」璋。為了支援有CPU3 10的 匯流排和介面3 02有一 CPU匯流排3 12的介面 和介面302也有一介面,來接受從一除以二除法 的被除以二之主時脈訊號1 1 7。以一 4 0 0百萬韻 主時脈輸入,除法器3 14會提供一 200MHz的主 組部件。當主時脈訊號是200MHz時,可選擇不 器3 1 4。也可替代地使用一架構,提供電路系統 脈訊號,如一乘法器。匯流排和介面3 02也配置 供控制資料字元位元給模組適當的電路系統。舉 它提供一介面給位元,該位元表示一確認的 緣上,重 數。 「料(步驟 多設備來 制器發送 料。在測 步字元, 期間,同 。如其所 統上可在 給環1 1 4 一模組, 。匯流排 器3 14來 ;茲(MHz) 時脈給模 需要除法 來加倍時 成用來提 例來說, 同步類型 16 1245912 304、一確認的同步精確時間3 06和一同步要求3 08。匯、充 排和介面302有一板級(Board-level)支援訊號的介面。— 片狀接腳模組會包含記憶體控制電路系統3 1 6,該電路系 統被配置來使片狀接腳與測試系統的休息(rest)同步, 亚且 儲存測試功能和執行資料。匯流排和介面3 0 2也可被程\ 化’或包含電路系統,來執行其他在本說明書中描述 Μ丹 同操作。 控制撫作和控制資料字元^ 第4Α圖表示一控制資料字元的一實施例袼式,包含 兩部件,一匯流排介面部件和一功能-次、、 貝源 (function-resource,F/D)或資料部件。第一部件,字元 3 2 - 3 5,使模組準備接收第一部件表示的資料。第二部件, 字元0-3 1,包含指示一資源、功能或兩者皆有的資料。因 此,功能-資源部件指示出那些會被隨後的控制資料週期所 讀出或寫入的資源或功能。 在匯流排介面部件中’讀/寫(R/W)位元若為1表示一 讀出週期,而0表禾一寫入週期。一表示一寫入操作的控 制資料字元被稱為〆寫入控制資料字元,而一表示一讀出 操作的控制資料字元被稱為一讀出控制資料字元。F/D位 元若為1表示一功和貨;原週期,而0表示一資料週期。一 資料週期是一讀出週期或一寫入週期。如果F/D是!時, R/W就必須要是0。圖解格式容許未來的擴充,容許模組 例如片狀接腳產生和發送資料字元。因此,該原始字元 17 1245912 34-3 5 是 00。 一個讀出週期的起始且右次 …_ 具有貝枓字TL的所有資料位元都 是零。各已定址模組執行一 n p 〇R麵作在它所儲存的資料與 接收到的資料位元上。一 p — u ^ 匕疋址杈組可延遲讀出週期字元 的傳遞(遵守某些最大值 J 此最大值由測試控制器的需求 所決定,且被設定來防止稽、古灿、人士 匯 排遇時。一般它會小於一毫 秒(millisecond),來容許内Λ 巧邻片狀接腳(p i n s 1 i c e)的操作可 以發生。 環114有多數槽,一個槽佔用環中一階級。通訊環中 的槽可以是空的,被任何模組填滿。帛4B圖表示一空的 子元子元32-37包合空字元標記"〇〇〇〇11,,。 第5圖表示功能資源部件的一實施例格式。(一資源 被稱為I更多的模組,且一功能被稱為測試事件)。當 測試控制器1〇2改變測試字元時,測試頭介面1〇6傳送此 資料字元至通訊環114。如所示,功能碼A 16個位元。 每個設備將特定共同暫存器在「第零頁」(page 〇)解碼(即 功能碼0000-00 3F)。被一特定類型設備所需之其他功能碼 可被权體在一分配處理過程中來分配。該資源碼是丨5個 位元,適合用來定址大約3萬2千個資源。當G=丨時,一 群的位置代表一群的資源。全部模組提供至少四千個位置 (location)解碼。任何設備會提供少於最大為3萬2千個 解碼’必須確定最重要字元(ιη〇Μ significant bits,MSBs) 是零。特殊資源碼0xFFFF被所有設施解碼為其意義是指 「所有資源」。資源碼OxFFFF被保留用於共享遮罩的邏 18 1245912 輯操作(logical manipulation of participate masks)。共享 遮罩的邏輯操作在Hughes獲得的美國專利第4,493,〇79號 裡有更詳細的描述,在此完全地參考它。當G = 〇時,位元 3 0 -1 6是如以下的資源數字碼:〇 〇 〇 〇 — 〇 〇 F 〇是硬碼槽 (hard-coded slot)數字(0-253),而 0100-7FFF 是通道 (channel)數字,由軟體依據設備來分配。功能和資源碼的 分配在後面會有更詳細的敘述。硬碼槽定址只需要存取配 置處理過程的其他部分需要的第〇頁暫存器,包括「通道 數字」為基礎解碼的安裝。 資源碼也可以是1 3個位元,適合定址8 1 9 2個資源。 當G - 1時’ 一群的地址代表一群的資源。在此事例中,所 有模型提供一最大為8K個位置解碼。當G = 0時,位元16-21 是接腳數字(0-63),而位元22-2 8是片狀接腳數字(0-:126)。 這種格式提供可考慮擴充的可能性。片狀接腳數字127表 示存取六十四個中之一模組,例如並不是片狀接腳的 DPSs。空閒的字元可供未來擴充用,因此是00。 以上描述的特定實施例,對資源和功能碼並沒有限 制。更確切地說,資源和功能碼可以以各種方法編碼,指 示特定的模組、模組的部件和它們各自的功能。 資源碼的分配 為了確保有效利用有限的定址空間,甚至容許第三方 (thii*d-party)設備發展,可用測試控制器1〇2,在配置時間 使用執行時期(runtime)軟體分配功能和資源碼空間。 19 1245912 範圍 為介 如苐 來製 Γ通 例如 來製 程式 可以 數字 於要 備不 完成。 的循 114 地被 時進 時間 在一實施例中,各設備類型可被分配一功能碼的獨特 ’在16位元空間0040-FFBF之内。範圍FFCO-FFFF 面單元104(第1圖)保留。要求的連接碼數字可以用例 0 頁暫存器 FUNCBASEADDR (function base address) 造出來。同類型的全體設備需要暫存器的相同數字。 各個別的設備被分配一資源碼的獨特範圍,在1 5位元 道數字」範圍0100-7FFF。要求的連接碼數字可以用 第 〇 頁暫存器 RESBASEADDR (resource base address) 造出來。 第〇頁控制器被軟體所撰寫,例如測試控制器的電腦 ’用來給予功能和資源碼的已分配開始位址。功能碼 始在任何地位。然而,資源碼可被配置在一巨大的 開始。那是因為它們必須是一大量的兩個相等或大 長度的倍數。資源和功能碼都佔了一單一區塊。設 使用任何超過所要求長度的功能或資源碼。 δ式控制益102並不是如平常般被做成等待寫入週期 (寫入週期疋一寫入控制資料字元經過通訊環丨J 4 和頃出週期是一讀出控制資料字元經過通訊環 猶I)寫入操作如同它們被測試控制器接收般快 遞然而’模組並不被要求在最大的200MHz速率 寫入操作。它們可以獨立地和區域地決定處理過程 甚至可以對不同的功能使用不同的時間。為了達到 20 1245912 這種彈性卻不用軟體耗用時間’I模组有它們自己的先進 先出(first-in-first_out,FIFO)暫在哭冰 | 从 ;θ仔态來作為寫入週期的緩 衝。 為了避免爪〇溢位(。咖叫,各模組使用—基本的 F㈣溢位控制技術’如以下所敘述。在一實施例中,各模 組的FIF〇是2Κ(千位元組)的容量。當一模組的fif〇到達 一在快要滿的門檻時,例如百分之七十五滿時,一「停止 流程控制資料字元與模組的確認被一起發送至測試頭T介面 106。測試頭介δ 106消㊉所有此類的字&,利用例如停止 的通知等一些例外的機制,來停止測試控制器1〇2發送更 多的寫入資料字元。一旦該Fif〇掉到了重新啟動的門檻 時,例如百分之七十滿時,該模組發送一「重新啟動」流 程控制字A ’然後再次開始正常的操作。因此而能避免逾 時和匯流排錯誤。帛6圖表示_寫人流程控制資料字元。 一停止/重新啟動(st〇p/Resume,S/R)值是ι時表示「停 止」’且S/R值是0時表示「重新啟動」。 讀出操作很可能因為緩衝而追過寫入操作,而造成不 預期的結果。目此’模組需要停止讀出操作直到所有等候 處理的寫入都已發生。-寫入的發生會依照各模組和各功 能來定義。然@,最低限度下暫存器寫入後會緊接著 一同暫存器的讀出來確保會讀取回來新的寫入資料。 在此描述的溢位控制機制對效能有顯著的影響。因 此,利用其他的方法來避免接近溢位(near_〇verfi〇w)的狀 態,例如審核軟體處理過程產生依序的寫入來確保處理過 21 1245912 程順利,或是提供足夠的FIFO記憶體。 讀回映射 為了支援越過多數設備所捕捉到資料字元的讀取回 來,某些讀取回來資料的映射,例如那些被捕捉到的隨機 存取記憶體(random access memory,RAM),被用來支援某 些數位的模組。該特性特別使用來重組多數數位接腳所捕 捉到的數位化類比樣本。實行重組是利用再構成取樣字元 變成環繞串接通訊環1 1 4的讀出操作處理過程(第1圖)。 特性可與下面描述與上鏈(upHnking)有關係的袼式轉換特 點相合併。設備可以在組合字元的任何位置插入字元。得 出(extraction)可以一旋轉的遮罩為基礎,有效地使捕捉到 的資料不連績。 DMA讀出模式 為了增加區塊讀出的速度,可使用_直接記憶體存取 (direct mem〇ry aCCess,DMA)讀取模式。在.A讀出模式 中’除了介面單元104和測試頭介面1〇 “卜,沒有… 要不同地進行讀出操作。 Θ 介面單元 104 使用一胜姓从 „ 特殊的DMA開始定址 (DMA-start-address)暫存器和_ DMa m ^ , . T 歎(DM A-count)暫 存器。如果這些暫存器早於一讀取操 )暫 被重複特定的次數(如計數值所指示),=、〇刼作會 控制器的記憶體中,開始在特定的位置上果被載入測試 這種模式的使用會被限制,因 仕此讀取模式 22 1245912 中,其他測試控制器匯流排操作會變成不可能的。然而, 在DMA讀取模式中執行同步操作是有可能的。一 DMA操 作可以直接接著一不是DMA的操作,該操作可不用等待 DMA讀出的結果就送入串接通訊環1 1 4。 DMA寫入模式 DMA寫入模式與DMA讀出模式相似,除了在寫入模 式中,資料是從測試控制器被送至一模組。為了更加速記 憶體的載入,測試頭介面1 〇 6可包含資料解壓縮程式,來 解壓縮由測試控制器1 〇 2輸送來的壓縮資料。解壓縮可用 普通的寫入操作來達成。介面單元1 04或設備都不需要執 行特殊的步驟;測試頭介面1 〇 6實施此特性。各模組可選 擇地包含解壓縮程式,因此測試頭介面1 0 6不需要過度地 消耗計算的資源來解壓縮所有來自測試頭控制器的資料。 匯流排介面的效能 正常寫入的潛伏時間(latency)是多變的,靠模組在環 中與測試頭介面1 0 6相對的位置來決定。一正常寫入是從 控制器1 02至模組内的記憶體。從片狀接腳正常讀取的等 待時間,舉例來說,主要靠模組的數量和每個模組中管線 階級的數量來決定。一正常讀出是測試控制器1 〇 2起始一 讀出要求,且由一模組接收一資料字元。一管線階級可稱 為一模組中的缓衝,用來保有和處理資料字元。如討論中, 每個時間滴答,模組從一管線階級移動資料字元到下一管 23 1245912 線。一實施例中有6 4個模組且每一模組有2個管線阳 讀出的等待時間接近65 0奈秒(nanoseconds, ns)。測 統可以對相同的資源維持一 800MB/S的流通量,在讀 寫入操作與在一特定測試功能上(假設模組和測試控 1 0 2可以齊頭並進,並且沒有同步活動會浪費頻寬)。 多個裝置測試與位置選擇 如同此技藝所熟知,測試系統通常用來同時測試 一個的裝置(即平行測試)。測試系統1 0 0的一實施例 各位置使用個別軟體執行緒支援多數測試位置,使平 試容易進行。被測試裝置是否佔領此位置或發生錯誤 再需要被測試,決定位置是有效或無效的,但是必須 固定直到一多個位置處理程式(multi-site handler)可 除它們。測試器中使用分享記憶體和一稱為位置遮罩 mask)的特殊軟體工具,提供同時暫存器寫入至所有有 置和所有資源。 測試系統可支援獨立的測試頭暫存器存取執行緒 存取執行緒包含它本身資源碼和位置遮罩。對各執行 說,測試頭介面1 〇 4保持一獨立的現行位置數字暫存 位置遮罩暫存器,容許1K的位置。The word enters the communication ring, and M ^ ^ passes its control signal. In the system, all the systems communicate with Tian Tian and Shi “5. The data characters inserted in the ring can be used to communicate with any other components. Bekozi 109, ^ 丨 仟 扪 Use this technology to communicate. 口 口 102 的 一Control the ten head test head interface 1 00 114. A packet containing the data word SM connection for any A group command is selected in the example, except that the group is said to "separate each mode when the master. Coaxial electrical operation to The control includes an example of sending data according to the specified time test operation. The test control communication ring is called a 12 1245912 control data character. The control data character can indicate a write or operation. The control data character will be described below. There are more descriptions. Generally, the controller 102 generates control data characters. The synchronization data characters can be 108 and 1 10, which are generated during the test execution and during the test process. You can also choose one. Or more modules to generate a control element. For example, a first module can generate a register of control data characters and a second module. Furthermore, in this alternative, , Test controller 1 02 can be generated together Step characters. The test head interface 1 06 will respond to a command from the test controller 102 to synchronize all the modules into a common clock cycle. Then the main distribution allows the modules to synchronize themselves to a Better resolution. Synchronization of the resolution of the sub-clock cycle enables all execution time related to the test activities of other modules in the system. This correlation includes a time period that is much less than a clock cycle. The ability to set a test or measurement, and the measurement of other modules in the skew system that is scheduled for testing is also less than a clock cycle. During a test process, the modules coordinate with each other according to the test process being performed. The test is performed. The module uses the main clock signal and the test guidelines received by the controller 102 to coordinate. As set in the discussion, it synchronizes into a common clock cycle, and it synchronizes according to the main clock (sub-cyc 1 e ) Resolution. The module uses the synchronized data characters sent to and received by the communication ring to confirm an event of a test process. The same character can therefore be entered by any module into the ring 11 4. It will be more funded below More descriptions of the material characters. Read out that the equipment calls them data words to read the clock cycle module test power resolution rate of the specific clock of the embodiment or the processing. Once a week 114, the data pair is synchronized. 13 1245912 Once a data character reaches the communication ring 1 1 4, ring 1 1 4 transmits the data character along the module ring. In each main clock cycle, a data character usually travels to The next slot, the slot can be a downstream module, or if a module has multiple pipelines and stages of data characters, it can be the next pipeline stage in the module. A last stage stored in a module The data characters are sent to adjacent downstream modules. Therefore, when a module has multiple pipeline stages, each pipeline stage stores one data character in one main clock cycle. There are more descriptions of pipeline classes below. A module can also temporarily store data characters during processing up to a certain maximum time. The maximum value is determined by the system's configuration and operating parameters, and is designed to prevent bus timeouts. After the processing is completed, the module returns the data character to the communication ring. When each module receives a data character and the data character is sent back to the original module, one cycle is counted as complete. A module corresponds to and performs test functions based on received data characters, including waiting for the appropriate time to execute and coordinate with any or all other modules. In an alternative embodiment, the system main clock can be placed, so it is not part of any module in ring 1 1 4 or the test controller 10 2 can be included in ring 1 1 4. In all options, the system main clock simultaneously distributes a clock signal to all devices. The test controller 102 usually starts and terminates the control communication in the ring, and any device can insert synchronous data characters into the ring. Method for testing one or more circuits 14 1245912 Figure 2 shows a method for testing one or more circuits. A test system, as shown in Figure 1, executes method 200 to determine the placement of the module ring (step 202). As discussed, this ring may contain any number and type of test equipment used to test one or more circuits. In one implementation, a test controller, such as test controller 102 (Figure i), determines the type of test equipment, the location of the test equipment in the ring, and the ring delay. There will be more descriptions of bad delay decisions. The test controller also performs other decisions known in the art. Test the system stylized module (step 204). Stylization includes stylizing the pulse offset value into the module, allocating resources and function codes, and configuring the device for mapping using read back data. In the following, there will be more descriptions of the clock offset value, code allocation, and read back data. The measurement and subtraction system performs a universal clock counter calibration (step 206). The pulse counter calibration is also called synchronizing to a common clock cycle. The calibration allows the modules to set their respective counters to count the same on the exact clock edge. For example, at the same time, all counts will reach one count and five. In one embodiment, the test controller uses a main clock, such as the main clock 107 (FIG. 1), to perform universal clock calibration. The controller 102 broadcasts a message and uses the mechanism described above to restart the counters for each clock. Because the topology of the module ring is known, the delay between the time when a newly activated message is sent and the time it reaches a specified module is known. Therefore, the test controller can program the modules with a representative delay clock offset value. The module can use the clock offset value during the restart operation to delay restarting its counter. Use this test configuration to determine what can be done at any time. Use the quasi-phase control method 15 1245912 method, test each module of the system, and start their own counters at exactly the same clock edge. Zero, or any other meter test system can be selected to perform the test process and collection test (I 2 0 8). As discussed, the test process may include performing one or more test operations with one or more. In one embodiment, the test control command is sent to the device to control the test process and to collect test information. The device itself can send characters, such as part of each other or to the test controller to perform the test. The characters in the test step are freely interchangeable with other types of characters. Common Module Architecture FIG. 3 illustrates an embodiment of a common module architecture 300. The architecture 300 includes a bus and a synchronous interface 300, which is implemented on a FGPA. The bus and interface 302 provides an interface "start" and "to". In order to support the bus with the CPU3 10 and the interface 3 02 there is an interface with the CPU bus 3 12 and the interface 302 also has an interface to receive the main clock signal 1 1 7 divided by two divided by two. With a main clock input of 400 million rhymes, the divider 3 14 will provide a main component of 200 MHz. When the main clock signal is 200MHz, you can choose 3 1 4. Alternatively, an architecture can be used to provide a circuit pulse signal, such as a multiplier. The bus and interface 302 are also configured to control data character bits to the module's appropriate circuitry. For example, it provides an interface to a bit, which bit represents a confirmed margin, multiples. "Material (steps with multiple devices to send material to the device. During the step character, the same, as it can be used in the ring 1 1 4 a module, the bus device 3 14 to 14; z (MHz) hours The pulse mode needs to be divided to double the timing. For example, the synchronization type 16 1245912 304, a confirmed synchronization accurate time 3 06, and a synchronization requirement 3 08. The sink, charge, and interface 302 has a board level (Board- level) interface supporting signals. — The chip pin module will include a memory control circuit system 3 1 6 which is configured to synchronize the chip pin with the rest of the test system, and store the test Function and implementation data. The bus and interface 3 0 2 can also be programmed or included in the circuit system to perform other operations described in this manual. Control and control data characters ^ Figure 4A shows An embodiment of a control data character includes two parts, a bus interface part and a function-resource (F / D) or data part. The first part, character 3 2-3 5 to make the module ready to receive the first parts list The second component, characters 0-3 1, contains data indicating a resource, function, or both. Therefore, the function-resource component indicates those that will be read or written by subsequent control data cycles. Resources or functions in the bus interface component. If the read / write (R / W) bit is 1, it indicates a read cycle, and 0 indicates a write cycle. A control data word indicates a write operation. The element is called a write control data character, and a control data character that indicates a read operation is called a read control data character. If the F / D bit is 1, it means a work and goods; Cycle, and 0 represents a data cycle. A data cycle is a read cycle or a write cycle. If F / D is!, Then R / W must be 0. The graphic format allows future expansion and allows modules such as The chip pins generate and send data characters. Therefore, the original character 17 1245912 34-3 5 is 00. The start of a read cycle and the right time ..._ All data bits with Bezier TL are Zero. Each addressed module executes an np 〇R plane for the data stored and received by it. Data bit. A p — u ^ address group can delay the transmission of the periodic characters (observe some maximum value J. This maximum value is determined by the requirements of the test controller and is set to prevent auditing. , Gu Can, and people meet. Generally, it will be less than one millisecond to allow the operation of the inner Λ neighbouring sheet pins (pins 1 ice) can occur. Ring 114 has many slots, and one slot occupies the ring S1. The slot in the communication ring can be empty and filled by any module. Figure 4B shows an empty child element 32-37 including the empty character mark "quot.00〇〇〇〇11 ,. Fig. 5 shows an embodiment format of a functional resource component. (A resource is called an I module, and a function is called a test event). When the test controller 102 changes the test character, the test head interface 106 sends the data character to the communication ring 114. As shown, the function code A is 16 bits. Each device decodes a specific common register on page zero (ie, function code 0000-00 3F). Other function codes required by a particular type of device can be assigned by the authority during an assignment process. The resource code is 5 bits, which is suitable for addressing about 32,000 resources. When G = 丨, the position of a group represents a group of resources. All modules provide at least 4,000 location decodes. Any device will provide less than a maximum of 32,000 decodes'. It must be determined that the most significant bits (MSBs) are zero. The special resource code 0xFFFF is decoded by all facilities to mean "all resources". The resource code OxFFFF is reserved for logical manipulation of participate masks. The logical operation of the shared mask is described in more detail in U.S. Patent No. 4,493, 〇79 by Hughes, which is fully incorporated herein by reference. When G = 〇, bits 3 0-16 are resource digital codes as follows: 〇〇〇〇— 〇〇F 〇 is a hard-coded slot number (0-253), and 0100- 7FFF is a channel number, which is assigned by software according to the device. The function and resource code allocation will be described in more detail later. Hard-coded slot addressing only requires access to the page 0 registers required by other parts of the configuration process, including installation of "channel number" -based decoding. The resource code can also be 13 bits, suitable for addressing 8 1 9 2 resources. When G-1 ’a group of addresses represents a group of resources. In this case, all models provide a maximum of 8K position decodings. When G = 0, bits 16-21 are pin numbers (0-63), and bits 22-2 8 are chip pin numbers (0-: 126). This format offers the possibility to consider expansion. The chip pin number 127 indicates access to one of the 64 modules, such as DPSs that are not chip pins. Free characters are available for future expansion, so they are 00. The specific embodiments described above are not limited to resources and function codes. Rather, resources and function codes can be coded in various ways to indicate specific modules, module components, and their respective functions. Allocation of resource codes In order to ensure the effective use of limited addressing space and even allow the development of third-party (thii * d-party) equipment, the test controller 10 can be used to allocate functions and resource codes at runtime during runtime configuration software space. 19 1245912 The range is to make Γ through 苐. For example, the program can be digitized before it can be completed. In the embodiment, each device type can be assigned a unique function code ′ in the 16-bit space 0040-FFBF. The range FFCO-FFFF area unit 104 (Figure 1) is reserved. The required connection code number can be created using the FUNCBASEADDR (function base address) page 0 register. All devices of the same type require the same number of registers. Each individual device is assigned a unique range of resource codes, ranging from 15 digits to a channel number of 0100-7FFF. The required connection code number can be created using the register RESBASEADDR (resource base address) on page 〇. The controller on page 0 is written by software, such as a computer that tests the controller ’and is used to give functions and resource codes an assigned start address. Function codes start in any position. However, the resource code can be configured at a huge start. That's because they must be a large number of multiples of equal or large length. Both resources and function codes occupy a single block. Use any feature or resource code that exceeds the required length. The δ-type control benefit 102 is not made to wait for the write cycle as usual (write cycle-the write control data character passes through the communication ring 丨 J 4 and the save cycle is a read control data character passes through the communication ring I) Write operations are as fast as they are received by the test controller. However, 'modules are not required to write at a maximum 200MHz rate. They can decide the process independently and regionally, and even use different times for different functions. In order to achieve 20 1245912 this kind of flexibility without using software to consume time 'I modules have their own first-in-first-out (FIFO) crying temporarily | Slave; θ state as a buffer for the write cycle . In order to avoid the overflow of the claws, the basic F's overflow control technology is used by each module as described below. In one embodiment, the FIF of each module is 2K (kilobytes). Capacity. When a module's fif0 reaches a threshold that is almost full, such as 75%, a "stop flow control data character and the module's confirmation are sent to the test head T interface 106. The test header δ 106 eliminates all such words & and uses some exception mechanisms such as a stop notification to stop the test controller 10 from sending more written data characters. Once the Fif〇 drops When the restart threshold is reached, such as when 70% is full, the module sends a "restart" process control word A 'and then resumes normal operation. Therefore, timeouts and bus errors can be avoided. 帛 6 The figure shows the _writer process control data characters.-A stop / restart (stOp / Resume (S / R) value is "stop" when the value is ι, and an S / R value of 0 is "restart". The read operation is likely to overtake the write operation due to buffering. Unexpected results. At this point, the module needs to stop the read operation until all pending writes have occurred.-The occurrence of writes will be defined according to each module and each function. Then @, at least temporarily stored After the device is written, it will be read out with the register to ensure that new written data will be read back. The overflow control mechanism described here has a significant impact on performance. Therefore, other methods are used to avoid approaching the overflow. Bit (near_〇verfi〇w) status, for example, the auditing software process generates sequential writes to ensure that the processing is successful, or provides sufficient FIFO memory. The readback mapping is to support more than most devices. Data characters are read back, some mappings of the read back data, such as those captured random access memory (RAM), are used to support certain digital modules. The This feature is especially used to reorganize the digitized analog samples captured by most digital pins. The reorganization is performed by using the reconstructed sampling characters to turn the read operation around the serial communication ring 1 1 4 The process (Figure 1). The characteristics can be combined with the following description of the conversion features related to upHnking. The device can insert characters at any position of the combined characters. The extraction can be rotated Based on the mask, it effectively makes the captured data non-successful. DMA read mode In order to increase the speed of block read, you can use _direct memory access (direct CCAM) DMA read mode. In the .A readout mode, 'except for the interface unit 104 and the test head interface 10', there is no ... to perform the readout operation differently. Θ The interface unit 104 uses a nickname to start addressing from the special DMA (DMA-start -address) register and _ DMa m ^,. T A (counter register). If these registers are earlier than a read operation) are temporarily repeated a specific number of times (as indicated by the count value), the memory of the controller will start to be loaded into the test at a specific position The use of this mode will be restricted, so in reading mode 22 1245912, other test controller bus operations will become impossible. However, it is possible to perform a synchronous operation in the DMA read mode. A DMA operation can be directly followed by an operation that is not DMA. This operation can be sent to the serial communication ring 1 1 4 without waiting for the result of DMA reading. DMA write mode DMA write mode is similar to DMA read mode, except that in write mode, data is sent from the test controller to a module. In order to speed up the loading of the memory, the test head interface 106 may include a data decompression program to decompress the compressed data sent from the test controller 102. Decompression can be achieved with ordinary write operations. Neither the interface unit 104 nor the device need to perform special steps; the test head interface 106 implements this feature. Each module can optionally include a decompression program, so the test head interface 106 does not need to excessively consume computing resources to decompress all data from the test head controller. Bus interface performance The latency of normal writing is variable and depends on the position of the module in the ring relative to the test head interface 106. A normal write is from the controller 102 to the memory in the module. The normal waiting time for reading from chip pins, for example, is mainly determined by the number of modules and the number of pipeline stages in each module. A normal readout is when the test controller 102 initiates a readout request and a module receives a data character. A pipeline class can be referred to as a buffer in a module to hold and process data characters. As discussed, each time the module ticks, the module moves the data characters from one pipeline stage to the next 23 2345912 line. In one embodiment, there are 64 modules and each module has 2 pipelines. The waiting time for readout is close to 65 nanoseconds (ns). The test system can maintain a circulation of 800MB / S for the same resource, and the read and write operations and a specific test function (assuming that the module and test controller 102 can go hand in hand, and no synchronization activity will waste bandwidth) . Multiple device testing and location selection As is well known in the art, test systems are often used to test one device at a time (ie, parallel testing). An embodiment of the test system 100 uses individual software threads for each location to support most test locations, making testing easy. If the device under test occupies this location or an error occurs, it needs to be tested again to determine whether the location is valid or invalid, but it must be fixed until a multi-site handler can remove them. The tester uses shared memory and a special software tool called a position mask) to provide simultaneous register writes to all locations and all resources. The test system can support independent test head register access thread. The access thread contains its own resource code and location mask. For each implementation, the test head interface 104 maintains an independent current position digital temporary register. The position mask register allows 1K positions.
當需要時,測試控制器會自動地更新現行資源碼 置遮罩。測試控制器會跟隨一執行緒交換器早於第一 或寫入操作執行更新。並不是全部的位置遮罩的位置 被寫入;它們必須從零開始。設備可以支援全部1 K 級, 試糸 出和 制器 不只 ,在 行測 且不 維持 以移 (site 效位 。各 緒來 器和 和位 讀出 可以 位置 24 1245912 但至少必須支援 2 5 6,而且必須全部地解碼位置數字和遮_ 罩。 同步操作和同步字元 測試控制器1 0 2和模組間的所有同步使用相同的通訊 環和訊息通訊協定。測試控制器1 02和任何模組可使用一 有適當内部用途的同步字元,也可產生一同步字元。測試 系統的任何部件可產生一同步字元。 有部分的和確定的同步字元。一確定的同步字元可從 一部份的同步字元或直接地產生。一確定的同步字元是一 表示一特定同步事件的訊息,例如一測試功能,已確定發 生過。一確定的同步字元給與事件發生的時間。通用同步, 例如:開始、停止、失敗,都是確定同步的特殊個案。一 確定同步字元會被產生它的模組在環中終止。 一部份的同步是,系統1 0 0協調一或更多事件何時資 訊需要被執行,通過此系統的機制,被分布於兩或更多的 模組。部分的同步結合跨越多數模組的資訊,這是可選擇 的特點。部分的同步結合接腳跨越多數模組,因此一同步 事件只會發生在當所有接腳都在一早先定義的型態,或者 一些其他一連串同時的狀況會發生。 測試頭介面1 〇 6可監測所有確認的同步,包含失敗, 作為除錯和流程控制之用。所有確認的同步都傳遞至記憶 體控制裝置,例如若適當時被它們所用的記憶體控制器 216。 同時地,為了精確的事件定位,精確解析度事件時 25 1245912 間(即次時脈週期時間)也傳遞至環中所有設備。而對淤部 分的同步,測試系統1 〇 〇沒有傳遞精確事件時間。 第 7圖表示一確定的同步字元之一實施例。「類型」 (Type)表示被同步事件的類型,且在一實施例中,是一 4 位元同步類型。在此實施例中,有至少十五個獨立的一般 目的同步,類型的範圍由1至15。這十五個可被使用在部 份或確認的同步字元。Type = 0只經確認的同步字元使用。 這指出1 6個獨立的通用同步類型其中之一,以次類型區詳 細敘述。表一表示一實施例中的同步類型。 類型 次類型 用途 1-15 X 一般的目的同步 0 0 通用開始 0 1 通用停止 0 2 通用失敗 0 3-15 空閒的通用同步 表一 一模組可以全部地和並行地參與任何類型的多同步操 作。在一實施例中,每片狀接腳有兩個通用目的同步一每 接腳群之一被相同的記憶體控制器所控制。如第 7圖所 示,時脈區是一 8位元通用時脈數字,給與同步事件的時 間一 5奈秒(即200MHz時脈)的解析度。 系統中所有模組被要求要使它們的内部時間值暫存器 26 1245912 一致,因此5亥同步機制在才會在正確的時間作用.橫越整 系統。達成此機制的計數器校準處理過程會在後面敘述 該精細區細分(subdivide)5奈秒解析度至接近%塵 (femtosecond,fs)的步驟。此特點只可以經確認的同步所 用。就疋說’多數模組產生的同步只有5奈秒的解析度 當一部份的同步被轉換成一確認的同步,該確認區會被 成零。 一確5忍的同步指示出「同步中」(in-sync)狀態開始 時間。因此任何使用確認的同步時間之裝置必須在執行 前加上一固定(且程式化)的等待時間。通用確認同步遵 相同的規定:等待時間仍然必須被加入(加入的數量則由 生同步字元的模組來決定)。 第8圖表示一部份的同步字元之一實施例。在此實 例中,類型是4位元同步類型,與確認的同步字元類型 似。類型有一範圍由1至1 5的值。狀態歷史是先前3 2 時脈的同步中狀態之位元區。一位元值1指示一同步中 狀態。一全部0的值指示沒有同步的情況且沒有被傳送 一特定的模組以其内部的同步中狀態為基礎’以特 的同步類型產生部分同步字元。該模組緊鄰著環,且產 相同同步類型的監測,用來監測此部分同步字元。此模 執行一邏輯AND於進來的狀態歷史和同樣時間框架下 部產生的狀態歷史。只有在產生的狀態歷史是非零的 候,它會被傳遞。若有任何額外的貢獻,此處理過程會 續行經之。 個 〇 秒 使 0 設 的 之 守 產 施 相 個 的 〇 定 生 組 内 時 持 27 1245912 一旦正確類型的一非零部分同步字元到 一同步可經確認且該同步字元會被轉換成一確 獨立的確認同步被產生給各組位元。由於確 包含一時脈數字,處理過程的等待時間是可接 部分同步只能解析五奈秒時脈,沒有可能有精^ 為了正確地判斷,由狀態歷史表示的時間 已知的。該通訊協定是,狀態歷史和通用時脈 同步的敘述)是在固定的校準下。舉例來說, 到3 1名義上使在第一狀態歷史,3 2到6 3是在 史,64到95是在第三狀態歷史,各接下來的 此類推。部分的同步字元只有在相關時被傳送 時。 各模組有一”dial-a-pipe"配置(通常是-FIFO配置),來確認其局部的狀態歷史,是以 入的資料字元之近似步驟而產生。對於簡單 處理過程來說,這些字元可以用依序的正確性 為相繼的順序和通訊環中所有設備的設備到 環延遲在環被配置時是已知的。(環配置在後 配置」的章節裡有更多的描述)。注意額外的 同步字元插入的方式插入環1 1 4中,當它們放 元的下游時,會影響數字,因為它們延遲資料 入字元會造成一最糟事件,就是不確定少於狀 小。根據相似的理由,發出信號的模組有能力 元轉換成通用時脈數字。同步字元的插入在後 起源者後, 認的同步。 的同步字元 受的。既然 I延遲資訊。 框架必須是 數字(見確認 通用時脈 0 第二狀態歷 狀態歷史以 ,即當非零 -可變長度 與一可能進 end-of-pipe 來校準,因 設備之通訊 面名為「環 字元,利用 在該資料字 字元。被插 態歷史的大 將確認的位 面會有更多 28 1245912 的描述。 - 部分同步可隨意地時間審核,因此它們只在 間距的倍數才會發生。看在描述週期性觸發後的 同步字元的插入 為了避免壅塞相關(congestion-related)的問 可以利用一額外時脈階級(extra cl〇ck stage),來 步字元進入環中。只有在有一非空白字元時,該 被用來避免該同步字元被傳送。 額外階級可吸收下個空白字元而被刪除。因 敘述的特定實施例,有一 3 1個同步的最大值,全 可利用31個階級的最大值來短暫地增加。如果一 過一額外階級但還未釋放它時,卻需要去傳送一 字元,就會產生一同步溢位錯誤。 週期性觸發 對簡單且決定論(deterministic)的週期性觸每 試頭介面1 06可利用該空閒的通用觸發類型,產 的確認同步字元。這功能可用來產生最少 (denominate)r)類型的觸發,可能在一系統模擬一 (split-timing)、多時間區特點時會有需要用到, 試中提供兩獨立測試頻率。 該期間是可程式化的,且以200MHz的半 periods)形式來發送,即2.5奈秒的解析度。可' 某一時間 下一節。 題,模組 插入一同 額外階級 為在此所 環的長度 模組在用 新的同步 卜來說,測 生有規律 &同分# 分離計時 在同/測 期間(half 吏用/ 24 29 1245912 位元的計數器,利用一通用開始重新·啟動至一可程式化的 初始相位。此特點也可被使用來使認證任一部份同步,因 此這種同步只在一週期性基礎上可確認。在此例中,該期 間是20ΟΜΗζ時脈的整個數字。 時脈計數器校準 同步機制使用一通用時脈數字的觀念,必須保持所有 模組在步驟上是正確的操作。接下來的段落描述遍及整個 系統中,用來同時地重新啟動所需要的8位元計數器之技 術。任何其他可達成相同結果的技術也都可以被使用。 測試控制器1 02運用該描述的通訊環機制,廣播一訊 息至所有模組,來重新啟動計數器。該訊息可以是一般重 新啟動命令的部分。 環的先後順序和時間安排是已知的。因此,一從任一 設備傳播到任一其他設備的字元,其所需要的2〇〇MHz時 脈週期數字是已知的。測試頭介面丨〇 6以一時脈偏移值先 程式化各模組,在重新啟動命令的期間,各模組會使用該 值延遲計數器的重新啟動。 使用這些偏移,重新啟動操作將導致整個系統中所有 計數器在完全相同的時脈邊緣到達零。沒有同步操作可以 在此處理過程_被進行。 400MHz 至 200MHz 校準 為了確認匯流排的正確操作,匯流排時脈所需要的系 30 1245912 統時脈400MHz至200MHz之轉換,在所有模組上必須是 同相位的。一用來達成的方法是在通電時,閘門控制 4 0 0 Μ Η z時脈’使其只在其穩定以及所有模組都被重新啟 動後,才會產生(包含一除法器314(第3圖))。雖然這操作 只需要被執行一次,但是S Μ在任何時候都可以初始這樣 順序。 一 200MHz主時脈可選擇用來代替4〇〇μΗζ。這種替 換不需要一個除法器,但可能需要替代一乘法器,來產生 4 0 0MHz訊號給予需要這種訊號的模組部件。 同步機制效能 確認同步的等待時間與讀取操作相似。部分同步的等 待時間比確認同步的兩倍還要長,因為該部分同步會轉換 成一確認同步,這處理過程必須再次橫越環。 部分同步可使用大部分的頻寬。在最糟的狀況,部 分同步會消耗全部匯流排頻寬的百分之五十。如果由於 壅塞,一同步字元不能放在環中,該同步字元的來源模組 之FPGA會等待下一個空槽。等待時間ume)的最大 值必須包含在潛伏時間(latency)裡頭,因此,此同步事件 和其起作用的兩時間之間的程式化偏移也是相同的。在任 何事件中,其時間不能超過部分同步字元的程式化限制(即 所敘述實施例之200MHz時脈的31個時期);否則部分同 步:制會失去作用。如果在程式化限制(最大3”之前沒 有槽可以使用,-匯流排溢位錯誤會使用s Μ介面來標 31 1245912 記。 錯誤處理 確認的同步訊息可以被用來處理一錯誤機制。一些修 改對·於標準通訊協定來說是必須的,因為錯誤可同時地發 生(或近乎同時地)越過整個系統,且因為對應到該錯誤的 部件可能需要一致地操作來避免被測試裝置(device under t e s t,D U T)的混亂。任何模組可以產生錯誤訊息。然而,如 果同樣的模組已經產生一錯誤訊息,或是一錯誤訊息已經 被接收到,產生會被抑制。同步訊息的時間值是測試指引 的開始。因此,時脈數字可單獨用來比較錯誤訊息的相對 間 時 立 成 部 全 下 以 當 有 只 息 訊 誤 錯 除 移 環 從 會 備 設 已數 備rf 設時 :息 時訊 產 同 相 的 用 使 備 設 與 型 類 息 訊 字 的 收 接 較 或 同 相 息 的 訊生 誤產 錯備 一 設 生與 另間 果時 如其 , 若 而權 然先 , 優 行到 執得 來會 式間 方時 的其 通, 普達 以抵 定前 排行 被執 自5 在 訊息 誤訊 錯誤 錯 等 相 是 或 崔大 本d 原)* 該較 較比 被方 要種 需這 字為 數因 脈。 時略 ( 會 值息 時 若複 0 I v^tl 早 ί 的該 來 的 的 般 一 為 作 以 可 定 協 訊 。 通響 種影 這的 , 望 型希 類不 步何 同任 他成 其造 可 會 許不 不, 並命 案事 置 配 統 系 定 決 此導 因而 , 案 的檔 定置 決配 可統 地系 動確 自 正 是不 置因 配會 的不 統, 系錯 , 除 是和 勺 匕 意式 滿程 人被 令的 統 系 32 1245912 致的眾所皆知的問題。一決定環配置的方法在後面會描述。 一 ·模組類型 各模組的本質是已決定的。各模組包含一小的電子式 可清除程式化唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EPPROM)來儲存模組資 訊,例如:模組類型、版本和歷史。該資訊可從s M介面 來被存取。 二. .模組位置 測試系統1 00包含一或更多用來決定模組位置的機 制。這些機制包含位置的推斷,從一獨特的SM連接和從 一合適的載入板(load board)。因為模組間可能的間隙,環 位置是不適合的。而模組可從它安裝的槽讀出它的位置之 任何技術是適合的。 三. 環延遲 對於環的適當操作,模組間的延遲,即一字元從一模 組至環中下一模組所用的時間,必須是已知的。内部延遲 可以由模組類型的設計規格得知,而且對於環的操作並不 重要。 通常由於在模組相鄰的環階級沒有外加管路,它們是 非常靠近的 '然而,更長的連接,例如用來除錯或跨接大 的間隙’是可能有需要的。提供此5奈秒(2〇〇MHz時脈週 期)倍數延遲的連接,環的操作會準確地工作。然而,要 正確地校準内部時脈計數器,此類延遲的位置必須是已知 的。 33 1245912 解决的方法是環延遲的自動決定。這技術會在後面 七田述後面技術是在通電後執行,決定是否任何模組間的 連接有重要的延遲。此技術在控制的情況下執行,沒有其 他匯流排或同步操作可以進行。 a·'則°式頭介面106發送一來源+ MEASURE_TOKEN_ DELAY功能定址全部的模組。 r ^ 4頌介面106發送一 33個資料寫入的200MHz脈 衝( )在最不重要的6位元裡的值是00-20。為了確 涊脈衝操作’這些寫入可選擇由硬體而非軟體來合成。 c ·測4控制器從測試頭介面丨〇 6使用傳統的讀出操 作來〖灰復各模組已決定的延遲一再次利用MEASURE_ TOKEN DELAY。 各模組如平常地解碼且傳遞這些寫入。然而,它也會 做以下這些不平书的操作。若位元5 = 〇,位元m會在方 向上被倒轉。環中先前模組的輸入會變成先前模組的輸 出,而環中下一模組的輸出會變成下一模組的輸入。此外, 下一模組在位元7-11接收的值是從位元的現行值減 出’且其結果儲存在一暫存器中。該位元的現行值也 驅使位元7- Π回到環中前一模組。 若位元5 = 1,位元7-1 1會回到它們平常的方向。以上 詳細說明的減損仍然可以發生,假定輸入資料被註冊了。 位兀1 1驅動器的再致能(re-enabling)被延遲了數個時脈 週期來防止衝突。此減損的儲存結果是從測試控制器1 〇2 至模組的來回行程延遲(r 〇 u n d t r i p d e 1 a y),在時脈滴答, 34 1245912 加上一小的固·定管線耗用時間。 這項技術的一優點是時脈值的決定 ^ 、欠非$快速。 是會有數個訊號在環匯流排中,在應 ^ ,'用%必須是雙 一第二技術如下: 、 在形成通訊環的一連串連接中,力When needed, the test controller will automatically update the current resource code mask. The test controller performs an update following a thread exchanger earlier than the first or write operation. Not all positions of the position mask are written; they must start at zero. The device can support all 1 K levels. The test and control devices are not only tested and not maintained to move (site effect bit. Each source and bit readout can be in position 24 1245912, but it must support at least 2 5 6. And the position numbers and masks must be fully decoded. Synchronous operation and synchronization character test controller 102 and all synchronization between modules use the same communication ring and message protocol. Test controller 102 and any module A sync character can be used with a proper internal purpose, or a sync character can be generated. Any part of the test system can generate a sync character. There are some and certain sync characters. A certain sync character can be obtained from A part of the synchronization character may be generated directly. A certain synchronization character is a message indicating a specific synchronization event, such as a test function, which has been determined to have occurred. A certain synchronization character gives the time when the event occurred. .Universal synchronization, such as start, stop, and failure, are special cases that determine synchronization. A certain synchronization character will be terminated in the ring by the module that generated it. Part Synchronization is when the system 100 coordinates one or more events when information needs to be executed. Through this system's mechanism, it is distributed across two or more modules. Part of the synchronization combines information that spans most modules. This is possible Features of selection. Part of the synchronization combined pins span most modules, so a synchronization event will only occur when all the pins are in a previously defined type, or some other series of simultaneous conditions will occur. Test Head Interface 1 〇6 can monitor all confirmed synchronizations, including failures, for debugging and process control. All confirmed synchronizations are passed to memory control devices, such as the memory controller 216 used by them if appropriate. At the same time, For accurate event localization, 25-1245912 (that is, the second clock cycle time) of the precise resolution event is also transmitted to all devices in the ring. For the synchronization of the silt part, the test system 100 did not transmit the accurate event time. Section 7 The figure shows an embodiment of a certain synchronization character. "Type" represents the type of the event to be synchronized, and in one embodiment, it is A 4-bit synchronization type. In this embodiment, there are at least fifteen independent general-purpose synchronizations, with types ranging from 1 to 15. These fifteen can be used in partial or acknowledged synchronization characters. Type = 0 Only confirmed sync characters are used. This indicates that one of the 16 independent general sync types is described in detail in the subtype area. Table 1 shows the sync type in an embodiment. Type Subtype Use 1-15 X General purpose synchronization 0 0 General start 0 1 General stop 0 2 General failure 0 3-15 An idle general synchronization table-a module can participate in any type of multi-synchronization operation in full and in parallel. In one embodiment, Each chip pin has two general purpose synchronizations-one of each pin group is controlled by the same memory controller. As shown in Figure 7, the clock zone is an 8-bit general-purpose clock number, giving the time of the synchronization event a resolution of 5 nanoseconds (that is, a 200MHz clock). All modules in the system are required to make their internal time value registers 26 1245912 consistent, so the 5H synchronization mechanism will only work at the correct time. Cross the entire system. The counter calibration process that achieves this mechanism will be described later. The steps of subdivide the subdivide resolution from 5 nanoseconds to approximately femtosecond (fs). This feature can only be used for confirmed synchronization. Let ’s say, ‘the synchronization generated by most modules only has a resolution of 5 nanoseconds. When a part of the synchronization is converted into a confirmed synchronization, the confirmation area is set to zero. A 5 tolerant synchronization indicates the start time of the "in-sync" state. Therefore, any device that uses a confirmed synchronization time must add a fixed (and stylized) wait time before execution. The general confirmation synchronization follows the same rules: the waiting time must still be added (the number of additions is determined by the module that generates the synchronization characters). FIG. 8 shows an example of a part of the synchronization characters. In this example, the type is a 4-bit sync type, similar to the confirmed sync character type. Types have values ranging from 1 to 15. The state history is a bit area of states in the synchronization of the previous 3 2 clocks. A one-bit value of 1 indicates a sync status. A value of all zeros indicates that there is no synchronization and is not transmitted. A particular module generates partial synchronization characters based on its internal synchronization status' with a specific synchronization type. This module is next to the ring and produces the same type of monitoring used to monitor this part of the synchronization characters. This module performs a logical AND on the incoming state history and the state history generated below the same time frame. It will only be passed if the resulting state history is non-zero. If there is any additional contribution, this process will continue. The number of seconds is 0, and the time of the set-up of the zero-term set is 0. 27 1245912 Once a non-zero part of the synchronization character of the correct type to a synchronization can be confirmed and the synchronization character will be converted into an exact Independent acknowledgement synchronization is generated for each group of bits. Because it does contain a clock number, the waiting time of the process is accessible. Partial synchronization can only analyze the five-nanosecond clock. There is no possibility. In order to judge correctly, the time represented by the state history is known. The protocol is a state history and general clock synchronization statement) under a fixed calibration. For example, to 31 is nominally in the first state history, 3 2 to 63 is in the history, 64 to 95 is in the third state history, and so on. Some synchronization characters are only transmitted when relevant. Each module has a "dial-a-pipe" configuration (usually -FIFO configuration) to confirm its local state history, which is generated by the approximate steps of the input data characters. For simple processing, these words The element can use sequential correctness for the sequential order and the device-to-ring delay of all devices in the communication ring are known when the ring is configured. (The ring configuration is described later in the chapter "Ring configuration"). Note that the extra synchronous character insertion method is inserted into the ring 1 1 4. When they are placed downstream of the element, they will affect the number, because they delay the data entry character will cause a worst case, that is, less than less than small. For similar reasons, the signalling module has the ability to convert the unit into a universal clock number. The sync character is inserted after the originator, and the sync is recognized. The sync character of. Since I delay the information. The frame must be digital (see Confirming the General Clock 0. The second state history state history is used when the non-zero-variable length and a possible end-of-pipe are used for calibration. , Use the characters in this data. There will be more descriptions of 28 1245912 in the plane confirmed by the generals of the history of interpolating.-Part of the synchronization can be reviewed at random time, so they only occur in multiples of the spacing. See After describing the insertion of synchronization characters after periodic triggering, in order to avoid congestion-related questions, an extra clock stage can be used to step the characters into the ring. Only when there is a non When a blank character is used, this is used to prevent the synchronization character from being transmitted. The extra class can absorb the next blank character and be deleted. Due to the specific embodiment described, there is a maximum of 31 synchronizations, all of which can be used. The maximum value of each class increases briefly. If a character is transmitted after passing an extra class but it has not been released, a synchronous overflow error will occur. Periodic triggering is simple. The deterministic periodic touch of each test interface 106 can use this idle universal trigger type to generate a confirmation synchronization character. This function can be used to generate a minimum (denominater) type of trigger, possibly in a system Split-timing and multi-time zone features will be needed. Two independent test frequencies are provided in the trial. This period is programmable and sent in the form of 200MHz half-periods, which is 2.5 nanoseconds. The resolution can be 'sometime' next section. Problem, the module is inserted together with an extra level for the length of the ring in this module. With the new synchronization, the test has regularity & the same number # separation timing in During / test period (half official use / 24 29 1245912 bit counter, use a general start to restart · start to a programmable initial phase. This feature can also be used to synchronize any part of the authentication, so this This kind of synchronization can only be confirmed on a periodic basis. In this example, the period is the entire number of the 20 MHz clock. The clock counter calibration synchronization mechanism uses the concept of a universal clock number, which must be guaranteed. All modules are operating correctly in the steps. The following paragraphs describe the entire system to restart the required 8-bit counter technology at the same time. Any other technology that can achieve the same result can also be used The test controller 102 uses the described communication ring mechanism to broadcast a message to all modules to restart the counter. This message can be part of a general restart command. The sequence and timing of the ring are known. Therefore, the number of 2000MHz clock cycles required for a character transmitted from any device to any other device is known. The test head interface 丨 〇 6 first program each module with a clock offset value, during the restart command, each module will use this value to delay the restart of the counter. With these offsets, a restart operation will cause all counters in the entire system to reach zero at exactly the same clock edge. No synchronization operation can be performed during this process. 400MHz to 200MHz Calibration In order to confirm the correct operation of the bus, the clock required for the bus clock 30 1245912 The conversion from 400MHz to 200MHz of the clock must be in phase on all modules. A method used to achieve this is that when the power is turned on, the gate controls 4 0 Μ Η z clock 'so that it will only be generated after it is stable and all modules have been restarted (including a divider 314 (No. 3 Figure)). Although this operation only needs to be performed once, the SM can be initialized in this order at any time. A 200MHz main clock can be selected instead of 400μΗζ. This replacement does not require a divider, but it may be necessary to replace a multiplier to generate a 400 MHz signal to a module component that requires this signal. Synchronization mechanism performance The latency of confirming synchronization is similar to that of a read operation. The waiting time for a partial synchronization is longer than twice as long as the confirmation synchronization, because the partial synchronization will be converted into an acknowledgment synchronization, and this process must cross the ring again. Partial synchronization can use most of the bandwidth. In the worst case, partial synchronization consumes 50% of the total bus bandwidth. If a synchronization character cannot be placed in the ring due to congestion, the FPGA of the source module of the synchronization character will wait for the next empty slot. The maximum value of the waiting time ume) must be included in the latency, so the stylized offset between this synchronization event and the two times it acts is also the same. In any event, its time cannot exceed the stylized limit of some synchronization characters (i.e., 31 periods of the 200 MHz clock of the described embodiment); otherwise, some synchronization: the system will lose its effect. If there are no slots available before the stylized limit (maximum 3 ", the bus overflow error will be marked 31 1245912 using the sM interface. The synchronization message of the error processing confirmation can be used to handle an error mechanism. Some modifications to Required for standard communication protocols, because errors can occur across (or nearly simultaneously) the entire system, and because the components corresponding to the error may need to operate consistently to avoid the device under test (device under test, DUT) confusion. Any module can generate error messages. However, if the same module has generated an error message, or an error message has been received, the generation will be suppressed. The time value of the synchronization message is a test guide. Start. Therefore, the clock numbers can be used to compare the relative time of the error message alone. When there is only a message error, the error will be removed and the ring will be set. The device time is set to rf. The use of equipment that causes the device to receive or receive the same type of information, or the same information will cause the wrong production error. The other time is as it is, if it is right first, it is the best way to perform when you are resolute, and Puda is held to the top of the ranking. 5 In the message error, error, etc., or Cui Daben d Original) * This comparison requires the word to be a factor factor. The time is slightly different (if the value of interest will be restored to 0 I v ^ tl earlier), the usual behavior is used as a determinable agreement. If this kind of influence is affected, the hopeless type can not be allowed to do what he wants, and he can make no mistakes, and the ordering system is determined. Therefore, the decision of the case can be determined systematically. Since it is the inconsistency of the unassigned association, the system is wrong, except for the well-known problem of the system of tactics 32 1245912. The method of determining the ring configuration will be described later. I. Module Type The nature of each module is determined. Each module contains a small electronically erasable programmable read-only memory (EPPROM) to store module information. For example: module type, version And history. The information can be accessed from the s M interface. The module location test system 100 includes one or more mechanisms for determining the location of the module. These mechanisms include location inference from a unique The SM is connected to and from a suitable load board. Due to the possible gaps between the modules, the ring position is not suitable. Any technology is suitable in which the module can read its position from the slot in which it is installed. 3. Ring Delay For proper ring operation, the delay between modules, that is, the time it takes for a character to travel from one module to the next module in the ring must be known. The internal delay is known from the design specifications of the module type and is not critical to the operation of the ring. Usually there are no external pipes in the adjacent ring stages of the module, they are very close. However, longer connections, such as for debugging or bridging large gaps, may be needed. Providing this connection with a delay of multiples of 5 nanoseconds (200 MHz clock cycle), the operation of the ring will work accurately. However, to properly calibrate the internal clock counter, the location of such delays must be known. 33 1245912 The solution is an automatic determination of the loop delay. This technique will be performed later. The latter technique is performed after power-on to determine whether there is a significant delay in the connection between any modules. This technology is performed under control and no other bus or synchronization operations can be performed. a · '° The head interface 106 sends a source + MEASURE_TOKEN_ DELAY function to address all modules. The r ^ 4 interface 106 sends a 200MHz pulse with 33 data writes (). The value in the least significant 6 bits is 00-20. To ensure pulse operation, these writes can be synthesized by hardware rather than software. c. The test 4 controller uses the traditional readout operation from the test head interface. [6] Gray out the delays that have been determined for each module. Use MEASURE_TOKEN DELAY again. Each module decodes and passes these writes as usual. However, it will also do the following operations. If bit 5 = 〇, bit m is inverted in the direction. The input of the previous module in the ring becomes the output of the previous module, and the output of the next module in the ring becomes the input of the next module. In addition, the value received by the next module at bits 7-11 is subtracted from the bit's current value 'and the result is stored in a register. The current value of this bit also drives bit 7-Π back to the previous module in the ring. If bits 5 = 1, bits 7-1 1 return to their usual directions. The impairments detailed above can still occur, assuming that the input data is registered. The re-enabling of the bit 11 driver is delayed by several clock cycles to prevent collisions. The storage result of this impairment is the round trip delay from the test controller 1 02 to the module (r oon t d t r p d e 1 a y), ticked at the clock, 34 1245912 plus a small fixed and fixed pipeline elapsed time. One of the advantages of this technique is the determination of the clock value, which is not fast. There will be several signals in the ring bus. In the application ^, '% must be double. The second technology is as follows: 1. In a series of connections forming a communication ring, the force
;上—訊號CNFG TM 和CNFG —OUT的額外部分。此訊號也B —如 -1N 疋—環,稱為阶里 環。此配置環以相反通訊環的方向傳播 ·、、、-置 寻播。在正常的操作中,; Up—signal CNFG TM and CNFG —extra part of OUT. This signal is also a B—such as -1N 疋 —ring, which is called an order ring. This configuration ring propagates in the opposite direction of the communication ring. In normal operation,
除了測試頭介面1 06外,各模組在各眸 T ^脈週期簡單地傳播 在它CNFG —IN訊號至CNFG — 0U丁訊穿.、盘^ ^ 唬的邏輯層。測試控 制器CNFG —OUT持續維持在一邏輯lOW駄 u w層。因此,連接 一模組的CNFG—rn至PREVI0US模組的CNFG IN的整個 訊號環,、结|在要求傳播該訊號在環中各處的時脈週期數 字之後的一 LOW層。 當測試頭介面106發出特殊命令DESCRIBE_ CONFIGURATION^),會發生不同順序的操作。在此命令 發出時’測試頭介面1 〇 6會設定一計數器至〇。每一匯流 排時脈週期之後,計數器都會增加。DES CRIBE_ CONFIGURATION命令中的低等級(i〇w-〇rder) 10個位元 包含數字N。環中各模組接收此命令,且紀錄和減少數字。 如果減少操作的結果是非零的,該命令會傳遞遍及環。若 結果是零,該命令停止在該模組,且該模組會產生一串列 資料流(serial data stream)。該模組不再傳播CNFG_IN到 CNFG — OUT。它取而代之地傳送串列資料流,每一時脈週 期一個位元’經過它的CNFG —OUT接腳至環中前一模組。 35 1245912 該身料流如此被傳送,一個模組接著一個模組,最後 f測試頭介面106。該資料流被該模組決定;然而, 第一位元是HIGH(指示測試頭介面106該位元流的開 =下來的(大概)1 2個位元指示留在資料流中位元的數 2下的位元包含對測試控制器丨〇2可能很有用的資訊 疋其内容在這裡並不重要。當開始該資料流的high 到達測試頭介面106時,計數器會停止。計數器的内 1地說出,從DESCRIBE一CONFIGURATION命令的發 過離測試系統控制器的設備N位置,經過多少個 期 0 丄 、 在使測试控制器1 0 2能夠精確地決定環中模組 序和一通訊事件至著環傳遞所需的精確時脈週期數 U此貧訊,測試頭介面丨06從各設備本身計算其時 移。測試控制器102也可選擇來計算時間偏移。 配置處理過程最後的步驟是測試頭介面1〇6初 所有設備的内部時脈時間。測試頭介面初始本身的 存器至一合理初始值(大概1 000),然後發出一 ^令去寫入環中各模組的内部時脈暫存器。對於環 組而言’寫入設備的值是以在測試頭介面ι〇6的内 :存器加上環中該模組的時間偏移,然後再加上該 而寫入它内部時脈暫存器的時間來決定。用此方法 、"且的内部時脈暫存哭主 質仔益被寫入吟,它的值會與測試 6的内部時脈所包含的數字精確地相同。 該配置處理過程和結構的—優點是,—旦環故 測試控制器1〇2有能力決定有多少的設備可以反應 回到 它的 始)。 字。 ,但 位元 容精 布到 脈週 的順 字。 間偏 環中 部時 串的 各模 時脈 組所 當模 介面 時, 們的 36 1245912 位豊,也就是第一故障在環中發生的地方。 第9圖圖解一測試控制器寫一 ^ ^ 4夕個模組的寫入操 作之一例子。在此例子中,測試控 裔將一資料字元寫入 一第一模組920和一第二模組93〇。測 別忒控制器1 〇 2發送 一功能+負源(?1111(^011+1^30111*。6戸4~公、^ e’ t + R)字元(即包含一 功能-資源碼的控制資料字元)進入通邙搢士 „ m。扎鳅中。資料字元指Except for the test head interface 106, each module simply propagates in the T ^ pulse cycle of each eye in its logical layer of CNFG —IN signal to CNFG — 0U Ding Xun. The test controller CNFG —OUT is continuously maintained at a logical level. Therefore, the entire signal ring connecting CNFG_rn of a module to CNFG IN of the PREVI0US module is connected to a LOW layer after the number of clock cycles required to propagate the signal throughout the ring. When the test head interface 106 issues a special command DESCRIBE_CONFIGURATION ^), different orders of operations occur. When this command is issued, the test head interface 106 will set a counter to zero. The counter is incremented after each bus clock cycle. The low level (i0w-〇rder) in the DES CRIBE_CONFIGURATION command contains 10 digits. Each module in the ring receives this command, and records and reduces the number. If the result of the reduce operation is non-zero, the command is passed through the ring. If the result is zero, the command stops in the module, and the module generates a serial data stream. This module no longer propagates CNFG_IN to CNFG — OUT. Instead, it transmits a serial data stream, one bit 'every clock cycle passes its CNFG —OUT pin to the previous module in the ring. 35 1245912 The body stream is transmitted in this way, one module after another, and finally the f test head interface 106. The data stream is determined by the module; however, the first bit is HIGH (indicating the test head interface 106 that the bit stream is turned on = down (roughly) 12 bits indicating the number of bits left in the data stream The bit under 2 contains information that may be useful for the test controller. Its content is not important here. When the high of the data stream reaches the test head interface 106, the counter will stop. Inside the counter Say, from the issue of the DESCRIBE_CONFIGURATION command, how many periods have elapsed from the position of the device N of the test system controller? The test controller 1 2 can accurately determine the module order and a communication event in the ring. The exact number of clock cycles required for ring transmission is U. The test head interface calculates its time shift from each device itself. The test controller 102 can also choose to calculate the time offset. The final step in the configuration process It is the internal clock time of all devices at the beginning of the test head interface 106. The initial memory of the test head interface to a reasonable initial value (about 1 000), and then issued a command to write to the inside of each module in the ring. Clock register For the ring group, the value of the write device is in the test head interface ι〇6: the memory plus the time offset of the module in the ring, and then add this to write its internal clock temporary storage The time of the device is determined. With this method, the internal clock of the main clock is temporarily written. The value will be exactly the same as the number contained in the internal clock of Test 6. This configuration The advantages of the processing process and structure are that the test controller 102 has the ability to determine how many devices can react back to its beginning). word. , But the bit content is distributed to the pulse of the pulse. When the mode of the central clock is in the middle of the ring, the mode of the clock group is 36, 1245912 bits, which is where the first fault occurs in the ring. Figure 9 illustrates an example of a write operation of a test controller to write a module. In this example, the test controller writes a data character into a first module 920 and a second module 93. Detect 忒 Controller 1 〇2 sends a function + negative source (? 1111 (^ 011 + 1 ^ 30111 *. 6 戸 4 ~ public, ^ e 't + R) characters (that is, contains a function-resource code Control data characters) Enter the generalist „m. Zhala. Data character refers to
示測試控制器寫入-寫入資料字元進入第_模组92〇和第 二模組93 0。功能+資源字το從測試頭介面9丨〇的傳送埠 9 1 2進入通訊環。在下一個共同時脈週期,功能+資源字 元被傳送至第一模組920的接收埠921。在下一個共同時 脈週期,第一模組920解碼宣告一寫入資料字元的功能+ 資源字元,等待寫入資料字元(在第9圖中用雙線來表 示),然後移動該功能+資料字70到傳送埠9 2 2。藉著在各 共同時脈週期從埠與埠傳遞該功能+資源字元,環中各模 組接收功能+資源字元’處理(即解碼)它,然後發送它至 下一階級。在接收到功能+貝源字元後,一第三模組940It indicates that the test controller write-write data characters enter the __module 920 and the second module 930. Function + resource word το enters the communication ring from the transmission port 9 1 2 of the test head interface 9 丨 〇. In the next common clock cycle, the function + resource character is transmitted to the receiving port 921 of the first module 920. In the next common clock cycle, the first module 920 decodes and announces the function of writing a data character + resource character, waits for the writing of a data character (indicated by a double line in Figure 9), and then moves the function + Data word 70 to port 9 2 2. By passing the function + resource character from the port to the port in each common clock cycle, each module in the ring receives the function + resource character 'to process (ie decode) it, and then sends it to the next class. After receiving the function + shell character, a third module 940
並沒有等待只定址於該第’和第二模組的寫入資料字元。 在發送功能+資源字元後的短暫時間(兩個週期)之 後’测試頭介面9 1 〇從傳送璋9丨2提出寫入資料(write data, WD)字元至通訊環。當第〆模紐920和第二模組930接收 寫入資料字元(在第9圖中用—粗框來表示)後,寫入操作 70成。當各二資料字元到達測試碩介面9 1 〇時,它們會從 環中被移去。 37 1245912 讀出操作例子 第1 0圖圖解測試控制器讀出儲存於一模組的資料之 讀出操作。在此例子中,測試控制器正由該第一模組 920 和第二模組93 0讀出字元。測試控制器發送一第一讀出字 元要求至測試頭介面 91 0,其提出一功能+資源字元進入 環中。環中各模組接收功能+資源字元,處理(即解碼)它, 然後發送它至下一階級。資料字元指示測試控制器由第一 模組92 0與第二模組9 3 0讀出資料。接收功能+資料字元 後,第一和第二模組等待讀出資料字元(在第1 〇圖中用雙 線來表示)。 在發送功能+資源字元後的短暫時間(兩個週期)之 後,測試頭介面9 1 0從傳送埠9 1 2提出讀出資料(r e a d d at a, RD)字元至通訊環。在第一讀出資料字元的接收,使用例 如一 OR的操作,第一和第二模組加上對應的資料在第一 讀出資料字元上(以RD 1和RD 1 2分別地表示)。注意第一 模組 920延遲了一個共同時脈週期才傳送該第一讀出資 料字元。測試頭介面從環中移去第一讀出資料字元,且傳 送它至測試控制器。測試控制器會等待,直到在發送第二 讀出字元要求之前,接收到第一讀出資料字元和對應的回 報0 整體重新開始的例子 · 第11圖圖解一整體開始操作,測試控制器排定一包含 一或更多模組的測試。在此例子中,測試控制器排定一用 38 1245912 第一模組9 2 0和第二模組9 3 0執行的測試。測試控制器從 測試頭介面 910 發送一確認同步字元(c ο n f i r m e d s y n c word,CSW)進入通訊環中。確認同步字元指示該測試是被 排定開始在共同時脈時間值 4時,且包含第一和第二模 組。環中各模組接收到該確認同步字元,解碼它,排定一 對共同時脈時間值4(在第1 1圖中以雙線表示)的觸發,然 後發送同步字元至下一個階級。在排定的共同時脈時間值 4,排定的觸發會使該第一和第二模組開始去執行測試(在 第1 1圖中以粗框表示)。排定的觸發並不會使該第三模組 940開始執行該測試,因為在該確認同步字元中,第三模 組並沒有被要求。 一部分同步的例子 第12圖圖解一部份同步的操作,二或更多模組初始 一確認同步字元。本例子使用與第九至十一圖中所表示相 同的模組,且第一模組92 0和第二模組9 3 0初始一確認同 步字元,舉例來說,排定第三模組940的一個開始。為了 初始確認同步字元,第一和第二模組首先需要在它們的狀 態歷史中找到一同時(co-incident)確認中的同步狀態。第 一和第二模組分別有一第一暫存器924和一第二暫存器 9 3 4。第一和第二同步暫存器登錄狀態歷史。一狀態歷史 是對應模組先前3 2個時脈週期的同步中狀態之位元區。 在此例子中,第一模組在共同時脈時間9 6和9 8時有同步 中狀態(在第1 2圖中以黑色箭頭表示),而第二模組在共 39 1245912 同時脈時間98和99時有同步中狀態。第一和第二同步暫 存器在共同時脈時間值 12 8時,分別完成一第一 (A0 〇〇〇 〇〇〇)和第二(3 00 0〇〇〇〇)狀態歷史。在下一個共同時 脈週期,第一和第二狀態歷史被分別轉送至一第一狀態歷 史暫存器925和一第二歷史暫存器935。 在共同時脈時間1 2 9時,第一模組9 2 0插入一部份同 步字元進入通訊環中。此部分同步字元運送第一狀態歷 史。第二模組930執行第一(A0000000)和第二(30000000) 狀悲歷史的一 AND操作,且從通訊環傳送結果至第一模 組92〇 ’作為一合併的狀態歷史(2〇〇〇〇〇〇〇)。在共同時脈 時Μ 1 3 7時,第一模組從通訊環中移去合併的狀態歷史, 並將其放至一内部暫存器928。在下一共同時脈週期中, 第板組在内部暫存器92 8左移該合併狀態歷史,直到一 非零最重要你士文 產生確認同步字元,排定第三模組940的 開始。確訪、店1 1卜卜 '门步子元會被提出至通訊環。第二模組9 3 0可 以修改破切n此a °心冋步子元内的排定開始時間,觸發第三模組 940的開始。There is no waiting for writing data characters which are only addressed to the first and second modules. After a short time (two cycles) after sending the function + resource character, the test head interface 9 1 〇 sends the write data (WD) character to the communication ring from 9 璋 2. When the second module 920 and the second module 930 receive the writing data characters (indicated by a thick frame in FIG. 9), the writing operation is 70%. When the two data characters reach the test interface 9 10, they will be removed from the ring. 37 1245912 Read operation example Figure 10 illustrates the read operation of the test controller to read the data stored in a module. In this example, the test controller is reading characters from the first module 920 and the second module 930. The test controller sends a first read character request to the test head interface 9100, which proposes a function + resource character to enter the loop. Each module in the ring receives the function + resource character, processes (ie decodes) it, and sends it to the next class. The data characters instruct the test controller to read data from the first module 9230 and the second module 9300. After receiving the function + data character, the first and second modules wait to read the data character (indicated by the double line in Figure 10). After a short time (two cycles) after sending the function + resource character, the test head interface 9 10 proposes to read data (r e a d d at a, RD) characters from the transmission port 9 1 2 to the communication ring. At the reception of the first read data character, using an operation such as an OR, the first and second modules add corresponding data to the first read data character (represented by RD 1 and RD 1 2 respectively). ). Note that the first module 920 has delayed a common clock period before transmitting the first read data character. The test head interface removes the first read data character from the ring and sends it to the test controller. The test controller waits until the first read data character is received and the corresponding return 0 is received before sending the second read character request. Example of restarting as a whole. Figure 11 illustrates a start of the whole operation. The test controller Schedule a test with one or more modules. In this example, the test controller schedules a test performed with 38 1245912 first module 9 2 0 and second module 9 3 0. The test controller sends a confirmation synchronization character (c ο n f i r m d s y n c word, CSW) from the test head interface 910 into the communication ring. A confirmation sync character indicates that the test is scheduled to begin at a common clock time value of 4 and includes the first and second modules. Each module in the ring receives the confirmation synchronization character, decodes it, schedules a pair of triggers with a common clock time value of 4 (indicated by the double line in Figure 11), and then sends the synchronization character to the next class . At the scheduled common clock time value of 4, the scheduled trigger will cause the first and second modules to start testing (indicated by the thick box in Figure 11). The scheduled trigger does not cause the third module 940 to perform the test because the third module is not required in the confirmation synchronization character. Example of Partial Synchronization Figure 12 illustrates the operation of partial synchronization. Initially, two or more modules confirm the synchronization character. This example uses the same modules as shown in the ninth to eleventh figures, and the first module 9230 and the second module 9 30 are initially a confirmation synchronization character. For example, the third module is scheduled. The beginning of 940. In order to initially confirm the synchronization characters, the first and second modules first need to find a synchronization status in the co-incident confirmation in their status history. The first and second modules have a first register 924 and a second register 9 3 4 respectively. First and second synchronization register login status history. A status history is a bit area corresponding to the status of the module during the previous 3 or 2 clock cycles. In this example, the first module has synchronization status at common clock times 9 6 and 9 8 (indicated by the black arrow in Figure 12), while the second module has a total clock time of 39 1245912 It is in sync with 99 o'clock. The first and second synchronous registers complete a first (A000000) and second (30000) status history at a common clock time value of 12 8 hours. In the next common clock cycle, the first and second state history are transferred to a first state history register 925 and a second history register 935, respectively. At the common clock time 1 29, the first module 9 2 0 inserts a part of synchronization characters into the communication ring. This part of the sync character carries the first state history. The second module 930 performs an AND operation of the first (A0000000) and the second (30000000) state of sad history, and transmits the result from the communication ring to the first module 92 ′ as a merged state history (2000). 〇〇〇〇〇). At the common clock time M 137, the first module removes the merged state history from the communication ring and puts it into an internal register 928. In the next common clock cycle, the first board group shifts the history of the merged state in the internal register 92 8 to the left, until a non-zero most important genius generates a confirmation synchronization character, and schedules the start of the third module 940. Make sure to visit, shop 1 1 'Bubu Ziyuan will be brought to the communication ring. The second module 9 3 0 can modify the scheduled start time in this a ° heart beat step element to trigger the start of the third module 940.
以下敛述一實施例,其中測試控制器1 02 (第1圖)是 在 工作站中,例如昇陽微系統(Sun MicroSyetem)的一 —可使用物件,和介面單元104 (第1圖)是一 CPU介面 板 CPU介面板被插入工作站内的一空底板槽中。CPU "面板可包含一高效能的FPGA,例如XUinx的一可使用 40 1245912 物件。底板和CPU介面板γ # ^An embodiment is described below, in which the test controller 102 (Fig. 1) is in a workstation, such as one of Sun MicroSyetem-a usable object, and the interface unit 104 (Fig. 1) is an CPU Interface Panel The CPU interface panel is inserted into an empty backplane slot in the workstation. The CPU " panel can contain a high-performance FPGA, such as one for XUinx which can use 40 1245912 objects. Backplane and CPU interface board # ^
败J使用64位元/66MHz的PCI 標準,使其能有一持續的傕於 丁貝寻輸速率大約24〇MB/sec和一最 大理論傳輸速率52 8MB/Sec。 對於CPU介面板,糸站 糸、、先操作可以用阻礙(block)或非 阻礙(non-block)的方式。一阳也p , 阻礙刼作會導致CPU介面板 阻礙資料的更進一步轉误。—It uses the 64-bit / 66MHz PCI standard, which enables it to have a continuous transmission rate of approximately 240MB / sec and a maximum theoretical transmission rate of 52 8MB / Sec. For the CPU interface panel, the first operation can be performed in a blocking or non-blocking manner. Yiyang also p, blocking the operation will cause the CPU interface panel to hinder the further error of the data. —
^ 非阻礙操作不會導致C P U 介面板去阻礙資料的更推_本Μ , 、 進 步轉送。監測測試頭狀態的寫 入操作(即測試頭/s Μ寫入择作、θ兆 u 1八铢作)疋非阻礙的,而且不需要 回應。寫入錯誤,例如由FIF0溢位所引起的那些錯誤, 會導致—例外。監測測試頭狀態的讀出操作(即測試頭/SM 貝出操作)s p且礙’直到讀出的結果是可用的,在一程式 化的逾夺包含至少在32微秒至!毫秒的範圍内。在一 些受限制的事例中,測_ 甲列武碩/SM讀出操作可以選擇地被延 遲且非阻礙的。 -間介面的實作 、攻述實施例’其中介面單元1 04和測試頭介面 1〇6間的介面是-串列連接,以近乎三十億位元組/秒 (一㈣—叫運作。測試頭介® 1〇6可以是一板子,包含^ The non-blocking operation will not cause the CP interface interface to hinder the further promotion of the data. This further transfer. The write operation to monitor the status of the test head (that is, the test head / s Μ write option, θ trillion u 1 baht operation) is non-blocking, and no response is required. Write errors, such as those caused by FIF0 overflow, can cause—exceptions. The readout operation to monitor the status of the test head (ie, test head / SM output operation) is not affected until the readout result is available. A stylized overrun contains at least 32 microseconds to! In the millisecond range. In some restricted cases, the test_Ale Wushuo / SM readout operation can optionally be delayed and unobstructed. -Implementation and description of the inter-interface. The interface between the interface unit 104 and the test head interface 106 is a serial connection at approximately 3 billion bytes per second (one call-operation). Test Heads® 106 can be a board containing
^ 串列化 / 解串列化(serialize/deseriaHze, SerDes)的表置,轉換介面單元的串列資料變成FpGA 可續取的平仃資料。此處可用的一 SerDes裝置的例子是 可4^德儀取得的 τΤ!^21Λι & 的 3 1 0 1,裝置可轉換串列資料成為1 6 位元字兀。為了有效率地發送字元,1 6位元字元被分成4 41 1245912 一凡的半位兀組(nibMe)。各系統操作可由一或更 來描述因此’ 一操作可由該SerDes裝置被編 過多個或部分16位元字元。 ^田對於可月b發生在連結的錯誤,沒有可用來恢 ^ 2H就而要額外傳送錯誤修正來確定連結是 著舉例來說’一被偵測到的殘餘錯誤可被標 成控制H !02,成κ固警告。 以下提供一下絲…^ ^ 丨硬子兀(d〇wniink word)的例子, 、 1 02經由介面單元1〇4發送, 接連結至測試頭介 ^ 面106。一例子是第13A圖所示 予元。女J以上辦封·Χ·/ν °、,,一系統操作可被編碼少於^ 兀。在這些事例中,空白字 、 子破;|面早兀104用來, 補空白(padding),來碹告Μ 木 果確疋*,又有收到任何額外的m -最後的操作是被完全地傳送。帛ΐ3β圖 :^ Serialization / deserialization (serialize / deseriaHze, SerDes) table setting, the serial data of the conversion interface unit becomes FpGA's reproducible flat data. An example of a SerDes device that can be used here is τΤ! ^ 21Λι & 3 1 0 1 which can be obtained by 4 ^ Deyi. The device can convert serial data into 16-bit characters. In order to send characters efficiently, 16-bit characters are divided into 4 41 1245912 ordinary nibMe. Each system operation can be described by one or more. Therefore, an operation can be coded by the SerDes device in multiple or partial 16-bit characters. ^ For the error that may occur in the link that can be b, there is no available to recover ^ 2H, and additional error correction is required to determine the link is for example, 'a detected residual error can be marked as control H! 02 Into a κ solid warning. The following provides an example of a wire ... ^ wwniink word, 102 is sent via the interface unit 104, and is connected to the test head interface 106. An example is shown in Figure 13A. Females above J are to seal · × · / ν ° ,,, a system operation can be coded less than ^ Wu. In these cases, blank characters and sub-breaks are used. | 面 早 Wu 104 is used to fill in padding to inform M Mu Guo indeed *, and any additional m is received-the last operation is completely To ground.帛 ΐ3β graph:
字元是另-個下鏈字元的例子。在發送一二: 試控制器在發送出任何其他的指示之前,2予7° > (即一由測試頭介面1〇6發送的讀出字元,)。曰先等待· 表示的DMA字元是另一個下鏈字元第13C I 〜列于。測钟οσ 可發送一特殊字元命令,包含D #早 八傅遞的計叙 減少了從介面單元1〇4發送到測試頭介面T歎。」 目,此減少量降低了 FPGA所需 106的^ 的圯憶體註m , 的大小)。一額外的好處是測試頭介 (即 η 曲 1 0 4 σΓ 訊環1 1 4上,較佳地控制的資料流。 X在; 具他的下Μ + 有第1 3D圖中所表示的中斷dmA僂诚a 予; 遴子元,第^ 半位 b成超 .的通 ‘靠地 .至測 包含 :過串 空白 個位 為填 時, 讀出 ,測 回應 中所 ,104 能力 令數 FIFO 接通 例子 圖中 42 1245912 所表示的寫入字元,第1 3 F圖中所表示的資源/功能字元, 和第13G圖中所表示的SM寫入字元。中斷DMA傳遞字 元會中斷一流暢進行中的D Μ A讀出。資源/功能字元的資 源和功能區之格式會在下面有更多的描述,S Μ寫入字元 的資料範圍之格式也會在下面有更多的描述。SM寫入字 元的 OxFE槽馬上被用來定址一特定群組的設備。群組可 用由測試控制器發送至測試頭介面的正常寫入操作來定 義。 以下提供一上鏈字元(uplink word)的例子,其包含字 元,由測試頭介面1 06發送至介面單元1 04。上面所描述 的空白字元和讀出字元是上鏈字元的例子。測試頭介面 106發送一讀出字元,用來回應從介面單元104接收一寫 入字元。這是介面單元 104,在發送初始寫入字元之後所 等待的讀出字元。測試頭介面可包含一特點,基於特定功 能碼的讀取,來轉換讀出資料的格式。此特點被用來轉換 由類比或數位設備所擷取的類比樣本之讀取回來。第1 3 Η 圖中所表示的SM讀出字元是另一個上鏈字元的例子,該 字元可由設備或測試頭介面1 〇 6來產生。測試頭介面1 0 6 可處理由設備產生的一些SM字元。在這些事例中,測試 頭介面沒有傳遞SM讀出字元至介面單元104。SM讀出字 元的資料區之格式會在後面有更多地描述。其他的上鏈字 元例子有第1 31圖中所表示的同步字元、第1 3 J圖中所表 示的流程控制字元和第1 3 K圖中所表示的DM A中斷確認 字元。額外的上鏈字元表示在表二中。 43 1245912 位 位 位 位 位 位 位 位 意義 備註 元 兀 兀 兀 兀 兀 7G 兀 7 6 5 4 3 2 1 0 1 0 0 0 0 1 0 1 SM溢位 從模組至測試頭介面 1 0 0 0 0 1 1 0 串列匯流排 從測試控制器至測試頭 錯誤 介面 表二 設備產生的同步字元被發送至測試單元 1 04,用來除 錯和測試流程控制。測試頭介面1 06使用以上所描述的流 程控制字元,來避免它的FIFO暫存器溢位。測試頭介面 106發送DMA中斷確認字元至介面單元104,用來回應接 收到一中斷DMA傳遞。在接收到一 DMA中斷字元後,測 試頭介面1 0 6會等待,直到在發送D Μ A中斷確認字元之 前,所有等待讀取的資料都已被排出串接通訊環1 1 4。 SM介面的實行 以下敘述SM介面的一實施例,包含連接介面單元104 和測試頭介面1 〇 6的兩單向高速串列連接,和連接測試頭 介面與各模組的三條訊號線。 S Μ介面與菊鏈匯流排獨立,且即使當時菊鏈匯流排 沒有在操作,必須有能力運作。S Μ介面具有以下高階的 功能· 44 1245912 • 溫度、電力或其他系統錯誤情形的回報 • 設備的被控制關機和開機 • FPGA下載 • EEPROM 存取 • 系統硬體重新開機 • 槽ID(slot ID)的傳遞 各設備被連接至測試頭介面1 06,集中且緩衝資訊。 測試頭介面有一至介面單元1 04的連接,用來產生錯誤中 斷。一模組應該有至少三個訊號路徑,用來傳送資料、接 地和接收資料。 SM介面也可是通訊環的一部份。也就是測試系統, 從發送控制資料字元到發送S Μ字元都可使用同樣的通訊 設備。 模組的實施 第14圖表示一實施例,其中模組2 0 0是一片狀接腳 模組 1 4 0 0。此實施例是一測試設備模組,其包含一或更 多刺激/量測模組於其中,例如ΡΕ模組、TMU模組和PMU 模組。各個刺激/量測模組有其所要求的特定刺激或量測 工作,而這些特定工作被命令排定,這些命令是依系統主 時脈和設備内部時間計數暫存器的組合而同步化。一專用 的匯流排連接匯流排介面FPGA至設備中一或更多的刺激 或量測模組。模組控制資料被傳遞至刺激/量測模組,且 被刺激/量測模組讀出的資料,在每個週期時以一傳遞的 45 1245912 最大值,被它們在100MHz時脈的上升邊緣(rising edge) 傳遞。 在此實施例中,有3 7個訊號: • 3 2位元雙向資料,在讀取上顛倒Character is an example of another down-chain character. Before sending one or two: The test controller sends 2 to 7 ° > (that is, a read character sent by the test head interface 106) before sending any other instructions. The DMA character indicated by waiting first is another downlink character 13C I ~ listed. The test clock οσ can send a special character command, including D # 早 八 傅 传 's calculation and description, reducing the number of sighs sent from the interface unit 104 to the test head interface. At present, this reduction reduces the size of the memory required for the FPGA (106 m). An additional benefit is the better control of the data flow on the test head (ie η curve 1 0 4 σΓ signal ring 1 1 4). X is at the bottom; with M + has the interruption shown in Figure 1 3D dmA 偻 诚 a ;; Lin Ziyuan, the ^ th digit of b is super. The pass is on the ground. The test includes: when the blank digits of the string are filled, read out, test response, 104 capacity order FIFO Turn on the write character shown in 42 1245912 in the example figure, the resource / function character shown in figure 1 F, and the SM write character shown in figure 13G. The interrupt DMA transfer character will Interrupting a DM A reading that is in progress. The format of the resource and function area of the resource / function character will be described in more detail below, and the format of the data range of the STM write character will also be described in more detail below. Many descriptions. The OxFE slot of the SM write character is immediately used to address a specific group of devices. The group can be defined by the normal write operation sent by the test controller to the test head interface. The following provides an uplink word An example of an uplink word, which contains characters, sent from the test head interface 1 06 to the interface unit 1 04 The blank characters and readout characters described above are examples of uplink characters. The test head interface 106 sends a readout character in response to receiving a write character from the interface unit 104. This is the interface unit 104. The characters to be read after the initial writing characters are sent. The test head interface may include a feature to convert the format of the read data based on the reading of a specific function code. This feature is used to convert by analogy Or the analog sample captured by the digital device is read back. The SM readout character shown in the figure 1 3 另一个 is another example of an uplink character, which can be used by the device or test head interface 1 〇 6 The test head interface 1 06 can process some SM characters generated by the device. In these cases, the test head interface does not pass SM read characters to the interface unit 104. The format of the data area of the SM read characters More details will be described later. Other examples of on-chain characters include the synchronization character shown in Figure 1 31, the flow control character shown in Figure 13 J, and the characters shown in Figure 13 K. DMA interrupt confirmation character indicated. Additional on-chain word It is shown in Table 2. 43 1245912 Bit Bit Bit Bit Bit Bit Meaning Remark Yuan Wu Wu Wu 7G Wu 7 6 5 4 3 2 1 0 1 0 0 0 0 1 0 1 SM overflow from module to test Head interface 1 0 0 0 0 1 1 0 The serial bus synchronizing characters from the test controller to the test head error interface table 2 device are sent to the test unit 1 04 for debugging and test flow control. The test head interface 106 uses the flow control characters described above to avoid its FIFO register overflow. The test head interface 106 sends a DMA interrupt confirmation character to the interface unit 104 in response to receiving an interrupted DMA transfer. After receiving a DMA interrupt character, the test head interface 1 06 will wait until all the data waiting to be read out of the serial communication ring 1 1 4 before sending the D M A interrupt confirmation character. Implementation of the SM Interface An embodiment of the SM interface is described below, including two unidirectional high-speed serial connections connecting the interface unit 104 and the test head interface 106, and three signal lines connecting the test head interface and each module. The SM interface is independent of the daisy-chain bus, and must be capable of operation even if the daisy-chain bus is not operating at the time. The SM interface has the following high-level functions: 44 1245912 • Reporting of temperature, power, or other system error conditions • Controlled shutdown and startup of the device • FPGA download • EEPROM access • System hardware restart • Slot ID Each device is connected to the test head interface 106 to centralize and buffer information. The test head interface has a connection to interface unit 104 to generate an error interrupt. A module should have at least three signal paths for transmitting data, grounding, and receiving data. The SM interface can also be part of the communication ring. That is, the test system can use the same communication equipment from sending control data characters to sending SM characters. Module Implementation Figure 14 shows an embodiment in which the module 2 0 0 is a piece of pin module 1 400. This embodiment is a test equipment module including one or more stimulation / measurement modules, such as a PE module, a TMU module, and a PMU module. Each stimulus / measurement module has its own specific stimulus or measurement task, and these specific tasks are scheduled by commands. These commands are synchronized according to the combination of the system's main clock and the device's internal time register. A dedicated bus connects the bus interface FPGA to one or more stimulus or measurement modules in the device. The module control data is transmitted to the stimulus / measurement module, and the data read by the stimulus / measurement module is transmitted with a maximum value of 45 1245912 at each cycle, and they are rising edges at the 100MHz clock (Rising edge) pass. In this embodiment, there are 37 signals: • 32-bit bidirectional data, reversed in reading
• 3位元週期類型,CYC • BUSY : 0 =停止後來的週期,1=正常操作 資料匯流排和 B U S Y遵守射電收發邏輯加強板 (gunning transceiver logic plus,GTLP)的標準(開路收集 器(open collector)),上拉(pull-ups)至 3v3。CYC 是一存根 系列終端邏輯(stub-series terminated logic,SSTL),且被 該匯流排 F P G A 驅動。資料傳遞確認(d a t a t r a n s f e r acknowledgement, DTACK)由一 Isabella 連接至匯流排 FPGA和其他的Isabella,且為一低電壓電晶體-電晶體邏 輯(low voltage transistor-transistor logic,LVTTL)。表三 表示一 CYC碼的例子。 CYC 義 DTACK 資料匯流排 0 寫入 被使用 由匯流排FPGA驅動 1 讀出 被使用 由配置FPGA驅動 2 功能 被使用 由配置FPGA驅動 3 不操作 被忽略 由匯流排FPGA驅動 4 資源,位元0-31 被忽略 由匯流排FPGA驅動(無用數據資料) 5 資源,位元32-63 被忽略 由匯流排FPGA驅動 6 資源,位元64-95 被忽略 由匯流排FPGA驅動 7 資源,位元96-127 被忽略 由匯流排FPGA驅動 46 1245912 表三 在此實施例中,功能或資源週期總是使用一個時脈週 期。它們不能隨著DTACK延長。如果Isabella其中之一或 兩個都聲明 DTACK時,讀出和寫入週期會被延長。當在 下一個1 OOMHz的上升邊緣DTACK不被聲明時,此週期就 會完成。兩個配置FPGA都需要去監測DTACK來決定一新 的週期何時會開始。這不能假設對 C Y C會發生任何的改 變 〇 除了讀出週期外,匯流排FPGA在所有事例中都用正 常極性(normal polarity)發送資料。在此事例中,FPGA的 輸出是三狀態的(tri-stated),而兩配置 FPGA 的線 -AND(wire-AND)會顛倒讀取回來的資料。這符合 OR'ing 機制所要求。各配置FPGA也包含一映像,容許讀取回來 位元被編成密碼。 在一功能週期中,最不重要的1 6個位元是現行功能 碼,基本位置已被減去,因此它們從零開始。頁0功能不 被發送至Isabe 11 a。最重要的1 6位元是現行資源數字,當 它在系統匯流排時被編碼。 若在資源碼中G = 0(即位元31=0),一單一通道正被定 址,由週期類型4-7設定的資源遮罩不被需要,並且應該 被忽略。若G = 1,功能週期中剩下的資源位元(即位元3 1 -1 6)必須被忽略。被定址的資源會改用一遮罩來定義。由 週期類型4-7寫入的遮罩,可能會發生在功能週期之前或 之後。使用這些週期,最多1 2 8個資源會被定址成任何組 47 1245912 合。為了頻寬的效率,CYC = 4被定義來清除遮罩位元32-1 2 7 ’因此會在週期5 - 7之前被寫入,其可能一點都不被需 要。各配置F P G A需要知道,例如經由一接腳,它是否解 碼高階或低階的資源。 在每20 0MHz時脈上,同步類型和時間資訊在配置 FPGA和該匯流排FPGA間傳遞。各訊號都是SSTL。 以下描述一實施例關於一確認同步的一要求。1 8個 位元由一配置FPGA傳送到FPGA,要求一確認同步。該 1 8個位元包含時間的1 2個位元,其有一近乎1 · 2 2皮秒 (Ρ〇(即5奈秒/4096)的解析度,再加上一 6個位元的同步 類型碼。一同步類型零指示這時脈週期並沒有包含一同 步。 為了低準確性觸發,1 2位元時間區可選擇以六個時間 的最重要位元(most significant bit,MSB)和次類型的六個 位元來編碼。時間資訊反應出產生指引中的使用者時間 T 0。該匯流排F P G A包含一特點可映射同步類型且/或次類 型’容终測試模式是位置獨立的。此映射可被限制,但至 少會容許每個配置FPGA有64個同步。 以下描述一部份同步的一要求。從配置FpgA傳遞一 位元至匯流排FPGA,要求一部份同步。對於該同步中狀 悲的期間,位元應該是一邏輯高。如果在週期中聲稱同步 狀態,且/或在週期末端維持聲稱,任何2〇〇MHz時脈週期 會被標記成同步中。 除了失敗之外,配置FPGA可能有用來產生同梦(例如 48 1245912 運算碼(opcode),EINST位元,匹配)的任何設備,可被 配置成一部份或一確認同步字元。失敗只需要被配置成一 確認同步。這兩要求機制應該能獨立地功能化,容許同時 產生不同的同步。 ^ 以下描述確認同步的一種用法。1 8個位元由一 FPGA 傳送到配置 FP GA,指示一確認同步已經發生。它們靜止 地優先處理同時的事件。這些位元有上面所描述的相同格 式。對於一般目的的同步(即那些不備用在一特定目的,例 如測試程式開始、停止或失敗),配置FPGA有能力以兩個 方法去使用該確認同步時間資訊: • 決定哪個指引包含該同步,且照著動作,但維持 該測試程式定義的(test-program-defined)指引期 間。 • 以同步的精確時間來位移該程式的時序,因此後來 的指引與該同步事件以一固定的等待準確地偏 移。同步的產生也是非同步的,此偏移與指引期間 無關。 此外,配置 FPGA可以忽略發生在運算碼之前的同 步,運算碼會等待它們,或是可以將這些狀態視為已經立 即地接觸。屬於此的配置,和直譯(i n t e r p r e t a t i ο η)的兩個 模式可以用不同的運算碼實行,或依照同步類型的靜態配 置來實行。由於映射機制,配置FPGA不需要知道在同步 用法中的次類型。 匯流排F P G A包含一特點,可映射同步類型且/或次類 49 1245912 型,容許測試模式是位置獨立的。此映射可被限制,但·會 容許每個配置FPGA至少有64個同步。該配置FPGA也需 要一最少共同分母(least-common-denominator)類型計數 器’容許同步識別 '可被延遲直到一合適點為止。 第15圖表示一實施例,關於匯流排FPGA介面與模 組,例如一 PU模組、一 PMU模組和一 TMU模組,可包 含在片狀接腳模組1 4 0 0中。在此實施例中,有四個此類模 組。物性連接是一對全半位元組(n i b b 1 e - w i d e)單向串列 流’其時脈在1 2 · 5、2 5、5 0或1 0 〇 MHz。使用總共1 〇個連 接器接腳(不包含接地)。此實施例的典型傳輸速率是4 〇• 3-bit period type, CYC • BUSY: 0 = stop subsequent periods, 1 = normal operating data bus and BUSY comply with the standard of the transceiver transceiver logic plus (GTLP) (open collector )), Pull-ups to 3v3. CYC is a stub-series terminated logic (SSTL) and is driven by the bus F P G A. The data transmission acknowledgement (d a t a t r a n s f e r acknowledgement, DTACK) is connected to the bus FPGA and other Isabella by an Isabella, and is a low voltage transistor-transistor logic (LVTTL). Table 3 shows an example of a CYC code. CYC DTACK data bus 0 write is used by bus FPGA driver 1 read is used by configuration FPGA driver 2 function is used by configuration FPGA driver 3 no operation is ignored by bus FPGA driver 4 resources, bits 0- 31 Ignored by bus FPGA (useless data) 5 Resources, bits 32-63 Ignored by bus FPGA driven 6 Resources, bits 64-95 Ignored by bus FPGA driven 7 Resources, bits 96- 127 Ignored Driven by Bus FPGA 46 1245912 Table 3. In this embodiment, the function or resource cycle always uses one clock cycle. They cannot be extended with DTACK. If either or both of Isabella asserts DTACK, the read and write cycles will be extended. This cycle will complete when DTACK is not asserted at the next rising edge of 100 MHz. Both configuration FPGAs need to monitor DTACK to determine when a new cycle will begin. This cannot be assumed that any changes will be made to C Y C. Except for the read cycle, the bus FPGA sends data with normal polarity in all cases. In this case, the output of the FPGA is tri-stated, and the wire-AND of the two configured FPGAs will reverse the read data. This meets the requirements of the OR'ing mechanism. Each configuration FPGA also contains an image that allows read back bits to be coded. In a function cycle, the least significant 16 bits are the current function code. The basic positions have been subtracted, so they start from zero. Page 0 functions are not sent to Isabe 11a. The most significant 16 bits are the current resource number, which is encoded when it is on the system bus. If G = 0 (ie, bit 31 = 0) in the resource code, a single channel is being addressed. The resource mask set by period types 4-7 is not required and should be ignored. If G = 1, the remaining resource bits (ie, bits 3 1 -1 6) in the function cycle must be ignored. Addressed resources are defined using a mask instead. Masks written by cycle types 4-7 may occur before or after the function cycle. Using these cycles, a maximum of 1 2 8 resources will be addressed into any group 47 1245912. For bandwidth efficiency, CYC = 4 is defined to clear the mask bits 32-1 2 7 ′ and is therefore written before cycles 5-7 which may not be needed at all. Each configuration F P G A needs to know, for example, via a pin, whether it decodes high-order or low-order resources. At every 200 MHz clock, synchronization type and time information is passed between the configuration FPGA and the bus FPGA. Each signal is SSTL. The following describes a requirement of an embodiment regarding an acknowledgement synchronization. The 18 bits are transferred from the configuration FPGA to the FPGA, requiring a confirmation synchronization. The 18 bits include 12 bits of time, which has a resolution of approximately 1.22 picoseconds (P0 (that is, 5 nanoseconds / 4096), plus a 6-bit synchronization type Code. A synchronization type of zero indicates that the clock cycle does not include a synchronization. For low-accuracy triggering, the 12-bit time zone can select the six most significant bits (MSB) and sub-types of time. Six bits are used for encoding. The time information reflects the user time T 0 in the generation guide. The bus FPGA includes a feature that can map the synchronization type and / or the sub-type. The terminal capacity test mode is position independent. This mapping can be Limited, but will allow at least 64 synchronizations per configured FPGA. The following describes a requirement for some synchronization. Passing a bit from the configuration FpgA to the bus FPGA requires a partial synchronization. For this synchronization, there is a tragedy. During the period, the bit should be a logic high. If the synchronization state is claimed in the cycle and / or the claim is maintained at the end of the cycle, any 200MHz clock cycle will be marked as synchronized. In addition to failing, configure the FPGA May be used Any device that has the same dream (such as 48 1245912 opcode, EINST bit, match) can be configured as a part or a confirmation synchronization character. Failure only needs to be configured as a confirmation synchronization. The two requirements mechanism should be It can be independently functionalized, allowing different synchronizations to be generated at the same time. ^ One of the usages for confirming synchronization is described below. 18 bits are transferred from an FPGA to the configuration FP GA, indicating that a confirmation synchronization has occurred. They statically prioritize simultaneous synchronization. Events. These bits have the same format as described above. For general-purpose synchronization (that is, those that are not reserved for a specific purpose, such as test program start, stop, or failure), the FPGA is configured to have the ability to use the acknowledgement in two ways Synchronize time information: • Decide which guide contains the synchronization and follow the action, but maintain the test-program-defined guide period. • Shift the program's timing with the precise time of the synchronization, so later The guide and the synchronization event are exactly offset with a fixed wait. The generation of synchronization is also asynchronous This offset has nothing to do with the guidance period. In addition, the FPGA can be configured to ignore synchronizations that occur before the opcodes, the opcodes can wait for them, or they can treat these states as immediately contacted. Configurations that belong to this, and literal translation ο η) The two modes can be implemented with different operation codes, or according to the static configuration of the synchronization type. Due to the mapping mechanism, the FPGA configuration does not need to know the subtype in the synchronization usage. The bus FPGA contains a feature that can Mapping synchronization type and / or subclass 49 Type 1245912 allows the test mode to be position independent. This mapping can be limited, but will allow at least 64 synchronizations per configured FPGA. This configuration FPGA also requires a least-common-denominator type counter 'allow synchronous identification' which can be delayed until a suitable point. FIG. 15 shows an embodiment regarding the bus FPGA interface and module, such as a PU module, a PMU module, and a TMU module, which can be included in the chip pin module 140. In this embodiment, there are four such modules. The physical connection is a pair of full nibbles (n i b b 1 e-w i d e) one-way serial stream 'whose clock is at 1 2 · 5, 25, 50 or 100 MHz. Use a total of 10 connector pins (excluding ground). The typical transmission rate in this embodiment is 4
Mbytes/sec ° 除了時脈疋低電壓微分發信號(l〇w voltage differential signaling,LVDS)之外,所有九個訊號是單一 終止(single-ended)、相容於LVTTL且具有50W串列終止。 全部八個資料在主機板上的匯流排介面FPga和PE模組 上的 FPGA/EPLD (erasable programmable logic device,可 清除程式化邏輯元件)之間都是點對點的(p〇int_t〇_ point) ° 匯流排F P G A產生時脈,每個介面都可程式化(丨2.5、 25、50或ι00ΜΗζ)。預設值是12·5ΜΗζ。時脈反轉被用來 確認最佳的時序。 各模組在片狀接腳上(例如PE、tmU和PMU)有一獨 立的連接。回應一單一讀取操作,匯流排介面fpga負責 OR ing —起從多數模組讀取資料。 50 1245912 以下描述實施例的下鍵(d o w η 1 i n k i n g)。 資料被轉換 成4位元半位元組’或一連串的半位元組,如下: • 0x0 :填補空白。被忽略。 • 0x4 :讀出資料。回應在上鏈。 • 0x5 +8N :用資料的32個位元寫入資料,LS4b為 先。 • 〇x7 + 4N :用功能碼的1 6個位元寫入功能。 • 0x8 + lN:用4個先解碼(pre-decoded)定址位元寫入 資源。 • 0 X 9 + 1 N :用8個先解碼定址位元寫入資源。 • 〇xA+1N :用16個先解碼定址位元寫入資源。 • 0χΒ + 1Ν :用32個先解碼定址位元寫入資源。 • 〇xF :重新啟動。九的一最小值被連續發送。 • 其他:作為未來擴充用。 資料傳輸永遠是3 2個位元。資源字元被匯流排f P G A 先解碼。各位元對應一接腳,至每個PE模組最大值3 2。 若一位元被設定,接腳就被定址。多數接腳可同時被定址。 PE模組不被預期要執行共享解碼(participate decode)—此 功能被匯流排介面FPGA管理。若一資源寫入包含的位元 少於模組最大值資源數,上面位元會被設為零。一 PE模 組不需要處理大於合法大小的資源寫入。 因為先解碼資源字元,沒有槽類型或模組ID訊號需 要被傳送至模組做幫助解碼(aid-decoding)。匯流排FPGA 可以過濾無用的匯流排交易(transaction) —·即對應到並未 51 1245912 被P才吴 '且解碼的資源或功能之交易。匯流排FPGA管 理對PE模組之匯流排交易的一 fif〇行列。 =下描述實施例的上鏈。填補空白半位元組跟隨著一 貝料靖取在下鏈傳$ ,直到讀出的全部8個半位元組都在 上鏈被接A。-在下鏈(〇xF)的重新啟動t放棄該讀出。大 部分的時候上鍵傳輸會填補空白半位元組(〇χ〇)。只有當有 -合法的資料回應下鏈的一讀料,會是資料傳輸。在此 "f列中,~· 0 v 4 2 — 立元組被8個資料半位元組跟隨,LS4b 為先。 輊控制機制也會被定義,用來容許Ρ β模組停止 從匯流排F p A & —敫 、1卜傳送,例如:為了容許慢的暫存器 :正寫人。若ΡΕ帛組可支援操作在最大的傳輸速率下, 就不需要應用到此機制。 xC的上鏈半位元組告訴該匯流排FP(3A繼續該(若 :任-)現行傳輸’但接下來延緩額外傳輸,直到Ο』的 一上鏈半位元組被發送。在延遲㈣,填補空白半位元組 (οχο)在遠下鏈被發送。唯—的例外是—重新啟動(㈣), 在:鏈的恢復正常的操作。該上鏈資料位元被拉高,因此 匯流排FPGA可利用〇xF碼可看見找不到的模組的特性, 來偵測它們。 於FPGA下載’有一五線標準的jtag匯流排被安 、佐至各ΡΕ杈組。若有需要’這可* FpGA下載用來 作為除錯的功能。設備也可選擇採用其㈣fpga下載配 置。因為需要支援其他FPGA的廠商,專用的Xilinx訊 52 1245912 號(例如DIN和PR〇G)並未提供。為亍儲存匯流排介面 GA接腳,二共同的jTAG控制訊號可被安排路徑平行至 全部四個PE模組。然而,Tm和TD〇線是獨特的。 每一 PE模組包含一 EEpR〇M,需要用它來決定模組 的類型。EEPROM通常在FPGA下載之前存取,因為其内 奋會決定配置。其有兩個連接器的接腳,都是LVTTL相容 的。它們是屬於PROM時脈和pr〇m資料。資料線是雙向 開放連接裔,在主機板停止。為了儲存匯流排介面FpGA 接腳,EEPROM時脈訊號可被安排路徑平行至全部四個pE 模組。然而,資料線是獨特的。 第1 6圖表不一實施例,其中模組包含在該片狀接腳模 組1 400中’包含一模組介面FpGAs和一測試電路配置來 產生測试机號的依序事件,應用美國專利第5 4 7 7丨3 9號和 5 2 1 244 3號所描述的一事件定序器之測試性能。在此實施 例中’各測試電路包含一獨立串列介面,有三個LVTTL接 腳: • 100MHz 時脈 • TxD(傳送資料)一從模組介面FPGA至配置FPGA 第二類型的串列資料(下鏈) • RxD(接收資料)一從測試電路至模組介面FPGA的 串列資料(上鏈)Mbytes / sec ° Except for low-voltage micro-distribution signals (LVDS), all nine signals are single-ended, compatible with LVTTL, and have 50W serial termination. All eight data are point-to-point (p〇int_t〇_point) between the bus interface FPga on the motherboard and the FPGA / EPLD (erasable programmable logic device) on the PE module. The bus FPGA generates the clock, and each interface can be programmed (丨 2.5, 25, 50, or ι00ΜΗζ). The default value is 12.5MΗζ. Clock reversal is used to confirm the optimal timing. Each module has an independent connection on the chip pins (such as PE, tmU and PMU). In response to a single read operation, the bus interface fpga is responsible for OR ing-reading data from most modules. 50 1245912 The following describes the lower bond (d o w η 1 i n k i n g) of the embodiment. The data is converted into 4-bit nibbles' or a series of nibbles, as follows: • 0x0: fill in the blanks. be ignored. • 0x4: Read data. The response is on the chain. • 0x5 + 8N: Write data with 32 bits of data, LS4b first. • 〇x7 + 4N: Write function with 16 bits of function code. • 0x8 + lN: The resource is written with 4 pre-decoded address bits. • 0 X 9 + 1 N: Write resource with 8 first decode address bits. • 〇xA + 1N: Write the resource with 16 first decode address bits. • 0 × Β + 1N: Write the resource with 32 first decode address bits. • 〇xF: restart. A minimum of nine is sent continuously. • Other: For future expansion. Data transmission is always 32 bits. The resource characters are decoded first by the bus f P G A. Each element corresponds to a pin, up to a maximum of 3 2 per PE module. If a bit is set, the pin is addressed. Most pins can be addressed simultaneously. PE modules are not expected to perform shared decode—this function is managed by the bus interface FPGA. If a resource write contains fewer bits than the module's maximum number of resources, the upper bits will be set to zero. A PE module does not need to handle resource writes larger than the legal size. Because the resource characters are decoded first, no slot type or module ID signal needs to be transmitted to the module for aid-decoding. The bus FPGA can filter useless bus transactions (that is, transactions that correspond to resources or functions that are not decoded by 51 1245912). The bus FPGA manages a fif0 rank of bus transactions on PE modules. = The following describes the winding up of the embodiment. Filling in the blank nibbles followed by Bei Jingjing took the down chain and passed $ until all 8 nibbles read out were connected to A on the chain. -Restart at the down chain (0xF) to discard the readout. Most of the time the key-up transmission will fill the blank nibbles (0χ〇). Only when there is a-legitimate data response to the first reading of the next chain, will it be a data transmission. In this " f column, ~ · 0 v 4 2 — The byte is followed by 8 data nibbles, LS4b first. The 轾 control mechanism will also be defined to allow the P β module to stop transmitting from the bus F p A & 卜, 1b, for example: to allow slow registers: the writer. If the PEE group can support operation at the maximum transmission rate, this mechanism need not be applied. The uplink nibble of xC tells the bus FP (3A to continue the (if: any-) current transmission ', but then delay additional transmission until one of the uplink nibbles of 0 is sent. , Fill the blank nibbles (οχο) are sent in the far off-chain. The only exception is-restart (㈣), in: the chain resumes normal operation. The on-chain data bits are pulled up, so the confluence The FPGA can use the 0xF code to see the characteristics of the modules that can not be found to detect them. Download the 'one- and five-wire standard jtag buses from the FPGA to each PE group. If necessary' This can be used as a debugging function for FpGA download. The device can also choose to use its ㈣fpga download configuration. Because it needs to support other FPGA vendors, the dedicated Xilinx 52 5245912 (such as DIN and PR0G) is not provided. In order to store the GA pin of the bus interface, two common jTAG control signals can be arranged in parallel to all four PE modules. However, the Tm and TD〇 lines are unique. Each PE module contains an EEPROM , Need to use it to determine the type of module. EEPROM is usually in The FPGA is accessed before downloading, because it will decide the configuration. It has two connector pins, both are LVTTL compatible. They belong to the PROM clock and pr0m data. The data line is a bidirectional open connection Stop on the motherboard. In order to store the FpGA pins of the bus interface, the EEPROM clock signal can be routed parallel to all four pE modules. However, the data line is unique. The 16th diagram is not an example, of which The module is included in the chip pin module 1 400. 'Contains a module interface FpGAs and a test circuit configuration to generate a sequential event of the test machine number. U.S. Patent No. 5 4 7 7 丨 3 9 and 5 2 1 244 Test performance of an event sequencer as described in No. 3. In this embodiment, each test circuit includes an independent serial interface with three LVTTL pins: • 100MHz clock • TxD (transmit data) One serial data from the module interface FPGA to the configuration FPGA (downlink) • RxD (receive data)-serial data from the test circuit to the module interface FPGA (uplink)
TxD和RxD的閒置狀態是高。所有的TxD訊息以一單 一零位兀開始’跟隨著一二位元訊息類型和一可變長度的 承载(PaYl0ad)。LSB最先被傳輸。在訊息間不要求閒置狀 53 1245912 態。RxD是相同的,除非它只用在讀取回來,因此沒有訊 息類型。表四表示該配置FPGA第二類型的訊息類型之例 子: 類型 承載長度 意義 TxD? RxD? 0 0 執行讀出 是 否 1 31個位元 寫入資料 是 否 2 16個位元 資源,解碼遮罩 是 否 3 16個位元 功能,基於零 是 否 N/a 32個位元 讀出資料 否 是 表四The idle states of TxD and RxD are high. All TxD messages start with a single bit and zero bits followed by a two bit message type and a variable length bearer (PaYl0ad). The LSB is transmitted first. No idle status is required between messages 53 1245912 status. RxD is the same, unless it is only used to read it back, so there is no message type. Table 4 shows an example of the configuration of the second type of message of the FPGA: Type Bearer Length Meaning TxD? RxD? 0 0 Whether to perform reading 1 31 bits to write data whether 2 16 bit resources, whether the decoding mask 3 16-bit function, based on whether zero / N / a 32-bit read data
TxD訊息類型0(讀取資料)要求該測試電路回應RxD 所要求的資料。測試電路可用一些時間來回應,且直到沒 有更多的資料被傳遞。PE模組FPGA負責OR’ing從多測 試電路一起讀取資料,回應一單一的讀取操作。 1 6位元資源遮罩有一個位元屬於每個測試電路中的 各可定址的資源,資源最多至1 6個。若位元被設定,資源 就被定址。這些位元可以任何組合被設定,用來實施共享 —這被該匯流排FPGA來處理。除了測試電路外不需要知 道現行的MUX模式,因為軟體使用的資源碼將會是現行 模式中分派給接腳的第一資源,例如在一四至一模式 (4-to-l mode),s/w會定址資源0、4、8等。其包含的16 位元遮罩可以被測試電路直譯成現行模式所需要的。第1 7 54 1245912 圖提供此實施例中功能、資源、寫入和讀出訊息的例子。 第1 8圖表示一實施例,其中模組包含一替代的測試電 路。有2 0個E C L相容訊號: • TxC,將傳輸時脈化 • UWORD : 0/1屬於LS/MS — 32位元轉換的十六個 位元 • S 0,S 1 :將週期類型編碼 • D0-1 5 :雙向資料匯流排,線- OR’d(wire-OR’d) 時序和通訊協定可相容於替代的測試電路裝置。因為 共享解碼現在被BUS IF所管理,替代測試電路元件的共享 記憶體則沒有被使用。 以下描述在匯流排和S M F P G A s之間的一介面之實施 例。在設備主機板上的這兩個裝置之間有一慢速串列連 接。這被用來:TxD message type 0 (read data) requires the test circuit to respond to the data requested by RxD. The test circuit may take some time to respond, until no more data is passed. The PE module FPGA is responsible for OR’ing to read data from multiple test circuits together and respond to a single read operation. The 16-bit resource mask has one bit belonging to each addressable resource in each test circuit, with up to 16 resources. If the bit is set, the resource is addressed. These bits can be set in any combination to implement sharing-this is handled by the bus FPGA. It is not necessary to know the current MUX mode except for the test circuit, because the resource code used by the software will be the first resource assigned to the pin in the current mode, such as in a 4-to-l mode, s / w will address resources 0, 4, 8, etc. The 16-bit mask it contains can be directly translated into the current mode required by the test circuit. Figure 1 7 54 1245912 provides examples of functions, resources, write and read messages in this embodiment. Figure 18 shows an embodiment in which the module includes an alternative test circuit. There are 20 ECL-compatible signals: • TxC, which will clock the transmission. • UWORD: 0/1 belongs to LS / MS — 16 bits in 32-bit conversion. • S 0, S 1: encodes the cycle type. D0-1 5: Bidirectional data bus, wire-OR'd (wire-OR'd) timing and communication protocol are compatible with alternative test circuit devices. Because shared decoding is now managed by the BUS IF, shared memory that replaces test circuit components is not used. An embodiment of an interface between the bus and S M F P G A s is described below. There is a slow serial connection between the two units on the device's motherboard. This is used:
• 通知匯流排FPGA它用作資源解碼目的的槽ID • 重新設定設備 • 訊號錯誤資訊送回SM系統 SM FPGA必須產生用來程式化匯流排FPGA的訊號並 不包含在這部分裡。這些訊號是廠商特定的 (vendor-specific),並不需要標準化。為了有效率設計再使 用,且減少所需要光偶合器(opto-coupler)的數量,會使用 一雙線(TxD + RxD)的架構,與第5.3節中所指示的相同。 下鏈(SM EPLD至匯流排FPGA)位元組是已程式化的 槽ID,且在SM EPLD接收它時被寫入。唯一的例外是: 55 1245912• Notify the bus FPGA of the slot ID it uses for resource decoding purposes. • Reset the device. • Signal error information sent back to the SM system. The SM FPGA must generate signals to program the bus FPGA and are not included in this section. These signals are vendor-specific and do not need to be standardized. In order to design and reuse efficiently and reduce the number of opto-couplers required, a two-wire (TxD + RxD) architecture is used, as indicated in Section 5.3. The downlink (SM EPLD to bus FPGA) byte is a programmed slot ID and is written when SM EPLD receives it. The only exception is: 55 1245912
OxFF不會被直譯成一槽I_D,而是被看成一通用重新設定。 如下所述,它也重新傳送任何接著而來的錯誤。若有任何 現行錯誤狀態,OxFE會要求匯流排FPGA傳送之。通常錯 誤只被傳送一次,然後就寂靜地被清除掉。上鏈(匯流排 FPGA至SM EPLD)位元組被編碼成錯誤碼,在第5.5節有 定義其確切的格式。除非有錯誤,否則不會發生傳送。 第1 9圖表示用以控制一或多個模組的一處理過程,其 係根據一測試處理而被配置以測試一或多個積體電路。確 認在測試處理過程中至少一正參與的模組(步驟1 9 1 0)。確 認在獨立測試執行緒當中的一測試執行緒(步驟1 920),該 測試執行緒包含用來產生欲送至其他模組的資料字元之指 令,且該測試執行緒被送至該經確認模組(步驟1 9 3 0)。 第 2 0圖表示用以控制和同步一或多個設備以測試一 電路的一處理過程,其中該測試設備被連接於一通訊環。 藉由使用一主時脈的一通用時脈訊號,每一測試設備之一 内部時間暫存器的同步被設定及保持於一共用時脈週期 (步驟20 1 0)。此共用時脈週期提供用以排定測試事件的共 用時脈時間值。將匯流排字元插入於通訊環中(步驟2020) 以將該匯流排字元攜至各測試設備。該插入的匯流排字元 包含至少一匯流排字元,其指定一排定的共用時脈時間值 以由一目標測試設備執行一測試事件。指定一排定的共用 時脈時間值之匯流排字元係由該目標測試設備讀出(步驟 2 0 3 0 ),且使用該排定的共同時脈時間值和該目標測試設備 之内部時間暫存器内的共同時脈週期值來決定何時要執行 56 1245912 測試事件(步驟2 Ο 4 Ο)。· 在此描述的方法和設備可以實行在數位電 件,或是電腦硬體、韌體、軟體或這些的組合 法和設備可以實行為一電腦程式產品,即一電 資訊載體上具體地實施,例如:在一機器可讀 置或是在一被傳播的訊號中,被資料處理裝置 用來控制其操作,該裝置例如一可程式化的處 腦或一多數電腦。一電腦程式可用各形式的; 成,包含組譯或直譯的語言,且可以任何形式 含作為一獨立的(stand-alone)的程式或作為_ 件、副程式(subroutine)或其他適合在電腦環境 何元件。一電腦程式可被展開來執行在一電腦 腦上,該些電腦在單一位置或分佈跨越多數位 運網路作内部連結的。 利用一或更多可程式化處理器執行的方法 作輸入資料和產生輸出執行一電腦程式,來執 的功能。也可利用特殊目的邏輯電路系統,執行 或用在此描述的裝置來作為該電路系統,例如 一特殊應用積體電路(aPplicati〇n_specific circuit,ASIC)。 舉例來說,適合執行一電腦程式的處理器 和特殊目的兼具的微處理器,和任何種類數位 或更多處理器。通常來說,一處理器會從一唯 一隨機存取記憶體或兩者都有,來接收命令和 子式電子元 中。這些方 腦程式在— 取的儲存裝 所執行或是 理斋 n —電 程式語言寫 被展開,包 -模組、部 裡使用的任 或是多數電 置且用一通 步驟,靠操 行此處描述 •方法步驟, 一 FPGA 或 integrated 包含,一般 電腦的任一 讀記憶體或 資料。一電 57 1245912 腦的基本要素,肴一用來執行命令的處理器和一 故更夕用 來儲存命令與資料的記憶體元件。通常來說,—番_ u — 电腦也包 含,一或更多大量儲存裝置用來儲存資料,例如.^ # .磁碟、 磁光碟(magneto-optical disk,M0)或光碟,在操 '、|卩上被揭 合來從其接收或是傳送資料或兩者兼具。適合具體化電腦 程式命令和資料的資料載具包含各種形式的非揮發性記憶 體,舉例來說包含半導體記憶體元件,例如:EpR〇M, E E P R ◦ Μ和快閃記憶體元件;磁碟,例如内部硬碟和可移 動式硬碟;磁光碟;和CD-ROM和DVD-R〇m。處理器和 記憶體可增補特殊目的邏輯電路系統,或是包含在其中。 本方法和裝置已用一特定實施例的形式描述。其他實施例 也在後附之申請專利範圍所界定的範圍之中。舉例來說, 所描述的步驟可以一不同的順序來執行,且仍然達成所需 的結果。用來配合現成設備的裝置可包含在測試頭之中, 或可選擇地包含在各模組中。模組可以有任何的結構,支 援從一通訊環交換資料,且並沒有受到插述的實施例所限 制。測試系統可以從一由通訊環分開的頻道傳遞狀態監測 字疋’或是可替代地從通訊環傳遞此類的字元。 【圖式簡單說明】 第1圖為一測試系統的方塊圖。 第2圖表示一用來測試一或更多電路的方法 第3圖為一測試系統模組的一共同模組配置之方塊圖 58 1245912 第4 A圖表示一控制資料字元的一格式。 第4B圖表示一空資料字元的一例。 第5圖表示一控制資料字元的功能來源部分之一格式。 第6圖表示一寫入流(write flow)控制資料字元。 第7圖表示一已確定同步字元的一例。 第8圖表示一部份同步字元的一例。 第9圖圖解一測試控制器至模組(test-controller-to-module) 寫入操作。 第1 0圖圖解一該測試控制器讀出存於一模組内資料的讀 出操作。 第11圖圖解一通用開始操作。 第1 2圖圖解一部份同步操作。 第1 3 A-1 3 K圖表示用在一實施例中自的例子。 第1 4圖表示模組2 0 0的一實施例。 第15圖表示BUS FPGA和一 PE間的連結之一實施例。 第16圖表示在一 PE、TMU或PMU模組内的通訊介面之 一實施例。 第1 7圖表示功能、資源、寫入和讀出訊息的例子。 第18圖表示在一 PE、TMU或PMU模組内的通訊介面之 另一實施例。 第 19圖表示根據一測試處理過程之用以控制一或多個模 組的一處理過程。 第 2 0圖表示用以控制和同步一或多個測試設備以測試一 電路的一處理過程。 59 1245912 不同圖式中相似的參考符號表不相似的要素。 【元件代表符號簡單說明】 100 : 測 試 系 統 101 測 試 頭 102 : 測 試控 制 器 104 介 面 單 元 106 : 測 試 頭 介 面 107 主 系 統 時 脈 108 : 片 狀 接 腳 模 組 110 δ又 備 電 源 供 應 器 模組 112 : 控 制 器 連 接 114 串 列 通 訊 環 116 : 連 接 117 時 脈 連 接 200 : 方 法 202 步 驟 204 : 步 驟 206 步 驟 208 : 步 驟 216 記 憶 體 控 制 器 300 : 共 同 模 組 架 構 302 共 同 介 面 和 匯 流 排 304 : 確 認 同 步 類 型 306 確 認 同 步 精 確 時 間 3 08 : 同 步 要 求 310 中 央 處 理 器 3 12 : 中 央 處 理 器 匯 流 排 3 14 除 以 二 除 法 器 3 16 : 記 憶 體 控 制 電 路 系統 910 : 測 試 頭 介 面 912 傳 送 埠 920 : 第 一 模 組 921 接 收 埠 922 : :傳 送 埠 924 第 一 暫 存 器 925 : :第 一 狀 態 歷 史 暫 存器 928 : :内 部 暫 存 器 930 : :第 二 模 組 934 :第 二 暫 存 器 93 5 : :第 二 狀 態 歷 史 暫 存器 940 :第三模組 1 400 :片狀接腳模組OxFF is not literally translated into a slot I_D, but is seen as a general reset. As described below, it also retransmits any subsequent errors. If there are any current error conditions, OxFE will ask the bus FPGA to transmit them. Errors are usually transmitted only once and then silently cleared. The on-chain (bus FPGA to SM EPLD) bytes are encoded as error codes. The exact format is defined in Section 5.5. Unless there is an error, no transmission will occur. FIG. 19 shows a process for controlling one or more modules, which is configured to test one or more integrated circuits according to a test process. Confirm that at least one module is participating in the test process (step 1910). A test thread (step 1 920) among the independent test threads is confirmed, the test thread contains instructions for generating data characters to be sent to other modules, and the test thread is sent to the confirmed Module (step 193 0). Figure 20 illustrates a process for controlling and synchronizing one or more devices to test a circuit, where the test device is connected to a communication ring. By using a common clock signal of a main clock, the synchronization of an internal time register of each test device is set and maintained at a common clock cycle (step 20 10). This common clock period provides a common clock time value for scheduling test events. The bus characters are inserted into the communication ring (step 2020) to carry the bus characters to each test device. The inserted bus characters include at least one bus character, which specifies a scheduled shared clock time value for a test event to be executed by a target test device. The bus characters that specify a scheduled shared clock time value are read by the target test device (step 2300), and the scheduled common clock time value and the internal time of the target test device are used to temporarily The value of the common clock period in the register determines when to execute the 56 1245912 test event (step 2 0 4 0). · The methods and equipment described herein can be implemented in digital electronics, or computer hardware, firmware, software, or a combination of these methods and equipment can be implemented as a computer program product, that is, an electrical information carrier, For example, a machine-readable device or a transmitted signal is used by a data processing device to control its operation, such as a programmable brain or a majority of computers. A computer program can be in various forms; it can be composed or translated directly, and it can be included in any form as a stand-alone program or as a component, subroutine, or other suitable for the computer environment. Any component. A computer program can be deployed to run on a computer brain that is internally linked across multiple networks in a single location or distribution. A function performed by using one or more programmable processor-executable methods as input data and generating output to execute a computer program. A special purpose logic circuit system can also be used to implement or use the device described herein as the circuit system, such as a special application integrated circuit (ASIC). For example, a processor suitable for executing a computer program and a special purpose microprocessor, and any kind of digital or more processor. Generally speaking, a processor will receive commands and sub-electronics from a single random access memory or both. These formulas are executed in the storage device or the storage space. The programming language is written, and the package-modules, mini-modules, or most of the electronic devices are used and one step is used. • Method steps, an FPGA or integrated contains any read memory or data of a general computer. An electric 57 1245912 The basic elements of the brain, a processor for executing commands and a memory element for storing commands and data. Generally speaking, —fan_u — computers also contain one or more mass storage devices used to store data, such as. ^ #. Magnetic disks, magneto-optical disks (M0), or optical disks, which are operating, | Zhang was uncovered to receive or transmit data from it or both. Data carriers suitable for computer program commands and data contain various forms of non-volatile memory, such as semiconductor memory components, such as EpROM, EEPR, M and flash memory components, magnetic disks, Examples include internal hard drives and removable hard drives; magneto-optical discs; and CD-ROMs and DVD-ROMs. The processor and memory can be supplemented by, or included in, special purpose logic circuits. The method and apparatus have been described in the form of a specific embodiment. Other embodiments are also within the scope defined by the appended patent application scope. For example, the steps described may be performed in a different order and still achieve the desired result. The means for cooperating with off-the-shelf equipment may be included in the test head, or may optionally be included in each module. The module can have any structure to support the exchange of data from a communication ring, and is not limited by the embodiment described. The test system may pass the status monitoring word 'from a channel separated by the communication ring or alternatively such characters may be transmitted from the communication ring. [Schematic description] Figure 1 is a block diagram of a test system. Figure 2 shows a method for testing one or more circuits. Figure 3 is a block diagram of a common module configuration of a test system module. 58 1245912 Figure 4A shows a format of a control data character. Fig. 4B shows an example of a blank data character. FIG. 5 shows a format of a functional source part of a control data character. FIG. 6 shows a write flow control data character. Fig. 7 shows an example of a determined synchronization character. Fig. 8 shows an example of some synchronization characters. Figure 9 illustrates a test-controller-to-module write operation. Figure 10 illustrates a read operation of the test controller to read the data stored in a module. Figure 11 illustrates a general start operation. Figure 12 illustrates part of the synchronous operation. Figures 1 3 A-1 3 K show examples used in one embodiment. FIG. 14 shows an embodiment of the module 2000. FIG. 15 shows an embodiment of the connection between the BUS FPGA and a PE. Fig. 16 shows an embodiment of a communication interface in a PE, TMU or PMU module. Figure 17 shows examples of functions, resources, and write and read messages. Fig. 18 shows another embodiment of a communication interface in a PE, TMU or PMU module. Fig. 19 shows a process for controlling one or more modules according to a test process. Figure 20 illustrates a process for controlling and synchronizing one or more test devices to test a circuit. 59 1245912 Similar reference symbols in different drawings indicate dissimilar elements. [Simple description of component representative symbols] 100: test system 101 test head 102: test controller 104 interface unit 106: test head interface 107 main system clock 108: chip pin module 110 δ and power supply module 112 : Controller connection 114 Serial communication ring 116: Connection 117 Clock connection 200: Method 202 Step 204: Step 206 Step 208: Step 216 Memory controller 300: Common module architecture 302 Common interface and bus 304: Confirm synchronization Type 306 Confirm Synchronization Accurate Time 3 08: Synchronization Requirement 310 CPU 3 12: CPU Bus 3 14 Divide by Two Divider 3 16: Memory Control Circuitry 910: Test Head Interface 912 Transmission Port 920: First Module 921 Receive port 922:: Transfer port 924 First register 925 : First state history register 928:: Internal register 930:: Second module 934: Second register 93 5:: Second state history register 940: Third module 1 400: slice Pin module
Claims (1)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31314101P | 2001-08-17 | 2001-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI245912B true TWI245912B (en) | 2005-12-21 |
Family
ID=37191275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW91118617A TWI245912B (en) | 2001-08-17 | 2002-08-16 | Circuit testing with ring-connected test instrument modules |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI245912B (en) |
-
2002
- 2002-08-16 TW TW91118617A patent/TWI245912B/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7370255B2 (en) | Circuit testing with ring-connected test instrument modules | |
US10649030B2 (en) | Blade centric automatic test equipment system | |
JP2678283B2 (en) | Data communication controller | |
US8521465B2 (en) | General purpose protocol engine | |
US7324913B2 (en) | Methods and apparatus for testing a link between chips | |
JP2007513425A (en) | Apparatus and method for time sequencing events in a system having multiple time domain groups | |
WO2004095297A2 (en) | A high performance serial bus testing methodology | |
US9208008B2 (en) | Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience | |
JP2024073458A (en) | Bus synchronization system | |
US20220164298A1 (en) | Memory sequencer system and a method of memory sequencing using thereof | |
TWI245912B (en) | Circuit testing with ring-connected test instrument modules | |
JP2021057884A (en) | Emulating broadcast in network on chip | |
JP2010086132A (en) | Hardware module control system | |
US11797421B2 (en) | Semiconductor apparatus and debug system | |
JPH03232040A (en) | Data processor | |
JP2002182973A (en) | Memory interface and its signal processing method | |
JPH06124260A (en) | Method and apparatus for providing high-performance interconnection between data buses | |
CS219975B1 (en) | Control unit for connecting the periphery devices to the computers | |
JP2011142525A (en) | Data transfer device, data transfer system, data transfer method, data transfer program, and recording medium | |
JPH06149729A (en) | Method and apparatus for performing high-performance mutual connection beween mutual connecting adaptors, which are coupled with first information bus and second information bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |