新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > FPGA研發之道(1)FPGA是個什么玩意?

        FPGA研發之道(1)FPGA是個什么玩意?

        作者: 時間:2014-10-15 來源:網絡 收藏

          是個什么玩意?

        本文引用地址:http://www.104case.com/article/263945.htm

          首先來說:

          是一種器件。其英文名 feild programable gate arry 。很長,但不通俗。通俗來說,是一種功能強大似乎無所不能的器件。通常用于通信、網絡、圖像處理、工業控制等不同領域的器件。就像ARM、DSP等嵌入式器件一樣,成為無數碼農碼工們情感傾瀉而出的代碼真正獲得生命的地方。只不過,一樣的編程,卻是不一樣的思想。嵌入式軟件人員看到的是C。而工程師看到是硬件描述語言,verilog或VHDL。軟件看到是函數、對象、重構。FPGA工程師則是模塊、流水、復用。從現象上看,都是代碼到下載程序再到硬件上運行。不能只看現象而忽略本質。FPGA 開發本質上是設計一顆IC,“**的身子,丫鬟的命”不是所有verilog/VHDL代碼,都能獲得青睞去流片成為真正的芯片,而更多的則成為運行在FPGA器件上,成為完成相同功能的替代品。其實現的功能卻一點也不遜色于百萬身價流片的近親。從而成為獨樹一幟的行業。

          FPGA開發的流程,是通過verilog/VHDL等硬件描述語言通過EDA工具編譯、綜合、布局布線成為下載文件,最終加載到FPGA器件中去,完成所實現的功能。那硬件描述語言描述的是什么?這里描述的就是組合邏輯電路和時序邏輯電路。組合邏輯電路就是大家所熟知的 與門、或門、非門。時序邏輯電路則是觸發器。數字芯片上絕大部分邏輯都是這兩種邏輯實現的。也就是基本上每個電子行業的人所學過的數字電路。順便說一下,感謝香農大師,在其碩士畢業論文<繼電器與開關電路的符號分析>就奠定了數字電路的的根基。只不過在FPGA中,與或非的操作變成了查找表的操作。于是所有的數字電路變成了查找表和寄存器,這就構成了FPGA的基礎。查找表負責邏輯實現,寄存器存儲電路狀態。二者配合,雙劍合璧,天衣無縫。這是最初的FPGA的雛形。 現代FPGA內部出了查找表和寄存器之外,還有RAM塊,用于存儲大量的數據塊,這是因為RAM塊較寄存器來存儲大量數據更能節省芯片實現的面積。FPGA內部的時序電路則需要時鐘的輸入,通常FPGA內部需要時鐘種類較多,因此需要在片內產生所需的的相關的時鐘,如不同頻率,不同相位的時鐘,因此時鐘管理單元DCM/PLL也是必不可少的內部部件。除此之外,FPGA內部還包括接口I/O,I/O分為普通I/O和高速I/O,高速I/O支持例如高速的SERDES,用于實現XAUI,PCIE等高速接口,這些接口動輒幾Gbps到10Gbps以上。此外種類多種多樣的硬核IP也是各FPGA廠商差異化競爭利器,例如POWERPC、ARM等硬核IP。從而構成CPU+FPGA于一體的集可編程性和可重構的處理平臺。因此,相對來所,FPGA雖然發展有二三十年的歷史,其基本架構一直不變不大。

          回到問題開始的地方,FPGA的英文翻譯過來是現場可編程門陣列。這是相對ASIC來說的,ASIC的硬件也可看做是門陣列,但是其是非可編程的器件。流片完成其功能就固化了,而FPGA的可編程性就在其能夠重新下載配置文件,來改變其內在的功能,這就是其可編程性的由來。從前端開發流程來說,FPGA和ASIC開發并無二至。由于ASIC開發一次性投入成本較高,FPGA無疑是一種經濟的替代方案,用于實現的高速的數據并行處理。如業務能夠支撐大規模應用并且協議固化,則能夠分攤成本的ASIC實現就有成本的優勢。

          FPGA作為一種器件,技術上主要壟斷在少數大公司手中,那就是雙巨頭和XILINX。除此之外還有一些份額相對較小的公司,例如和LATTICE。不止是FPGA的硬件芯片,其配套的EDA工具技術壁壘更高。因此相對于CPU來說,FPGA的國產化更不樂觀,不過已經有國內的廠商來從事這一行業,例如國微和京微雅格等,也在一些細分市場上推出自己的FPGA產品。

        fpga相關文章:fpga是什么




        關鍵詞: FPGA ACTEL ALTERA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梨树县| 增城市| 黔江区| 莆田市| 百色市| 丹凤县| 宁武县| 穆棱市| 浦东新区| 亚东县| 周宁县| 祁阳县| 桐柏县| 西峡县| 登封市| 凉城县| 喀喇沁旗| 栾城县| 车致| 正宁县| 阳谷县| 平湖市| 行唐县| 武汉市| 张家口市| 东光县| 连平县| 镇原县| 五河县| 陆河县| 武清区| 启东市| 桂东县| 筠连县| 唐海县| 静海县| 连山| 九龙县| 玉林市| 桂平市| 大悟县|