LUT查找表實現移位寄存器原理精講

在文章《LUT是如何實現千萬種邏輯結構的》裏面我們講過了LUT的原理,實現邏輯函數時,相當於一個ROM將結果預存,然後把通過輸入信號當作地址對預存的結果進行尋址。因此同樣藉助LUT加幾個端口,就可以實現RAM。SLICEM裏面的LUT就可以用來實現RAM資源。在文章《LUT查找表實現各種RAM及ROM原理精講》裏面講解了LUT是如何實現各種RAM及RAM的原理及框圖。本文來詳細講解LUT查找表實現移位寄存器原理。

(1)移位寄存器的概念

在數字電路中,移位寄存器是一種在若干相同時間脈衝下工作的以觸發器爲基礎的器件,數據以並行或串行的方式輸入到該器件中,然後每個時間脈衝依次向左或右移動一個比特,在輸出端進行輸出。這種移位寄存器是一維的,事實上還有多維的移位寄存器,即輸入、輸出的數據本身就是一些列位。實現這種多維移位寄存器的方法可以是將幾個具有相同位數的移位寄存器並聯起來。

移位寄存器中的數據可以在移位脈衝作用下依次逐位右移或左移,數據既可以並行輸入、並行輸出,也可以串行輸入、串行輸出,還可以並行輸入、串行輸出,串行輸入、並行輸出,十分靈活,用途也很廣。

(2)LUT實現32位移位寄存器原理

SLICEM中的LUT可以配置爲32位移位寄存器,而無需使用slice中可用的觸發器。以這種方式使用,每個LUT可以將串行數據延時1到32個時鐘週期(A[4:0]爲多少就是延時多少個時鐘週期輸出)。移入D(DI 1 LUT引腳)和移除Q31(MC31 LUT引腳)線路將LUT級聯,以形成更大的移位寄存器。因此,SliceM中的四個LUT被級聯可以產生高達128個時鐘週期的延時。32bit移位寄存器 LUT實現框圖、原語如下圖:

(3)LUT實現128位移位寄存器原理

通過一個SliceM的四個LUT級聯後可以實現128bit的移位寄存器,使用7輸入地址進行查找,使用F7AMUX、F7BMUX、F8MUX7複用器進行4個32位級聯到128位。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章