L80C186-10是一款具有極高集成度的16位微處理器,它把15"20個最常用的微處理器系統部件組合在一塊芯片上,性能是標準80C186-10的2倍,由于集成了許多外部設備接口,因而使得系統結構得到了大大的簡化。L80C186-10與iAPX86、88微處理器是目標代碼相兼容的,并且還在現存的iAPX86、88指令集中加入了10種新的指令類型。本文對L80C186-10的內部結構及各部件功能塊測試做了詳細介紹。 電路結構與功能框圖 L80C186-10具有復雜的內部結構,它將DMA部件、定時器部件、中斷控制部件、總線控制部件、片選信號和準備就緒信號生成部件以及CPU集成在一塊單芯片上。 L80C186-10 CPU具有4個16位通用寄存器(AX、BX、CX、DX),4個16位指針寄存器(SI、DI、BP、SP),4個16位段寄存器(CS、DS、SS、ES),1個16位指令指針和1個16位狀態寄存器,以及1個6字節的預取指令隊列和4字節的預存指令隊列。取指令和執行指令是由分離部件、總線接口部件和執行部件各自完成的。 測試 隨著設計和工藝的發展,在單塊芯片上所能實現的集成度越來越高,一些器件在性能和功能方面都達到了更新、更高的水平。在這樣的情況下,對集成電路測試技術的要求也越來越高,在集成電路研制過程中,測試環節占有舉足輕重的地位,也越來越受到研制者的重視。通過測試驗證版圖能夠進行故障定位,對工藝生產提供可行性建議,從而促進電路的研制開發。電路的測試包括功能測試、直流參數測試和交流參數測試幾部分,其中,功能測試尤為關鍵。 功能測試 功能測試主要針對器件進行,因此,在編制測試碼點前必須熟悉電路的工作原理,了解內部各個相關寄存器的狀態及讀寫時序等。然后,根據器件要求的輸入條件,采用多種方式調制出正確的輸入波形,以滿足器件的工作條件。同時對輸出端進行采樣,并做出比較,以驗證電路的相應功能。功能測試應對電路的所有功能進行驗證,以便查找電路缺陷,驗證版圖的正確性。 L80C186 CPU指令 對于L80C186 CPU來說,每個指令的執行由取指令、譯碼和執行構成。而執行一條指令的一系列動作,都是在時鐘脈沖CLK的統一控制下一步步進行的。執行一條指令所需要的時間稱為指令周期,再把指令周期劃分為一個個總線周期。CPU從存儲器或輸入輸出端口存取一個字節就是一個總線周期,所以多字節指令取指就需要若干個總線周期;在指令的執行階段,不同的指令也會需要不同的總線周期。 每個總線周期通常包含4個狀態,每個T狀態是L80C186-10中處理動作的最小單位,即時鐘周期。雖然各條指令的周期有很大的差別,但它們仍然是由以下一些基本的總線周期組成的:存儲器讀/寫、輸入/輸出端口讀/寫、中斷響應。 DMA部件 16位微處理器L80C186-10提供了2個獨立的高速DMA通道,每個通道在控制塊中有6個寄存器,它們定義了通道的具體操作。這些控制寄存器由1個20位的源指針(2個字),1個20位的目標指針(2個字),1個16位的傳輸計數器和1個16位的控制字組成。DMA控制塊的格式如表1所示。傳輸計數寄存器(TC)指定了要進行的DMA傳送次數,控制字定義了通道的操作。在DMA活動期間,全部寄存器都可以被修正或改變,對這些寄存器所作的任何改變都會立即在DMA操作中反映出來。 只要控制寄存器的ST/STOP位(啟動/停止(I/O)通道位)被設置,就會產生DMA周期。若被編程為同步傳送,則必須先產生一個DRQ,因此,源/目標指針和傳輸計數寄存器(若使用的話)必須在這一位被設置前完成編程。在RESET時,DMA將執行以下兩個操作:每個通道的啟動/停止位被復位或STOP,任何在執行中的傳送被放棄。 中斷控制部件 L80C186-10能夠從內部和外部的許多源接受中斷,內部中斷控制器把這些請求在一個優先級基礎上進行合并,使其能由CPU一個一個地進行服務。內部中斷源(定時器和DMA通道)能夠被它們自己的控制寄存器或由在中斷控制器中的屏蔽位來禁止。L80C186-10的中斷控制器有自己的控制寄存器,該寄存器用于設置控制器的操作方式。 主設備方式下中斷控制器的基本操作方式與8259A類似。中斷控制器對在所有三種方式下的內部中斷響應是相同的,不同的地方僅在于對4個外部中斷引腳的功能解釋上。中斷控制器被設置到三種方式之一是通過對在INT0和INT1控制寄存器中的正確位進行編程來實現的。中斷控制器的三種操作方式為全嵌套方式、級聯方式和特殊全嵌套方式。 總線控制部件與L80C186-10指令集 L80C186-10的總線接口與8086總線結構非常相似,它具有多路轉換地址/數據總線,以及各種各樣的控制和狀態總線,每個總線周期需要最少4個CPU時鐘周期和任意多個等待狀態,其需要等待狀態的個數由外部存儲器和外部設備的訪問速度所決定。 L80C186-10的指令集被分成7種類型:數據傳送、算術、移位/環移/邏輯、串處理、控制轉移、高級指令和處理器控制。一條80C186指令能夠引用在任何地方的零個到多個操作數。一個操作數可以常駐在一個寄存器里,在指令本身中或在存儲器中。 時鐘發生器 L80C186-10包含一個時鐘發生器,用來為所有的L80C186-10集成部件,以及在該系統中所有與CPU同步的設備產生主時鐘信號。這個時鐘發生器包含一個晶體振蕩器,二分頻器,復位電路,以及準備就緒信號生成邏輯。 晶體振蕩器的輸出(或外部頻率輸入)驅動一個二分頻電路,此電路為L80C186-10生成占空比為50%的周期時鐘。L80C186-10的所有時序都是參考這一信號的,該信號可以從L80C186-10的CLKOUT引腳上得到,在EPI信號從高電平到低電平轉換時改變狀態。時鐘發生器還為系統提供一個同步的復位信號(RES),這一信號同步于時鐘輸入信號。復位輸入信號還復位二分頻器,當RES輸入信號第一次有效時,將生成一個單個時鐘周期的內部復位脈沖。 L80C186-10的時鐘端采用雙倍時鐘方式,可使測試碼點減少一半,大大減少了碼點編制的工作量,縮短了測試時間,提高了工作效率。 直流參數測試 對集成電路直流參數的測試,在不同測試系統上的測試原理和方法基本上是一致的,都是按照詳細規范和規定對所測項目施加相應的測試條件,從而得出所測參數值。 交流參數測試 L80C186-10的交流參數測試是嚴格按照詳細規范,采用功能驗證方法進行測試的。 結語 16位微處理器L80C186-10是集成電路技術高度發展的產物,由于集成電路的使用,可以將許多所需的外圍器件及其接口制作在一個硅片上,這就增加了集成電路測試的難度,也更體現了測試的重要性。L80C186-10的整套測試程序和測試碼點都是在DIC-8032集成電路測試系統上開發的,通過驗證版圖和故障定位,使L80C186-10順利研制成功,并能夠滿足用戶要求。 |