2.4 交織邏輯網(wǎng)絡(luò)
交織邏輯網(wǎng)絡(luò)是基于自對(duì)偶函數(shù)的自校驗(yàn)邏輯網(wǎng)絡(luò)。一個(gè)二進(jìn)制變量是交替的,記作若x在兩個(gè)連續(xù)的時(shí)間間隔內(nèi)所取的值互補(bǔ)。
對(duì)任意一個(gè)開關(guān)函數(shù),若假設(shè)
是交替二進(jìn)制變量,且它們是同步交替的,則g的輸入矢量可表示為
,其輸出可表示為
,要使輸出變量也是交替的,必須滿足
,顯然,g必須是自對(duì)偶函數(shù)。利用交織邏輯網(wǎng)絡(luò)的這個(gè)特點(diǎn),可以檢測(cè)出系統(tǒng)的一部分故障。
3 自校驗(yàn)網(wǎng)絡(luò)實(shí)現(xiàn)方法
對(duì)于一些比較簡(jiǎn)單的應(yīng)用場(chǎng)合,利用數(shù)字邏輯方法進(jìn)行設(shè)計(jì),使用SSI及MSI集成電路即可方便地構(gòu)成自校驗(yàn)網(wǎng)絡(luò)。但實(shí)際容錯(cuò)系統(tǒng)非常復(fù)雜,涉及大量邏輯設(shè)計(jì),若仍采用傳統(tǒng)的數(shù)字邏輯設(shè)計(jì)方法,不僅工作量大、容易出差錯(cuò),而且修改和功能仿真都不方便。使用電子設(shè)計(jì)硬件描述語言VHDL(或Verilog HDL對(duì)電路功能進(jìn)行描述,用FPGA或CPLD器件實(shí)現(xiàn)自校驗(yàn)網(wǎng)絡(luò)是比較現(xiàn)實(shí)的,對(duì)于大批量生產(chǎn),可將VHDL描述的電路送半導(dǎo)體器件廠進(jìn)行批量生產(chǎn),VHDL硬件描述語言實(shí)現(xiàn)自校驗(yàn)網(wǎng)絡(luò)的步驟如下:
①建立自校驗(yàn)網(wǎng)絡(luò)的功能模型。對(duì)系統(tǒng)的輸入/輸出、狀態(tài)轉(zhuǎn)換、信號(hào)傳遞等進(jìn)行詳細(xì)的說明。
②用VHDL語言或Verilog HDL語言對(duì)電路功能進(jìn)行描述。對(duì)復(fù)雜系統(tǒng)可采用撟隕隙聰?shù)脑O(shè)計(jì)方法,將系統(tǒng)分解成不同層次的、功能較簡(jiǎn)單的模塊,利用VHDL語言對(duì)系統(tǒng)功能進(jìn)行分層描述,減少系統(tǒng)描述造成的錯(cuò)誤。
③對(duì)不同層次的模塊進(jìn)行功能仿真,以檢驗(yàn)各模塊設(shè)計(jì)的正確性,最后對(duì)整個(gè)系統(tǒng)進(jìn)行功能仿真,及早排除系統(tǒng)設(shè)計(jì)中的錯(cuò)誤。
④用VHDL或Verilog HDL綜合編譯器對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行編譯,經(jīng)過邏輯化簡(jiǎn)及綜合布線,生成可對(duì)FPG A或CPLD編程的數(shù)據(jù)文件。
⑤將數(shù)據(jù)文件通過編程器寫入FPGA或CPLD,進(jìn)行實(shí)際測(cè)試,若測(cè)試數(shù)據(jù)滿足設(shè)計(jì)要求,則開發(fā)工作完成;否則,轉(zhuǎn)①重新進(jìn)行檢查和設(shè)計(jì)。
采用自校驗(yàn)技術(shù)后,可有效地提高容錯(cuò)系統(tǒng)的可靠性,隨著集成電路技術(shù)的飛速發(fā)展,可將一些自校驗(yàn)功能模塊進(jìn)行封裝,作為標(biāo)準(zhǔn)單元使用,在模塊級(jí)上提高容錯(cuò)系統(tǒng)的可靠性。采用高級(jí)語言和FPGA或CPLD開發(fā)容錯(cuò)系統(tǒng)具有重要的現(xiàn)實(shí)意義,可有效縮短開發(fā)周期,降低開發(fā)成本,提高系統(tǒng)可靠性,應(yīng)在工程設(shè)計(jì)中加以推廣應(yīng)
設(shè)組合邏輯網(wǎng)絡(luò)正確輸入矢量為,則矢量空間
稱作錯(cuò)誤輸入空間,記作
;空間
被稱作非法及錯(cuò)誤輸入空間,記作
。由正確輸入空間
經(jīng)電路G可在S(F)中產(chǎn)生一個(gè)子空間,這個(gè)子空間稱為正確輸出空間,記為
。同樣,對(duì)于合法輸入
,由組合邏輯網(wǎng)絡(luò)可映射為合法輸出空間
它也是輸出矢量空間S(F)的子集。同樣,空間
被稱作錯(cuò)誤輸出空間,記作
;空間
被稱為非法及錯(cuò)誤輸出空間,表示為
。上述輸出之間有如下關(guān)系:
由上面集合之間的關(guān)系我們可以看出,對(duì)于無故障組合網(wǎng)絡(luò)的正確輸入,其輸出應(yīng)落入正確輸出空間中。通過對(duì)網(wǎng)絡(luò)的輸出可部分判定系統(tǒng)工作是否正常(無法判斷某些故障)。當(dāng)網(wǎng)絡(luò)發(fā)生故障時(shí),可分成以下幾種情況:①非法及錯(cuò)誤輸入被映射成
;②輸入
被映射成為
;③
映入
但已不是正確的映射關(guān)系,也就是說輸入輸出關(guān)系發(fā)生了變化。對(duì)于一個(gè)高可靠容錯(cuò)系統(tǒng)來說,必須能夠以比較高的故障覆蓋率來檢測(cè)出以上三類差錯(cuò)(最好在一拍內(nèi)檢出),使系統(tǒng)及時(shí)采取措施,隔離故障,將其影響減小到最低限度。在三類錯(cuò)誤中,第①類和第②類與第③類相比要好檢測(cè)一些,高效檢測(cè)第③類錯(cuò)誤是提高系統(tǒng)故障覆蓋率的關(guān)鍵,只有設(shè)計(jì)出對(duì)以上三類錯(cuò)誤檢出率均較高的檢錯(cuò)系統(tǒng),才能保證系統(tǒng)有較高的可靠性。
2 自校驗(yàn)網(wǎng)絡(luò)的結(jié)構(gòu)
自校驗(yàn)網(wǎng)絡(luò)具有在無任何外加激勵(lì)的情況下能自動(dòng)檢測(cè)其內(nèi)部是否存在故障,這些故障或是永久性的或是暫時(shí)性的。設(shè)計(jì)自校驗(yàn)網(wǎng)絡(luò)的主要技術(shù)有檢錯(cuò)編碼技術(shù),基于自對(duì)偶函數(shù)的交替邏輯技術(shù)(交織邏輯技術(shù)),基于對(duì)偶函數(shù)的互補(bǔ)邏輯技術(shù),還有基于多值邏輯的實(shí)現(xiàn)方法,下面我們主要討論一些實(shí)用的實(shí)現(xiàn)方法。
2.1 雙軌碼校驗(yàn)器
雙軌碼校驗(yàn)器的原理圖如圖3所示。
輸入矢量為,其中
,(i=1,2),輸出矢量為
且滿足:
若
且校驗(yàn)器無故障。
利用雙軌碼校驗(yàn)器的上述特點(diǎn),設(shè)計(jì)一對(duì)偶組合邏輯網(wǎng)絡(luò),使其輸出向量和
恰好反相,將
和
加到雙軌碼校驗(yàn)器輸入端,根據(jù)
就可以判定系統(tǒng)是否發(fā)生故障。
2.2 可分碼校驗(yàn)器
可分碼校驗(yàn)器的結(jié)構(gòu)如圖4所示。校驗(yàn)器的輸入矢量為),矢量
和
分別對(duì)應(yīng)可分碼的信息分量和校驗(yàn)分量。其中,信息分量寬度為
是校驗(yàn)分量的寬度,且1+K=n, n=‖Y‖。校驗(yàn)位生成電路根據(jù)信息位
重新生成校驗(yàn)位W,由雙軌碼校驗(yàn)器比較W與
的一致性,在無故障的情況下,校驗(yàn)器的輸出
指示輸入矢量的有效性。下面的定理給出了圖4完全自校驗(yàn)可分碼校驗(yàn)器的構(gòu)造條件。
在嵌入式市場(chǎng)里有著大量的低級(jí)硬件和軟件工具,同時(shí)隨著嵌入式設(shè)計(jì)和硬件技術(shù)(多核處理器、FPGA等等)不斷提高的復(fù)雜性,要使用現(xiàn)有工具進(jìn)行快速原型設(shè)計(jì)是困難的。
為了節(jié)省在軟件原型開發(fā)中花費(fèi)的時(shí)間和金錢,應(yīng)當(dāng)選擇能夠抽象大部分底層工作的工具。使用LabVIEW編程工具進(jìn)行圖形化系統(tǒng)設(shè)計(jì)為用戶提供了強(qiáng)大而直觀的開發(fā)環(huán)境,使用戶能夠直接開始進(jìn)行原型開發(fā)。LabVIEW具有圖形化特性,帶有數(shù)千個(gè)內(nèi)建函數(shù)塊,可以用于信號(hào)處理、高級(jí)控制、通信、數(shù)據(jù)采集、記錄等任務(wù)中。此外,LabVIEW能夠在大量復(fù)雜的硬件目標(biāo)上運(yùn)行,從多核與實(shí)時(shí)處理器直至FPGA。因?yàn)橛脩艨梢允褂肔abVIEW對(duì)FPGA進(jìn)行編程,可以方便地在原型系統(tǒng)中使用這個(gè)技術(shù),而無需浪費(fèi)大量的開發(fā)時(shí)間。
使用狀態(tài)圖從紙上的設(shè)計(jì)進(jìn)行過渡
大多數(shù)設(shè)計(jì)或想法是從紙上開始的。無論是寫在餐巾紙上還是更正式的書面計(jì)劃,從紙面平穩(wěn)過渡到軟件幫助您更快開始您的設(shè)計(jì)。工程師在設(shè)計(jì)嵌入式系統(tǒng)軟件體系結(jié)構(gòu)中,已經(jīng)使用狀態(tài)圖多年了。在20世紀(jì)90年代,狀態(tài)圖被認(rèn)為是統(tǒng)一建模語言(UML)規(guī)范的行為框圖,廣泛用于對(duì)嵌入式系統(tǒng)進(jìn)行建模。
使用LabVIEW狀態(tài)圖模塊,用戶可以使用狀態(tài)圖框圖設(shè)計(jì)軟件組件,使用數(shù)據(jù)流圖形化編程定義狀態(tài)行為和過渡邏輯。圖1展示了用戶如何從紙上的狀態(tài)圖過渡到LabVIEW狀態(tài)圖。
圖1 從紙上的狀態(tài)圖過渡到LabVIEW狀態(tài)圖模塊
快速連接到I/O以及嵌入式傳感器
對(duì)于大多數(shù)實(shí)時(shí)嵌入式應(yīng)用而言,連接到實(shí)際的I/O是必須的。因此,在創(chuàng)建原型系統(tǒng)時(shí),使用工具快速地連接到傳感器和致動(dòng)器是十分重要的。NI提供了豐富的板卡級(jí)封裝硬件,其中包括用戶與任何傳感器進(jìn)行交互的模擬和數(shù)字I/O。舉例而言,NI C系列模塊的模塊化特性和靈活性使它們成為原型開發(fā)I/O的理想選擇。
圖2 用于將原型系統(tǒng)連接到傳感器的C系列I/O模塊
用戶可以在基于USB的系統(tǒng)中使用C系列模塊,用于連接NI CompactDAQ、無線設(shè)備,甚至例如NI CompactRIO和板卡級(jí)NI單板RIO等嵌入式系統(tǒng)。NI和第三方廠商提供了超過80個(gè)C系列模塊,用于將用戶的原型系統(tǒng)與模擬、數(shù)字、運(yùn)動(dòng)、通信以及嵌入式傳感器與原型系統(tǒng)進(jìn)行交互。此外,用戶可以使用LabVIEW工具對(duì)所有這些平臺(tái)進(jìn)行編程,它提供了與所有這些I/O模塊進(jìn)行交互的驅(qū)動(dòng)程序和庫(kù)。
使用開發(fā)式軟件實(shí)現(xiàn)您的IP
在大多數(shù)情況下,嵌入式設(shè)計(jì)最重要的部分是嵌入在設(shè)計(jì)中的控制算法或處理算法,也稱為知識(shí)產(chǎn)權(quán)。在大多數(shù)情況下,用戶可能已經(jīng)擁有以特定形式開發(fā)的IP(例如ANSI C、文本數(shù)學(xué)、VHDL或其他)。將IP轉(zhuǎn)換為功能原型系統(tǒng)將會(huì)是耗費(fèi)時(shí)間的過程。選擇一個(gè)開放環(huán)境,可以將用戶的IP與原型系統(tǒng)的其他部分整合在一起,這樣可以將工作變得十分簡(jiǎn)單。LabVIEW提供了高級(jí)開放式環(huán)境,用戶可以用來集成任何現(xiàn)存的C、文本數(shù)學(xué)以及VHDL IP。
將機(jī)械仿真與軟件設(shè)計(jì)進(jìn)行整合
“數(shù)字原型設(shè)計(jì)”的概念是將機(jī)械設(shè)計(jì)與軟件設(shè)計(jì)進(jìn)行連接的流程的新術(shù)語。將控制設(shè)計(jì)軟件與機(jī)械仿真整合在一起幫助您快速開發(fā)原型系統(tǒng)仿真。使用數(shù)字原型設(shè)計(jì),用戶可以創(chuàng)建虛擬原型系統(tǒng),而無需構(gòu)建機(jī)械系統(tǒng)。
NI與SolidWorks進(jìn)行合作,為用戶提供了將機(jī)械仿真與控制設(shè)計(jì)軟件進(jìn)行整合的功能。這個(gè)新功能被加入LabVIEW 2009的NI SoftMotion模塊中,用戶可以在LabVIEW中構(gòu)建控制設(shè)計(jì)算法,將控制功能與SolidWorks機(jī)械模型整合在一起,使用真實(shí)的機(jī)械模型對(duì)控制算法進(jìn)行測(cè)試,而無需構(gòu)建機(jī)械系統(tǒng)。
使用包含中間件的運(yùn)行準(zhǔn)備好硬件
在嵌入式設(shè)計(jì)中的最大挑戰(zhàn)之一是創(chuàng)建、調(diào)試以及驗(yàn)證驅(qū)動(dòng)程序級(jí)軟件棧,將嵌入式系統(tǒng)的所有硬件組件整合在一起。過去,整合過程需要用戶完成,這將嵌入式原型設(shè)計(jì)流程變得復(fù)雜而且耗時(shí)。
NI中間件軟件驅(qū)動(dòng)程序超出了傳統(tǒng)單板計(jì)算機(jī)和其他嵌入式系統(tǒng)提供的用于提高生產(chǎn)力、性能以及上市時(shí)間的基本驅(qū)動(dòng)程序的范疇。驅(qū)動(dòng)程序軟件和其他配置服務(wù)軟件包含在每個(gè)支持可重復(fù)配置I/O(RIO)設(shè)備中。內(nèi)建的中間件軟件驅(qū)動(dòng)程序工具包含以下功能:
? 內(nèi)建函數(shù),用于與模擬、數(shù)字、運(yùn)動(dòng)、通信I/O以及FPGA進(jìn)行交互
? 傳送函數(shù),用于在FPGA與處理器之間進(jìn)行數(shù)據(jù)通信
? 用于將FPGA/處理器與內(nèi)存之間進(jìn)行交互的方法
? 用于將處理器與外部設(shè)備(RS232串行接口、以太網(wǎng))進(jìn)行交互的函數(shù)
? 高性能的多線程驅(qū)動(dòng)程序
不要忽視HMI
有時(shí)候,演示想法最簡(jiǎn)單也是最好的方法是通過HMI,即用戶界面。如果用戶可以找到用于快速構(gòu)建用戶界面的軟件工具,用戶可以與潛在的客戶或投資者一起,在概念設(shè)計(jì)流程的早期對(duì)功能進(jìn)行測(cè)試。
圖3 LabVIEW圖形化編程包含內(nèi)建用戶界面
LabVIEW圖形化開發(fā)工具為快速建立用戶界面提供了多種選項(xiàng)。首先,每個(gè)LabVIEW程序(即VI)包含了應(yīng)用程序的圖形化代碼和程序的用戶界面。因此,與其他編程語言不同,用戶不需要編寫大量附加的程序構(gòu)建用戶界面,使用LabVIEW,用戶可以免費(fèi)得到用戶界面。在LabVIEW中,提供了數(shù)百個(gè)內(nèi)建用戶界面項(xiàng)目,從圖表到撥盤直至三維圖片控件,幫助用戶為原型系統(tǒng)快速構(gòu)建HMI。
測(cè)量原型系統(tǒng)
在設(shè)計(jì)流程的早期完成原型設(shè)計(jì)的另一個(gè)優(yōu)點(diǎn)是它為用戶提供了盡可能完善設(shè)計(jì)的機(jī)會(huì)。越早完成原型系統(tǒng)的開發(fā),也就可以越早地開始測(cè)試硬件與軟件設(shè)計(jì),從而可以建立更加可靠的系統(tǒng)。在許多情況下,用戶可能需要等到完成產(chǎn)品開發(fā)才會(huì)開始考慮測(cè)試。通過對(duì)原型系統(tǒng)進(jìn)行測(cè)試,用戶不僅能夠建立更可靠的產(chǎn)品,而且還可以更早地開始設(shè)計(jì)生產(chǎn)測(cè)試系統(tǒng)。
圖4 來自NI的測(cè)試產(chǎn)品用于測(cè)試原型系統(tǒng)
在構(gòu)建原型系統(tǒng)時(shí),考慮能夠使原型系統(tǒng)設(shè)計(jì)變得更加簡(jiǎn)單的工具。用戶可以在原型系統(tǒng)的設(shè)計(jì)與測(cè)試中,使用圖形化系統(tǒng)設(shè)計(jì)工具。LabVIEW和模塊化測(cè)試硬件(基于PC或PXI/CompactPCI技術(shù))能夠用于原型系統(tǒng)中,幫助用戶更早地對(duì)設(shè)計(jì)進(jìn)行測(cè)試。
快速?gòu)南敕ㄟM(jìn)入現(xiàn)實(shí)
原型開發(fā)是嵌入式設(shè)計(jì)流程的重要部分。向投資者、客戶或管理層展示想法功能的能力是為想法得到預(yù)算的最佳方法之一。NI圖形化系統(tǒng)設(shè)計(jì)工具可以在無需大量開發(fā)時(shí)間和大型設(shè)計(jì)團(tuán)隊(duì)的情況下,快速地完成具備功能的原型系統(tǒng)。在對(duì)下一個(gè)設(shè)計(jì)進(jìn)行原型開發(fā)時(shí),請(qǐng)考慮使用LabVIEW以及NI原型開發(fā)硬件,使原型開發(fā)變得更為快捷。
]]>
目前,為了能夠使用這些最新技術(shù),工程師們往往不得不使用非專為并行編程設(shè)計(jì)的軟件工具。而最新版的LabVIEW則為他們提供了獨(dú)立的平臺(tái),通過采用多核處理器技術(shù)提高測(cè)試及控制系統(tǒng)的吞吐量,在基于FPGA的高級(jí)控制及嵌入式原型應(yīng)用中縮短開發(fā)時(shí)間,更便捷地創(chuàng)建分布式測(cè)量系統(tǒng),采集遠(yuǎn)程數(shù)據(jù)。
“從機(jī)器人技術(shù)到混合動(dòng)力汽車設(shè)計(jì),為了滿足前沿應(yīng)用中的性能及效率需求,用戶必須及時(shí)將諸如多核處理器、FPGA及無線通信等最新技術(shù)融入自己的應(yīng)用,” NI公司總裁、CEO兼創(chuàng)始人之一James Truchard博士表示,“LabVIEW通過并行編程為上述技術(shù)的應(yīng)用提供了捷徑,同時(shí)它也為用戶提供最大的靈活性來針對(duì)各種應(yīng)用領(lǐng)域設(shè)計(jì)最優(yōu)化的解決方案。”
當(dāng)標(biāo)準(zhǔn)系統(tǒng)越來越趨于引入多個(gè)處理核,測(cè)試測(cè)量系統(tǒng)實(shí)現(xiàn)大幅度性能提升的可能性也就越大。LabVIEW平臺(tái)擴(kuò)展了內(nèi)嵌的多線程技術(shù),在新版軟件中通過多核優(yōu)化特性提供超級(jí)計(jì)算性能,幫助工程師處理更大容量的測(cè)量數(shù)據(jù),滿足高級(jí)控制應(yīng)用的要求,并提高測(cè)試系統(tǒng)的吞吐量。
為了提升性能,LabVIEW 8.6包含了超過1,200個(gè)重新優(yōu)化的高級(jí)分析函數(shù),在多核系統(tǒng)的控制測(cè)試應(yīng)用中提供更快速、更強(qiáng)大的數(shù)學(xué)及信號(hào)處理功能。視覺應(yīng)用同樣能從多核系統(tǒng)中獲益,NI視覺開發(fā)模塊中創(chuàng)新性的圖像處理函數(shù),能夠自動(dòng)在多核間分配數(shù)據(jù)集。在全新的多核特性下,測(cè)試工程師通過新版LabVIEW的調(diào)制工具包開發(fā)測(cè)試無線設(shè)備的應(yīng)用,其效率可提高4倍之多;控制系統(tǒng)工程師通過LabVIEW 8.6 控制設(shè)計(jì)及仿真模塊實(shí)現(xiàn)并行模型仿真,效率可顯著提高5倍之多。此外,使用LabVIEW框圖自動(dòng)布局功能,工程師們能夠更便捷地識(shí)別代碼的并行部分。
借助于LabVIEW直觀的數(shù)據(jù)流模式,工程師們可以通過使用LabVIEW FPGA模塊及基于FPGA的現(xiàn)成即用的商業(yè)硬件(如NI CompactRIO)來自定義測(cè)量及控制系統(tǒng)應(yīng)用,如半導(dǎo)體驗(yàn)證及高級(jí)機(jī)器控制,從而實(shí)現(xiàn)更佳的性能。LabVIEW 8.6一如既往地將FPGA技術(shù)帶給更多沒有專業(yè)底層硬件描述語言或板級(jí)電路設(shè)計(jì)經(jīng)驗(yàn)的工程師們。
LabVIEW 8.6進(jìn)一步縮短了FPGA的開發(fā)時(shí)間,其新特性允許工程師們直接對(duì)CompactRIO可編程自動(dòng)控制器 (PAC) 進(jìn)行編程,而無須分別對(duì)FPGA編程。此外,全新仿真功能能夠在電腦上驗(yàn)證FPGA應(yīng)用,從而大大縮短了在編譯上消耗的開發(fā)時(shí)間。LabVIEW 8.6還提供了全新IP開發(fā)及集成特性,包括全新快速傅立葉變換(FFT) IP核,實(shí)現(xiàn)頻譜分析等功能,為機(jī)器狀態(tài)監(jiān)控及RF測(cè)試應(yīng)用提供了更強(qiáng)的性能;全新的器件級(jí)IP(CLIP)節(jié)點(diǎn),可便捷地將已有或第三方的IP導(dǎo)入LabVIEW FPGA,提升LabVIEW平臺(tái)的開放性。
隨著無線技術(shù)的發(fā)展,工程師們已經(jīng)可以實(shí)現(xiàn)異地測(cè)量等應(yīng)用。LabVIEW 8.6與無線技術(shù)的配合,能將數(shù)據(jù)采集應(yīng)用擴(kuò)展到新的領(lǐng)域中,如環(huán)境及建筑監(jiān)測(cè)等。LabVIEW圖形化編程的靈活性及無處不在的Wi-Fi網(wǎng)絡(luò)構(gòu)架能將無線連接融入全新或已有的基于PC的測(cè)量及控制系統(tǒng)中。
在最新無線數(shù)據(jù)采集設(shè)備及超過20家第三方無線傳感器驅(qū)動(dòng)的支持下,LabVIEW 8.6作為獨(dú)立的軟件平臺(tái),簡(jiǎn)化了分布式測(cè)量系統(tǒng)的編程過程。在LabVIEW 8.6中,無需作代碼修改即可便捷地通過NI Wi-Fi 數(shù)據(jù)采集 (DAQ) 硬件來配置數(shù)據(jù)采集應(yīng)用。同時(shí),LabVIEW 8.6中全新的3-D可視化工具能夠集成遠(yuǎn)程測(cè)量與設(shè)計(jì)模型,加速設(shè)計(jì)驗(yàn)證的整個(gè)過程。
當(dāng)操作人員和系統(tǒng)間持續(xù)的連接與訪問越來越普遍時(shí),工程師希望可以在任一位置都能通過網(wǎng)絡(luò)來與系統(tǒng)進(jìn)行交互。LabVIEW 8.6允許將LabVIEW應(yīng)用轉(zhuǎn)化成電腦和實(shí)時(shí)硬件上的網(wǎng)絡(luò)服務(wù)器(Web Service),從而能在任何網(wǎng)絡(luò)驅(qū)動(dòng)的設(shè)備上連接,如智能手機(jī)、PC機(jī)等。通過這一特性,工程師能夠采用標(biāo)準(zhǔn)網(wǎng)絡(luò)技術(shù)
]]>
正如我在《科技以人為本 - CES結(jié)語》一文中講的,科技在近20年里發(fā)生了翻天覆地的變化,背后的推動(dòng)主要來自于半導(dǎo)體技術(shù)的飛速發(fā)展,其中最大的革命是天才的人們通過模數(shù)變換,把自然界的一切模擬量變換到數(shù)字域,在數(shù)字域里用我們5千年來練就的功力 - 數(shù)學(xué)來描述并處理模擬的世界,在數(shù)字邏輯的基礎(chǔ)上人們又發(fā)明了基于指令的計(jì)算、數(shù)字信號(hào)處理等技術(shù),于是有了我們今天的壓縮視頻、數(shù)字通信、無線網(wǎng)絡(luò)、互聯(lián)網(wǎng)等等,可以說“數(shù)字”是當(dāng)今半導(dǎo)體科技的主旋律,我們正處于一個(gè)“數(shù)字時(shí)代”,正如本年度的CES也把主旋律定義成了“數(shù)字經(jīng)濟(jì)”。從事電子技術(shù)的同仁們都知道,數(shù)字邏輯的基本單元就是“門”,由眾多的“門”構(gòu)成各式各樣無論多么復(fù)雜的邏輯功能。FPGA - “現(xiàn)場(chǎng)可編程”“門陣列”,也就成了數(shù)字領(lǐng)域的“樂高”,用它可以搭建出任意的作品。
FPGA的演進(jìn)
讓我先來回顧一下歷史。1989年我第一次接觸到電路板的時(shí)候,上面密布著一系列的TTL、CMOS芯片,一顆14~20只管腳的芯片中一般只有4-6個(gè)簡(jiǎn)單的“門”,十幾個(gè)芯片的大板子也就完成尋址、譯碼之類的功能,使用起來是非常的痛苦,如果要修改邏輯,只能用手術(shù)刀切割電路板并進(jìn)行飛線。94年的時(shí)候我開始使用GAL
在前后十年多的時(shí)間里,可編程邏輯器件尤其是FPGA從結(jié)構(gòu)、容量、速度、編程軟件、服務(wù)模式等方面都有了巨大的變化,小到最基本的數(shù)字邏輯,大到復(fù)雜的通信網(wǎng)絡(luò)、視頻編解碼系統(tǒng)乃至ASIC原型設(shè)計(jì),無處不見FPGA的身影。今天如果一個(gè)研發(fā)用的電路板上沒有FPGA,這個(gè)研發(fā)項(xiàng)目的技術(shù)含量基本不高;如果一個(gè)工程師不會(huì)使用FPGA,他根本不好意思跟別人說自己是做硬件的;如果一個(gè)理工科院校還沒有FPGA的課程,這個(gè)學(xué)校一定十分不靠譜,需要Xilinx大學(xué)計(jì)劃的幫助。
FPGA的優(yōu)勢(shì):
根據(jù)應(yīng)用的不同,設(shè)計(jì)者所采用的解決方案也會(huì)不同,在大規(guī)模數(shù)字芯片中比較典型的技術(shù)主要有:微處理器、DSP、專用集成電路ASIC等,相對(duì)于這些技術(shù)的應(yīng)用來講,F(xiàn)PGA有什么優(yōu)勢(shì)呢?
1. 微處理器:今天的微處理器(包括微控制器)品種繁多,結(jié)構(gòu)也各不相同,從4位、8位、16位、32位到64位,有8051,PIC,RISC、ARM、MIPS、Xtensa以及X86等,他們大多有豐富的接口同各種外設(shè)進(jìn)行連接,通過軟件執(zhí)行不同的進(jìn)程,從而完成一定的任務(wù),并將控制命令或結(jié)果進(jìn)行輸出。可以說通過軟件編程微處理器可以做任何事情,但是致命的缺點(diǎn)就是速度有限,在外部時(shí)鐘的節(jié)拍下順序執(zhí)行一條條的指令,不能并行處理,因此微處理器廠商只能玩命提高芯片的速度(比如Intel的芯片時(shí)鐘在2GHz以上,ARM已經(jīng)在600MHz以上),對(duì)于更復(fù)雜的任務(wù)只能多放幾個(gè)兄弟在里面一起干活,也就是今天的多核技術(shù)。由于一般稍微復(fù)雜一些的系統(tǒng)都會(huì)用到微處理器用于輸入輸出、多進(jìn)程處理以及網(wǎng)絡(luò)通信等,很多滿足一定性能需求的通用微處理器成本較低,因此被廣泛采用。現(xiàn)在微處理器領(lǐng)域最熱門的技術(shù)術(shù)語無疑就是 “嵌入式系統(tǒng)”了,但我可以負(fù)責(zé)任地講,大多數(shù)人對(duì)“嵌入式系統(tǒng)”的理解是片面甚至是錯(cuò)誤的。有些公司為了商業(yè)利益把嵌入式系統(tǒng)以“皇帝的新裝”模式進(jìn)行大規(guī)模地忽悠,導(dǎo)致人們幾乎把“嵌入式系統(tǒng)”同某一種IP類型畫上了等號(hào),這個(gè)行業(yè)涌現(xiàn)出了大批的根本不懂嵌入式系統(tǒng)的嵌入式系統(tǒng)工程師。
2. DSP
3. ASIC
4. FPGA: 它比較明顯的缺點(diǎn)就是相對(duì)來講成本較高,主要用于研發(fā)過程中或者市場(chǎng)量不會(huì)很大,F(xiàn)PGA在系統(tǒng)的整體價(jià)格中不敏感。一顆FPGA芯片的價(jià)格從低于1美元到幾千美元不等,當(dāng)然這是可以理解的,畢竟靈活性是靠高度的冗余帶來的。它的好處是其它任何一種技術(shù)無法比擬的 - 它幾乎可以做任何事情,你可以用它搭建多個(gè)微處理器,用它構(gòu)建自己的乘、除法單元做出幾個(gè)DSP來,而且這些處理器、DSP可以同時(shí)干活,并行工作,與此同時(shí)您還可以利用芯片內(nèi)部未用的資源做很多輔助的功能,可以說是高度的靈活。
以一個(gè)應(yīng)用為例,今天的汽車電子也是以人為本,該領(lǐng)域的一個(gè)重要的技術(shù)熱點(diǎn)就是“司機(jī)幫助(DA)”系統(tǒng),它由超聲、雷達(dá)、照相機(jī)以及激光等多種不同的傳感器構(gòu)成,這些不同的傳感器在不同的時(shí)刻或者同一時(shí)刻把相應(yīng)的信號(hào)采集下來,發(fā)往中央處理單元進(jìn)行識(shí)別、運(yùn)算、做出判斷,幫助司機(jī)在倒車、高速行駛以及夜間行駛的時(shí)候能夠?qū)χ車沫h(huán)境在最短的時(shí)間內(nèi)做出準(zhǔn)確的判斷并做出一系列的安全保護(hù)動(dòng)作。如果采用微處理器或DSP對(duì)多傳感器的信號(hào)進(jìn)行處理,它們無法并行執(zhí)行多個(gè)任務(wù),并且同其他系統(tǒng)進(jìn)行互聯(lián),因此就會(huì)造成系統(tǒng)的處理時(shí)間延遲,可靠性差,從而導(dǎo)致事故無法及時(shí)避免。如果采用ASIC呢?隨著用戶對(duì)功能要求的不斷增加,對(duì)性能要求的不斷升級(jí),也就要求算法要不斷的改進(jìn),顯然采用ASIC無論從靈活性還是成本上都是不合算的。圖1是Xilinx專為汽車電子開發(fā)提供的功能模塊,圖2為在一顆Spartan-3E FPGA中針對(duì)“司機(jī)幫助”集成了很多的功能 。
圖1 FPGA平臺(tái)能夠支持的“司機(jī)幫助”系統(tǒng)功能
圖2 采用Xilinx Spartan-3E的“司機(jī)幫助”解決方案
FPGA的設(shè)計(jì):
FPGA的功能越是強(qiáng)大,對(duì)設(shè)計(jì)的要求也就越高,畢竟有那么多的管腳需要跟其它芯片連接起來,有那么多的功能要一行一行地采用邏輯寫出來,遠(yuǎn)遠(yuǎn)不是十年前處理門級(jí)電路的時(shí)候了。雖然今天大多數(shù)用過FPGA的工程師已經(jīng)對(duì)這個(gè)痛苦的過程深有體會(huì),我還是把他們列舉在此:
1. 電路板設(shè)計(jì):
現(xiàn)在的電路板設(shè)計(jì)動(dòng)不動(dòng)就是4層板、6層板甚至更多層,芯片的封裝也變得稀奇古怪,什么QFN、BGA等等,如果發(fā)現(xiàn)了連接不對(duì)想手工修改,拿著烙鐵都找不到往哪里燙,根本沒有露出來的管腳。尤其是FPGA芯片, 256個(gè)管腳的BGA封裝都算照顧你了,如果再增加一些功能,容量再大一些,一不留神就到1000多個(gè)管腳去了,光做原理圖中的符號(hào)就要折騰你三天,完了還要拿著放大鏡不斷地檢查,否則做回來的電路板極有可能是廢的。這還不算,等你布局、布線的時(shí)候你會(huì)發(fā)現(xiàn)很多的線都是扭著的,一是難布,二是電氣性能也不好,好在FPGA的管腳是可以重新配置的,修改一下管腳的定義就可以讓芯片之間的聯(lián)線能過做到最優(yōu)。
當(dāng)然系統(tǒng)的速度高了,對(duì)高速數(shù)字設(shè)計(jì)方面的知識(shí)要求就是必須的了,這里面有一個(gè)詞叫“信號(hào)完整性”,有幾位美國(guó)大牛在這方面很有研究,其中有不少他們的著作翻譯成中文了。如果你想真的理解并能夠靈活應(yīng)用,好好回爐去學(xué)扎實(shí)電磁場(chǎng)理論,不懂電磁理論,就不可能做好高速數(shù)字設(shè)計(jì)。FPGA支持各種高速串、并行總線并在很多系統(tǒng)中要和高速的數(shù)據(jù)、時(shí)鐘進(jìn)行連接,如果信號(hào)被你給搞得不完整了,整個(gè)系統(tǒng)性能會(huì)大大降低甚至不干活。
一般的系統(tǒng)都會(huì)有一個(gè)需要大電流的Core電壓(1.2V或1.8V等,取決于工藝)和一個(gè)需要小電流的接口電壓(一般是+3.3V),并且有多組不同的地。除了這些對(duì)工程師的布線提出挑戰(zhàn)之外,還必須重視的一個(gè)部分就是鎖相環(huán)(PLL/DLL),這個(gè)部分的布線是相當(dāng)?shù)年P(guān)鍵,一旦有問題,整個(gè)系統(tǒng)的性能就會(huì)大打折扣,雖然數(shù)字的電路不是0就是1,可它就跑不快了。
2 邏輯設(shè)計(jì):
最初用PLD/FPGA的時(shí)候還都是采用圖形輸入法,直觀而原始。現(xiàn)在FPGA的用戶基本都在采用更高級(jí)的語言 - VHDL或Verilog,這種語言高級(jí)得如同C,用起來非常容易。但是您千萬不能把它當(dāng)C來使喚,畢竟硬件和軟件還是不同的。4年前在我做硬件工程師的時(shí)候,一個(gè)擅寫DSP軟件的兄弟寫了一段FPGA的代碼,他花了整整一頁的篇幅實(shí)現(xiàn)了一個(gè)用硬件的思路只要4句話就可以完成的功能,搞得我苦笑不得。在這里面要時(shí)刻注意的是,F(xiàn)PGA內(nèi)部多個(gè)功能模塊都是可以并行操作的,如果用程序的思路去寫,基本上會(huì)讓他們排著隊(duì)串著出來,當(dāng)成DSP用了。
3 充分利用現(xiàn)有的資源:
無需爭(zhēng)議,今天你已經(jīng)不可能徒手把一個(gè)Spartan-3E中哪怕最小的系列給填滿了,重新寫一個(gè)I2C接口,重新做一個(gè)以太網(wǎng)的MAC作為鍛煉還可以,在實(shí)際的項(xiàng)目中每個(gè)都自己去寫是不可取的,如何利用現(xiàn)有的資源是非常重要的。首先在每個(gè)人的設(shè)計(jì)工作中要注意積累,把曾經(jīng)用得不錯(cuò)的功能模塊認(rèn)真完善后寫好文檔以便今后自己或他人使用;再次FPGA的廠商都在配套的軟件中內(nèi)嵌一些免費(fèi)的功能模塊,根據(jù)自己的需求可以靈活地進(jìn)行配置使用。當(dāng)今互聯(lián)網(wǎng)時(shí)代,信息分享成了主旋律,因此你可以方便地在一些開源的社區(qū)中找到自己需要的東西,比如在www.openhw.org社區(qū)中你就可以找到并下載很多其他FPGA同仁們開發(fā)并驗(yàn)證過的功能模塊,如果有問題還可以在社區(qū)內(nèi)同他們進(jìn)行互動(dòng)交流,咨詢等,要把這些先進(jìn)的手段都用上。當(dāng)然如果公司有財(cái)力,又需要在最短的時(shí)間內(nèi)推出產(chǎn)品,您可以到FPGA廠商的網(wǎng)站上,那里陳列著琳瑯滿目的商用IP, 這些都是FPGA廠商會(huì)同他們認(rèn)證過的聯(lián)盟廠商共同推出來的,您可以放心地使用。圖3為Xilinx公司為消費(fèi)電子領(lǐng)域的“數(shù)字顯示屏”提供的系列IP示例。
圖3 Xilinx同聯(lián)盟廠商提供的用于“數(shù)字顯示屏”的系列IP
FPGA的改進(jìn):
技術(shù)仍在不斷發(fā)展,而且是以更快的步伐。FPGA在容量、功能和速度上的提高帶給我們今天年輕人的壓力越來越大,那么多的專業(yè)知識(shí)需要學(xué)習(xí),那么多的設(shè)計(jì)技巧需要掌握,那么多的系統(tǒng)功能需要實(shí)現(xiàn),對(duì)用戶的挑戰(zhàn)同樣也是對(duì)FPGA廠商的挑戰(zhàn),如何能夠讓用戶在最短的時(shí)間內(nèi)設(shè)計(jì)出滿足其性能需要的產(chǎn)品是FPGA廠商面臨的最主要的問題,同時(shí)也影響著他們服務(wù)模式的改變,在此列舉出我認(rèn)為目前FPGA廠商需要注意的一些問題。
Altera公司產(chǎn)品和企業(yè)市場(chǎng)副總裁Vince Hu評(píng)論說:“FPGA與處理器的組合應(yīng)用迅速擴(kuò)展到在嵌入式系統(tǒng)設(shè)計(jì)中開發(fā)新的定制產(chǎn)品。通過嵌入式計(jì)劃,Altera使汽車、工業(yè)、軍事和無線等市場(chǎng)的設(shè)計(jì)人員能夠在單一設(shè)計(jì)流程中,方便的利用處理器、操作系統(tǒng)以及IP支持等輔助系統(tǒng),降低了系統(tǒng)總成本,更迅速的將產(chǎn)品推向市場(chǎng),提高了系統(tǒng)的靈活性。”
作為該計(jì)劃的一部分,Altera將繼續(xù)拓展目前的嵌入式合作伙伴計(jì)劃,聯(lián)合ARM、Intel和MIPS技術(shù)公司以及FPGA業(yè)界的多個(gè)合作伙伴。此外,Altera將與他們協(xié)作,增強(qiáng)設(shè)計(jì)流程,支持越來越多的FPGA嵌入式處理產(chǎn)品走向市場(chǎng)。
Intel最近全面發(fā)布了即將推出的基于Atom的可配置新處理器。這一處理器在多芯片封裝中含有Intel Atom E600系列以及配對(duì)的Altera? FPGA。對(duì)于希望采用專用I/O或者加速硬件的用戶而言,這進(jìn)一步提高了他們的靈活性,還支持開發(fā)人員迅速應(yīng)對(duì)需求的變化,從而突出其設(shè)計(jì)優(yōu)勢(shì)。
Intel嵌入式通信組副總裁兼總經(jīng)理Doug Davis說:“靈活性是嵌入式設(shè)計(jì)人員的關(guān)鍵,而FPGA技術(shù)提供了更多的選擇。Intel最近發(fā)布了集成Altera FPGA與基于Intel Atom處理器的多芯片封裝產(chǎn)品,繼續(xù)為嵌入式開發(fā)人員提供靈活的智能解決方案。”
Altera還透露上半年與ARM有限公司簽署了協(xié)議,授權(quán)包括Cortex-A9微處理器在內(nèi)的多種技術(shù)。Altera將在28nm FPGA技術(shù)中提供集成了增強(qiáng)Cortex A9處理器子系統(tǒng)的產(chǎn)品。Altera將在2011年發(fā)布這些基于ARM處理器的器件的詳細(xì)信息。
ARM處理器部門市場(chǎng)副總裁Eric Schorn說:“ARM認(rèn)識(shí)到FPGA業(yè)界的重要性,非常希望與合作伙伴一起協(xié)作,以滿足嵌入式設(shè)計(jì)人員對(duì)靈活性的需求。ARM在低功耗、高性能處理器IP上的領(lǐng)先優(yōu)勢(shì)與Altera的專業(yè)FPGA技術(shù)相結(jié)合,使我們能夠采用公共軟件流程來進(jìn)一步提高靈活性,幫助軟件開發(fā)人員和硬件設(shè)計(jì)人員加速各種應(yīng)用的開發(fā)。”
Altera還進(jìn)一步擴(kuò)展了軟核處理器系列產(chǎn)品,即將在2011年上半年推出基于MIPS技術(shù)公司MIPS32處理器體系結(jié)構(gòu)的MP32軟核處理器。MP32是Altera、MIPS技術(shù)公司以及主要用戶過去幾年密切協(xié)作的結(jié)果。它針對(duì)Altera器件完善了Altera Nios II嵌入式處理器以及合作伙伴軟核CPU系列產(chǎn)品,極大的豐富了FPGA可以使用的操作系統(tǒng)和應(yīng)用程序。
MIPS技術(shù)公司市場(chǎng)副總裁Art Swift說:“我們非常高興的看到,通過MIPS32體系結(jié)構(gòu)許可,Altera提供MP32軟核CPU,大幅度增強(qiáng)了當(dāng)今多核設(shè)計(jì)體系結(jié)構(gòu)的靈活性。隨著處理器和可編程邏輯集成的加速,在Altera平臺(tái)上實(shí)現(xiàn)MIPS32體系結(jié)構(gòu)是嵌入式設(shè)計(jì)人員很好的選擇。”
本季度末,Altera將提供Qsys系統(tǒng)集成工具,它是Quartus II開發(fā)軟件的一部分。采用業(yè)界首創(chuàng)的FPGA優(yōu)化芯片網(wǎng)絡(luò)技術(shù),Qsys能夠提供存儲(chǔ)器映射和數(shù)據(jù)通路互聯(lián),使Altera SOPC Builder工具的性能幾乎提高至兩倍,同時(shí)支持業(yè)界標(biāo)準(zhǔn)IP接口,例如,AMBA。Qsys將采用使用方便的SOPC Builder界面,支持與現(xiàn)有嵌入式系統(tǒng)移植的后向兼容。而且,這一高級(jí)互聯(lián)技術(shù)將支持分層設(shè)計(jì)、漸進(jìn)式編譯以及部分重新配置方法。
]]>例如,在為產(chǎn)品選擇 FPGA 時(shí),功耗的考慮變得越來越重要。很可能下一代設(shè)計(jì)會(huì)需要在功耗預(yù)算不變(或更小)的情況下,集成更多的特性和實(shí)現(xiàn)更高的性能。
在本文中,我將分析功耗降低所帶來的好處。還將介紹 Virtex-5 器件中所使用的多種技術(shù)和結(jié)構(gòu)上的革新,它們能提供功耗最低的解決方案,并且不會(huì)在性能上有任何折扣。
降低功耗的好處
低功耗的 FPGA 設(shè)計(jì)所帶來的優(yōu)勢(shì)不僅是能滿足器件工作的散熱要求。雖然滿足元件指標(biāo)對(duì)于性能和可靠性十分重要,但如何實(shí)現(xiàn)這一點(diǎn)對(duì)于系統(tǒng)成本和復(fù)雜性都有著巨大的影響。
首先,降低 FPGA 的功耗使你能夠使用更便宜的電源,這樣的電源使用的元件數(shù)量較少,并且占用的 PCB 面積也較小。高性能的電源系統(tǒng)的成本通常為每瓦0.5到1美元。低功耗的 FPGA 直接降低了系統(tǒng)的整體成本。
其次,由于功耗直接與散熱相關(guān),低功耗使你能夠使用更簡(jiǎn)單、更便宜的熱量管理解決方案。在很多情況下,設(shè)計(jì)者將不再需要散熱器,或者只需要更小、更便宜的散熱器。
最后,由于低功耗工作意味著更少的元件和更低的器件溫度,因此將提高整個(gè)系統(tǒng)的可靠性。器件工作溫度每降低10℃,就相當(dāng)于元件壽命提高了兩倍,因此對(duì)于需要高可靠性的系統(tǒng)而言,控制功耗和溫度十分重要。
功耗:挑戰(zhàn)和解決方案
FPGA (或任何半導(dǎo)體器件)中的總功耗等于靜態(tài)功耗和動(dòng)態(tài)功耗之和。靜態(tài)功耗主要由晶體管的泄漏電流引起,即晶體管即使在邏輯上被關(guān)斷時(shí),從源極“泄漏”到漏極或通過柵氧“泄漏”的小電流。動(dòng)態(tài)功耗是器件核心或 I/O 在開關(guān)過程中消耗的能量,與頻率相關(guān)。
圖1:85℃時(shí)的靜態(tài)功耗比較
靜態(tài)功耗
在縮小晶體管尺寸時(shí)(例如,從90納米到65納米),泄漏電流將會(huì)增大。新工藝結(jié)點(diǎn)所使用的短溝長(zhǎng)和薄柵氧使電流更容易從晶體管的溝道區(qū)或通過柵氧泄漏。
在90納米 Virtex-4 系列產(chǎn)品中,Xilinx 公司使用了“三柵極氧化層”的工藝技術(shù),向 Xilinx 電路設(shè)計(jì)者提供了一種強(qiáng)有力的阻止漏電工具。在前幾代 FPGA 中,使用兩種柵氧厚度:薄柵氧用于 FPGA 核心中高性能、低工作電壓的晶體管,而厚柵氧用于 I/O 模塊中尺寸較大,需要承受大電壓的晶體管。簡(jiǎn)單地來說,“三柵極氧化層”指增加一種中間厚度柵氧的晶體管,它的漏電比薄柵氧的核心晶體管要小得多。
“中間柵氧”的晶體管用在器件核心外圍非關(guān)鍵性能的電路(像設(shè)置存儲(chǔ)器)或不需要對(duì)變化的柵壓進(jìn)行快速開關(guān)響應(yīng)的電路(像傳輸門)中。薄柵氧、漏電最大的晶體管只保留在需要快速開關(guān)速度的路徑部分。結(jié)果,總的器件漏電被大大減小,同時(shí)性能仍能比上一代 FPGA 有很大提高。
三柵極氧化層工藝使 Virtex-4 器件比競(jìng)爭(zhēng)性90納米 FPGA 在靜態(tài)功耗上平均減少了超過70%。這一結(jié)果非常成功,因此 Virtex-5 系列產(chǎn)品中大量使用了這一技術(shù),在65納米工藝結(jié)點(diǎn)上降低漏電。
雖然業(yè)界預(yù)測(cè)65納米器件的靜態(tài)功耗將會(huì)有大幅度提高,但是圖1顯示了三柵極氧化層工藝使65納米 Virtex器件在最壞(溫度最高)工作條件下達(dá)到了與尺寸相當(dāng)?shù)?0納米 Virtex-4器件相同水平的靜態(tài)功耗。因此,Virtex-5 系列產(chǎn)品和競(jìng)爭(zhēng)性高性能 FPGA 產(chǎn)品相比,在靜態(tài)功耗方面具有真正的優(yōu)勢(shì)。
動(dòng)態(tài)功耗
動(dòng)態(tài)功耗為65納米 FPGA帶來一些其它方面的挑戰(zhàn)。動(dòng)態(tài)功耗的公式為:
動(dòng)態(tài)功耗 = CV2f
其中C是結(jié)點(diǎn)開關(guān)時(shí)的電容,V是電源電壓,f是開關(guān)頻率。65納米工藝節(jié)點(diǎn)使 FPGA 的邏輯能力和性能比傳統(tǒng)器件有了顯著提高,也就是說更多的結(jié)點(diǎn)工作在更高的頻率上。如果其它方面的條件不變,動(dòng)態(tài)功耗將會(huì)增大。
但是,對(duì)于65納米工藝節(jié)點(diǎn)的動(dòng)態(tài)功耗而言,也有一個(gè)好消息:FPGA 核心的電源電壓(V)和結(jié)點(diǎn)電容(C)通常在每一代新工藝中都會(huì)下降,從而使得動(dòng)態(tài)功耗比上一代 FPGA 有所下降。
Virtex-5 器件中,核心電源電壓(VCCINT)從Virtex-4 中所使用的1.2V下降到1.0V。由于寄生電容變小(與更小的晶體管相關(guān)),以及邏輯塊間的互聯(lián)線長(zhǎng)度變短、電容變小,使結(jié)點(diǎn)電容減小。此外,Virtex-5 器件在金屬互聯(lián)層之間使用了一種介電常數(shù)較低的材料。
Virtex-5 器件的平均結(jié)點(diǎn)電容比Virtex-4 器件大約減小了15%。加上電壓降低帶來的好處,至少相當(dāng)于將 Virtex-5 器件的核心動(dòng)態(tài)功耗降低了35-40%。
除“工藝尺寸縮小”到65納米所帶來的固有的35-40%的動(dòng)態(tài)功耗降低外,Virtex-5 器件的架構(gòu)創(chuàng)新,還能進(jìn)一步降低每個(gè)設(shè)計(jì)的功耗。大多數(shù)可增加動(dòng)態(tài)功耗有的結(jié)點(diǎn)電容,是由邏輯功能間的互連線引起的。新型 Virtex-5 架構(gòu)在兩個(gè)方面從根本上減小了連線電容:
Virtex-5的可配置邏輯模塊(CLB) 是基于6輸入查找表(6-LUT) 邏輯結(jié)構(gòu)的,在以前的器件中是使用4輸入查找表。這意味著在每個(gè) LUT 中能夠?qū)崿F(xiàn)更多的邏輯,相當(dāng)于較少的邏輯級(jí),從而降低了對(duì)邏輯功能之間大電容連線的需求。
Virtex-5 的互聯(lián)結(jié)構(gòu)目前包括了對(duì)角線對(duì)稱的連線,意味著每個(gè) CLB 與所有相鄰的模塊(包括處于對(duì)角線位置的模塊)之間都有直接的“單一”連接。當(dāng)邏輯功能之間需要連接時(shí),這一連接更有可能成為總電容最小的“單一”連接,而以往的互聯(lián)結(jié)構(gòu)對(duì)于相同的連接問題可能會(huì)需要兩個(gè)或更多結(jié)點(diǎn)。
圖2: 計(jì)數(shù)器標(biāo)準(zhǔn)設(shè)計(jì)的動(dòng)態(tài)功耗比較
6-LUT 結(jié)構(gòu)和改進(jìn)的互聯(lián)模式,通過降低平均結(jié)點(diǎn)電容來降低核心的動(dòng)態(tài)功耗,效果遠(yuǎn)遠(yuǎn)超過僅使用65納米工藝所帶來的改進(jìn)。圖2顯示了來自標(biāo)準(zhǔn)設(shè)計(jì)的核心動(dòng)態(tài)功耗的測(cè)量結(jié)果,其中每個(gè) Virtex-5 器件和 Virtex-4 器件中都有1024個(gè)8位計(jì)數(shù)器。這些實(shí)際的測(cè)量結(jié)果顯示,工藝和結(jié)構(gòu)上的共同優(yōu)化所帶來的動(dòng)態(tài)功耗的降低超過了50%。
硬IP模塊
Virtex-5器件中包含的硬IP模塊(專門用來實(shí)現(xiàn)一些常用功能的電路)的數(shù)量,超過業(yè)界其他任何一款 FPGA。相比使用通用 FPGA 邏輯而言,使用搭載這些模塊的 FPGA 設(shè)計(jì)來實(shí)現(xiàn)這些功能,可進(jìn)一步降低功耗。
與 FPGA 結(jié)構(gòu)不同,這些專用的模塊中只有實(shí)現(xiàn)所要求的功能必需的晶體管。并且沒有可編程的互聯(lián),因此互聯(lián)電容最小。較少的晶體管和較小的結(jié)點(diǎn)電容能降低靜態(tài)和動(dòng)態(tài)功耗。從而使這些專用模塊在實(shí)現(xiàn)相同功能的同時(shí),功耗只有使用通用 FPGA 結(jié)構(gòu)的十分之一。
除增加新型的專用模塊外,Virtex-4 器件中融合的很多模塊,在 Virtex-5 器件中都被重新設(shè)計(jì),以增加新的特性,提高性能,降低功耗。例如,Virtex-4 系列中18-Kb 的 block RAM 存儲(chǔ)器在 Virtex-5 器件中被增加到了36-Kb;每個(gè) block RAM 能被分成兩個(gè)獨(dú)立的 18-Kb 的存儲(chǔ)器,以便向下兼容 Virtex-4 的設(shè)計(jì)。
有趣的是,從功耗的角度來看,每個(gè) 18-Kb 的子模塊由兩個(gè) 9-Kb 的物理存儲(chǔ)陣列構(gòu)成。對(duì)于大多數(shù)的 block RAM 配置,任何對(duì)于 block RAM的讀寫請(qǐng)求一次只需要訪問 9-Kb 物理存儲(chǔ)器中的一個(gè)。因此其余的 9-Kb 存儲(chǔ)器能在不被訪問時(shí)被有效地“關(guān)斷”。在過渡至65納米工藝所帶來的功耗降低的基礎(chǔ)上,這種結(jié)構(gòu)又使功耗進(jìn)一步降低了50%。這一對(duì)于9-kB 模塊的“乒乓”訪問是新的 block RAM結(jié)構(gòu)所固有的,這就意味著使用這項(xiàng)功能不需要用戶或軟件來進(jìn)行控制。它能動(dòng)態(tài)并自動(dòng)地進(jìn)行,使所有使用 block RAM的設(shè)計(jì)降低了大量的功耗,并且不會(huì)影響模塊的性能。
Virtex-5 器件中專用的 DSP 元件也進(jìn)行了大量的改進(jìn),以實(shí)現(xiàn)更多的功能,提高性能,并降低功耗。在片與片的比較中,新型的 Virtex-5 DSP 片的功耗比 Virtex-4 DSP 片的功耗降低了大約40%。這主要?dú)w功于前面所討論的65納米工藝中電壓和電容的減小。
然而,由于 Virtex-5 DSP 片具有更強(qiáng)的功能和更廣泛的接口,許多 DSP 運(yùn)算通過利用這些附加的功能進(jìn)一步降低了功耗。在許多情況下,當(dāng)使用新型 DSP 片的全部功能時(shí),總功耗最高可降低75%。請(qǐng)記住即使你不是在設(shè)計(jì)一個(gè) DSP 產(chǎn)品,也能使用 DSP 片來實(shí)現(xiàn)標(biāo)準(zhǔn)的邏輯功能(計(jì)數(shù)器、加法器、桶式移位器),這樣會(huì)比在標(biāo)準(zhǔn) FPGA 邏輯中實(shí)現(xiàn)同樣的功能節(jié)省功耗。
最后介紹的經(jīng)過改進(jìn)的專用模塊是 Virtex-5 系列的 LXT 平臺(tái),其中包括了幾吉位的串行收發(fā)機(jī),能以高達(dá) 3.125Gbps 的速率工作。這些 “SERDES” 模塊在實(shí)現(xiàn)時(shí)著重考慮了低功耗需求。每個(gè) Virtex-5 LXT 器件中的全雙工收發(fā)機(jī)在 3.125Gbps 的速度下的總功耗小于100毫瓦,與Virtex-4串行收發(fā)機(jī)相比降低了大約75%。
圖3:典型設(shè)計(jì)中現(xiàn)有 FPGA 的功耗比較
結(jié)論
Xilinx 公司悠久的創(chuàng)新歷史能夠追溯到20多年前第一塊 FPGA 的發(fā)明。因此 Xilinx 公司理所當(dāng)然地成為第一家在深亞微米技術(shù)中將降低功耗作為首要任務(wù)的公司。與 Virtex-4 系列產(chǎn)品一樣,Virtex-5 器件也采用了一系列工藝和架構(gòu)上的革新,力求在提供盡可能低的功耗的同時(shí),仍然使性能提高30%或更多。
如圖3所示,Virtex-5系列產(chǎn)品的靜態(tài)功耗與 Virtex-4 器件相當(dāng),但比競(jìng)爭(zhēng)性 FPGA 具有明顯的優(yōu)勢(shì)。作為唯一的65納米 FPGA,Virtex-5 器件核心的動(dòng)態(tài)功耗比市場(chǎng)上其它高性能 FPGA 低至少35-40%。像新型 6-LUT 和對(duì)角線對(duì)稱的互聯(lián)等架構(gòu)上的革新,使實(shí)際核心動(dòng)態(tài)功耗進(jìn)一步降低了50%或以上。此外,利用數(shù)量空前的專用模塊進(jìn)一步降低了功耗。
欲獲取更多關(guān)于如何利用 Virtex-5 器件低功耗性能的資料,請(qǐng)?jiān)L問www.xilinx.com/cn//power。
Xilinx 功耗估算器(XPE)
2006年1月上世的Xilinx 功耗估算器(XPE),是一種基于電子數(shù)據(jù)表的功耗工具,支持VirtexTM-4 和最新推出的 Virtex-5 和 SpartanTM-3 FPGA 系列產(chǎn)品。XPE 被設(shè)計(jì)用來替代網(wǎng)絡(luò)功耗工具,是所有新型 XilinxFPGA 系列產(chǎn)品在初步設(shè)計(jì)時(shí)使用的主要功耗估計(jì)工具。與以往的功耗估計(jì)工具相比,XPE 的主要優(yōu)勢(shì)在于改進(jìn)的用戶界面、更高的精度和對(duì)重要數(shù)據(jù)更好的顯示方法。
XPE 的概要頁顯示了能量使用的完整概述,首先是資源類型,接著是電源電壓。你能夠使用概要頁上的導(dǎo)航按鈕來查詢更詳細(xì)的信息。XPE 會(huì)自動(dòng)顯示一些圖表,幫助用戶創(chuàng)建能量使用圖。
繼發(fā)布初始版本之后,Xilinx 又陸續(xù)發(fā)布了一些更新版本的XPE,包括了許多附加特性和精度的提高。www.xilinx.com/cn/power上提供了這些版本和它們所支持的 Virtex-5 和Spartan-3E 器件的列表。
Kevin Bixler
Xilinx公司功耗工具產(chǎn)品市場(chǎng)工程師
入門
NI LabVIEW FPGA模塊幫助DAQ系統(tǒng)的開發(fā)者靈活自如地進(jìn)行應(yīng)用程序編程以實(shí)現(xiàn)各類輸入/輸出操作。 用戶無需預(yù)先了解VHDL等硬件設(shè)計(jì)工具,便可將LabVIEW代碼嵌入FPGA芯片并獲得硬件定時(shí)的速度和可靠性。
讓我們先從數(shù)據(jù)采集硬件的常用組件切入論題。 假設(shè)您擁有了模數(shù)轉(zhuǎn)換器(ADC)、數(shù)模轉(zhuǎn)換器(DAC)和數(shù)字輸入/輸出線,則所有I/O便要根據(jù)實(shí)際操作接受某種方式的定時(shí)和控制。 典型的多功能數(shù)據(jù)采集設(shè)備采用功能齊全的ASIC,滿足了大多數(shù)的功能性需求。
比如:M系列DAQ設(shè)備通過DAQ-STC2,控制著各類硬件組件的定時(shí)和觸發(fā)。 智能DAQ硬件(如:R系列DAQ設(shè)備)區(qū)別于市面上的其他任何數(shù)據(jù)采集設(shè)備,因?yàn)樵诳刂圃O(shè)備功能方面智能DAQ用基于FPGA的系統(tǒng)定時(shí)控制器取代了傳統(tǒng)ASIC,從而使得所有模擬和數(shù)字I/O都能根據(jù)特定應(yīng)用操作接受相應(yīng)的配置。 可重配置FPGA芯片通過NI LabVIEW FPGA模塊進(jìn)行編程,此時(shí)NI LabVIEW的數(shù)據(jù)流模式仍舊適用,不過采用了一組新函數(shù)控制最底層的設(shè)備I/O。
LabVIEW FPGA I/O節(jié)點(diǎn)并不通過NI-DAQmx函數(shù)負(fù)責(zé)實(shí)現(xiàn)常見的任務(wù)和功能,而是靈活自如地在各個(gè)通道最底層上運(yùn)行。 通過以下各部分的內(nèi)容,我們將了解NI-DAQmx的特定實(shí)例,并學(xué)習(xí)如何通過智能DAQ定制各類數(shù)據(jù)采集任務(wù)。
定時(shí)和觸發(fā)
實(shí)現(xiàn)高級(jí)數(shù)據(jù)采集的智能DAQ主要用于定制定時(shí)和觸發(fā)。 下方的范例程序框圖展現(xiàn)了:NI-DAQmx幫助實(shí)現(xiàn)的觸發(fā)式模擬輸入任務(wù)。
圖1. 通過NI-DAQmx實(shí)現(xiàn)的觸發(fā)式模擬輸入
如圖1所示,智能DAQ并未使用不同函數(shù)配置通道,而是通過名為I/O節(jié)點(diǎn)的函數(shù)讀寫各路模擬和數(shù)字通道。 讓我們看看使用NI LabVIEW FPGA中I/O節(jié)點(diǎn)所獲得的相同功能。
圖2. 通過智能DAQ和NI LabVIEW FPGA實(shí)現(xiàn)的觸發(fā)式模擬輸入
上圖既沒有針對(duì)全局通道、采樣時(shí)鐘、觸發(fā)的配置函數(shù),也沒有開始、停止和清除等任務(wù)。 所有內(nèi)容都被1個(gè)簡(jiǎn)單的模擬I/O讀取所取代;全部定時(shí)都為本地LabVIEW結(jié)構(gòu)(如:While循環(huán)和條件結(jié)構(gòu))所控制。由于整個(gè)程序框圖均在FPGA硬件內(nèi)執(zhí)行,LabVIEW代碼的運(yùn)行便體現(xiàn)出硬件定時(shí)的速度和可靠性。
讓我們更深入地了解一下該程序框圖的運(yùn)行方式。 模擬I/O節(jié)點(diǎn)并不指定某個(gè)采樣速率,而使用For循環(huán)采集各個(gè)樣本。 與之對(duì)應(yīng)的ADC在I/O節(jié)點(diǎn)被調(diào)用時(shí),負(fù)責(zé)對(duì)輸入信號(hào)進(jìn)行實(shí)際數(shù)字化,因而通過For循環(huán)接受定時(shí)。 若想在100 kHz的頻率下進(jìn)行信號(hào)采樣,針對(duì)循環(huán)的延遲就必須設(shè)定為10 ?s。 循環(huán)的定時(shí)器函數(shù)從第2輪循環(huán)迭代開始便確保著特定的時(shí)間延遲,用戶因而能夠通過順序結(jié)構(gòu)保證樣本之間存在著指定的時(shí)間間隔。 NI LabVIEW FPGA*能強(qiáng)大的條件結(jié)構(gòu),實(shí)際代表了用于封裝各類代碼的硬件觸發(fā)。 由于所有的函數(shù)和結(jié)構(gòu)都通過邏輯單元在硬件內(nèi)運(yùn)行,所以條件結(jié)構(gòu)確保開始具有實(shí)時(shí)10 ?s時(shí)間精度的采樣。 最后需指出的是,由于操作位于硬件層,只涉及幾個(gè)層次的抽象處理,因此用戶無需清除任務(wù)ID或釋放內(nèi)存。
就基于FPGA的智能DAQ硬件而言,其真正的優(yōu)勢(shì)是能夠定制各類定時(shí)和觸發(fā),并在硬件中進(jìn)行信號(hào)處理和決策。 現(xiàn)在讓我們了解一下:針對(duì)某類自定義應(yīng)用,需對(duì)模擬輸入觸發(fā)做出哪些修改。 若我們希望在2路模擬輸入通道的某路電壓超過指定范圍時(shí)便觸發(fā)采集,又該如何修改呢? 借助NI LabVIEW FPGA,此類任務(wù)的執(zhí)行易如反掌。
圖 3. 通過智能DAQ和NI LabVIEW FPGA實(shí)現(xiàn)的自定義觸發(fā)式模擬輸入
這里,我們已經(jīng)為程序框圖添加了第2個(gè)I/O節(jié)點(diǎn)和第2個(gè)比較函數(shù),以及1個(gè)布爾“或”函數(shù)。 智能DAQ硬件為所有的模擬輸入通道提供專用ADC,因而2路通道能夠接受同步采樣;同時(shí),只要任何1路通道的電壓超過了指定范圍,條件結(jié)構(gòu)便會(huì)執(zhí)行“真”條件,并開始以10 ?s時(shí)間精度進(jìn)行采樣。 請(qǐng)記住:缺少智能DAQ便不可能生成類似的觸發(fā);在其他DAQ硬件上應(yīng)用時(shí),觸發(fā)需要具有更高延遲的軟件定時(shí)來實(shí)現(xiàn)。 如果此后我們希望通過擴(kuò)展將監(jiān)控范圍從2路通道延伸至全部8路通道,甚至希望添加數(shù)字觸發(fā),就需要簡(jiǎn)化自定義代碼。 添加預(yù)觸發(fā)掃描后,用戶便可對(duì)輸入通道不斷進(jìn)行采樣并將數(shù)據(jù)傳送至FIFO緩沖器。 觸發(fā)器一旦接受讀取,F(xiàn)IFO緩沖器和此后的采樣便可經(jīng)由DMA通道,被傳送至主機(jī)。
如果我們希望借助NI-DAQmx驅(qū)動(dòng),對(duì)第2模擬輸入通道進(jìn)行采樣,則該程序框圖與圖1所示的內(nèi)容相差無幾。然而限制依然存在,因?yàn)?路通道均被迫引用相同的觸發(fā)器并以相同的時(shí)鐘頻率進(jìn)行采樣。 現(xiàn)在我們來看看:智能DAQ和NI LabVIEW FPGA幫助實(shí)現(xiàn)的各類多通道采樣。
圖4. 通過智能DAQ實(shí)現(xiàn)的觸發(fā)式同步模擬輸入
圖4(上圖)展現(xiàn)了:如何基于模擬輸入通道0中的模擬觸發(fā)器,對(duì)2路不同的模擬輸入通道進(jìn)行同步采樣。由于智能DAQ設(shè)備均配有獨(dú)立的ADC,在同一I/O節(jié)點(diǎn)中的2路通道可在完全相同的時(shí)刻接受采樣。 典型的多功能DAQ設(shè)備可通過一個(gè)ADC多路復(fù)用所有通道,因此,各路通道必須共享相同的采樣時(shí)鐘和觸發(fā)線。 圖5(下圖)展現(xiàn)了:智能DAQ硬件其實(shí)能夠以獨(dú)立的速率,對(duì)不同的模擬輸入通道進(jìn)行采樣。 在獨(dú)立回路中放置模擬輸入I/O節(jié)點(diǎn)后,每路通道會(huì)以完全不同的速率進(jìn)行采樣,然后各自通過2條DMA通道讀寫硬盤。
圖5. 通過智能DAQ實(shí)現(xiàn)的觸發(fā)式多速率模擬輸入
最后需指出的是,我們?nèi)羰窍M?路通道具有相互獨(dú)立的采樣率和開始觸發(fā),則可參照?qǐng)D6,將所有I/O節(jié)點(diǎn)都部署在并行循環(huán)結(jié)構(gòu)中。該方式充分利用了FPGA的并行性,確保了各項(xiàng)任務(wù)能夠使用專用資源并在執(zhí)行時(shí)完全獨(dú)立于其他采集任務(wù)。
圖6. 通過智能DAQ實(shí)現(xiàn)的獨(dú)立觸發(fā)式多速率模擬輸入
同步
DAQmx驅(qū)動(dòng)程序提供多種同步選擇,幫助建立輸入和輸出的時(shí)間相關(guān)性。 在下方的程序框圖中,模擬輸入通道和模擬輸出通道借助數(shù)字觸發(fā)實(shí)現(xiàn)同步;過程中,需對(duì)模擬輸入指定數(shù)字觸發(fā),并使用模擬輸入的觸發(fā)器信號(hào)觸發(fā)產(chǎn)生模擬輸出。
圖7. 通過NI-DAQmx實(shí)現(xiàn)的同步模擬輸入和輸出
用戶可通過智能DAQ硬件輕而易舉地執(zhí)行同步任務(wù),而無需借助任務(wù)ID和板載信號(hào)路由。 本處即顯示了NI LabVIEW FPGA中的內(nèi)容。
圖8. 通過智能DAQ實(shí)現(xiàn)的同步模擬輸入和輸出
此處,我們?cè)俅瓮ㄟ^條件結(jié)構(gòu)在FPGA芯片上執(zhí)行硬件觸發(fā),而數(shù)字通道0上的上升沿則啟用了真條件中的代碼。 在順序結(jié)構(gòu)中,模擬輸入與輸出的節(jié)點(diǎn)在同時(shí)接受調(diào)用的過程中,幾乎沒有任何抖動(dòng);而我們只要簡(jiǎn)單地在各個(gè)獨(dú)立的While循環(huán)內(nèi)嵌入模擬I/O節(jié)點(diǎn),即可令其擁有獨(dú)立的采樣速率。 另外值得注意的是: 程序框圖中顯示的正弦發(fā)生器函數(shù)是1個(gè)Express VI,可幫助用戶在查找表(LUT)中交互式地配置正弦值。
圖8中的智能DAQ程序框圖與圖7中的DAQmx VI皆具有相同的功能,而唯有智能DAQ才能為自定義任務(wù)提供相應(yīng)的靈活性。 舉例為證:如需添加1個(gè)暫停觸發(fā),我們只消在內(nèi)部While循環(huán)中添加1個(gè)條件結(jié)構(gòu),并通過另一個(gè)數(shù)字I/O節(jié)點(diǎn)選擇真條件或假條件,即可輕松完成任務(wù)。 對(duì)硬件進(jìn)行編程的強(qiáng)大功能,實(shí)現(xiàn)了各類I/O的定時(shí)與同步。
多功能同步的另一例證體現(xiàn)為:通過板載計(jì)數(shù)器產(chǎn)生有限脈沖并將計(jì)數(shù)器輸出用作模擬輸入的采樣時(shí)鐘。 該過程是進(jìn)行可重觸發(fā)式有限采樣的常用手段。 下圖顯示了開展此類采集所必需的DAQmx代碼。
圖9. 通過NI-DAQmx實(shí)現(xiàn)的可重觸發(fā)式有限模擬輸入
現(xiàn)在,讓我們對(duì)下圖內(nèi)容和呈現(xiàn)相同功能的NI LabVIEW FPGA程序框圖,加以比較。
圖10. 通過智能DAQ和NI LabVIEW FPGA實(shí)現(xiàn)的可重觸發(fā)式有限模擬輸入
由于NI LabVIEW代碼在硬件層運(yùn)行,圖10中的驅(qū)動(dòng)配置步驟顯然得到了極大精減。 我們已經(jīng)借助簡(jiǎn)單的數(shù)字輸入線和For循環(huán)結(jié)構(gòu),創(chuàng)建了硬件可重觸發(fā)式有限采集。 圖9中的程序框圖使用2個(gè)板載計(jì)數(shù)器,創(chuàng)建出可重觸發(fā)的有限脈沖序列;典型的多功能DAQ設(shè)備只有2個(gè)計(jì)數(shù)器。 而借助NI LabVIEW FPGA,智能DAQ硬件卻能夠?qū)⑷我庖粭l數(shù)字線配置成計(jì)數(shù)器。 我們將在之后的段落里,涉及更多“通過智能DAQ運(yùn)行計(jì)數(shù)器/定時(shí)器”的內(nèi)容。
我們能夠借助由頻率觸發(fā)的采集,進(jìn)一步地推進(jìn)智能DAQ在硬件定時(shí)方面的靈活性特性。 用戶可通過高速板載決策計(jì)算輸入信號(hào)的頻率,而后選擇條件結(jié)構(gòu)中所需的代碼;這一點(diǎn)是使用典型多功能DAQ設(shè)備所無法企及的。 在多設(shè)備的同步進(jìn)程中,智能DAQ還可提供用于PCI板卡的RTSI總線或是用于PXI模塊的PXI觸發(fā)總線。 這些外部定時(shí)和同步線還可通過程序框圖上的I/O節(jié)點(diǎn)接受訪問。
模擬波形的生成
不少多功能DAQ設(shè)備都配有模擬輸出通道,能夠?yàn)榱松蛇B續(xù)的模擬波形而需要用到FIFO緩沖。 生成的波形可將FIFO用作循環(huán)緩沖區(qū),且無需從主機(jī)處接受任何更新數(shù)據(jù),即可連續(xù)不斷地重新生成一系列的模擬值。 通信總線的有無對(duì)此影響不大,因?yàn)椴]有針對(duì)設(shè)備的頻繁數(shù)據(jù)讀寫。 而如果波形需要修改,就必須重新啟動(dòng)輸出任務(wù)并向FIFO寫入新數(shù)據(jù)。 另一個(gè)辦法是向硬件FIFO設(shè)備連續(xù)讀寫數(shù)據(jù),而這又會(huì)導(dǎo)致輸出任務(wù)出現(xiàn)時(shí)滯。 借助智能DAQ,用戶能夠?qū)⒉ㄐ屋敵鼋Y(jié)果存儲(chǔ)于硬件,甚至能夠通過硬件觸發(fā)改變波形,進(jìn)而創(chuàng)建任意波形發(fā)生器。
下方的函數(shù)發(fā)生器范例通過數(shù)字輸入線,觸發(fā)了輸出波形中的改動(dòng)。 通過組合數(shù)字I/O線0與1,我們?nèi)〉昧藨?yīng)用于模擬輸出的4種不同狀態(tài)或稱條件。
圖11a. 配有智能DAQ條件0的函數(shù)發(fā)生器 – 零輸出
圖11b. 配有智能DAQ條件1的函數(shù)發(fā)生器 – 正弦波
當(dāng)兩線皆呈現(xiàn)低電平時(shí),執(zhí)行條件0;如圖11a所示,輸出值為0 V常量。而當(dāng)DIO線0呈現(xiàn)高電平而DIO線1呈現(xiàn)低電平時(shí),條件1將在模擬輸出0上執(zhí)行并生成一個(gè)正弦波。用戶可通過該正弦生成結(jié)構(gòu)(圖11b)中的正弦發(fā)生器Express VI,配置NI LabVIEW FPGA必需的參數(shù),交互地配置正弦波。
圖11c. 配有智能DAQ條件2的函數(shù)發(fā)生器 – 方波
條件2(圖11c)能夠在While循環(huán)的每輪迭代中,輕松切換布爾值。 數(shù)值較低時(shí),整數(shù)15000便被寫入模擬輸出AO0,以對(duì)應(yīng)16位DAC內(nèi)由輸出寄存器存放的數(shù)值:15000。 16位有符號(hào)整數(shù)可以包含-32768到32767之間的數(shù)值。當(dāng)輸出電壓范圍介于-10 V和10 V時(shí),向模擬輸出AO0寫入-32768會(huì)生成-10 V電壓,而寫入32767則生成10 V電壓。該例中,因我們的寫入值為15000,則生成的電壓將低于5 V。(數(shù)學(xué)公式為: 15000/32767 * 10 V = 4.5778 V) 通常,條件2會(huì)輸出一個(gè)在0 V和4.578 V之間變換的方波。
圖11d. 配有智能DAQ條件3的函數(shù)發(fā)生器 – 鋸齒波
當(dāng)DIO 0和DIO 1均呈現(xiàn)高電平時(shí),便執(zhí)行最后一個(gè)條件(圖11d);其間,須借助查找表(LUT)連續(xù)生成一個(gè)鋸齒波。 作為另一類Express VI的查表VI,既能存儲(chǔ)任意波形值,也能通過編程建立波形值的索引。 該例中,接受配置的鋸齒波可在模擬輸出通道0上生成。
通過將所有的值都存儲(chǔ)在FPGA上,用戶在降低總線依賴性的同時(shí),也確保了波形更新時(shí)硬件定時(shí)的速度和可靠性。 之前各部分中所描述的模擬輸入的觸發(fā)和同步靈活性同樣適用于模擬輸出;借助智能DAQ,用戶能夠以不同速率,完全獨(dú)立地更新各路模擬輸出通道。 這意味著:用戶可在不影響其他通道輸出結(jié)果的前提下,修改單個(gè)周期性波形的頻率。 請(qǐng)注意:大多數(shù)數(shù)據(jù)采集硬件均不具備此項(xiàng)功能。
計(jì)數(shù)器/定時(shí)器的操作
如前所述,典型的多功能DAQ設(shè)備只有2個(gè)板載計(jì)數(shù)器,而智能DAQ則能在各條數(shù)字線上運(yùn)行計(jì)數(shù)器功能。 數(shù)字I/O節(jié)點(diǎn)能夠在NI LabVIEW FPGA中利用名為單周期定時(shí)循環(huán)的專業(yè)結(jié)構(gòu),幫助用戶在2.5 MHz至200 MHz的特定頻率范圍內(nèi)執(zhí)行代碼。 例如,借助40 MHz的時(shí)鐘,用戶可使用單周期定時(shí)循環(huán),在各條數(shù)字線上創(chuàng)建40 MHz計(jì)數(shù)器。 圖12(下圖)展現(xiàn)了程序框圖的樣式。
圖12. 配有智能DAQ的簡(jiǎn)單事件計(jì)數(shù)器
由于計(jì)算值基于U32(32位整數(shù))的數(shù)據(jù)類型被發(fā)送至顯示控件,該代碼便在FPGA芯片上生成了1個(gè)40 MHz的32位計(jì)數(shù)器。 用戶可對(duì)其進(jìn)行數(shù)次復(fù)制與粘貼,令不同數(shù)字線上的多個(gè)計(jì)數(shù)器都能夠彼此完全并行地運(yùn)行。 通過對(duì)智能DAQ中參數(shù)的設(shè)置可以實(shí)現(xiàn)定時(shí)器操作的自定義。 通過選擇,用戶能夠每隔2個(gè)上升沿便進(jìn)行1次計(jì)數(shù)器遞增,甚至能基于計(jì)數(shù)寄存器的值觸發(fā)模擬采集。 許多復(fù)雜的計(jì)數(shù)器操作(如:有限脈沖序列生成和級(jí)聯(lián)式事件計(jì)數(shù))均需要使用2個(gè)計(jì)數(shù)器,這意味著使用典型多功能設(shè)備中的所有板載計(jì)數(shù)器。 在總共160條數(shù)字線的幫助下,智能DAQ硬件上定時(shí)器的最大數(shù)量很少受到I/O可用性的影響,而往往取決于FPGA芯片的大小。 由于NI LabVIEW代碼運(yùn)行于硅芯片中,因而用戶無需“裝備”或“重新裝備”通用計(jì)數(shù)器,即能全面控制計(jì)數(shù)器的運(yùn)行。
圖13(下圖)中的范例使用計(jì)數(shù)器,生成了一個(gè)連續(xù)脈沖序列并將暫停觸發(fā)器置于NI-DAQmx中。
圖13. 連續(xù)脈沖序列的生成和配有NI-DAQmx的暫停觸發(fā)器
在NI LabVIEW FPGA中,暫停觸發(fā)器無需接受配置,因?yàn)橹恍韬?jiǎn)單的條件結(jié)構(gòu)便能在硅芯片中實(shí)現(xiàn)相同的功能。 此處是通過智能DAQ運(yùn)行時(shí)所展現(xiàn)的相同功能(圖14)。
圖14. 連續(xù)脈沖序列的生成和配有智能DAQ的暫停觸發(fā)器
在這種情況下,數(shù)字I/O線DIO0用作暫停觸發(fā),而脈沖將在數(shù)字I/O線DIO1上生成并輸出。使用單周期定時(shí)循環(huán)可令各個(gè)脈沖獲得25 ns的分辨率,因?yàn)檫@將成為單個(gè)計(jì)時(shí)在使用40 MHz定時(shí)源時(shí)的值。
數(shù)字I/O應(yīng)用
智能DAQ硬件提供多達(dá)160條硬件定時(shí)數(shù)字線,令諸多數(shù)字應(yīng)用成為可能。 我們已經(jīng)學(xué)習(xí)了如何使用數(shù)字I/O實(shí)現(xiàn)觸發(fā)、同步及計(jì)數(shù)器/定時(shí)器的運(yùn)行,而智能DAQ還可用于誤碼率測(cè)試、數(shù)字模式匹配、脈沖寬度調(diào)制、正交編碼器和數(shù)字通信協(xié)議。 自定義或標(biāo)準(zhǔn)形式的串行接口均能直接通過數(shù)字定時(shí)框圖編程來實(shí)現(xiàn)。 舉例說明,SPI便是一款與硬件組件(如:微控制器或ADC)進(jìn)行通信時(shí)最常用的串口協(xié)議。 圖15(下圖)展現(xiàn)了在進(jìn)行16位SPI通信時(shí),3條必要數(shù)字線所對(duì)應(yīng)的定時(shí)框圖。
圖15. SPI通信輸入定時(shí)框圖
如定時(shí)框圖所示,所有16位數(shù)據(jù)均在每個(gè)時(shí)鐘周期上順次傳遞,而片選控制線(chip select line)則呈現(xiàn)低電平。 現(xiàn)在,我們來看看在NI LabVIEW FPGA中,如何通過智能DAQ硬件上的3條數(shù)字線進(jìn)行此類編程。
在過去的半個(gè)世紀(jì)里,集成電路技術(shù)的進(jìn)步不斷刷新著全球電子信息產(chǎn)業(yè)的形態(tài),五光十色的新產(chǎn)品、新應(yīng)用也改變了人類的生活方式。然而,被新技術(shù)“寵壞”了的消費(fèi)者越來越“喜新厭舊”,電子產(chǎn)品的市場(chǎng)壽命周期日益縮短,而企業(yè)對(duì)于產(chǎn)品差異化的不懈追求又進(jìn)一步壓縮了單個(gè)產(chǎn)品的市場(chǎng)空間。與此同時(shí),工藝技術(shù)的升級(jí)也讓產(chǎn)品的開發(fā)成本呈幾何級(jí)數(shù)上升。市場(chǎng)在呼喚一種能夠降低研發(fā)成本、縮短開發(fā)周期并具有設(shè)計(jì)靈活性的產(chǎn)品。在此背景下,F(xiàn)PGA(現(xiàn)場(chǎng)可編程門陣列)產(chǎn)業(yè)逐漸壯大并顯露出不可阻擋的氣勢(shì)。
搶食ASIC/ASSP市場(chǎng)
研發(fā)成本的上升抬高了ASIC(專用集成電路)和ASSP(專用標(biāo)準(zhǔn)電路)的研發(fā)門檻。調(diào)研機(jī)構(gòu)IBS提供的數(shù)據(jù)顯示,在集成電路的90納米節(jié)點(diǎn),其研發(fā)成本約為2000萬美元;到65納米節(jié)點(diǎn)研發(fā)成本已接近4000萬美元;目前最先進(jìn)的32納米和28納米工藝技術(shù)的研發(fā)成本大約為9700萬美元;而到了22納米節(jié)點(diǎn),其研發(fā)成本預(yù)計(jì)將突破1.5億美元。通常,集成電路設(shè)計(jì)企業(yè)針對(duì)某種產(chǎn)品的研發(fā)成本與該產(chǎn)品的銷售收入之比為1∶5。也就是說,當(dāng)設(shè)計(jì)進(jìn)入32納米/28納米之后,企業(yè)只有在對(duì)其產(chǎn)品的銷售預(yù)期大于5億美元的前提之下才會(huì)投入資源進(jìn)行研發(fā)。采用尖端工藝技術(shù)的ASIC和ASSP勢(shì)必逐步退守到量大面廣的產(chǎn)品領(lǐng)域,而在一些市場(chǎng)空間較小的細(xì)分領(lǐng)域,我們將看到采用最新技術(shù)的FPGA和工藝水平相對(duì)較低的ASIC/ASSP進(jìn)行較量。
“技術(shù)的進(jìn)步是FPGA‘勢(shì)不可擋’的原動(dòng)力。”賽靈思公司亞太區(qū)銷售與市場(chǎng)副總裁楊飛在接受《中國(guó)電子報(bào)》記者采訪時(shí)表示,“根據(jù)我們的統(tǒng)計(jì),在90納米工藝節(jié)點(diǎn),ASIC和ASSP只有不到25%的‘傳統(tǒng)領(lǐng)地’會(huì)受到FPGA的挑戰(zhàn);而在引入28納米工藝之后,ASIC和ASSP將有超過75%的應(yīng)用領(lǐng)域面臨FPGA的競(jìng)爭(zhēng)。不僅如此,F(xiàn)PGA還利用自身的優(yōu)勢(shì),在無線通信、智能視頻監(jiān)控等多個(gè)領(lǐng)域解決了傳統(tǒng)ASIC、ASSP和DSP器件無法解決的問題。”
市場(chǎng)調(diào)研機(jī)構(gòu)Gartner提供的數(shù)據(jù)似乎印證了楊飛的觀點(diǎn):自1998年以來,全球ASIC新增項(xiàng)目數(shù)量逐年遞減,2009年的降幅甚至達(dá)到21.7%;ASSP情況稍好,其新增項(xiàng)目數(shù)量自2005年以來逐年遞減,預(yù)計(jì)到2013年,新增項(xiàng)目數(shù)將由2004年的4762項(xiàng)減少為3262項(xiàng)。當(dāng)然,值得一提的是,ASSP的整體市場(chǎng)仍在快速增長(zhǎng)。
“當(dāng)然,在傳統(tǒng)的消費(fèi)類電子行業(yè),ASIC產(chǎn)量大,具有絕對(duì)的低成本優(yōu)勢(shì),占據(jù)了很大的市場(chǎng)份額。但是在工業(yè)領(lǐng)域等其他應(yīng)用方面,基于可編程邏輯器件的解決方案將繼續(xù)扮演重要角色。”Altera公司亞太區(qū)高級(jí)市場(chǎng)經(jīng)理羅嘉鸞表示,“多年來,ASIC的成本在不斷攀升,我們已經(jīng)領(lǐng)先于ASIC行業(yè)。特別是在40納米節(jié)點(diǎn),我們贏得的大部分設(shè)計(jì)實(shí)際上來自Altera非主要用戶。也就是說,他們?cè)恢笔褂酶?jìng)爭(zhēng)對(duì)手的FPGA解決方案,或者是ASIC、ASSP和DSP。”
“展望未來,可編程邏輯市場(chǎng)前景一片光明。”賽靈思公司總裁兼CEO Moshe Gavrielov表示,“據(jù)分析家預(yù)測(cè),2010年,該行業(yè)的市場(chǎng)增長(zhǎng)率將在45%以上,達(dá)到48億美元。而根據(jù)Raymond James Financial公司提供的數(shù)據(jù),可編程邏輯市場(chǎng)將攫取原先屬于ASIC陣營(yíng)的150億美元到200億美元的市場(chǎng)份額。”
尋找新“甜蜜點(diǎn)”
雖然FPGA行業(yè)的整體發(fā)展速度高于ASIC/ASSP,但對(duì)于FPGA的從業(yè)者來說,如何更深入地了解設(shè)計(jì)人員的需求,通過產(chǎn)品創(chuàng)新為FPGA尋找新的市場(chǎng)“甜蜜點(diǎn)”,是他們一直都面臨的挑戰(zhàn)。
“2010年,F(xiàn)PGA產(chǎn)業(yè)最令人矚目的發(fā)展機(jī)遇是滿足越來越高的帶寬需求,在以前僅采用ASIC和ASSP的應(yīng)用中使用FPGA。”Altera公司高級(jí)市場(chǎng)副總裁Danny Biran分析說。美國(guó)的相關(guān)機(jī)構(gòu)預(yù)測(cè),到2015年,美國(guó)IP流量每年將達(dá)到澤字節(jié)(1021字節(jié)),云計(jì)算、視頻游戲、VoIP和視頻點(diǎn)播等應(yīng)用推動(dòng)了帶寬需求的增長(zhǎng)。為此,系統(tǒng)開發(fā)人員需要擁有高速收發(fā)器的硬件,在這方面,最新的FPGA要比其他硬件解決方案更具優(yōu)勢(shì)。
因?yàn)锳SIC、ASSP流片時(shí),僅收發(fā)器的IP費(fèi)用就高達(dá)幾十萬美元,更不要說先進(jìn)工藝節(jié)點(diǎn)在流片時(shí)費(fèi)用的快速攀升和諸多風(fēng)險(xiǎn)了。
而且,不僅僅是通信市場(chǎng)對(duì)高速收發(fā)器有需求,2010年逐步聯(lián)網(wǎng)的工業(yè)自動(dòng)化市場(chǎng)也提出了類似需求。工業(yè)以太網(wǎng)令系統(tǒng)更容易維護(hù)、管理和更新。這也是一類以前并沒有使用FPGA的應(yīng)用。由于工業(yè)領(lǐng)域的以太網(wǎng)標(biāo)準(zhǔn)種類繁多,只有采用FPGA,用戶才能針對(duì)最佳應(yīng)用使用合適的協(xié)議,顯然,F(xiàn)PGA為這類應(yīng)用帶來最佳性價(jià)比。
同時(shí),中國(guó)在2010年加速推進(jìn)三網(wǎng)融合,F(xiàn)PGA行業(yè)人士也與三網(wǎng)融合各環(huán)節(jié)設(shè)備企業(yè)共同分析需求,在通信解決方案、高密度EdgeQAM解決方案、視頻和高端音頻平臺(tái)方案等領(lǐng)域?qū)ふ倚碌臋C(jī)遇。在一些環(huán)節(jié),是采用FPGA還是ASIC和ASSP,設(shè)備企業(yè)尚無定論,F(xiàn)PGA企業(yè)正在優(yōu)化FPGA方案的性價(jià)比,可以預(yù)見,三網(wǎng)融合市場(chǎng)上的爭(zhēng)奪戰(zhàn)已經(jīng)打響。同其他新市場(chǎng)一樣,在三網(wǎng)融合市場(chǎng),F(xiàn)PGA產(chǎn)業(yè)同樣面臨如何培訓(xùn)工程師的挑戰(zhàn)。“這種融合趨勢(shì)下,許多數(shù)字工程師必須重新學(xué)習(xí)射頻領(lǐng)域的高頻設(shè)計(jì)技術(shù)。”愛特公司高級(jí)產(chǎn)品市場(chǎng)推廣經(jīng)理Rajiv Nema說。
此外,在高端視頻監(jiān)控市場(chǎng),1080p高清和智能跟蹤以及分析對(duì)數(shù)據(jù)處理提出更高需求,在一些方案中,DSP平臺(tái)已無法支撐,為此,一些高端監(jiān)控平臺(tái)正轉(zhuǎn)向FPGA的并行處理技術(shù)。
消費(fèi)ic37在過去并不是FPGA的優(yōu)勢(shì)領(lǐng)域,但是,最近一兩年也發(fā)生了驚人的轉(zhuǎn)變。“對(duì)消費(fèi)類電子產(chǎn)品而言,搶先把產(chǎn)品推向市場(chǎng)就意味著可以確立市場(chǎng)優(yōu)勢(shì),并獲得更高的利潤(rùn)。”賽靈思公司亞太區(qū)銷售與市場(chǎng)副總裁楊飛介紹說,“FPGA與生俱來的靈活性恰恰迎合了縮短上市周期的需求。因此,我們看到越來越多的平板電視、手機(jī)等消費(fèi)類電子產(chǎn)品正在大量使用FPGA。”當(dāng)然,這與FPGA在功耗、成本和尺寸上的創(chuàng)新和改善有緊密聯(lián)系,這些改善在結(jié)合FPGA天然的優(yōu)勢(shì),為消費(fèi)電子設(shè)計(jì)人員提供了性價(jià)比更高的方案。北京立功致遠(yuǎn)科技有限公司Actel FPGA市場(chǎng)推廣與技術(shù)支持工程師郭立龍就舉例介紹說,F(xiàn)PGA器件的尺寸已經(jīng)小到3mm×3mm,可以貼在手機(jī)的主板與屏幕之間的排線上面,經(jīng)過FPGA接口轉(zhuǎn)換的TFT時(shí)序擺脫了原配手機(jī)屏幕的限制,現(xiàn)在手機(jī)可以使用一個(gè)任何接口標(biāo)準(zhǔn)的屏幕了。三星的一款帶有前后雙屏幕的數(shù)碼相機(jī)在設(shè)計(jì)中大膽引入FPGA,將背后大屏影像縮放至前面小屏上。相信三星等領(lǐng)頭羊企業(yè)將引領(lǐng)更多消費(fèi)電子系統(tǒng)設(shè)計(jì)企業(yè)采用FPGA。
吸引軟件工程師
除了尋找市場(chǎng)上的“甜蜜點(diǎn)”外,F(xiàn)PGA行業(yè)也正在試圖通過改變自身的產(chǎn)品特性和設(shè)計(jì)流程來吸引更多的系統(tǒng)設(shè)計(jì)工程師。他們的途徑之一就是引入ARM。引入ARM為FPGA行業(yè)帶來兩大明顯的轉(zhuǎn)變:一是使FPGA平臺(tái)成為較為開放、有更多應(yīng)用案例、為更多工程師所熟悉的SoC開發(fā)平臺(tái);二是FPGA的設(shè)計(jì)流程從以硬件設(shè)計(jì)為主轉(zhuǎn)變?yōu)橐攒浖䴙橹鳌_@兩大轉(zhuǎn)變無疑將吸引更多的系統(tǒng)設(shè)計(jì)工程師特別是軟件工程師應(yīng)用FPGA。
愛特公司全球首席執(zhí)行官John East分析說,從理想角度來看,系統(tǒng)設(shè)計(jì)工程師真正想要的是一個(gè)可定制化的解決方案。大多數(shù)系統(tǒng)設(shè)計(jì)人員都是提前確定處理器內(nèi)核,而對(duì)其他各部分的要求直到設(shè)計(jì)周期的最后一分鐘都可能改變。因此,大部分設(shè)計(jì)人員都期待有這么一個(gè)解決方案,它包含嵌入式業(yè)界標(biāo)準(zhǔn)內(nèi)核,帶有直觀易用的設(shè)計(jì)流程,能夠執(zhí)行所選外設(shè)的經(jīng)全面驗(yàn)證的IP組合以及一個(gè)由業(yè)界領(lǐng)先工具組成的生態(tài)系統(tǒng),最好還有與外界連接的片上可編程模擬功能。而愛特針對(duì)這樣的需求設(shè)計(jì)推出了集成ARM Cortex M3的SmartFusion單芯片。“我認(rèn)為,很快地,SoC就將成為設(shè)計(jì)的起點(diǎn),而不是終點(diǎn)。”John East說。
賽靈思公司亞太區(qū)市場(chǎng)及應(yīng)用總監(jiān)張宇清則表示,賽靈思將ARM Cortex-A9引入FPGA,打造了一個(gè)“以處理器為主、以FPGA為輔”的系統(tǒng)。而以處理器為核心的設(shè)計(jì)方法可以支持一個(gè)以軟件為核心的開發(fā)流程。
“從全球范圍看,軟件工程師與硬件工程師數(shù)量之比超過了10∶1,而且系統(tǒng)設(shè)計(jì)的工作量中80%以上是軟件開發(fā)。為此,10年來,F(xiàn)PGA廠商一直在尋求把眾多的嵌入式軟件工程師引入到主要由硬件設(shè)計(jì)工程師構(gòu)成的用戶群體中。”ARM公司嵌入式應(yīng)用市場(chǎng)經(jīng)理羅霖對(duì)《中國(guó)電子報(bào)》記者說。他進(jìn)一步分析說,以前,以FPGA作為開發(fā)平臺(tái),設(shè)計(jì)流程一般是要先開發(fā)硬件,然后再開發(fā)軟件。但將ARM引入FPGA后,系統(tǒng)設(shè)計(jì)可以先從軟件開發(fā)的角度來定義產(chǎn)品功能和模塊,哪些部分需要軟件就開發(fā)軟件,哪些部分需要使用FPGA,就再做硬件開發(fā)。“這種以處理器為核心的系統(tǒng)定義和設(shè)計(jì)方法可以支持一個(gè)以軟件為核心的開發(fā)流程。”羅霖說,“這樣,軟件工程師會(huì)越來越多地被引入到項(xiàng)目中來。”吸引了軟件工程師用戶群體,無疑將拓展FPGA的市場(chǎng)領(lǐng)地。
以下內(nèi)容含腳本,或可能導(dǎo)致頁面不正常的代碼 |
---|
說明:上面顯示的是代碼內(nèi)容。您可以先檢查過代碼沒問題,或修改之后再運(yùn)行. |
不少工業(yè)分析家相信,2005年它將取代60%的PCI接口市場(chǎng)。英特爾也預(yù)計(jì)今年的PC、筆記本電腦、服務(wù)器、工作站、通信和嵌入式產(chǎn)品將廣泛采用PCI Express,并正在全力推動(dòng)跨平臺(tái)、從上到下的向PCI Express的快速遷移。
這一技術(shù)發(fā)展趨勢(shì)也對(duì)FPGA供應(yīng)商的發(fā)展戰(zhàn)略產(chǎn)生了相當(dāng)大的影響。例如,Altera高級(jí)市場(chǎng)副總裁Jordan Plofsky最近接受本刊記者采訪時(shí)表示:“今年我們將為Stratix GX、Stratix II GX、CyClone II和HardCopy II提供PCI Express接口支持。”這意味著Altera今年可望向用戶市場(chǎng)提供PCI Express內(nèi)核。
Plofsky: Altera今年 |
事實(shí)上,Altera早就在為此積極做著準(zhǔn)備。就在今年二月份,Altera和PMC-Sierra公司合作發(fā)布了一整套基于Altera可編程邏輯和PMC-Sierra收發(fā)器技術(shù)的高速串行I/O解決方案。這一合作使得Altera低成本CyClone II FPGA、Stratix II FPGA和HardCopy II結(jié)構(gòu)化ASIC的用戶能夠通過PMC-Sierra PM8358 QuadPHY 10GX串行/解串器(即SERDES收發(fā)器)將他們使用的器件無縫移植到高速串行協(xié)議系統(tǒng)中。這一組合解決方案使得用戶能夠應(yīng)用時(shí)下流行的高速串行通信協(xié)議(如PCI Express、Serial RapidIO、10G以太網(wǎng)、光纖通道、通用協(xié)議無線接口等)來實(shí)現(xiàn)芯片間、PCB板之間以及系統(tǒng)間的通信連接。對(duì)習(xí)慣于FPGA/收發(fā)器方案的用戶,Altera也提供了集成SERDES的解決方案。
PMC-Sierra公司市場(chǎng)總監(jiān)Travis Karr也強(qiáng)調(diào):“QuadPHY 10GX SERDES和Altera FPGA的結(jié)合能夠?yàn)橛脩籼峁┳罹叱杀拘б娴慕鉀Q方案,它支持速率在1.2至3.2Gbps之間的主要新興串行協(xié)議。”
大多數(shù)臺(tái)式PC和服務(wù)器供應(yīng)商預(yù)計(jì)在近期將采用PCI和PCI Express兩種插槽并存的方式,然后在一兩年里逐步淘汰PCI插槽。PCI Express在筆記本電腦中的應(yīng)用也在快速上升之中。
市場(chǎng)研究公司Insight6??分析師Nathan Brookwood表示,PCI Express總線的另一個(gè)好處是能夠?yàn)橛脩籼峁└蟮撵`活性。PCI總線需要用戶打開機(jī)箱插入各種硬件卡,而PCI Express總線允許PC整機(jī)供應(yīng)商直接把連接邏輯制作到主板上,用戶只需要簡(jiǎn)單地在機(jī)箱后面插入線纜就可以了。
另一主要FPGA供應(yīng)商Xilinx目前已可向用戶提供PCI Express內(nèi)核,其Virtex II Pro FPGA集成了RocketIO 3.125Gbps收發(fā)器,完全可以支持單向通信速率為2.5Gbps的單通道PCI Express接口的實(shí)現(xiàn)。
隨著FPGA成本的直線下降(目前最便宜的FPGA價(jià)格已掉到3美元左右),F(xiàn)PGA和HardCopy II結(jié)構(gòu)化ASIC越來越多地成為開發(fā)中小規(guī)模ASIC和ASSP的用戶的第一選擇。Plofsky透露,目前不少IC品牌供應(yīng)商開始直接采用我們的Stratix II FPGA和HardCopy II產(chǎn)品開發(fā)其ASSP。
Gartner在一份市場(chǎng)研究報(bào)告中也指出,大約65-70%的數(shù)字ASIC設(shè)計(jì)可以用HardCopy和HardCopy II來完成,這意味著HardCopy的市場(chǎng)可以在2006年達(dá)到150億美元。
目前Altera密度最高的Stratix II FPGA可以開發(fā)最高220萬門的ASIC,百萬門ASIC的成本已只有15美元。HardCopy II結(jié)構(gòu)化ASIC支持的最高工作頻率為350MHz。
“驗(yàn)證是目前中國(guó)工程師在開發(fā)百萬門以上FPGA時(shí)遇到的最大技術(shù)挑戰(zhàn),”Plofsky指出,“信號(hào)完整性和EMI/EMC問題也是主要的設(shè)計(jì)挑戰(zhàn),尤其當(dāng)他們開發(fā)復(fù)雜和高速的FPGA設(shè)計(jì)時(shí)。”
2004年Altera最成功的產(chǎn)品是Cyclone,其全球付運(yùn)量約達(dá)到了750萬片,最大的應(yīng)用領(lǐng)域是各種類型的TV,如LCD和PDP TV。在亞太市場(chǎng),它主要應(yīng)用在日本、韓國(guó)和臺(tái)灣地區(qū)的消費(fèi)電子產(chǎn)品中(如便攜式多媒體播放機(jī)中)。
Altera大中國(guó)區(qū)總經(jīng)理趙典鋒也透露,Stratix已經(jīng)在日本和韓國(guó)的電信基礎(chǔ)設(shè)施產(chǎn)品中(如基站)進(jìn)入了批量發(fā)貨階段,Stratix II目前也已中標(biāo)了不少設(shè)計(jì),預(yù)計(jì)在不久的將來Hardcopy II也可望進(jìn)行批量交貨階段。
]]>
Stratix III FPGA芯片圖。
StratixIV FPGA芯片圖。
在本文第一部分的討論中,我們知道了在目前的基于FPGA的圖像處理設(shè)計(jì)流程,以C++等高級(jí)語言編寫的算法函數(shù)模型必須采用手動(dòng)方式編碼為RTL。但手動(dòng)建立RTL的方法不但耗時(shí),而且容易出錯(cuò),對(duì)后端布線延時(shí)問題非常敏感。因此我們必須考慮采用能夠從ANSI C++建模算法迅速轉(zhuǎn)換到運(yùn)行在FPGA硬件中的RTL實(shí)現(xiàn)方法。在接下來的第二部分討論中,我們就將討論如何利用Catapult的ASIC功能和Altera加速庫(kù)自動(dòng)順利實(shí)現(xiàn)這一設(shè)計(jì)過程。
為順利實(shí)現(xiàn)這一非常耗時(shí)的過程,Catapult C高級(jí)綜合設(shè)計(jì)過程首先對(duì)算法進(jìn)行描述,然后選擇目標(biāo)技術(shù)。算法描述是純粹的ANSI C++源代碼,只對(duì)功能進(jìn)行說明。并行和接口協(xié)議等硬件要求可通過約束在Catapult中實(shí)現(xiàn),從而也指導(dǎo)了綜合過程。
例如,下面的算法是一個(gè)基本有限沖擊響應(yīng)(FIR)濾波器,使用免費(fèi)的Mentor Graphics Algorithmic C數(shù)據(jù)類型(加鏈接)來定義接口和內(nèi)部位寬度。
C++算法并沒有說明需要多少乘法器以及什么類型的乘法器來實(shí)現(xiàn)硬件。因此,系統(tǒng)規(guī)劃人員不用在實(shí)施細(xì)節(jié)上花費(fèi)太多精力就能夠有效的建立算法。
下一步是確定目標(biāo)技術(shù)和關(guān)鍵規(guī)范。在Catapult中,目標(biāo)技術(shù)可以是ASIC或者FPGA,與源代碼描述無關(guān)。Catapult C綜合使用專用技術(shù)庫(kù)特征參數(shù)來建立最佳運(yùn)算庫(kù),例如加法器和乘法器等。這一特性描述過程收集器件專用資源詳細(xì)的面積和時(shí)序信息,使Catapult能夠建立技術(shù)預(yù)知計(jì)劃,不會(huì)浪費(fèi)HLS探察過程中RTL綜合時(shí)間。其結(jié)果是快速的前端面積/性能估算,得到專用技術(shù)RTL輸出。
指定好目標(biāo)技術(shù)以及時(shí)鐘頻率后,設(shè)計(jì)人員可以使用自動(dòng)高級(jí)綜合技術(shù)自由地進(jìn)行設(shè)計(jì)。由于自動(dòng)過程比手動(dòng)RTL編碼快得多,設(shè)計(jì)人員能夠關(guān)注更多的選項(xiàng),綜合考慮面積和性能,所實(shí)現(xiàn)的硬件完全滿足設(shè)計(jì)目標(biāo)要求。高級(jí)綜合工具對(duì)目標(biāo)技術(shù)非常清楚,根據(jù)時(shí)鐘頻率要求來選擇合適的運(yùn)算,在需要的地方增加系統(tǒng)級(jí)流水線,確保不會(huì)違反時(shí)鐘頻率約束。設(shè)計(jì)人員可以使用開環(huán)和環(huán)流水線等高級(jí)綜合約束,研究從最短串聯(lián)到全并聯(lián)實(shí)現(xiàn)的多種微體系結(jié)構(gòu)(對(duì)比圖1和圖2中的具體實(shí)現(xiàn))。
圖1:串聯(lián)FIR實(shí)現(xiàn)。
圖2:并聯(lián)FIR實(shí)現(xiàn)。
在接下來的第三部分討論中,我們將討論如何選擇調(diào)度所需要的運(yùn)算以滿足時(shí)鐘頻率約束,以及如何采用高級(jí)綜合資源約束來減小后端走線延時(shí),敬請(qǐng)留意。
]]>以下內(nèi)容含腳本,或可能導(dǎo)致頁面不正常的代碼 |
---|
說明:上面顯示的是代碼內(nèi)容。您可以先檢查過代碼沒問題,或修改之后再運(yùn)行. |
消費(fèi)電子能否支撐FPGA產(chǎn)業(yè)
消費(fèi)電子市場(chǎng)受到金融風(fēng)暴的影響尤為劇烈,因此不同的FPGA廠商對(duì)消費(fèi)電子市場(chǎng)的前景有許多爭(zhēng)論。Altera首席執(zhí)行官(CEO)及董事會(huì)主席John Daane認(rèn)為,房地產(chǎn)泡沫帶來的繁榮帶給消費(fèi)額外的收入去購(gòu)買更多的消費(fèi)電子產(chǎn)品。約有40%的電子產(chǎn)品屬于消費(fèi)性,再加上超過30%與電腦相關(guān)的產(chǎn)品,所以實(shí)際上接近75%市場(chǎng)的都在消費(fèi)領(lǐng)域,目前很容易看到該行業(yè)受到的沖擊;同時(shí)美國(guó)作為一個(gè)消費(fèi)大國(guó)的時(shí)代也徹底遠(yuǎn)去。而如果把半導(dǎo)體產(chǎn)業(yè)劃分成不同的細(xì)分市場(chǎng),就可以看到無線通訊、軍用等比其他領(lǐng)域的處境要好,因此FPGA廠商應(yīng)該將重點(diǎn)放在這些更擅長(zhǎng)的市場(chǎng)。
圖1,Altera首席執(zhí)行官(CEO)及董事會(huì)主席John Daane
FPGA廠商SiliconBlue首席執(zhí)行官Kapil Shankar卻認(rèn)為,消費(fèi)市場(chǎng)的衰退并不會(huì)是一個(gè)長(zhǎng)期的現(xiàn)象,而最終會(huì)驅(qū)動(dòng)更多低功耗FPGA產(chǎn)品的產(chǎn)生。他舉例說,上網(wǎng)本目前使用普通筆記本的處理器,因而缺乏足夠的移動(dòng)能力;另一方面,嵌入式移動(dòng)處理器又反而缺乏足夠的功能,如圖形和視頻顯示、投影等。在這些領(lǐng)域使用FPGA則是合理的選擇,可為產(chǎn)品增加集成度和移動(dòng)性的同時(shí)保證豐富的功能;而用傳統(tǒng)ASIC不能在小批量定制化產(chǎn)品中實(shí)現(xiàn)較低的成本。
圖2,SiliconBlue首席執(zhí)行官(CEO)Kapil Shankar
Actel則通過其低功耗Flash FPGA產(chǎn)品進(jìn)入消費(fèi)領(lǐng)域。Actel副總裁Richard Kapusta說,低功耗不代表“低卡路里”,因?yàn)閷?duì)功耗的測(cè)量并沒有一個(gè)準(zhǔn)確或完善的方法。與基于SRAM的技術(shù)不同,基于Flash的FPGA產(chǎn)品從結(jié)構(gòu)上帶來的真正功耗優(yōu)勢(shì),只有傳統(tǒng)SRAM的千分之一。同時(shí),F(xiàn)lash架構(gòu)具有小尺寸、單芯片的優(yōu)勢(shì),還可以做到更安全和更穩(wěn)定。另外,混和信號(hào)FPGA是市場(chǎng)的新成員。它的特殊性在于其并不完全針對(duì)低成本或低功耗應(yīng)用,而是要幫助系統(tǒng)實(shí)現(xiàn)
圖3,Actel副總裁Richard Kapusta
制程工藝是否代表了半導(dǎo)體的一切
John Daane指出,ASIC恪守于陳舊的制程技術(shù)來試圖維持性價(jià)比,而可編程器件卻能保持前進(jìn)的步伐,至少要領(lǐng)先3~4代。半導(dǎo)體的成本隨晶圓尺寸呈幾何級(jí)數(shù)增加,可編程邏輯方案則能真正實(shí)現(xiàn)最小的晶圓尺寸;而如果想與例如DDR3等目前的主流存儲(chǔ)技術(shù)和新功能實(shí)現(xiàn)接口,130nm的ASIC將不能滿足你的性能需求。
ASIC廠商則對(duì)制程工藝的提升持保留態(tài)度。創(chuàng)意電子(Global Unichip)市場(chǎng)部總監(jiān)黃克勤博士說,F(xiàn)PGA雖然利用先進(jìn)的制程技術(shù)有效推動(dòng)了芯片的各項(xiàng)指標(biāo),但單純制程的演進(jìn)不足以滿足應(yīng)用對(duì)功能不斷增加的需求;另外,功耗幾乎已經(jīng)成為所有應(yīng)用的重中之重,但這些正是FPGA的弱項(xiàng)。從市場(chǎng)角度看,F(xiàn)PGA只應(yīng)用于小批量市場(chǎng),而市場(chǎng)的最終裁判是整體出貨量。不得不承認(rèn)ASIC有許多弊端,但引入Fabless代工廠模式后,不再需要為某個(gè)設(shè)備或應(yīng)用單獨(dú)投資一家晶圓廠,也就避免了上億美元風(fēng)險(xiǎn)極高的投資,其他的問題也可以迎刃而解。
圖4,創(chuàng)意電子(Global Unichip)市場(chǎng)部總監(jiān)黃克勤博士
圖5,Xilinx全球市場(chǎng)高級(jí)副總裁Vincent Ratford
對(duì)于制程工藝之爭(zhēng),在FPGA廠商之間也存在不同的看法。Xilinx全球市場(chǎng)高級(jí)副總裁Vincent Ratford指出,客戶的需求不僅僅是芯片本身,而是整個(gè)解決方案,以及如何用這些方案實(shí)現(xiàn)更復(fù)雜的應(yīng)用。盲目地沖向制程技術(shù)上的新節(jié)點(diǎn),而僅僅創(chuàng)造一個(gè)單獨(dú)的芯片、技術(shù),或設(shè)備遠(yuǎn)遠(yuǎn)不夠,沒有足夠的IP、軟件等支持也并不是市場(chǎng)所需要的。因此,廠商必須能夠針對(duì)某個(gè)特定領(lǐng)域推出適合的產(chǎn)品,并考慮到在這些應(yīng)用場(chǎng)景下的功耗。最重要的一點(diǎn)是,客戶需要一個(gè)與今天ASIC設(shè)計(jì)相兼容的設(shè)計(jì)方法,這也是Xilinx提出的“目標(biāo)設(shè)計(jì)平臺(tái)”概念的一個(gè)重要元素。
圖6,Altera HardCopy產(chǎn)品線的高級(jí)總監(jiān)Dave Greenfield
Altera HardCopy產(chǎn)品線的高級(jí)總監(jiān)Dave Greenfield表示,應(yīng)用FPGA來主導(dǎo)產(chǎn)品的前期開發(fā)最重要的是,可以把你的產(chǎn)品更早地提供給你的軟件開發(fā)團(tuán)隊(duì)和早期客戶。從客戶獲得及時(shí)的反饋十分必要;軟件部門如果能較早地得到產(chǎn)品,則可對(duì)代碼進(jìn)行更多的優(yōu)化。所以前期用FPGA開發(fā)再通過ASIC實(shí)現(xiàn)大批量生產(chǎn)的模式能讓系統(tǒng)成本有效降低.
]]>圖16. 16位SPI通信程序框圖
圖16中,外部While循環(huán)確保了所有代碼均能連續(xù)執(zhí)行,而寫入布爾輸入控件則通過條件結(jié)構(gòu)啟動(dòng)著數(shù)據(jù)傳遞。 順序結(jié)構(gòu)中的第一框架將片選控制線(chip select line)設(shè)置為低電平,之后由中間框架寫入數(shù)據(jù)位并將時(shí)鐘線切換16次。 最終,第三順序框?qū)⑵x控制線(chip select line)設(shè)置回TRUE狀態(tài),并將數(shù)據(jù)線重置為默認(rèn)的FALSE狀態(tài)。 這一簡(jiǎn)單范例只是借助智能DAQ進(jìn)行數(shù)字通信時(shí)的一項(xiàng)內(nèi)容。 用戶若想應(yīng)用數(shù)字握手,便需為ACK(備用)和REQ(暫停)線準(zhǔn)備2路通道,其中一路通道面向并行運(yùn)作的時(shí)鐘信號(hào)和數(shù)據(jù)線。
數(shù)字線會(huì)時(shí)常抖動(dòng),在使用機(jī)電接觸時(shí)更是如此,然而用戶可通過NI LabVIEW FPGA,選擇不同方式,在數(shù)字輸入線上添加去抖動(dòng)濾波器。 在消除狀態(tài)的錯(cuò)誤改動(dòng)時(shí),數(shù)字去抖動(dòng)濾波器確保數(shù)值的變化能夠保持一段最短的時(shí)間,因而規(guī)避了因抖動(dòng)引發(fā)的錯(cuò)誤讀取。 圖17展現(xiàn)了如何通過智能DAQ實(shí)現(xiàn)此項(xiàng)功能的內(nèi)容。
圖17. 智能DAQ硬件上的數(shù)字濾波器程序框圖
數(shù)據(jù)傳輸方式
配備NI-DAQmx驅(qū)動(dòng)程序的傳統(tǒng)多功能DAQ和智能DAQ之間的最大差異在于:數(shù)據(jù)傳輸?shù)膱?zhí)行方式。 NI-DAQmx驅(qū)動(dòng)程序?qū)⒊袚?dān)由設(shè)備至主機(jī)的各項(xiàng)傳輸任務(wù),此項(xiàng)操作中NI LabVIWE FPGA會(huì)對(duì)基于FPGA的所有板載硬件進(jìn)行編程。 用戶可通過多種途徑緩沖設(shè)備上的板載數(shù)據(jù),并使用不同方式(如:DMA通道或中斷請(qǐng)求)傳輸數(shù)據(jù)。
NI LabVIEW FPGA中的FIFO緩沖區(qū)在LabVIEW項(xiàng)目瀏覽器中接受配置,并能借助板載內(nèi)存或硬件邏輯獲得運(yùn)行。 圖18顯示了如何經(jīng)由項(xiàng)目瀏覽器,在板載塊存儲(chǔ)器中配置整數(shù)的FIFO緩沖區(qū)。
圖18. NI LabVIEW FPGA中的FIFO配置
FIFO一經(jīng)創(chuàng)建,便能用于NI LabVIEW FPGA程序框圖上多個(gè)循環(huán)之間的數(shù)據(jù)傳遞。 圖19中的范例顯示:數(shù)據(jù)先被寫入左側(cè)循環(huán)中的FIFO,并隨即從右側(cè)循環(huán)中的FIFO被讀出。
圖19. 通過FIFO和多循環(huán)實(shí)現(xiàn)的NI LabVIEW FPGA程序框圖
同樣通過LabVIEW FPGA FIFO獲得應(yīng)用的直接存儲(chǔ)器訪問(DMA)通道,在項(xiàng)目瀏覽器中接受了類似的配置。
圖20. NI LabVIEW FPGA中的DMA FIFO配置
圖21. 通過DMA FIFO和位組裝實(shí)現(xiàn)的NI LabVIEW FPGA程序框圖
所有的DMA FIFO數(shù)據(jù)傳輸寬度均為32位;因此,當(dāng)其傳遞源自16位模擬輸入通道的數(shù)據(jù)時(shí),往往能夠合并2路通道或2個(gè)樣本上的數(shù)據(jù)再進(jìn)行傳輸,從而提高帶寬使用率。 這即是圖21所展現(xiàn)的位組裝。當(dāng)數(shù)據(jù)被直接傳遞到主控計(jì)算機(jī)的內(nèi)存后,便可通過在Windows環(huán)境下運(yùn)行的NI LabVIEW主接口函數(shù)接受讀取(圖22)。
圖22. 通過DMA FIFO讀取和位拆裝實(shí)現(xiàn)的主接口代碼
如圖22所示,主接口程序框圖引用FPGA終端VI,然后使用While循環(huán)連續(xù)讀取DMA FIFO。 32位的數(shù)據(jù)被分解為2路16位通道,在波形圖表上接受采樣和繪制。 主接口VI還能對(duì)FPGA VI前面板上的各類顯示控件和輸入控件進(jìn)行讀寫操作;在這種情況下,“停止按鈕”輸入控件也被寫入。
結(jié)論
盡管DAQ-STC2等固定ASIC能夠滿足數(shù)據(jù)采集的大多數(shù)需求,然而,唯有借助智能DAQ中基于可重新配置FPGA的I/O定時(shí)和控制,方能實(shí)現(xiàn)高度靈活性和完全定制。 借助NI LabVIEW FPGA,觸發(fā)和同步任務(wù)獲得了簡(jiǎn)化,因?yàn)橥ㄟ^繪制圖形化程序框圖即可充分滿足用戶需求;借助獨(dú)立的模擬和數(shù)字I/O線,智能DAQ可利用FPGA提供的實(shí)際并行。 R系列智能DAQ設(shè)備已經(jīng)針對(duì)多速率采樣、自定義計(jì)數(shù)器操作和頻率高達(dá)40 MHz的板載決策,為多功能數(shù)據(jù)采集進(jìn)行了各項(xiàng)可能的修繕。
]]>FPGA 的基本客戶訴求是更短的上市時(shí)間、更豐富的功能、支持各種不斷發(fā)展的標(biāo)準(zhǔn)、更低的風(fēng)險(xiǎn)、現(xiàn)場(chǎng)可升級(jí)性以及更低的系統(tǒng)成本等。我們的 FPGA 產(chǎn)品可滿足您不斷改進(jìn)性能、容量、功耗和成本的要求。
Virtex-5 系列結(jié)合了65 納米工藝技術(shù)的固有優(yōu)勢(shì)和創(chuàng)新設(shè)計(jì),該創(chuàng)新設(shè)計(jì)立足于我們對(duì)產(chǎn)品應(yīng)用的更深入的理解。本文中,我將對(duì)Virtex-5 器件進(jìn)行概述,解釋其基礎(chǔ)技術(shù),同時(shí)簡(jiǎn)短回顧世界領(lǐng)先的FPGA 架構(gòu)設(shè)計(jì)背后的故事。
工藝技術(shù)和架構(gòu)創(chuàng)新
Virtex-5 FPGA 基于65 納米的三柵極氧化層技術(shù), 使用先進(jìn)的硅組合模塊(ASMBLTM) 架構(gòu)并且實(shí)現(xiàn)了更高級(jí)別的系統(tǒng)集成。這個(gè)全新的產(chǎn)品系列提供了一個(gè)高級(jí)平臺(tái),可以滿足用戶對(duì)于建造具有更高性能、更高密度、更低功耗和更低成本的可編程系統(tǒng)日益增長(zhǎng)的需求。滿足上述一個(gè)或者兩個(gè)需求也許比較容易,但是挑戰(zhàn)在于我們要同時(shí)滿足所有這些需求。我們通過將先進(jìn)的IC 工藝、創(chuàng)新的架構(gòu)以及電路設(shè)計(jì)相結(jié)合,成功地應(yīng)對(duì)了這些挑戰(zhàn)。首先在 Virtex-4 系列中引入的成熟的 ASMBL 芯片版圖架構(gòu),可以提供所要求器件資源(邏輯、存儲(chǔ)器、算術(shù)、I/O和IP)的最優(yōu)組合,從而為以下四個(gè)新平臺(tái)創(chuàng)造了最佳條件:
相對(duì)于Virtex-4 系列,Virtex-5 系列中配置最高的型號(hào)的平均速度提高了30%,容量提高了65%,動(dòng)態(tài)功耗降低了35%,芯片面積縮小了45%,結(jié)果實(shí)現(xiàn)了達(dá)到每項(xiàng)功能的最低成本。
高性能和高密度
ExpressFabricTM 技術(shù)實(shí)現(xiàn)了邏輯和局部互連布線。它將查找表 (LUT)、六個(gè)獨(dú)立的輸入和一個(gè)新的對(duì)角互連結(jié)構(gòu)結(jié)合在一起,如圖1 所示。相對(duì)于 Virtex-4 架構(gòu)而言,ExpressFabric 技術(shù)利用更少的 LUT層次以及更少的串行連接(面向相鄰構(gòu)件)實(shí)現(xiàn)了組合邏輯。這種方法縮短了數(shù)據(jù)通路延遲,從而提高了設(shè)計(jì)性能。
圖1 - Virtex-5 ExpressFabric 技術(shù)
先進(jìn)的6-LUT 邏輯結(jié)構(gòu)
多年以來,四輸入 LUT 一直是業(yè)界標(biāo)準(zhǔn)。但是,在65 納米工藝條件下,相較于其它電路(特別是互連電路),LUT 的常規(guī)結(jié)構(gòu)大大縮小。一個(gè)具有四倍比特位的六輸入LUT (6-LUT) 僅僅將 CLB 面積提高了15% - 但是平均而言,每個(gè) LUT 上可集成的邏輯數(shù)量卻增加了40%。更高的邏輯密度通常可以降低級(jí)聯(lián) LUT 的數(shù)目,并且改進(jìn)關(guān)鍵路徑延遲性能,如圖2 所示。
圖2 - 在性能和面積之間達(dá)到最佳平衡
我們選擇了一套客戶設(shè)計(jì)方案,然后使用 ISETM 8.1i 軟件實(shí)現(xiàn)該方案。對(duì)于每個(gè)設(shè)計(jì),我們比較了Virtex-4 和 Virtex-5器件實(shí)現(xiàn)中所用的 LUT 數(shù)目,并將此信息和兆赫茲的性能提升相關(guān)聯(lián)。圖3 中的散點(diǎn)圖顯示了X軸上的性能提升百分比和Y軸上根據(jù) LUT 數(shù)目的降低計(jì)算得出的面積縮小比例。這種新的6-LUTExpressFabric 技術(shù)在性能提升和資源節(jié)約方面都表現(xiàn)出色。
不同于競(jìng)爭(zhēng) FPGA 的是,Virtex-5FPGA 提供了真正的 6-LUT,你可以將它用作邏輯或者分布式存儲(chǔ)器,這時(shí) LUT是一個(gè)64 位的分布式 RAM (甚至雙端口或者四端口)或者一個(gè)32 位可編程移位寄存器。每個(gè) LUT 具有兩個(gè)輸出,從而實(shí)現(xiàn)了五個(gè)變量的兩個(gè)邏輯函數(shù),存儲(chǔ)32 x 2 RAM 比特,或者作為16 x 2-bit 的移位寄存器進(jìn)行工作。
圖3 - Virtex-5 FPGA 和 Virtex-4 FPGA 設(shè)計(jì)套件的評(píng)測(cè)基準(zhǔn)
新的對(duì)角對(duì)稱互連
一種新的對(duì)角對(duì)稱互連模式通過在更少的布線跳接中獲得更多的空間來提高性能。關(guān)于Virtex-5 和Virtex-4 FPGA 互連模式(每個(gè)正方形代表一個(gè) CLB)的比較,請(qǐng)參見圖1。通過色標(biāo)可以看出,使用Virtex-5 FPGA 使該模式更加對(duì)稱,同時(shí)利用更少的跳接到達(dá)了更多的 CLB。憑借布局布線軟件工具,這種對(duì)稱性可以取得更好的結(jié)果。
這些特性對(duì)于 Virtex-5 FPGA 的用戶來說是完全透明的,并且能夠被 ISE 軟件自動(dòng)執(zhí)行,從而帶來更加簡(jiǎn)單的可布線性和更好的總體性能。
最低功耗的先進(jìn) FPGA 解決方案
Virtex-5 器件系列采用領(lǐng)先的65 納米、三柵極氧化層、11 層銅布線的 CMOS 工藝技術(shù)。“三柵極氧化層”是指采用不同的晶體管柵極氧化層厚度的數(shù)目。I/O 晶體管必須可以承受 3.3V 的電壓,因此使用相對(duì)較厚的氧化層,但是邏輯和其它核心功能所使用的超高速晶體管則一般采用超薄氧化層。不幸的是,超薄氧化層和超低閾值電壓不可避免地帶來較高的泄漏電流。然而,F(xiàn)PGA 中有很多晶體管不需要很高的速度(特別是那些配置存儲(chǔ)單元)。從Virtex-4系列開始,Xilinx 率先采用了第三種中間柵極氧化層厚度,專門針對(duì)這一類晶體管。這種三柵極氧化層方法允許我們對(duì)器件電路的性能和功耗進(jìn)行微調(diào)。它使得Virtex-5器件可以提供業(yè)界領(lǐng)先的性能,同時(shí)能夠大幅度降低泄漏電流,從而降低了靜態(tài)功耗。
此外,新的 6-LUT 邏輯結(jié)構(gòu)在每個(gè)LUT 中融合了更多的邏輯塊,使用了較少的局部互連節(jié)點(diǎn)和更少的高電容節(jié)點(diǎn)(邏輯功能之間),降低了邏輯層次,從而縮短了路徑延遲。這種新的對(duì)稱布線還使相鄰邏輯之間的連接更加直接,這進(jìn)一步降低了布線電容。VCCINT,核心供電電壓,現(xiàn)在是1.0V。所有這些因素都有助于總體動(dòng)態(tài)功耗的降低。Virtex-4 系列的成功告訴我們,很多工程師將性能和功耗看作是系統(tǒng)設(shè)計(jì)中的兩個(gè)同等重要的約束條件;因此,我們既需要高性能,也需要低功耗。我們對(duì) Virtex-5 的邏輯結(jié)構(gòu)進(jìn)行了徹底的改進(jìn),以便充分利用65 納米三柵極氧化層的CMOS 工藝,結(jié)果是誕生了迄今為止性能最高的結(jié)構(gòu),系統(tǒng)時(shí)鐘頻率超過550 MHz。和90 納米 Virtex-4 相比,Virtex-5 的靜態(tài)功耗大體相當(dāng),但動(dòng)態(tài)功耗至少降低了35%。就像它的前輩一樣,Virtex-5 系列又一次提供了其他高級(jí)FPGA 系列難以比擬的低功耗解決方案。
適用于系統(tǒng)集成的高級(jí)特性
在Virtex-5 系列中,我們?cè)诿總(gè)時(shí)鐘管理管道 (CMT) 中加入了一個(gè)鎖相環(huán)(PLL),現(xiàn)在每個(gè)時(shí)鐘管理管道含有兩個(gè)數(shù)字時(shí)鐘管理器 (DCM) 和一個(gè)PLL。因此 CMT同時(shí)提供了兩個(gè)域(數(shù)字域和模擬域)的最優(yōu)特性:數(shù)字時(shí)鐘管理器所具備的強(qiáng)健的多功能性和精確的遞增相移能力,與模擬PLL 帶來的降低抖動(dòng)性能。該系列中配置最高的型號(hào)具備六個(gè)可以產(chǎn)生和操作550MHz 時(shí)鐘的CMT , 從而支持Virtex-5 的邏輯和模塊功能。
同步雙端口 block RAM 是一個(gè)重要的功能塊。每個(gè) block RAM 的大小已經(jīng)增加到36 Kb,但是你可以將它用作兩個(gè)單獨(dú)的 18-Kb block RAM。數(shù)據(jù)總線寬度從1 位到36 位是可編程的。在簡(jiǎn)單雙端口模式(一個(gè)端口寫,另一個(gè)端口讀),數(shù)據(jù)總線寬度可以高達(dá)72 位,有效地加倍了數(shù)據(jù)帶寬。你還可以關(guān)閉未被使用的18-Kb block RAM 以節(jié)省功耗。
該block RAM 帶有集成的 FIFO 控制邏輯,從而簡(jiǎn)化了在高達(dá) 550 MHz 時(shí)鐘頻率下運(yùn)行的異步(或同步) FIFO 的設(shè)計(jì),同時(shí)無需消耗任何邏輯資源。
72 位寬的 block RAM 現(xiàn)在還包括64-bit 的檢錯(cuò)誤和糾錯(cuò) (ECC) 控制邏輯。類似于集成的 FIFO 支持功能,該集成化 ECC 提高了存儲(chǔ)器的性能,同時(shí)消除了那些和傳統(tǒng)的基于結(jié)構(gòu)的解決方案相關(guān)的成本。你還可以使用專用 ECC 邏輯來增強(qiáng)外部存儲(chǔ)器接口。
我們最新推出的 ChipSyncTM 技術(shù)大幅度增強(qiáng)和簡(jiǎn)化了與外部設(shè)備尤其是外部存儲(chǔ)器(比如DDR、DDR2、 QDR II 和RLDRAM II)的連接。基于我們 LX50T 器件的存儲(chǔ)器開發(fā)系統(tǒng) (ML561),包含通過硬件驗(yàn)證的實(shí)用參考設(shè)計(jì),該參考設(shè)計(jì)可以用于目前所有的主流存儲(chǔ)技術(shù)。
在 DSP 領(lǐng)域,我們推出了一個(gè) 25 x18-bit 的乘法器,主要用于更高效率的浮點(diǎn)設(shè)計(jì)。這些 DSP48E 邏輯片可以進(jìn)行直接級(jí)聯(lián),從而能夠在數(shù)字濾波或視頻廣播應(yīng)用中實(shí)現(xiàn)更高的性能。直接級(jí)聯(lián)還可以節(jié)省功耗 - 和其它競(jìng)爭(zhēng)方案比較,我們可以降低40%的功耗。Virtex-5 SelectIO? 技術(shù)繼續(xù)在業(yè)界保持領(lǐng)先地位。所有引腳實(shí)際上都支持目前使用的所有 I/O 標(biāo)準(zhǔn),并且提供高達(dá)1.25 Gbps 的 LVDS 和 800 Mbps 的單端 I/O 性能。除了提供可編程輸入延遲(步長(zhǎng)75ps ) 的 IDELAY 選項(xiàng)外, 新推出的ODELAY 選項(xiàng)為 FPGA 的輸出端提供了同樣精細(xì)的粒度。每個(gè)功能都可以在所有器件的引腳上進(jìn)行單獨(dú)編程。IODELAY 功能是一個(gè)重要的特性,可以增強(qiáng)對(duì)高速源同步數(shù)據(jù)和時(shí)鐘的可靠發(fā)送和接收。目標(biāo)應(yīng)用包括板級(jí)偏斜補(bǔ)償、總線的位對(duì)準(zhǔn)以及數(shù)據(jù)和時(shí)鐘信號(hào)的對(duì)準(zhǔn)。該功能能夠讓 LVDS I/O 實(shí)現(xiàn)每對(duì)引腳高達(dá)1.25 Gbps 的速率。Virtex-5 LXT 、SXT 和 FXT 器件同樣提供了嵌入式串行收發(fā)器 - 在配置最高的 LXT 器件中包含的這種收發(fā)器的數(shù)目竟然高達(dá) 24 個(gè)。在開發(fā)高速串行收發(fā)器的第四代 RocketIO? 技術(shù)時(shí),我們?cè)诮档凸姆矫嫱度氪罅康木ΑT?.2Gbps的峰值速率下,LXT RocketIO 收發(fā)器的功耗低于100 mW,使其成為所有FPGA 產(chǎn)品中功耗最低的收發(fā)器(參閱圖4)。
圖4 - RocketIO GTP 收發(fā)器
每個(gè) Virtex-5 LXT RocketIO 收發(fā)器都是可編程的,可以實(shí)現(xiàn)各種速率,支持各種串行標(biāo)準(zhǔn)。我們面向每個(gè)標(biāo)準(zhǔn)(比如以太網(wǎng)、HD/SDI、串行RapidIO、FibreChannel 和 Aurora)推出了鏈路層IP。最后,我們預(yù)計(jì)到 PCI Express (PCIe)端點(diǎn)應(yīng)用的普遍性,在硬件邏輯中集成了完整的 PCIe 端點(diǎn)協(xié)議。Virtex-5 LXT PCIe 端點(diǎn)模塊完全兼容 PCIe 標(biāo)準(zhǔn)規(guī)范的1.1 版本,可以支持x1、x2、x4 和 x8的通道實(shí)現(xiàn)方案。集成式硬 IP 節(jié)省了邏輯資源,并且提高了日益普及的 PCIe 應(yīng)用的性能。對(duì)于 x4 PCIe 通道的實(shí)現(xiàn)而言,較之軟 IP 實(shí)現(xiàn)方案,Virtex-5 PCIe子系統(tǒng)模塊節(jié)省的 LUT 數(shù)目高達(dá) 8,500個(gè)。Virtex-5 器件提供了更多和更小的I/O bank。外部 I/O bank (配置最高的型號(hào)中含有八個(gè) bank )也經(jīng)過精心安排,從而方便 PCB 布線,在某些情況下可以節(jié)省 PCB 板的布線層級(jí)。
為了保證取得 FPGA 業(yè)界最佳的同步切換輸出 (SSO) 性能, 并且實(shí)現(xiàn)FPGA 業(yè)界最好的信號(hào)完整性 (SI) 解決方案,所有 Virtex-5 器件均利用 Xilinx的稀疏鋸齒技術(shù)進(jìn)行插腳引線的對(duì)齊。這種方法確保每個(gè) I/O 引腳都可以被電源引腳和地引腳緊密包圍,從而使電流環(huán)電感最小,進(jìn)而提高了信號(hào)完整性。
結(jié)論
希望我前面的介紹能夠讓您更好地了解Virtex-5 器件及其背后的設(shè)計(jì)動(dòng)因。我們非常希望系統(tǒng)設(shè)計(jì)界能夠接納這種全新的架構(gòu)。我們希望看到您的下一代系統(tǒng)能夠從 Virtex-5 增強(qiáng)的性能和功能中獲益,將您的復(fù)雜設(shè)計(jì)提升到一個(gè)新的高度。
]]>