趙 樺,章慧彬
(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)
基于ATE的FPGA配置文件生成方法
趙 樺,章慧彬
(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)
FPGA 是在PAL、GAL、EPLD、CPLD 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為ASIC 領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路有限的缺點(diǎn)。用UltraFlex測試系統(tǒng)(ATE)測試FPGA的方法進(jìn)行闡述,分析了不同電壓模式的配置文件產(chǎn)生方法的差異。
FPGA;測試技術(shù);ATE;配置文件
可編程邏輯器件(Programmable Logic Device,PLD)起源于20 世紀(jì)70 年代,是在專用集成電路(ASIC)的基礎(chǔ)上發(fā)展起來的一種新型邏輯器件,是當(dāng)今數(shù)字系統(tǒng)設(shè)計(jì)的主要硬件平臺(tái),其主要特點(diǎn)是完全由用戶通過軟件進(jìn)行配置和編程,從而完成某種特定的功能,且可以反復(fù)擦寫。在修改和升級(jí)PLD 時(shí),不需額外地改變PCB 電路板,只是在計(jì)算機(jī)上修改和更新程序,使硬件設(shè)計(jì)工作成為軟件開發(fā)工作,縮短了系統(tǒng)設(shè)計(jì)的周期,提高了實(shí)現(xiàn)的靈活性并降低了成本。因此其獲得了廣大硬件工程師的青睞,形成了巨大的PLD 產(chǎn)業(yè)規(guī)模。
目前常見的PLD 產(chǎn)品有:編程只讀存儲(chǔ)器(Programmable Read Only Memory,PROM)、 現(xiàn) 場可編程邏輯陣列(Field Programmable Logic Array,F(xiàn)PLA)、可編程陣列邏輯(Programmable Array Logic,PAL)、通用陣列邏輯(Generic Array Logic,GAL)、可擦除的可編程邏輯器件(Erasable Programmable Logic Array,EPLA)、復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)和現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)等類型。PLD 器件從規(guī)模上又可以細(xì)分為簡單PLD(SPLD)、復(fù)雜PLD(CPLD)以及FPGA。它們內(nèi)部結(jié)構(gòu)的實(shí)現(xiàn)方法各不相同。
FPGA 是在PAL、GAL、EPLD、CPLD 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為ASIC 領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路有限的缺點(diǎn)。
UltraFlex集成電路測試系統(tǒng)控制軟件利用EXCEL表格作為集成測試管理系統(tǒng),Visual Basic作為編程語言,在其提供的模板基礎(chǔ)上根據(jù)需要編輯相應(yīng)的功能。測試系統(tǒng)軟件包括:測試處理、測試數(shù)據(jù)顯示、數(shù)據(jù)統(tǒng)計(jì)、測試程序管理、測試程序框架自動(dòng)生成等,多種功能集成在一起,有獨(dú)立的pattern產(chǎn)生器,可以產(chǎn)生異步的pattern等性能,常用于測試復(fù)雜的大型數(shù)字電路。
FPGA 芯片主要由6 部分組成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時(shí)鐘管理、嵌入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊,如圖1所示。
圖1 FPGA芯片的內(nèi)部結(jié)構(gòu)
由于基于LUT 的FPGA 具有很高的集成度,其器件密度從數(shù)萬門到數(shù)千萬門不等,可以完成極其復(fù)雜的時(shí)序與邏輯組合邏輯電路功能。FPGA大多有可配置的高性能I/O驅(qū)動(dòng)和接收器,支持多種電壓標(biāo)準(zhǔn),不僅可以編程控制輸出功率和回轉(zhuǎn)率,還支持DCI(Digitally Controlled Impedance),還具有在內(nèi)部產(chǎn)生參考電壓的功能。
I/O單元是芯片與外界電路的接口部分,完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配要求。FPGA 內(nèi)的I/O按組分類,每組都能夠獨(dú)立地支持不同的I/O標(biāo)準(zhǔn)。通過軟件的靈活配置,可適配不同的電氣標(biāo)準(zhǔn)與I/O物理特性,可以調(diào)整驅(qū)動(dòng)電流的大小,可以改變上、下拉電阻。
目前I/O口的頻率也越來越高,一些高端FPGA通過DDR 寄存器技術(shù)可以支持高達(dá)2 GB/s 的數(shù)據(jù)速率。每個(gè)I/O都包含輸入、輸出和三態(tài)可選驅(qū)動(dòng)。這些驅(qū)動(dòng)可被配置成不同的I/O標(biāo)準(zhǔn)。要實(shí)現(xiàn)差分I/O也只需選擇2個(gè)I/O口配對(duì)即可。具體包括單端 I/O標(biāo)準(zhǔn)(LVCMOS、HSTL、SSTL等)和差分 I/O標(biāo)準(zhǔn)(LVDS、HT、LVPECL、BLVDS、差分 HSTL、SSTL)。
圖2 I/O口的基本結(jié)構(gòu)
3.1 LVCMOS
LVCMOS(Low Voltage Complementary Metal Oxide Semiconductor)是以廣泛使用的應(yīng)用于CMOS晶體管的標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)是在JEDEC(JESD 8-5)中定義的。LVCMOS模式還可以分為LVCMOS12、LVCMOS15、LVCMOS18、LVCMOS25幾種模式。
FPGA 是由存放在片內(nèi)的RAM 來設(shè)置其工作狀態(tài)的,因此工作時(shí)需要對(duì)片內(nèi)RAM 進(jìn)行編程。用戶可根據(jù)不同的配置模式,采用不同的編程方式。FPGA有4種配置模式:(1)并行模式:并行PROM、Flash配置FPGA;(2)主從模式:一片PROM 配置多片F(xiàn)PGA;(3)串行模式:串行PROM 配置FPGA;(4)外設(shè)模式:將FPGA 作為微處理器的外設(shè),由微處理器對(duì)其編程。
為了實(shí)現(xiàn)利用UltraFlex對(duì)FPGA進(jìn)行測試,我們采用并行模式對(duì)片內(nèi)RAM進(jìn)行編程。利用ISE工具,將輸入輸出口設(shè)置為某功能,例如反向器,并且輸入輸出口的標(biāo)準(zhǔn)也設(shè)置為LVCMOS,編譯產(chǎn)生一個(gè)配置文件。
利用這個(gè)配置文件,就可以在UltraFlex測試系統(tǒng)上生成一個(gè)pattern,在UltraFlex測試系統(tǒng)上通過設(shè)置FPGA的控制腳電壓將pattern寫入FPGA內(nèi)部的RAM,達(dá)到配置FPGA的目的。
配置成功后可以再利用UltraFlex編寫一個(gè)功能性的pattern,從而驗(yàn)證配置是否成功。同時(shí)可以測試在此模式下的漏電壓、漏電流、延遲時(shí)間、上升時(shí)間等交/直流參數(shù)是否滿足FPGA的性能參數(shù)列表要求。
3.2 LVDCI
與LVCMOS設(shè)置類似,將輸入輸出口設(shè)置為LVDCI(Low Voltage Digitally Controlled Impedance)模式。再利用ISE工具生成配置文件,在UltraFlex測試系統(tǒng)上生成一個(gè)pattern,在UltraFlex測試系統(tǒng)上通過設(shè)置FPGA的控制腳電壓將pattern寫入FPGA內(nèi)部的RAM,達(dá)到配置FPGA的目的。配置成功后就可以利用UltraFlex對(duì)FPGA在LVDCI模式下的交直流參數(shù)進(jìn)行測試了。
圖3 生成的配置文件
圖4 利用配置文件產(chǎn)生的pattern
圖5 LVCMOS模式典型電路
3.3 HSTL
為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),F(xiàn)PGA 的IOB 被劃分為若干個(gè)組(bank),每個(gè)bank的接口標(biāo)準(zhǔn)由其接口電壓VCCO決定,一個(gè)bank只能有一種VCCO,但不同bank的VCCO可以不同。只有相同電氣標(biāo)準(zhǔn)的端口才能連接在一起,VCCO電壓相同是接口標(biāo)準(zhǔn)的基本條件。
圖6 LVDCI模式典型電路
圖7 HSTL模式典型電路
HSTL(High-Speed Transceiver Logic)是由IBM(EIA/JESD8-6)提出的一個(gè)高速總線標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)在配置FPGA時(shí)要求有一個(gè)差分放大輸入緩存和一個(gè)推挽式的輸出緩存。所以在設(shè)置輸入輸出口為HSTL模式后,還要在ISP工具的約束文件中對(duì)I/O口的每一個(gè)bank加一個(gè)參考電壓VREF,這樣產(chǎn)生的配置文件在UltraFlex上才能配置成功。配置成功后就可以利用UltraFlex對(duì)FPGA在LVDCI模式下的交直流參數(shù)進(jìn)行測試了。處理方式與HSTL模式相類似的還有SSTL模式。
3.4 LVDS和Extended LVDS
LVDS(Low Voltage Differential Signaling)是一個(gè)在很多系統(tǒng)中廣泛使用的高速界面。它遵循的EIA/ TIA電氣標(biāo)準(zhǔn)使系統(tǒng)和硬件設(shè)計(jì)更加簡便。由于LVDS是差分結(jié)構(gòu),要先設(shè)置一對(duì)差分腳,這個(gè)需要在約束文件中列出,F(xiàn)PGA提供了很多成對(duì)的I/O口,選取幾組作為輸入口,再選取單獨(dú)的I/O口作為輸出口。輸入輸出口都設(shè)置為LVDS模式,相應(yīng)的bank也要設(shè)置VREF電壓,這樣產(chǎn)生的配置文件才能真正配置成功FPGA。
圖8 LVDS模式典型電路
表1 配置文件參數(shù)設(shè)置對(duì)比表
綜上所述,可以把FPGA上的幾種電壓模式下的配置文件設(shè)置方法總結(jié)為表1。
FPGA具有很高的集成度,其器件密度從數(shù)萬門到數(shù)千萬門不等,可以完成極其復(fù)雜的時(shí)序與邏輯組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。而UltraFlex測試系統(tǒng)由于其優(yōu)越的性能,在開發(fā)測試FPGA性能方面應(yīng)用也越來越廣泛。
[1] 夏宇聞. Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程[M]. 北京:北京航空航天大學(xué)出版社,2009.
[2] 劉寶琴. 數(shù)字電路與系統(tǒng)[M]. 北京:北京清華大學(xué)出版社,1993.
[3] 夏宇聞. 復(fù)雜數(shù)字電路與系統(tǒng)的Verilog HDL設(shè)計(jì)[M]. 北京:北京航空航天大學(xué)出版社,1998.
作者簡介:
包 誠(1981—),男,安徽人,目前在中國電子科技集團(tuán)公司第38研究所主要從事電子裝聯(lián)工藝工作。
Research on Configuration Files of FPGA Based on the ATE
ZHAO Hua, ZHANG Huibin
(China Electronics Technology Group Corporation No.58 Research Institute, Wuxi 214035, China)
FPGA is developed based on PAL, GAL, EPLD, CPLD programmable application. It is showed as a half customized circuit. It solves the problems of customized circuit and overcomes the shortcoming of former programmable application. This text explains the working theory of UltraFlex(ATE)integrated operational testing method, analyses the difference of configuration files between different voltage standard.
FPGA; testing technology; ATE; configuration file
TN407
A
1681-1070(2015)07-0010-04
趙 樺(1979—),女,江西南昌人,測試工程師,碩士學(xué)歷,2003年畢業(yè)于西南交通大學(xué)測試計(jì)量及儀器儀表專業(yè),主要從事集成電路測試工作。
2015-05-12