蘆 俊,張國(guó)良,曹 菁,陳 侖
?
一種基于PCI總線的數(shù)字圖形發(fā)生器設(shè)計(jì)
蘆俊1,張國(guó)良2,曹菁1,陳侖1
(1.江蘇信息職業(yè)技術(shù)學(xué)院,江蘇無錫 214000;2.揚(yáng)州捷科科技有限公司,江蘇 揚(yáng)州 225000)
數(shù)字功能卡(PE)是集成電路測(cè)試設(shè)備的核心部件,也是SOC測(cè)試系統(tǒng)的必需部件,它可以完成數(shù)字IC的邏輯功能測(cè)試。成功開發(fā)好PE板是研發(fā)數(shù)字集成電路測(cè)試系統(tǒng)的必經(jīng)過程,也是開發(fā)SOC集成電路測(cè)試系統(tǒng)的必經(jīng)過程。介紹了一種基于PCI總線的數(shù)字圖形發(fā)生器的設(shè)計(jì)方法。建立基于PCI總線、以DDR3作為存儲(chǔ)器、以FPGA作為專用定制邏輯處理器這一架構(gòu)的數(shù)字圖形發(fā)生器電路系統(tǒng)模型,以產(chǎn)生任意測(cè)試矢量圖形,滿足高中低端數(shù)字類芯片的測(cè)試需求。重點(diǎn)介紹了采錄模塊發(fā)送模塊、緩存模塊、邏輯控制模塊、PCI接口模塊的設(shè)計(jì)方法。
PCI總線;數(shù)字圖形發(fā)生器;DDR3;FPGA
隨著數(shù)字集成電路的應(yīng)用日趨廣泛和國(guó)家對(duì)半導(dǎo)體行業(yè)發(fā)展的支持,國(guó)內(nèi)CMOS數(shù)字集成電路設(shè)計(jì)能力得到了長(zhǎng)足的發(fā)展。但是目前國(guó)內(nèi)IC生產(chǎn)線中的中、高檔測(cè)試系統(tǒng)仍以國(guó)外進(jìn)口為主,基本上沒有國(guó)產(chǎn)中、高檔的半導(dǎo)體測(cè)試設(shè)備或測(cè)試生產(chǎn)線。
本文介紹的數(shù)字圖形發(fā)生器的設(shè)計(jì)方法擬采用高性能FPGA和DDR3作為圖形發(fā)生器的核心器件,該設(shè)計(jì)預(yù)計(jì)能大幅度提升最高測(cè)試頻率,從而解決國(guó)內(nèi)數(shù)字測(cè)試系統(tǒng)多用單片機(jī)或者FPGA/ARM軟核實(shí)現(xiàn)邏輯處理模塊導(dǎo)致核心處理器速度相對(duì)較慢、極大影響測(cè)試板最高工作頻率的問題。
不管數(shù)字集成電路功能有多復(fù)雜,工作在多高的電壓,都可以將其看作一個(gè)二值邏輯器件。因此現(xiàn)在的大多數(shù)測(cè)試方法,不管是故障定位還是功能測(cè)試,都需要測(cè)試向量的輸入,而數(shù)字集成電路測(cè)試系統(tǒng)實(shí)際上就是一個(gè)用于向量產(chǎn)生和比較的硬件平臺(tái)[1~2]。
所謂測(cè)試向量,就是一串連續(xù)的“0”和“1”組成的數(shù)字序列。在測(cè)試數(shù)字IC之前,通過對(duì)測(cè)試要求和芯片功能的分配,利用向量編程器先寫好測(cè)試所需的向量,定義好向量的時(shí)序要求,并將其下載到測(cè)試系統(tǒng)的存儲(chǔ)器中,然后啟動(dòng)測(cè)試系統(tǒng)的控制模塊??刂颇K按照事先寫好的測(cè)試程序語句,以一定順序?qū)y(cè)試向量從存儲(chǔ)器中讀出并送到向量調(diào)制模塊。向量調(diào)制模塊對(duì)向量序列進(jìn)行波形調(diào)制電壓調(diào)制,最后送出與待測(cè)IC(DUT)工作電壓匹配的波形序列。同時(shí)測(cè)試系統(tǒng)還監(jiān)測(cè)DUT的輸出濾形,通過向量調(diào)制模塊將其轉(zhuǎn)換成與測(cè)試系統(tǒng)工作電平匹配的數(shù)字信號(hào),測(cè)試系統(tǒng)將回送數(shù)字信號(hào)與預(yù)先設(shè)定的向量進(jìn)行比較,并將比較結(jié)果送給控制模塊進(jìn)行處理。測(cè)試系統(tǒng)原理如圖1所示[3]。
圖1 測(cè)試系統(tǒng)原理框圖
本文所介紹的數(shù)字圖形發(fā)生器的硬件開發(fā)是基于PCI總線的板卡實(shí)現(xiàn)的,主要由采錄模塊/發(fā)送模塊、緩存、PCI接口和邏輯控制4部分組成。其中,PCI接口和邏輯控制是設(shè)計(jì)的難點(diǎn)和重點(diǎn)[4~5]。
圖2 系統(tǒng)硬件框圖
4部分模塊的基本組成為:
·采錄模塊/發(fā)送模塊:包括SPI模塊、差分芯片對(duì)。
·緩存模塊:包括DDR3和FPGA內(nèi)部FIFO資源。
·邏輯控制模塊:包括FPGA和外圍電路。
·PCI接口模塊:包括PCI接口芯片和配置芯片EEPROM。
3.1采錄模塊/發(fā)送模塊
該數(shù)字圖形發(fā)生器硬件板卡的基本工作流程為:采錄模塊/發(fā)送模塊把信號(hào)采錄到板卡,或者把板卡上的信號(hào)發(fā)送出去,在這個(gè)過程中,通過差分芯片對(duì),接收或發(fā)送信號(hào)后遵循SPI接口模式,即數(shù)據(jù)位寬為1位,而且長(zhǎng)度有8個(gè)。在采錄模塊的硬件電路中,將8個(gè)1位數(shù)字信號(hào)在FPGA內(nèi)部集中后轉(zhuǎn)換為8位的數(shù)據(jù),達(dá)到4個(gè)這樣的數(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ù)接?jì)算機(jī)內(nèi)存,并生成數(shù)據(jù)文件,留給后續(xù)信號(hào)處理用。同時(shí),F(xiàn)PGA向DDR3下個(gè)定值地址寫入下一數(shù)據(jù)。在發(fā)送模塊的時(shí)候情況正好相反。
在采錄模塊和發(fā)送模塊的時(shí)候都遵循SPI的發(fā)送方式,在采錄模塊的時(shí)候采用的是主SPI模式,在發(fā)送模塊的時(shí)候采用的是從SPI模式。
SPI接口在CPU和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快。
在系統(tǒng)設(shè)計(jì)中,對(duì)外部信號(hào)傳輸采用差分芯片對(duì)。使用差分芯片對(duì)的優(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ù)存儲(chǔ)需求。
3.3邏輯控制模塊設(shè)計(jì)
該數(shù)字圖形發(fā)生器邏輯模塊包含了控制傳輸模塊/采錄模塊的邏輯部分、控制緩存的邏輯部分和控制PCI接口的邏輯部分,它們之間的關(guān)系是通過FPGA內(nèi)部異步FIFO來連接的,如圖3所示。
圖3 FPGA邏輯控制模塊結(jié)構(gòu)圖
在FPGA邏輯控制模塊中,采用異步FIFO解決各個(gè)控制模塊之間因?yàn)闀r(shí)鐘頻率不一致而產(chǎn)生的數(shù)據(jù)不同步,這樣有助于數(shù)據(jù)的穩(wěn)定傳輸以及數(shù)據(jù)的緩存。
數(shù)字圖形發(fā)生器板卡的傳輸模塊和采錄模塊的主要功能相同,都是采用SPI接口進(jìn)行數(shù)據(jù)傳輸,只不過這里要考慮是主SPI還是從SPI。表1是它們的對(duì)應(yīng)關(guān)系。
表1 采錄模塊/傳輸模塊和主/從SPI對(duì)應(yīng)關(guān)系表
在傳輸模塊和采錄模塊中,除了含有SPI接口外,還有判斷哪條通道有效的判決模塊,具體的流程框圖如圖4所示。
圖4 流程框圖
圖4中,由于有9個(gè)通道,而片外緩存只有一條數(shù)據(jù)線,這樣就需要判斷是哪個(gè)通道在起作用,然后才能把相對(duì)應(yīng)通道的數(shù)據(jù)放到相對(duì)應(yīng)地址處。在這個(gè)過程中,各個(gè)通道的數(shù)據(jù)在沒有選通的時(shí)候是保持不變的,保證了數(shù)據(jù)的穩(wěn)定和完整性。
在系統(tǒng)中使用輪循方式進(jìn)行,9個(gè)通道中各個(gè)通道的選通不會(huì)是同時(shí)的,也不會(huì)出現(xiàn)任意兩個(gè)通道同時(shí)選通的情況,為防止萬一系統(tǒng)出現(xiàn)尖峰脈沖而造成數(shù)據(jù)紊亂的情況,在設(shè)計(jì)的時(shí)候加入了異常處理模塊。
在SPI接口模塊設(shè)計(jì)的過程中,定義傳輸?shù)姆绞綖閷?duì)一個(gè)8 bit的數(shù)據(jù)采用先傳輸?shù)臀?、然后再傳輸高位?shù)據(jù)的做法。
3.4PCI接口模塊
該數(shù)字圖形發(fā)生器的接口模塊選用PCI接口芯片,并設(shè)計(jì)PCI接口芯片Local端的傳輸邏輯。圖5給出了PCI接口芯片PCI9054模塊圖。
圖5 PCI接口芯片PCI9054模塊圖
在PCI接口芯片中寫入?yún)?shù)的過程如下:PCI接口在PCI接口芯片的Local端信號(hào)(ADS#等)控制下,將數(shù)字信號(hào)寫入異步FIFO中,緩存模塊根據(jù)FIFO的空滿狀態(tài)以及FIFO的數(shù)據(jù)位數(shù)決定讀取數(shù)據(jù)的控制信號(hào)。
PCI接口芯片讀取采錄數(shù)據(jù)的過程如下:當(dāng)一定時(shí)間內(nèi)采錄模塊數(shù)據(jù)裝到DDR3并且達(dá)到傳輸?shù)刂芬院?,置LINT中斷信號(hào)有效并且傳給主機(jī),主機(jī)發(fā)出讀PCI接口芯片的命令。PCI接口接收到LWR_n低有效,開始讀數(shù)據(jù),當(dāng)數(shù)據(jù)讀完以后,主機(jī)產(chǎn)生USERo信號(hào),F(xiàn)PGA邏輯置LINT無效。
PCI接口芯片的Target傳輸和DMA傳輸在時(shí)序上都是一樣的,分為讀、寫邏輯。具體細(xì)分又分為:?jiǎn)沃芷谧x、突發(fā)周期讀、單周期寫、突發(fā)周期寫。擬以同步狀態(tài)機(jī)設(shè)計(jì)其時(shí)序,如圖6所示。
系統(tǒng)上電或復(fù)位后進(jìn)入空閑狀態(tài),當(dāng)ADS#信號(hào)有效以后,進(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ù)傳輸有效時(shí),需要置READY#為0。
數(shù)字圖形發(fā)生器是集成電路ATE測(cè)試系統(tǒng)中的關(guān)鍵部件,本文主要介紹了一種基于PCI總線的數(shù)字圖形發(fā)生器的設(shè)計(jì)方法,該方法采用高性能的FPGA和DDR3作為圖形發(fā)生器的核心器件,能產(chǎn)生任意測(cè)試矢量圖形,并大幅度提升系統(tǒng)的最高測(cè)試頻率。
[1]布什內(nèi)爾(美).超大規(guī)模集成電路測(cè)試:數(shù)字、存儲(chǔ)器和混合信號(hào)系統(tǒng)[M].北京:電子工業(yè)出版社,2005.
[2]靳鴻.測(cè)試系統(tǒng)設(shè)計(jì)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2013.
[3]樓冬明,陳波.數(shù)字集成電路測(cè)試系統(tǒng)的研制[J].電子技術(shù)應(yīng)用,2001(4).
[4]郭軍.測(cè)試系統(tǒng)技術(shù) [M].西安:西安電子科技大學(xué)出版社,2006.
[5]王良軍.基于FPGA的數(shù)字信號(hào)發(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—),男,湖北荊門人,研究生,高級(jí)工程師,主要研究方向?yàn)闄C(jī)電一體化、檢測(cè)與自動(dòng)化裝備。
2016-5-14