Xilinx的V7系列FPGA中LC、CLB和Slice介紹(如何計算LC)
在Xilinx的FPGA的資源列表中常常有LC(logic cells)一項,LC代表什麼呢,下面是Xilinx官方回答:
A "logic cell" is a marketing thing. It is an attempt to create a "unified" metric that can be used across different device families (and even different vendors) to compare sizes of devices even when the underlying architecture is different.
The "logic cell" is supposed to represent a 4-input LUT with no other functionality. In older Xilinx technologies (with 4-input LUTs) they used to use 1.25 as the multiplier to get from LUTs to Logic Cells, since the Xilinx slice also had the carry chain and wide MUX, which made it possible to do more than a simple 4-input LUT would be able to do.
In later technologies, which use the 6-input LUT, they use the multiplier 1.6.
Also remember there are two flip-flops per LUT...
So, the device has 2,443,200 flip-flops, which means 1,221,600 6-input LUTs. Multiply this by 1.6 and you get 1,945,560, which is the published "Logic Cells" number.
大概意思就是說“logic cells” 是 Xilinx 創造提出來的一個市場說法,可以用來衡量不同內部結構甚至不同廠商的FPGA晶片的資源情況。
"logic cells"代表的是一個沒有其他任何功能的4輸入LUT,在老一些的Xilinx的FPGA中,他們使用LUT的數目乘以1.2來計算LC的數目,因為一個LUT中還有一個進位鏈和MUX,這樣可以使一個LC比淡出的4輸入LUT實現更多功能。
在較新的FPGA中,Xilinx採用了6輸入LUT,這時他們採用係數1.6。
另外請記住一個LUT對應這兩個FF,也就是一個查詢表對應兩個暫存器。
下面介紹slice:
Xilinx的官方文件在介紹FPGA的邏輯資源時通常是按照可配置邏輯塊CLB(Configurable Logic Block)來介紹,把CLB作為FPGA裡的最小邏輯單元。但是一個CLB是由2個slice構成,所以大家也常常把slice作為最小的邏輯單元。下面我們來介紹slice的組成:
V7系列FPGA的slice包含4個部分:
(1)LUT查詢表,1個slice裡包含4個6輸入的查詢表。
(2)儲存單元,也就是常說的觸發器,1個slice裡包含8個觸發器。每4個觸發器為一組,可配置成D觸發器或鎖存器。
(3)多路複用器,也就是1位寬的資料選擇器,數量非常多,足夠使用。
(4)進位邏輯,它與本列的上下slice的進位邏輯相連,實現資料運算時的進位操作。
因此,許許多多的slice相結合,再加上全域性時鐘就能實現複雜的數字功能。另外,FPGA裡的slice有2種,一種被稱為sliceL,另一種被稱為sliceM,有的CLB由2個sliceL構成,有的則是由1個sliceL和一個sliceM構成。SliceM除了基本功能外,可以實現RAM和移位暫存器的功能,這兩種功能很有用,通過工具軟體可以自動實現,不用咱們操心。
舉報/反饋