大家好,又到了每日學習的時間了,最近有很多人再問我學習FPGA到底是選擇Altera的還是xilinx的呢,于是我就苦口婆心的說了一大堆,中心思想大概就是,學習FPGA一定要學習FPGA的設計思想以及設計原理,不要糾結于單一的實驗平臺或者操作軟件,因為你想在這個行業越走越高的話,廣度和深度都是要有所了解的,初期學習的時候尤其注重動手,選擇一款操作平臺以及操作軟件是為了讓你更好的去動手做,而不是讓你在這款軟件或者實驗平臺去做文章,因為不懂原理的話,換個環境你同樣是什么都不明白。尤其是現在的科技公司產品更新升級換代還比較快,要學會去掌握最核心的知識點才是王道。下面,就我自己接觸,咱們就來簡單聊聊Altera和Xilinx的FPGA 區別,歡迎大家一起交流,三人行,必有我師,共同學習,共同進步。
對于Altera和Xilinx的FPGA,本人認為可以分為兩個方面去比較一下,基本邏輯資源和內部基本架構。
從目前企業中做開發使用的廣泛性來說,Xilinx占得比重確實是大一些,但是從其他方面來說,比如價格,相對而言Altera的便宜些。對于兩者的特點,Xilinx的短線資源非常豐富,這樣在實現的時候,布線的成功率很高,尤其是邏輯做得比較滿的時候。而Altera的FPGA的短線資源經常不夠用,經常要占用LE來充當布線資源,這也是為什么Altera的FPGA可以便宜的原因,資源少些當然便宜,但是如果你是高手,也能把他的性能發揮得很好。 另外就是關于塊RAM,Xilinx的雙口RAM是真的,Altera的沒有雙口RAM,如果你要實現真正的雙口RAM,只能用兩塊RAM來背靠背地實現,這樣你的RAM資源就少了一半,如果你的應用對片內雙口RAM的需求很重要,用Altera的就劃不來。
下面咱們就從我剛才說的基本邏輯資源和內部基本架構這兩個方面來聊聊。
1.基本邏輯資源
基本的邏輯資源我建議大家可以去看看兩家的芯片做個比較,今天時間有限就不給各位詳談了,通過比較你會發現我上面說的還是有點道理的。
2.內部基本架構
從1985年Xilinx公司推出第一片FPGA到現在,FPGA的使用已經有近30年的歷史了。目前主流市場的FPGA主要還是Xilinx和Altera兩大系列,下面分別來介紹下它們各自的基本結構組成。
Xilinx的FPGA主要由以下單元結構組成:可配置邏輯塊(CLB)、時鐘管理模塊(CMT)、存儲器(RAM/FIFO)、數字信號處理模塊(DSP)和一些專用模塊。以Virtex-5為例,簡單介紹下各模塊的功能。
1.CLB是FPGA中組成設計邏輯的主要資源,也是電路設計中工作的主要對象,下面對CLB的內外結構做一個簡單介紹。
FPGA的邏輯就是由陣列排布的CLB實現的,每個CLB單元都和一個開關陣列相連,并受其控制以實現邏輯,如下圖所示
每一個CLB中包含有兩個基本結構(Slice),每個基本結構中包含4個查找表(LUT)、4個存儲單元、廣函數多路器(Wide_function Multiplexer)和進位邏輯,這種基本結構(Slice)稱為SLICEL。另外,有些基本結構(Slice)中還包含使用RAM存儲數據的功能和使用32位寄存器移位的功能,支持這些功能的基本結構稱為SLICEM。
2、時鐘管理模塊(CMT)
時鐘管理模塊(CMT)用于產生高質量的時鐘,以Virtex-5系列器件為例,CMT包括兩個 數字時鐘管理單元(DCM)和一個鎖相環電路(PLL)。
3、存儲器(RAM/FIFO)
現代Xilinx的FPGA都有內部的存儲器塊,以Virtex-5為例,內部包含若干塊RAM,每一塊36KB,并且RAM的大小可以靈活配置。Virtex-5內的RAM是同步的雙口RAM,并且可以配置為多速率的FIFO存儲器,極大地提高了設計的靈活性。
4、數字信號處理模塊(DSP)
大多數的FPGA產品都提供了DSP。
5、其他專用模塊
除了上述模塊外,在現代的Xilinx的FPGA產品中還有一些其他專用模塊,例如:Rocket IO千兆位級收發器、PCI Express端點模塊和三態以太網MAC模塊等。
Altera公司的產品一般包括如下單元結構:邏輯陣列模塊(LAB)、TriMatrix存儲器模塊(RAM)、數字信號處理模塊(DSP)和鎖相環模塊(PLL)。下面以StartixII 器件為例說明Altera 公司產品的結構。
1、邏輯陣列模塊(LAB)
邏輯陣列模塊(LAB)的主要結構是8個適應邏輯模塊(ALM),還包括一些進位鏈和控制邏輯等結構。適應邏輯模塊(ALM)是StratixII器件的基本模塊,其結構如下圖。
每個ALM中都包含了兩個可編程的寄存器、兩個專用全加器、一個進位鏈、一個共享算術鏈和一個寄存器鏈。需要注意的是,在上圖所示的組合邏輯塊(Combinational Logic)中包含了兩個4輸入4 查找表(LUT)和4個三輸入的查找表。
2、 存儲器模塊(RAM)
StratixII器件具有TriMatrix存儲結構,它包括3種大小的嵌入式RAM塊。TriMatrix存儲器包括512位的M512塊、4Kb的M4K塊和512Kb的M-RAM塊,每個都可以配置支持各種特性。
3、 數字信號處理模塊(DSP)
DSP塊結構是為實現多種 最大性能和最小邏輯資源利用率的DSP功能而優化的。
4、 鎖相環(PLL)
StratixII器件具有多達12個鎖相環(PLL)和48個獨立系統時鐘,可以作為中央時鐘管理器滿足系統時序需求。
以上可以看出,Xilinx與Altera的FPGA的結構最大不同還是其邏輯單元部分:Xilinx的邏輯單元基本組成為可配置邏輯模塊(CLB),而Altera的為LAB,但更深一層講,CLB和LAB里面也都是由LUT、觸發器等構成的。兩個公司的FPGA組成各有特點,這也決定了它們的FPGA產品在功能上各有特點。
總的來說,Xilinx家獨有 可配置邏輯塊(CLB)/Slice,Altera家獨有 邏輯陣列模塊(LAB),可以這么理解。
今天就聊到這里,各位加油!
-
FPGA
+關注
關注
1630文章
21794瀏覽量
605130 -
Xilinx
+關注
關注
71文章
2170瀏覽量
121906 -
Altera
+關注
關注
37文章
787瀏覽量
154061
發布評論請先 登錄
相關推薦
評論