智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

詳解:FPGA基礎知識及其工作原理

來源:網絡

點擊:2880

A+ A-

所屬頻道:新聞中心

關鍵詞: FPGA,可編程

      高端設計工具為少有甚是沒有硬件設計技術的工程師和科學家提供現場可編程門陣列(FPGA)。無論你使用圖形化設計程序,ANSIC語言還是VHDL語言,如此復雜的合成工藝會不禁讓人去想FPGA真實的運作情況。在這個芯片中的程序在這些可設置硅片間到底是如何工作的。本文會使非數字化設計人員明白FPGA(現場可編程門陣列)的基礎知識及其工作原理。此信息在使用高端設計工具時同樣十分有用,希望可以為理解這一特別技術提供一些線索。

      1.FPGA-現場可編程門陣列

      每一塊FPGA芯片都是由有限多個帶有可編程連接的預定義源組成來實現一種可重構數字電路。

    FPGA基礎知識及其工作原理

      圖1.FPGA不同構成

      FPGA芯片說明書中,包含了可編程邏輯模塊的數量、固定功能邏輯模塊(如乘法器)的數目及存儲器資源(如嵌入式RAM)的大小。FPGA芯片中還有很多其它的部分,但是以上指標通常是為特定應用選擇和比較FPGA時,最重要的參考指標。

      在最底層,可配置邏輯模塊(如片或邏輯單元)有著兩種最基本的部件:觸發器和查找表(LUT)。這很重要,因為各種FPGA家族之所以各不相同,就是因為觸發器和查找表組合的方式不同。例如,Virtex-II系列的FPGA,它的片具有兩個查找表和兩個觸發器,而Virtex-5FPGA的片具有4個查找表和4個觸發器。查找表本身的結構也可能各不相同(4輸入或6輸入)。關于查找表工作原理的更多信息將在后面的章節中給出。

      表1中列出了在NILabVIEWFPGA硬件目標中使用的FPGA的指標。邏輯門的數量是一種將FPGA芯片與ASIC技術進行比較的傳統方法,但是它并不能真實地表述FPGA內部的獨立單元的數量。這就是Xilinx公司沒有在新型Virtex-5系列中指定邏輯門數量的原因之一。

    FPGA基礎知識及其工作原理

      表1.不同系列FPGA源規格

      為了更好地理解這些規格的意義,將編碼考慮為合成的數字電路模式。對任何一段合成代碼,或圖形化或文本形式,都有相應的電路圖反映邏輯組件該如何連線。通過一段簡單布爾邏輯電路了解下相應的示意圖。圖2表示的是傳遞5個布爾信號并且可圖形化計算所得的二進制值的功能組。

    FPGA基礎知識及其工作原理

      圖2.載入5個信號的簡單布爾邏輯

      在通常情況下(LabVIEWSCTL-單周期定時環路外),圖2所示相應電路圖同圖3所示相近。

    FPGA基礎知識及其工作原理

      圖3.為圖2中布爾邏輯的相應電路圖

      雖然很難明白,但是實際上這里創建了兩個并行分支的電路。最上面的5條黑線被反饋到第一個分支,它在每個布爾操作間添加了觸發器。最下面的5條黑線構成了第二個邏輯鏈。其中一支路在每步操作之間增加了同步寄存器,另一條邏輯鏈是確保執行數據流的。本電路圖正常工作時總共需要12個觸發器和12個查找表。上端分支和每個元件將在以后章節分析。

      2.觸發器

    FPGA基礎知識及其工作原理

      圖4.觸發器符號

      觸發器是二進制移位寄存器,用于同步邏輯以及保存時鐘(脈沖)周期內的邏輯狀態。在每個時間(脈沖)邊沿,觸發器在輸入時鎖定1(真)或0(假)值并且保存此值直到下次時鐘(脈沖)邊沿。在正常情況下,LabVIEWFPGA在每次操作之間都設置一個觸發器,以保證有足夠的時間來執行每步操作。對此律的例外只發生在SCTL結構中寫代碼的情況。在這個特殊的環路結構中,觸發器只放置在閉環迭代的始末段,并且由編程者考慮定時因素來決定如何放置。對SCTL內代碼如何同步的更多內容將在以后章節中討論。圖5表示的是圖3的上端分支,觸發器由紅色高亮表示。

    FPGA基礎知識及其工作原理

      圖5.繪制由紅色高亮表示出觸發器的電路圖

      3.查找表

    FPGA基礎知識及其工作原理

      圖6.雙四輸入查找表

      圖6所示示意圖中的其他邏輯電路通過使用少量查找表形式的隨機存取存儲器實現。我們可以簡單地假定FPGA中系統門的數量可參考與非門(NAND)以及或非門(NOR)的數量,但實際上,所有的組合邏輯(與門、或門、與非門、異或門等)都是通過查找表存儲器中的真值表來實現。真值表是輸出對應于每個輸入值組合的預定義表(現在卡諾圖的重要性在你的頭腦中可能會慢慢淡化)。以下是對數字邏輯電路課程的快速回顧:比如,圖7是布爾邏輯與門操作過程。

      這是對數字邏輯課程的快速回顧:

      例如,圖7中顯示了布爾型AND操作。

    FPGA基礎知識及其工作原理

      圖7.布爾型AND操作

    FPGA基礎知識及其工作原理

     

      表2.布爾與門操作的真值表

      你可以認為輸入值是所有輸出值的數字索引,如表3所示。

    FPGA基礎知識及其工作原理

      表3.布爾與門擦操作的真值查找表實現

      Virtex-II和Spartan-3系列FPGA芯片有著4輸入查找表來實現真正的4輸入信號的16種組合。圖8就是一個四輸入電路實現的例子。

    FPGA基礎知識及其工作原理

      圖8.輸入布爾邏輯的四信號電路

      表4所示為使用雙四輸入查找表實現的相應的真值表。

    FPGA基礎知識及其工作原理

      表4.圖8中所示相應真值表

      Virtex-5系列的FPGA使用雙六輸入查找表,可以通過6個不同輸入信號的64種組合來實現真值表。因為觸發器之間的組合邏輯十分復雜,所以在LabVIEWFPGA中使用SCTL也越來越重要。下一節將講述SCTL如何優化利用LabVIEW中的FPGA源。

      4.SCTL

      上幾節中使用的代碼例子假定代碼是設置在SCTL外部,并為保證執行同步數據量也同步了附加電路。SCTL是LabVIEWFPGA中一個特殊結構,生成一個更為優化的電路圖,以期望達到在一個時鐘(脈沖)周期內執行完所有邏輯電路分支。例如,若設置SCTL在40MHZ運行,則所有邏輯電路分支將在25ns內執行完畢。

      如果在SCTL中設置前例中同樣的布爾邏輯電路(如圖9所示),則生成如圖10所示的相應電路示意圖。

    FPGA基礎知識及其工作原理

      圖9.附有STCL的簡單布爾邏輯

    FPGA基礎知識及其工作原理

      圖10.圖9所示布爾邏輯相應的電路圖

      很明顯,這種實現方法簡單多了。在Virtex-II或Spartan-3系列FPGA中,觸發器間的邏輯需要至少2個4輸入查找表,如圖11所示。

    FPGA基礎知識及其工作原理

      圖11.圖10中電路圖的雙四輸入查找表實現

      由于Virtex-5系列FPGA有著6輸入的查找表,用戶可以在一個查找表中實現相同數量的邏輯,如圖12所示。

    FPGA基礎知識及其工作原理

      圖12.圖10中雙六輸入查找表實

      本例中使用的SCTL(如圖9所示)設置在40MHZ下運行,這意味著在任意觸發器之間邏輯電路必須在25ns內完成執行。電子在電路中傳播的速度決定了代碼執行的最大速度。關鍵路線是有最長傳播延遲的邏輯電路分支,它決定了該部分電路中理論最大時鐘速率。Virtex-5FPGA上的雙六輸入查找表不僅減少實現給定邏輯電路所需要的查找表總數,而且減少電子通過邏輯電路的傳播延遲(時間)。Virtex-5系列FPGA中的6輸入查找表不僅可以減少實現特定邏輯而需要的查找表的數量,而且可以降低邏輯中電流的傳輸延時。這意味著,您可簡單地通過選擇一個基于Virtex-5的硬件指標設置相同的SCTL,追求更快的時間速度。

      5.乘數器和DSP片

    FPGA基礎知識及其工作原理

      圖13.乘數器功能

      看起來簡單的兩數相乘運算在數字電路中實現起來是十分復雜的,也是極為消耗資源的。為提供相關參考,圖14所示是一種使用組合邏輯電路實現4×4字節乘數器的示意圖。

    FPGA基礎知識及其工作原理

      圖14.兩個4字節輸入相乘的電路圖

      試想兩個32字節的數字相乘要通過2000多步操作才能得到結果。因此,FPGA預設了乘數器電路,在數學和信號處理應用中保存對查找表和觸發器使用。Virtex-II和Spartan-3FPGA擁有18×18bit乘法器,所以兩個32字節數字相乘的運算需要三個乘法器來實現。許多信號處理算法都包括連乘運算結果的功能,因此Virtex-5等高性能FPGA都預設被稱為DSP片的乘數器累加電路.這些預設處理組件,也被稱為DSP48片,包括25×18bit乘數器以及加法器電路,盡管您可單獨使用乘數器功能。表5所示為不同FPGA系列DSP決策。

    FPGA基礎知識及其工作原理

      表5.不同FPGA的DSP源

      6.塊隨機存取存儲器(RAM)

      選擇FPGA時,記憶源是另一個需要考慮的關鍵因素。嵌入FPGA芯片中的用戶自定義隨機存取存儲器(RAM),對儲存數據設置或平行環路之間傳送數值很有幫助。基于FPGA系列,您可在16或36kb組件中設置板載RAM,或者使用觸發器以數組來執行數據設置;然而,對于FPGA邏輯源來說,大型數組很快就變得十分"奢侈"。由100個32字節元素數組可消耗Virtex-II1000FPGA中超過30%的觸發器,或者占用少于1%的嵌入式塊RAM。DSP算法通常需要追蹤整個數據塊或是復雜等式的系數,而在沒有板載存儲器情況下,許多處理功能在FPGA芯片的硬件邏輯電路中都不適用。圖16所示為使用塊RAM讀寫存儲器的圖形化功能。

    FPGA基礎知識及其工作原理

      圖15.用于讀寫存儲器的塊RAM函數

      同樣,你也可以使用內存塊,將一段完整周期存儲為數值和索引的順序表,為板載信號發生器存儲周期性波形數據。輸出信號的最終頻率由檢索數值的速度決定,這樣您就可用此方法動態改變輸出頻率,而不需要輸入波形中的急劇變化。

    FPGA基礎知識及其工作原理

      圖17.用于先進先出緩沖器的塊RAM功能

      FPGA固有的并行執行要求邏輯電路獨立元件可在不用時間脈沖下驅動。在不同運行速度下的邏輯電路之間傳遞數據是很棘手的。使用先進先出(FIFO)緩沖器時,板載存儲器可用來是傳輸更加平穩。如圖16所示,用戶可以將FIFO緩沖器配置成不同大小以確保數據在FPGA芯片的非同步部件間不會丟失。表6所示為嵌入不同FPGA系列的用戶可設置快RAM。

    FPGA基礎知識及其工作原理

      表6.不同FPGA的記憶源

      7.總結

      隨著高端技術的發展以及新概念的深入概括,FPGA技術地采用將不斷增加。然而探究FPGA其中奧秘,感嘆這硅片中在方框圖間匯編出的變化,也是十分重要的。在發展階段,如果您懂得如何利用和優化資源,比較和選擇觸發器、查找表、乘數器和塊RAM等硬件指標是十分有幫助的。這些基本的功能塊并不是包含所有資源的完整清單,而且這篇白皮書并沒有包含對所有FPGA部件的討論。

    (審核編輯: 小丸子1)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 轮式挖掘机厂家_抓铁机_全自动混凝土搅拌车_山重机械【官网】 | 指纹锁_智能锁_指纹密码锁_智能锁十大品牌_智能门锁厂家-深圳市豪力士智能科技有限公司 | 硬度计,里氏硬度计,布氏硬度计,高强螺栓检测仪,平板导热仪,专业无损检测仪器商-北京时代新天测控技术有限公司-北京时代新天测控技术有限公司 | 美国SI中国区总代-北京开源国创科技有限公司 | 盐城市城镇化建设投资集团有限公司[盐城国资企业、盐城国资集团、盐城文化旅游、盐城基础设施、盐城土地开发、盐城粮食收储] | 油管家,货车油管家,工程车油管家-淄博畅行电子科技有限公司 | 深山工作室提供网络投票系统|微信公众号投票|微信公众号小程序|抖音小程序|百度小程序|微信公众号开发|企业网站建设 | 双相钢,双相不锈钢,2507双相不锈钢-海新双相钢 | 深圳潜水培训-潜水考证-公共安全潜水-救援潜水【深圳超潜潜水】 深圳汽车贴膜_深圳全车车身改色贴膜|UPPF隐形车衣官网 | 首页|广东蒙泰高新纤维股份有限公司|丙纶细旦丝|丙纶异形丝|丙纶FDY网络丝 - 广东蒙泰高新纤维股份有限公司 | 陶瓷透水砖-透水砖厂家-淄博天之润生态科技有限公司 | 专业的展会信息服务平台 - 展加 专题秀_汇聚网络热门专题_实时报道各类新闻专题资讯 | 实验室冷水机-冷却循环水系统-深圳市达沃西制冷设备厂 | 科衣洛定制衣柜,书柜,厨柜,衣帽间,电视柜,酒柜,餐厅柜,门厅柜,鞋柜——科衣洛全屋定制官网 | 明星代言,明星代言费,明星代言价格查询-良策明星经纪公司 | 恒升(新乡)食品有限公司 | 山东亮化工程_亮化公司_亮化资质-山东星汇照明工程有限公司 | 容积式换热器,半容积式换热器-绍兴市压力容器有限公司 | 潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机-潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机 潍坊网络推广,临沂360推广,东营360推广,枣庄360推广,潍坊网站建设,潍坊网络公司,潍坊360搜索,潍坊APP开发,潍坊360推广,潍坊360代理,潍坊点睛网络科技有限公司 | 一站式管材,型材,板材,焊接加工等工程材料批发商-佛山市佛孟钢铁有限公司 | 永磁变频空压机_青岛空压机_螺杆空压机_口罩专用空压机-青岛凯瑞特机电设备有限公司 | 有用的旅游攻略_格林旅行网 | 拓展器材_拓展训练器械_心理行为训练器械_沧州华北特训器械有限公司 | 医药招商 千虹医药网-专业的医药招商-医药代理-药品招商-药品代理信息发布平台 | 上海前 傲信息技术有限公司-企业信息化建设及品牌推广服务商 | 筱晓(上海)光子技术有限公司官网,MCT探测器,半导体激光二极管,中红外QCL激光器,光纤放大器,光电探测器 | 通讯电子连接器-工业电源连接器-板对板连接器厂家-普瑞盛源 | 誉瑞仪器是全球知名检测仪器厂商RAE在华东地区的专业级产品销售及授权维修服务商- | 云梯车|云梯搬家车|工程高空上料车|云梯登高车价格|视频|图片-专汽之家 | 长沙天为工程机械制造有限公司| 兰州沙盘模型公司_兰州模型公司_兰州沙盘模型厂家_地形沙盘制作_兰州沙盘模型制作公司 | 慧泊中安,慧眼停车,慧泊社区,慧泊云,智慧停车云平台 | 正宗舌尖上的卤味卤菜卤肉卤水熟食的做法及配方大全网 | 天津高压泵-高压清洗机-高压柱塞泵-厂家-价格-天津高压泵格瑞德 天津翻译公司盖章|022-58385822| 翰文博译(天津)商务咨询有限公司 | 金相切割机-金相磨抛机-显微/维氏/布氏/洛氏硬度计-自准直仪-金相显微镜-万能材料试验机-清洁度检测仪-淋雨试验机-上海中研精密仪器制造有限公司 | 信管飞软件官网 - 亚拓软件旗下精细化管理软件、进销存管理软件、混凝土ERP、通风设备ERP、风管报价软件、出纳软件、送货单打印软件、ERP软件等免费下载 | 气体检测仪_气体传感器_可燃气体检测仪-精讯畅通电子科技 | 美国Riverhawk轴承,Riverhawk十字弹簧轴承,Riverhawk联轴器,Riverhawk液压工具 | 上海机械加工-机械加工-精密机械加工-上海欧野精工机械有限公司 上海慧泰仪器制造有限公司_一体型马弗炉-可控真空干燥箱-强光稳定性试验箱 | 景德镇晶达新材料有限公司 | 智能灰熔融性测试仪,微机自动定硫仪,快速自动测硫仪-鹤壁市恒科仪器仪表有限公司 |