fpga内部原理圖?赢一個雙肩背包,我來為大家科普一下關于fpga内部原理圖?以下内容希望對你有幫助!
赢一個雙肩背包
有多難?
戳一下試試看!
→_→
長摁識别
【主題】:FPGA内部基本結構
【作者】:LinCoding
【時間】:2016.12.13
總結自《Altera FPGA/CPLD設計 基礎篇》第二版。
FPGA的基本結構:
FPGA的基本組成有:可編程I\O單元、基本可編程邏輯單元、内嵌RAM塊、豐富的布線資源、底層嵌入功能單元和内嵌專用硬核等。
1、可編程I\O單元:
可編程I\O單元通過軟件可适配不同的電氣标準與物理特性。
2、基本可編程邏輯單元:
基本可編程邏輯單元是FPGA可編程邏輯的主體。FPGA一般是基于SRAM工藝。其基本可編程邏輯單元幾乎都是由查找表(LUT,Look Up Table)和寄存器(Register)組成。FPGA内部的LUT一般為4輸入,主要完成純組合邏輯功能。而内部寄存器結構相當靈活,可配置為帶同步、異步複位或置位、時鐘使能的觸發器(FF,Flip Flop),也可配置為鎖存器(Latch)。FPGA一般依賴寄存器完成同步時序邏輯設計。
比較經典的基本可編程邏輯單元的配置是一個寄存器和一個查找表。但不同廠商的寄存器和查找表的内部結構有一定差異,而且寄存器和查找表的組合模式也不同。
(1)Alerta的可編程邏輯單元通常被稱為LE(Logic Element,邏輯單元),由一個Register和一個LUT組成。而Altera的大多數FPGA又将10個LE有機組合起來,構成更大的邏輯功能單元——邏輯陣列模塊(LAB,Logic Array Block),LAB中除了LE還包含LE間的進位鍊、LAB控制信号、局部互連線資源、LUT級聯鍊、寄存器級聯鍊等連線和控制資源。
(2)Xilinx的可編程邏輯單元被稱為Slice,由上下兩部分組成。每部分都由一個Register和一個LUT組成,被稱為LC(Logic Cell,邏輯單元),兩個LC間有一些共用邏輯。可以完成LC之間的配合與級聯。
(3)Lattice的可編程邏輯單元叫PFU(ProgRAMmable Function Unit,可編程功能單元),由8個LUT和8—9個Register組成。
一般使用器件的Register和LUT的數量衡量器件的規模比較準确。
3、内嵌RAM塊:
FPGA的内嵌RAM塊可以靈活配置為單端口RAM(SPRAM,Single Port RAM),雙端口RAM(DPRAM,Double Port RAM),僞雙端口RAM(Pseudo DPRAM),CAM(Content Addressable Memory),FIFO(First Input First Output)等常用存儲器結構。
FPGA中沒有專用的ROM硬件資源,實現ROM的思路是對RAM賦予初值,并保持該初值。
CAM,即内容地址存儲器。CAM這種存儲器在其每個存儲單元都包含了一個内嵌的比較邏輯,寫入CAM的數據會和其内部存儲的每一個數據進行比較,并返回與端口相同的所有内部數據的地址。
總之,RAM是一種根據地址讀、寫數據的存儲單元,而CAM返回的是與端口數據相匹配的内部地址。
FPGA内部實現RAM、ROM、CAM、FIFO等存儲結構是基于内嵌RAM塊的,并根據需求自動生成相應的粘合邏輯(Glue Logic)以完成地址和片選等控制邏輯。
Xilinx常見的RAM塊大小是4Kbit和18Kbit兩種結構,Lattice常用的RAM塊大小是9Kbit,Altera的RAM塊最為靈活,一些高端器件内部同時含有兩種RAM塊結構,分别是M9K RAM(9Kbit),M-144K(144Kbit)。
除了RAM外,Altera、Xilinx和Lattice的FPGA還可以靈活的将LUT配置成RAM、ROM、FIFO等存儲結構,這種技術被稱為分布式RAM(Distributed RAM)。
4、豐富的布線資源
布線資源連通FPGA内部所有單元,連線的長度和工藝決定了信号在連線上的驅動能力和傳輸速度。有以下三種布線資源可供利用。
(1)全局性的專用布線資源:用來完成器件内部的全局時鐘和全局複位\置位的布線。
(2)長線資源:完成器件Bank間的一些高速信号和一些第二全局時鐘信号的布線。
(3)短線資源:完成基本邏輯單元之間的邏輯互聯和布線。
(4)在基本邏輯單元内部還存在各式各樣的布線資源和專用時鐘、複位等控制信号線。
5、底層嵌入功能單元
通用程度較高的嵌入功能模塊,如PLL(Phase Locked Loop),DLL(Delay Locked Loop),DSP和CPU等。
Altera芯片集成的是PLL,Xilinx芯片主要集成的是DLL,Lattice的新型FPGA同時集成了PLL與DLL以适應不同的需求。
Altera芯片的PLL模塊分為增強型PLL(Enhanced PLL)和快速PLL(Fast PLL)。
Xilinx芯片DLL的模塊名稱為CLKDLL,在高端FPGA中CLKDLL的增強型模塊為DCM(Digital Clock Manager,數字時鐘管理模塊)。
6、内嵌專用硬核
内嵌專用硬核的通用性相對較弱,不是所有FPGA器件都包含硬核。
FPGA内部也有兩個陣營:一方面是通用性較強,目标市場範圍很廣,價格适中的FPGA;另一方面是針對性較強,目标市場明确,價格較高的FPGA。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!