1. 程式人生 > 其它 >Xilinx與Altera的FPGA區別

Xilinx與Altera的FPGA區別

  最近被各大公司機試\筆試題虐的死去活來,其中一道就是主考的Xilinx與Altera的FPGA架構區別,本人小菜鳥基本只用過A家的FPGA對於X家的知之甚少,這裡先簡單總價一下,說的不對大家勿噴:
兩家FPGA的區別本人認為有兩方面吧:1.基本邏輯資源;2.內部基本架構。(也可以看成一方面吧)

  從好用來說,肯定是Xilinx的好用,不過Altera的便宜
  他們的特點,Xilinx的短線資源非常豐富,這樣在實現的時候,佈線的成功率很高,尤其是邏輯做得比較滿的時候。
  Altera的FPGA的短線資源經常不夠用,經常要佔用LE來充當佈線資源(這也是為什麼Altera的FPGA可以便宜的原因,資源少些當然便宜,但是如果你是高手,也能把他的效能發揮得很好。
  另外就是關於塊RAM,Xilinx的雙口RAM是真的,Altera的沒有雙口RAM,如果你要實現真正的雙口RAM,只能用兩塊RAM來背靠背地實現,這樣你的RAM資源就少了一半,如果你的應用對片內雙口RAM的需求很重要,用Altera的就划不來。

1.基本邏輯資源

  打字太累,大家去下載看看吧。。。

http://download.csdn.net/download/pieces_thinking/9935350

  雖然使用的舉例比較老的晶片,但是也能說明問題,省去打字的時間,多去思考,豈不美滋滋。

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產品在功能上各有特點。

總結一下:

X家獨有 可配置邏輯塊(CLB)/Slice

A家獨有 邏輯陣列模組(LAB)