驚人的差異:FPGA設計的是電路,單片機設計的是程序

2022-05-16     大方老師單片機

原標題:驚人的差異:FPGA設計的是電路,單片機設計的是程序

驚人的差異:FPGA設計的是電路,單片機設計的是程序

///插播一條:我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以~點我頭像黑色字體加我地球呺也能領取哦。最近比較閒,帶做畢設,帶學生參加省級或以上比///

FPGAField-Programmable Gate Array,現場可編程門陣列),正如其名FPGA內部有大量的可編程邏輯功能塊,使verilog HDL(硬體描述語言)實現設計。

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

  典型FPGA原理和結構如下圖(註:Cyclone IV E FPGA晶片為例),主要包括三類基本資源

·可編程邏輯功能塊Altera-LE(Logic Element) / Xlinx-Slice

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

·可編程內部互連資源

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

·可編程輸/(I/O)

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

FPGA從簡單的邏輯粘合,發展到現在的可編程片上系統FPGA廠家也在基本FPGA架構上加入了一些擴展資源,比如時鐘管理單元PLLDLL)、嵌入式存儲器單元和硬體乘法器單元DSP單元一些高端器件還加入了高速收發器、甚至嵌入式硬核處理器,FPGA的應用領域更廣闊Cyclone IV E器件加入的擴展資源有:

·PLL鎖相環

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

·M9K存儲器

 嵌入式RAM,容量大9Kbit,這些存儲器可以被配置成單埠、簡單雙埠、真雙端RAMFIFO緩衝器ROM

·18*18硬體乘法器

 快速進行運算

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

1、邏輯陣列M9K存儲器交替分布,這樣做的優點是縮短數據的傳輸路徑,以獲得更優的時序性能;

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

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

Altera Cyclone IV EFPGA常見硬體資源詳情列表:

Xilinx 7FPGA 硬體資源詳情:

文章來源: https://twgreatdaily.com/zh-sg/078bd06a96ec56bb6b9f1494d4f26699.html