1. 程式人生 > >Spartan-6系列內部模組介紹之可配置邏輯模組(CLB)

Spartan-6系列內部模組介紹之可配置邏輯模組(CLB)

可配置邏輯模組(CLB)
Spartan-6每個CLB模組裡包含兩個SLICE。CLB通過交換矩陣和外部通用邏輯陣列相連,如圖2-1和圖2-2所示。底部的SLICE標號為SLICE0,頂部的SLICE標號為SLICE1。兩個SLICE沒有直接連線。

Spartan-6每個CLB模組裡包含兩個SLICE

Spartan-6每個CLB模組裡包含兩個SLICE

每個SLICE包含4個LUT和8個儲存單元。這些基本單元能提供邏輯和ROM功能。有些SLICE,稱為SLICEL,除了具有邏輯和ROM功能之外,還包含了算術進位鏈和多路複用器。SLICEM包含進位鏈、多路複用器、查詢表LUT和可變長度的移位暫存器。
在Spartan-6中,大約50%的SLICE為SLICEX,它不具有儲存功能,也沒有進位鏈;25%為SLICEL,它也不具有儲存功能,但包含進位鏈;剩下的25%為SLICEM,它具有儲存/移位暫存器功能,也包含進位鏈。注意XC6SLX4不含SLICEL。

所有CLB的功能是相同的,能夠完成表2-2中的配置。
所有CLB的功能是相同的

每個CLB SLICE包含邏輯函式發生器、儲存元件、多功能多路複用器、位邏輯和算術邏輯單元(MULT_AND)等資源,下面分別介紹。

 一、查詢表(LUT)Spartan-6 FPGA的函式發生器由6輸入查詢表實現。SLICE裡的LUT由6個獨立輸入(A1~A6)和兩個獨立輸出(O5和O6)構成,可以實現任意6輸入布林函式。同時每個LUT在相同的輸入情況下,也可以實現兩個任意5輸入布林函式。如果是6輸入函式,僅有O6輸出。O5和O6分別對應兩個5輸入函式發生器的輸出,這種情況下,A6由軟體設定為高電平。LUT的延時與所實現的函式無關,不管是一個6輸入還是兩個5輸入函式發生器,LUT延時固定。除了基本的LUT,SLICE還包含3個多路複用器(F7AMUX、F7BMUX和F8MUX),可以將4個函式發生器組合在一起,實現7輸入或者8輸入的任何函式。大於8輸入的函式,通過多個SLICE實現。

(1) 組合邏輯。所有LUT可以實現任意6輸入布林函式,它的傳播延時與所實現的函式無關。

(2) ROM。所有的LUT可以實現一個64×1位的ROM。有3種配置方式:ROM64×1、ROM128×1和ROM256×1。SLICEM和SLICEL中的ROM可以級連成更寬或者更深的ROM。

(3) 分散式RAM儲存器(只能在SLICEM中使用)。SLICEM中的LUT可以配置成一種稱為分散式RAM的同步儲存器。SLICEM中的多個LUT可以靈活地組合起來,儲存較多資料。在SLICEM內,可以將RAM元件配置成多種形式。

(4) 移位暫存器(只能在SLICEM中使用)。SLICEM的LUT還可配置成32位移位暫存器,無需使用SLICE中提供的觸發器。以這種方法使用的LUT可以將序列資料延遲1~32個時鐘週期。移位暫存器的移位輸入shiftin D和移位輸出shiftout Q31用來將LUT級聯成更大長度的移位暫存器,一個SLICEM裡面的4個LUT可以級聯,產生128個時鐘週期的延時。CLB之間也可以連線組成移位暫存器,用於平衡資料流水線的時序。需要延時或延遲補償的應用可使用這些移位暫存器開發高效、低成本的設計。在同步FIFO和內容可定址儲存器(CAM)設計中,移位暫存器也很有用。


原文地址:http://xilinx.eetrend.com/blog/1929