天天看點

FPGA資源介紹——可配置邏輯塊CLB(三)輸入查找表(LUT6)資料選擇器(MUX)進位鍊(Carry Chain)觸發器(Flip-Flop)

FPGA資源介紹——可配置邏輯塊CLB(三)

  • 輸入查找表(LUT6)
  • 資料選擇器(MUX)
  • 進位鍊(Carry Chain)
  • 觸發器(Flip-Flop)

CLB(Configurable Logic Block)由兩個Slice組成,由于Slice有SliceL(Logic)和SliceM(Memory)之分,是以CLB可分為CLBLL和CLBLM兩類。

FPGA資源介紹——可配置邏輯塊CLB(三)輸入查找表(LUT6)資料選擇器(MUX)進位鍊(Carry Chain)觸發器(Flip-Flop)

SliceL和SliceM内部都包含4個6輸入查找表(LUT6)、3個資料選擇器(MUX)、1個進位鍊(Carry Chain)和8個觸發器(Flip-Flop)。

FPGA資源介紹——可配置邏輯塊CLB(三)輸入查找表(LUT6)資料選擇器(MUX)進位鍊(Carry Chain)觸發器(Flip-Flop)

SliceL的内部示意圖

FPGA資源介紹——可配置邏輯塊CLB(三)輸入查找表(LUT6)資料選擇器(MUX)進位鍊(Carry Chain)觸發器(Flip-Flop)

輸入查找表(LUT6)

SLICEL和SLICEM的結構組成一樣,但兩者更細化的結構上略有不同,差別在于LUT6上(如下圖所示),進而導緻LUT6的功能有所不同。

FPGA資源介紹——可配置邏輯塊CLB(三)輸入查找表(LUT6)資料選擇器(MUX)進位鍊(Carry Chain)觸發器(Flip-Flop)

資料選擇器(MUX)

SLICE中的三個MUX(Multiplexer:F7AMUX,F7BMUX和F8MUX)可以和LUT6聯合共同實作更大的MUX。

SLICE中的F7MUX(F7AMUX和F7BMUX)的輸入資料來自于相鄰的兩個LUT6的O6端口。F8MUX的輸入資料來自F7AMUX和F7BMUX的輸出端口。

事實上,一個LUT6可實作4選1的MUX。一個F7MUX和相鄰的兩個LUT6可實作一個8選1的MUX。是以,一個SLICE可實作2個8選1的MUX。4個LUT6、F7AMUX、F7BMUX和F8MUX可實作一個16選1的MUX。是以,一個SLICE可實作一個16選1的MUX。

進位鍊(Carry Chain)

進位鍊的内部包含4個MUX和4個2輸入的異或門,進位鍊用于實作加法和減法運作。異或運算是加法運算中必不可少的運算。

FPGA資源介紹——可配置邏輯塊CLB(三)輸入查找表(LUT6)資料選擇器(MUX)進位鍊(Carry Chain)觸發器(Flip-Flop)

Xilinx 7系中進位鍊的結構

觸發器(Flip-Flop)

每個SLICE中有8個觸發器。這個8個觸發器可分為兩大類:4個隻能配置為邊沿敏感的D觸發器(Flip-Flop)和4個即可配置為邊沿敏感的D觸發器又可配置為電平敏感的鎖存器(Flop&Latch)。當後者被用作鎖存器的時候,前者将無法使用。

https://www.cnblogs.com/rouwawa/p/10031833.html#1-%E6%80%BB%E8%A7%88.

https://zhuanlan.zhihu.com/c_1249458908361302016.