導航:首頁 > 編程語言 > fpga編程規范

fpga編程規范

發布時間:2023-09-02 08:16:42

⑴ FPGA如何入門,看了Xilinx開發教程還是覺得很吃力

給你一條思路。首先FPGA的特點是易上手,不可能精通。很多搞了十幾年的FPGA工程師還不是遇到項目就卡殼。我見過一個華為工作了七年的做FPGA的,項目搞不出來辭職的(現在是我的頂頭上司),所以想搞FPGA還得沉得住心,吃得了苦。然後自學就剛開始學語法,學個兩周足以,語法實在太簡單了。然後開始買開發板,跟著常式跑程序,這個階段至少掌握整個FPGA開發流程和熟悉軟體,尤其是在線調試,建議VIVADO,因為這玩意還是有點復雜的,工作中要是讓你調介面你連這軟體怎麼抓信號都不會那可就尷尬了。至於SOC這些就不要學了,學了也沒用,工作中基本上用不到。然後軟體熟悉的差不多就開始自己寫代碼,這個階段最主要是注意形成自己的代碼風格,多看代碼多寫代碼多模擬,要是有實際項目的代碼就更好了,學習人家高手的代碼風格(建議別用開發板的代碼學習,寫的太搓了),然後多搜一些非同步設計的規范等等資料,等你知道給個你幾個時鍾你該用哪個時鍾寫哪個代碼的時候開始玩一些實際項目的東西,這個時候開始有選擇了,一般FPGA就是兩個方向-介面與演算法。這個階段出去找工作吧,剩下的都是工作中才會理解的東西。演算法門檻高,我就寫過中頻採集板的代碼,其他的也不懂,介面的話開始按照人家招聘公司的要求學習,一般要求你要懂PCIE,DDR這些高速介面,高速介面無非是IP核例化和控制,看起來難實則也難(不過是工作中難,要是學習這玩意是啥的話還是不那麼難的)。FPGA這玩意最忌諱的是手低眼高,也是很多學FPGA最容易犯的錯,覺得這玩意就那麼一回事。剩下的路就該你自己走了,FPGA是一個相對比較偏的行業,網上資源不太好搜集,信息收集也是一個需要學會的,但一般都是從人家賽家的官網下載的,所以英語底子得扎實。至於數電就不用再看了,本科基礎足夠了,心中有電路可不是指的是那種觸發器堆的電路,而是指的是數據流的傳輸與時鍾布局的大局觀以及整個項目的大局觀,所以看數電是沒用滴。不過對於信號處理的有些基礎知識,至少要知道啥是奈奎斯特采樣,啥是中頻采樣,啥是FIR,FFT,DDC,UDC。

⑵ 基於fpga的浮點運算可能出現的問題有哪些

基於 FPGA 的浮點運算在實現賀襪明上可能會遇到以下問題:

⑶ 關於FPGA的有關介紹

