fpga倍頻程式 FPGA入門(一)

2021-10-17 09:29:43 字數 1701 閱讀 1345

fpga(field-programmable gate array,現場可程式設計門陣列),正如其名,fpga內部有大量的可程式設計邏輯功能塊,使用verilog hdl(硬體描述語言)實現設計。

玩過微控制器的小夥伴剛接觸fpga可能會有點困惑,其實fpga與微控制器最大的區別就在於:fpga設計的是電路,微控制器設計的是程式。微控制器只有乙個cpu在工作時鐘的驅動下順序的執行程式(取指、解碼、執行),所以工作速度較慢,而fpga設計出來的是整個電路邏輯系統,根本不需要微控制器這麼複雜,所以fpga的工作速度自然很快,在兩者各有各的優勢下,微控制器主要用於進行相關控制,fpga多用於訊號處理相關。

典型的fpga原理和結構如下圖(注:以cyclone iv e fpga晶元為例),主要包括三類基本資源

是實現使用者功能的基本單元,多個邏輯功能塊通常規則地排成乙個陣列結構,分布於整個晶元;

包括各種長度的連線線段和一些可程式設計連線開關,它們將各個可程式設計邏輯塊或輸入/輸出塊連線起來,構成特定功能的電路。使用者可以通過程式設計決定每個單元的功能以及它們的互連關係,從而實現所需的邏輯功能。

完成晶元內部邏輯與外部管腳之間的介面,圍繞在邏輯單元陣列四周;

fpga從簡單的邏輯粘合,發展到現在的可程式設計片上系統,fpga廠家也在基本的fpga架構上加入了一些擴充套件資源,比如時鐘管理單元(pll、dll)、嵌入式儲存器單元和硬體乘法器單元,dsp單元一些高階器件還加入了高速收發器、甚至嵌入式硬核處理器,讓fpga的應用領域更廣闊,cyclone iv e器件加入的擴充套件資源有:

模擬電路,將輸入的週期訊號進行分頻和倍頻,或改變相位,輸出乙個或多個穩定的時鐘訊號;

嵌入式塊ram,容量大小9kbit,這些儲存器可以被配置成單埠、簡單雙埠、真雙埠ram、fifo緩衝器、rom

快速進行運算

fpga中除了三類基本資源和一些擴充套件資源外,由圖中可以看到,fpga中資源分布也是很精緻的:

1、邏輯陣列和m9k儲存器交替分布,這樣做的優點是縮短資料的傳輸路徑,以獲得更優的時序效能;

2、ioes和pll單元分布在器件的四周,資料流一般從左側io流入,經過處理、運算、儲存,通過右側io流出,控制訊號通過上下io輸入輸出;有時候系統需要高質量時鐘(比如軟核所需工作時鐘)通常由pll單元產生,而這些分布在四周的pll可以最短時鐘源產生工作時鐘,另外,pll屬於模擬電路,放在周圍更利於和生產;

下面具體了解下兩種主流fpga的資源情況:

altera cyclone iv e系列fpga常見硬體資源詳情列表:

xilinx 7 系列fpga 硬體資源詳情:

最後,放上兩張開發板,一塊是小梅哥基於cyclone iv ep4ce10的ac620,一塊是digilent基於xilinx artix7的basys3,兩塊都很精緻有木有~

fpga入門學習之一 fpga簡介

fpga簡介 說到底,fpga就是乙個能夠按照自己的意願去實現一些功能模組的這麼一種晶元。那問題就來啦,dsp也好 微控制器也好都能夠實現你說的這些功能,那我為什麼要選擇fpga呢?筆者認為選擇fpga的原因就在於,我如果想實現乙個20個串列埠收發資料的模組怎麼辦,我如果想實現乙個幾百兆時鐘的設計怎...

FPGA學習入門

首先,fpga開發工程師是乙個相對高薪的工作,但是,很多同學在剛入門時都會有一種無從下手的感覺,尤其是將fpga作為第乙個要掌握的開發板時,更是感覺苦惱 本人也是如此,以下就本人學習fpga開發的一些情況做一些介紹,希望後來者能夠少走彎路。第一次接觸fpga是在本科畢設中,那時候選畢設課題得用搶的,...

FPGA小白入門

本人大二,剛剛接觸到fpga,打算寒假系統地學一學。目前手上有兩塊晶元,分別是賽靈思的zynq和altera的cyclone iv 由於手頭上altera的學習資料比較全,因此寒假期間打算從altera的板子入手,系統學習fpga開發流程後再著手學習zynq。用到的軟體有quartus ii viv...