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