FPGA 是英文Field Programmable Gate Array 的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC) 領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。它是當今數字系統設計的主要硬體平台,其主要特點就是完全由用戶通過軟體進行配置和編程,從而完成某種特定的功能,且可以反復擦寫。在修改和升級時,不需額外地改變PCB 電路板,只是在計算機上修改和更新程序,使硬體設計工作成為軟體開發工作,縮短了系統設計的周期,提高了實現的靈活性並降低了成本,因此獲得了廣大硬體工程師的青睞。
1984 年,在矽谷工作的Bernie Vonderschmitt、Ross Freeman 和 Jim Barnett 共同構建了一個設想,他們夢想創立一家不同於一般的公司。他們希望創建一家在整個新領域內開發和推出先進技術的公司。並且,他們還希望以這種方式領導它:在這里工作的人們熱愛他們的工作、享受工作的樂趣,並對他們所從事的工作著迷。
創造性地推出了「無晶圓半導體」公司的概念。2009 年2 月18 日,Ross Freeman 因他的這項發明——現場可編程門陣列 (FPGA) 而榮登2009 美國發明家名人堂。Freeman 先生的發明是一塊全部由「開放式門」組成的計算機晶元,其專利號為 4,870,302。採用這種晶元,工程師可以根據需要進行編程,添加新的功能,滿足不斷發展的標准或規范要求,並可在設計的最後階段進行修改。
對PROM、EPROM、E2PROM 熟悉的人都知道這些可編程器件的可編程原理是通過加高壓或紫外線導致三極體或MOS 管內部的載流子密度發生變化,實現所謂的可編程,但是這些器件或只能實現單次可編程或編程狀態難以穩定。FPGA 則不同,它採用了邏輯單元陣列LCA(Logic Cell Array) 這樣一個新概念,內部包括可
配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block) 和內部連線(Interconnect)三個部分。
FPGA 的可編程實際上是改變了CLB 和IOB 的觸發器狀態,這樣,可以實現多次重復的編程由於FPGA 需要被反復燒寫,它實現組合邏輯的基本結構不可能像ASIC 那樣通過固定的與非門來完成,而只能採用一種易於反復配置的結構。查找表可以很好地滿足這一要求,目前主流FPGA 都採用了基於SRAM 工藝的查找表結構,也有一些軍品和宇航級FPGA 採用Flash 或者熔絲與反熔絲工藝的查找表結構。通過燒寫文件改變查找表內容的方法來實現對FPGA 的重復配置。
根據數字電路的基本知識可以知道,對於一個n 輸入的邏輯運算,不管是與或非運算還是異或運算等等,最多隻可能存在2n 種結果。所以如果事先將相應的結果存放於一個存貯單元,就相當於實現了與非門電路的功能。FPGA 的原理也是如此,它通過燒寫文件去配置查找表的內容,從而在相同的電路情況下實現了不同的邏輯功能。
查找表(Look-Up-Table) 簡稱為LUT,LUT 本質上就是一個RAM。目前FPGA 中多使用4 輸入的LUT,所以每一個LUT 可以看成一個有4 位地址線的 的RAM。 當用戶通過原理圖或HDL 語言描述了一個邏輯電路以後,PLD/FPGA 開發軟體會自動計算邏輯電路的所有可能結果,並把真值表( 即結果) 事先寫入RAM,這樣,
每輸入一個信號進行邏輯運算就等於輸入一個地址進行查表,找出地址對應的內容,然後輸出即可。
從表中可以看到,LUT 具有和邏輯電路相同的功能。實際上,LUT 具有更快的執行速度和更大的規模。由於基於LUT 的FPGA 具有很高的集成度,其器件密度從數萬門到數千萬門不等,可以完成極其復雜的時序與邏輯組合邏輯電路功能,所以適用於高速、高密度的高端數字邏輯電路設計領域。其組成部分主要有可編
程輸入/ 輸出單元、基本可編程邏輯單元、內嵌SRAM、豐富的布線資源、底層嵌入功能單元、內嵌專用單元等,主要設計和生產廠家有賽靈思、Altera、Lattice、Actel、Atmel 和QuickLogic 等公司,其中最大的是美國賽靈
思公司,佔有可編程市場50% 以上的市場份額,比其他所有競爭對手市場份額的總和還多。
FPGA 是由存放在片內RAM 中的程序來設置其工作狀態的,因此,工作時需要對片內的RAM 進行編程。用戶可以根據不同的配置模式,採用不同的編程方式。加電時,FPGA 晶元將EPROM 中數據讀入片內編程RAM 中,配置完成後,FPGA 進入工作狀態。掉電後,FPGA 恢復成白片,內部邏輯關系消失,因此,FPGA 能夠反復使用。FPGA 的編程無須專用的FPGA 編程器,只須用通用的EPROM、PROM 編程器即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。
因此,FPGA 的使用非常靈活。如前所述,FPGA 是由存放在片內的RAM 來設置其工作狀態的,因此工作時需要對片內RAM 進行編程。用戶可根據不同的配置模式,採用不同的編程方式。Xilinx FPGA 的常用配置模式有5 類:主串模式、從串模式、elect MAP 模式、Desktop 配置和直接SPI 配置。
目前,FPGA 市場佔有率最高的兩大公司賽靈思公司和Altera 生產的FPGA 都是基於SRAM 工藝的,需要在使用時外接一個片外存儲器以保存程序。上電時,FPGA 將外部存儲器中的數據讀入片內RAM,完成配置後,進入工作狀態;掉電後FPGA 恢復為白片,內部邏輯消失。這樣FPGA 不僅能反復使用,還無需專門的FPGA編程器,只需通用的EPROM、PROM 編程器即可。Actel、QuickLogic 等公司還提供反熔絲技術的FPGA,具有抗輻射、耐高低溫、低功耗和速度快等優點,在軍品和航空航天領域中應用較多,但這種FPGA 不能重復擦寫,開發初期比較麻煩,費用也比較昂貴。Lattice 是ISP 技術的發明者,在小規模PLD 應用上有一定的特色。早期的賽靈思公司產品一般不涉及軍品和宇航級市場,但目前已經有多款產品進入該類領域。
FPGA 晶元結構目前主流的FPGA 仍是基於查找表技術的,已經遠遠超出了先前版本的基本性能,並且整合了常用功能( 如RAM、時鍾管理和DSP) 的硬核(ASIC 型) 模塊。實際上每一個系列的FPGA 都有其相應的內部結構),FPGA 晶元主要由6 部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時鍾管理、嵌入塊式RAM、豐富的布線資源、內嵌的底層功能單元和內嵌專用硬體模塊。

