蘆 俊,張國良,曹 菁,陳 侖
?
一種基于PCI總線的數(shù)字圖形發(fā)生器設(shè)計
蘆俊1,張國良2,曹菁1,陳侖1
(1.江蘇信息職業(yè)技術(shù)學(xué)院,江蘇無錫 214000;2.揚(yáng)州捷科科技有限公司,江蘇 揚(yáng)州 225000)
數(shù)字功能卡(PE)是集成電路測試設(shè)備的核心部件,也是SOC測試系統(tǒng)的必需部件,它可以完成數(shù)字IC的邏輯功能測試。成功開發(fā)好PE板是研發(fā)數(shù)字集成電路測試系統(tǒng)的必經(jīng)過程,也是開發(fā)SOC集成電路測試系統(tǒng)的必經(jīng)過程。介紹了一種基于PCI總線的數(shù)字圖形發(fā)生器的設(shè)計方法。建立基于PCI總線、以DDR3作為存儲器、以FPGA作為專用定制邏輯處理器這一架構(gòu)的數(shù)字圖形發(fā)生器電路系統(tǒng)模型,以產(chǎn)生任意測試矢量圖形,滿足高中低端數(shù)字類芯片的測試需求。重點(diǎn)介紹了采錄模塊發(fā)送模塊、緩存模塊、邏輯控制模塊、PCI接口模塊的設(shè)計方法。
PCI總線;數(shù)字圖形發(fā)生器;DDR3;FPGA
隨著數(shù)字集成電路的應(yīng)用日趨廣泛和國家對半導(dǎo)體行業(yè)發(fā)展的支持,國內(nèi)CMOS數(shù)字集成電路設(shè)計能力得到了長足的發(fā)展。但是目前國內(nèi)IC生產(chǎn)線中的中、高檔測試系統(tǒng)仍以國外進(jìn)口為主,基本上沒有國產(chǎn)中、高檔的半導(dǎo)體測試設(shè)備或測試生產(chǎn)線。
本文介紹的數(shù)字圖形發(fā)生器的設(shè)計方法擬采用高性能FPGA和DDR3作為圖形發(fā)生器的核心器件,該設(shè)計預(yù)計能大幅度提升最高測試頻率,從而解決國內(nèi)數(shù)字測試系統(tǒng)多用單片機(jī)或者FPGA/ARM軟核實(shí)現(xiàn)邏輯處理模塊導(dǎo)致核心處理器速度相對較慢、極大影響測試板最高工作頻率的問題。
不管數(shù)字集成電路功能有多復(fù)雜,工作在多高的電壓,都可以將其看作一個二值邏輯器件。因此現(xiàn)在的大多數(shù)測試方法,不管是故障定位還是功能測試,都需要測試向量的輸入,而數(shù)字集成電路測試系統(tǒng)實(shí)際上就是一個用于向量產(chǎn)生和比較的硬件平臺[1~2]。
所謂測試向量,就是一串連續(xù)的“0”和“1”組成的數(shù)字序列。在測試數(shù)字IC之前,通過對測試要求和芯片功能的分配,利用向量編程器先寫好測試所需的向量,定義好向量的時序要求,并將其下載到測試系統(tǒng)的存儲器中,然后啟動測試系統(tǒng)的控制模塊。控制模塊按照事先寫好的測試程序語句,以一定順序?qū)y試向量從存儲器中讀出并送到向量調(diào)制模塊。向量調(diào)制模塊對向量序列進(jìn)行波形調(diào)制電壓調(diào)制,最后送出與待測IC(DUT)工作電壓匹配的波形序列。同時測試系統(tǒng)還監(jiān)測DUT的輸出濾形,通過向量調(diào)制模塊將其轉(zhuǎn)換成與測試系統(tǒng)工作電平匹配的數(shù)字信號,測試系統(tǒng)將回送數(shù)字信號與預(yù)先設(shè)定的向量進(jìn)行比較,并將比較結(jié)果送給控制模塊進(jìn)行處理。測試系統(tǒng)原理如圖1所示[3]。
圖1 測試系統(tǒng)原理框圖
本文所介紹的數(shù)字圖形發(fā)生器的硬件開發(fā)是基于PCI總線的板卡實(shí)現(xiàn)的,主要由采錄模塊/發(fā)送模塊、緩存、PCI接口和邏輯控制4部分組成。其中,PCI接口和邏輯控制是設(shè)計的難點(diǎn)和重點(diǎn)[4~5]。
圖2 系統(tǒng)硬件框圖
4部分模塊的基本組成為:
·采錄模塊/發(fā)送模塊:包括SPI模塊、差分芯片對。
·緩存模塊:包括DDR3和FPGA內(nèi)部FIFO資源。
·邏輯控制模塊:包括FPGA和外圍電路。
·PCI接口模塊:包括PCI接口芯片和配置芯片EEPROM。
3.1采錄模塊/發(fā)送模塊
該數(shù)字圖形發(fā)生器硬件板卡的基本工作流程為:采錄模塊/發(fā)送模塊把信號采錄到板卡,或者把板卡上的信號發(fā)送出去,在這個過程中,通過差分芯片對,接收或發(fā)送信號后遵循SPI接口模式,即數(shù)據(jù)位寬為1位,而且長度有8個。在采錄模塊的硬件電路中,將8個1位數(shù)字信號在FPGA內(nèi)部集中后轉(zhuǎn)換為8位的數(shù)據(jù),達(dá)到4個這樣的數(shù)據(jù)后再轉(zhuǎn)換為32位的數(shù)據(jù),然后經(jīng)過FPGA內(nèi)部生成的異步FIFO,并在FPGA的控制下以32位的數(shù)據(jù)寬度送入DDR3中緩存起來。
DDR3起緩存作用,在DDR3中存滿一定數(shù)據(jù)后,在FPGA的控制下,這些緩存數(shù)據(jù)以32位的數(shù)據(jù)寬度通過PCI橋接芯片,以DMA方式傳輸?shù)接嬎銠C(jī)內(nèi)存,并生成數(shù)據(jù)文件,留給后續(xù)信號處理用。同時,F(xiàn)PGA向DDR3下個定值地址寫入下一數(shù)據(jù)。在發(fā)送模塊的時候情況正好相反。
在采錄模塊和發(fā)送模塊的時候都遵循SPI的發(fā)送方式,在采錄模塊的時候采用的是主SPI模式,在發(fā)送模塊的時候采用的是從SPI模式。
SPI接口在CPU和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快。
在系統(tǒng)設(shè)計中,對外部信號傳輸采用差分芯片對。使用差分芯片對的優(yōu)點(diǎn)有差分方式傳輸距離遠(yuǎn)及抗干擾能力強(qiáng)等。
3.2緩存模塊
該數(shù)字圖形發(fā)生器的緩存模塊主要由DDR3和FPGA內(nèi)部的FIFO資源構(gòu)成,起到數(shù)據(jù)緩存的作用,數(shù)據(jù)采錄具有數(shù)據(jù)吞吐率高的特點(diǎn),因此采用DDR3和FPGA內(nèi)部的FIFO資源來滿足大容量的數(shù)據(jù)存儲需求。
3.3邏輯控制模塊設(shè)計
該數(shù)字圖形發(fā)生器邏輯模塊包含了控制傳輸模塊/采錄模塊的邏輯部分、控制緩存的邏輯部分和控制PCI接口的邏輯部分,它們之間的關(guān)系是通過FPGA內(nèi)部異步FIFO來連接的,如圖3所示。
圖3 FPGA邏輯控制模塊結(jié)構(gòu)圖
在FPGA邏輯控制模塊中,采用異步FIFO解決各個控制模塊之間因?yàn)闀r鐘頻率不一致而產(chǎn)生的數(shù)據(jù)不同步,這樣有助于數(shù)據(jù)的穩(wěn)定傳輸以及數(shù)據(jù)的緩存。
數(shù)字圖形發(fā)生器板卡的傳輸模塊和采錄模塊的主要功能相同,都是采用SPI接口進(jìn)行數(shù)據(jù)傳輸,只不過這里要考慮是主SPI還是從SPI。表1是它們的對應(yīng)關(guān)系。
表1 采錄模塊/傳輸模塊和主/從SPI對應(yīng)關(guān)系表
在傳輸模塊和采錄模塊中,除了含有SPI接口外,還有判斷哪條通道有效的判決模塊,具體的流程框圖如圖4所示。
圖4 流程框圖
圖4中,由于有9個通道,而片外緩存只有一條數(shù)據(jù)線,這樣就需要判斷是哪個通道在起作用,然后才能把相對應(yīng)通道的數(shù)據(jù)放到相對應(yīng)地址處。在這個過程中,各個通道的數(shù)據(jù)在沒有選通的時候是保持不變的,保證了數(shù)據(jù)的穩(wěn)定和完整性。
在系統(tǒng)中使用輪循方式進(jìn)行,9個通道中各個通道的選通不會是同時的,也不會出現(xiàn)任意兩個通道同時選通的情況,為防止萬一系統(tǒng)出現(xiàn)尖峰脈沖而造成數(shù)據(jù)紊亂的情況,在設(shè)計的時候加入了異常處理模塊。
在SPI接口模塊設(shè)計的過程中,定義傳輸?shù)姆绞綖閷σ粋€8 bit的數(shù)據(jù)采用先傳輸?shù)臀?、然后再傳輸高位?shù)據(jù)的做法。
3.4PCI接口模塊
該數(shù)字圖形發(fā)生器的接口模塊選用PCI接口芯片,并設(shè)計PCI接口芯片Local端的傳輸邏輯。圖5給出了PCI接口芯片PCI9054模塊圖。
圖5 PCI接口芯片PCI9054模塊圖
在PCI接口芯片中寫入?yún)?shù)的過程如下:PCI接口在PCI接口芯片的Local端信號(ADS#等)控制下,將數(shù)字信號寫入異步FIFO中,緩存模塊根據(jù)FIFO的空滿狀態(tài)以及FIFO的數(shù)據(jù)位數(shù)決定讀取數(shù)據(jù)的控制信號。
PCI接口芯片讀取采錄數(shù)據(jù)的過程如下:當(dāng)一定時間內(nèi)采錄模塊數(shù)據(jù)裝到DDR3并且達(dá)到傳輸?shù)刂芬院螅肔INT中斷信號有效并且傳給主機(jī),主機(jī)發(fā)出讀PCI接口芯片的命令。PCI接口接收到LWR_n低有效,開始讀數(shù)據(jù),當(dāng)數(shù)據(jù)讀完以后,主機(jī)產(chǎn)生USERo信號,F(xiàn)PGA邏輯置LINT無效。
PCI接口芯片的Target傳輸和DMA傳輸在時序上都是一樣的,分為讀、寫邏輯。具體細(xì)分又分為:單周期讀、突發(fā)周期讀、單周期寫、突發(fā)周期寫。擬以同步狀態(tài)機(jī)設(shè)計其時序,如圖6所示。
系統(tǒng)上電或復(fù)位后進(jìn)入空閑狀態(tài),當(dāng)ADS#信號有效以后,進(jìn)入讀/寫狀態(tài),LW/R#為0表示讀操作,LW/R#為1為寫操作。進(jìn)入讀/寫狀態(tài)后,判斷BLAST#是否有效,有效進(jìn)入單周期狀態(tài),無效進(jìn)入突發(fā)周期狀態(tài)。在數(shù)據(jù)傳輸有效時,需要置READY#為0。
數(shù)字圖形發(fā)生器是集成電路ATE測試系統(tǒng)中的關(guān)鍵部件,本文主要介紹了一種基于PCI總線的數(shù)字圖形發(fā)生器的設(shè)計方法,該方法采用高性能的FPGA和DDR3作為圖形發(fā)生器的核心器件,能產(chǎn)生任意測試矢量圖形,并大幅度提升系統(tǒng)的最高測試頻率。
[1]布什內(nèi)爾(美).超大規(guī)模集成電路測試:數(shù)字、存儲器和混合信號系統(tǒng)[M].北京:電子工業(yè)出版社,2005.
[2]靳鴻.測試系統(tǒng)設(shè)計原理及應(yīng)用[M].北京:電子工業(yè)出版社,2013.
[3]樓冬明,陳波.數(shù)字集成電路測試系統(tǒng)的研制[J].電子技術(shù)應(yīng)用,2001(4).
[4]郭軍.測試系統(tǒng)技術(shù) [M].西安:西安電子科技大學(xué)出版社,2006.
[5]王良軍.基于FPGA的數(shù)字信號發(fā)生器[D].成都:電子科技大學(xué),2008.
A Design Method of PCI-bus-based Digital Pattern Generator
LU Jun1,ZHANG Guoliang2,CAO Jing1,CHEN Lun1
(1.Jiangsu Vocational College of Information Technology,Wuxi 214000,China;2.Yangzhou JK Technology co.,Ltd,Yangzhou 225000,China)
Pin Electronics(PE),one of the core components of digital IC and SOC test systems,is usually used in testing logic functions of digital ICs.An excellent PE card is pivotal in developing digital IC and SOC test systems.The paper introduces a design method of digital pattern generator based on PCI bus.The digital pattern generator model generates diversified test patterns to meets the test demands of high-,medium-and low-end digital ICs with DDR3 as memory and FPGA as customized logic processor.In the paper,the design method of collect and record module/sending module,cache module,logic control module and PCI interface moduleare highlighted.
PCI bus;digital pattern generator;DDR3;FPGA
TN402
A
1681-1070(2016)09-0024-04
蘆?。?974—),男,湖北荊門人,研究生,高級工程師,主要研究方向?yàn)闄C(jī)電一體化、檢測與自動化裝備。
2016-5-14