FPGA深層解析
概覽
本文引用地址:http://dyxdggzs.com/article/192071.htm高端設計工具為少有甚是沒(méi)有硬件設計技術(shù)的工程師和科學(xué)家提供現場(chǎng)可編程門(mén)陣列(FPGA)。無(wú)論你使用圖形化設計程序,ANSI C語(yǔ)言還是VHDL語(yǔ)言,如此復雜的合成工藝會(huì )不禁讓人去想FPGA真實(shí)的運作情況。在這個(gè)芯片中的程序在這些可設置硅片間到底是如何工作的。本書(shū)會(huì )使非數字化設計人員明白FPGA(現場(chǎng)可編程門(mén)陣列)的基礎知識及其工作原理。此信息在使用高端設計工具時(shí)同樣十分有用,希望可以為理解這一特別技術(shù)提供一些線(xiàn)索。
FPGA-現場(chǎng)可編程門(mén)陣列
每一塊FPGA芯片都是由有限多個(gè)帶有可編程連接的預定義源組成來(lái)實(shí)現一種可重構數字電路。
圖1.FPGA不同構成
FPGA芯片說(shuō)明書(shū)中,包含了可編程邏輯模塊的數量、固定功能邏輯模塊(如乘法器)的數目及存儲器資源(如嵌入式RAM)的大小。FPGA芯片中還有很多其它的部分,但是以上指標通常是為特定應用選擇和比較FPGA時(shí),最重要的參考指標。
在最底層,可配置邏輯模塊(如片或邏輯單元)有著(zhù)兩種最基本的部件:觸發(fā)器和查找表(LUT)。這很重要,因為各種FPGA家族之所以各不相同,就是因為觸發(fā)器和查找表組合的方式不同。例如,Virtex-II 系列的FPGA ,它的片具有兩個(gè)查找表和兩個(gè)觸發(fā)器,而Virtex-5 FPGA的片具有4個(gè)查找表和4個(gè)觸發(fā)器。查找表本身的結構也可能各不相同(4輸入或6輸入)。關(guān)于查找表工作原理的更多信息將在后面的章節中給出。
表1中列出了在NI LabVIEW FPGA硬件目標中使用的FPGA的指標。邏輯門(mén)的數量是一種將FPGA芯片與ASIC技術(shù)進(jìn)行比較的傳統方法,但是它并不能真實(shí)地表述FPGA內部的獨立單元的數量。這就是Xilinx公司沒(méi)有在新型Virtex-5系列中指定邏輯門(mén)數量的原因之一。
表1.不同系列FPGA源規格
為了更好地理解這些規格的意義,將編碼考慮為合成的數字電路模式。對任何一段合成代碼,或圖形化或文本形式,都有相應的電路圖反映邏輯組件該如何連線(xiàn)。通過(guò)一段簡(jiǎn)單布爾邏輯電路了解下相應的示意圖。圖2表示的是傳遞5個(gè)布爾信號并且可圖形化計算所得的二進(jìn)制值的功能組。
圖2.載入5個(gè)信號的簡(jiǎn)單布爾邏輯
在通常情況下(LabVIEW SCTL―單周期定時(shí)環(huán)路外),圖2所示相應電路圖同圖3所示相近。
圖3.為圖2中布爾邏輯的相應電路圖
雖然很難明白,但是實(shí)際上這里創(chuàng )建了兩個(gè)并行分支的電路。最上面的5條黑線(xiàn)被反饋到第一個(gè)分支,它在每個(gè)布爾操作間添加了觸發(fā)器。最下面的5條黑線(xiàn)構成了第二個(gè)邏輯鏈。其中一支路在每步操作之間增加了同步寄存器,另一條邏輯鏈是確保執行數據流的。本電路圖正常工作時(shí)總共需要12個(gè)觸發(fā)器和12個(gè)查找表。上端分支和每個(gè)元件將在以后章節分析。
觸發(fā)器
圖4.觸發(fā)器符號
評論