⑷ 基於QuartusⅡ的FPGA\CPLD數字系統設計實例(第2版)

基於FPGA/CPLD設計交通控制器的設計

我們做過這個課題了

可以和我們交流下.........

設計任務
(一)有一條主幹道和一條支幹道的匯合點形成十字交叉路口,主幹道為東西向,支幹道為南北向。為確保車輛安全,迅速地通行,在交叉道口的每個入口處設置了紅,綠,黃3色信號燈。
(二)要求:
(1)主幹道綠燈亮時,支幹道紅燈亮,反之亦然,兩者交替允許通行,主幹道每次放行55s,支幹道每次放行25s。每次由綠燈變為紅燈的過程中,黃燈亮5s作為過渡。
(2)能實現正常的倒計時顯示功能。
(3)能實現總體清零功能:計數器由初始狀態開始計數,對應狀態的指示燈亮。
(4)能實現特殊狀態的功能顯示:進入特殊狀態時,東西、南北路口均顯示紅燈狀態。

Verilog HDL作為一種規范的硬體描述語言,被廣泛應用於電路的設計中。利用Verilog的設計描述可被不同的工具(包括驗證模擬、時序分析、測試分析以及綜合)所支持,可用不同器件來實現。而可編程器件的廣泛應用,為數字系統的設計帶來了極大的靈活性。由於可編程器件可以通過軟體編程對硬體的結構和工作方式進行重構,使得硬體的設計可以如同軟體設計那樣快捷方便。
本文用Verilog HDL設計了一個交通燈控制系統,主幹道交通燈按綠-黃-紅變化,支幹道交通燈按紅-綠-黃變化。設計採用了自頂向下的設計方法,首先根據功能將電路分為div(包括div1和div2)、counter、controller、Fenwei(包括Fenwei1和Fenwei2)、demx模塊,然後針對每個模塊進行開發。利用QuartusII6.0中的模擬工具對每個模塊進行模擬,保證功能正確。在此基礎上,將所有模塊連接起來,形成完整的設計,並用QuartusII6.0中的模擬工具再次模擬。模擬結果表明功能正確,符合設計要求。最後利用QuartusII6.0將程序下載到Altera FPGA晶元EP1C3T144C8中,實際結果表明電路工作正常,滿足了設計要求。

閱讀全文

與fpga編程規范相關的資料

熱點內容
命令與征服叛逆者修改器 瀏覽:244
怎麼用ios玩安卓全民槍戰 瀏覽:666
程序員入行前後的頭發 瀏覽:709
嵌入式圖像演算法 瀏覽:327
伺服器如何訪問伺服器失敗 瀏覽:873
android進度球 瀏覽:999
Linux造成xfs文件夾 瀏覽:455
華為手機怎麼修改wifi加密類型 瀏覽:248
伺服器封口是什麼意思 瀏覽:741
有限元分析是演算法嗎 瀏覽:901
空氣壓縮機性能曲線 瀏覽:20
京城程序員2019 瀏覽:403
android新系統 瀏覽:510
安卓80有什麼bug 瀏覽:678
如何做單機伺服器 瀏覽:943
校訊通查成績怎麼顯示伺服器異常 瀏覽:882
冰箱壓縮機工作壓力是多少 瀏覽:408
程序員20多平米租房 瀏覽:451
電工知識用線的演算法 瀏覽:338
極光推送php伺服器端 瀏覽:5