目錄
三、XILINX FPGA 中 LUT 中移位寄存器的複用情況
一、移位寄存器
- SLICEM 函數發生器也可以配置爲32位移位寄存器,而無需使用 slice 中可用的觸發器。 以這種方式使用,每個LUT可以將串行數據延遲1到32個時鐘週期。
- 移入D(DI1 LUT引腳)和移出Q31(MC31 LUT引腳)線路將LUT級聯,以形成更大的移位寄存器。 因此,SLICEM中的四個LUT被級聯以產生高達128個時鐘週期的延遲。也可以在多個SLICEM上組合移位寄存器。
- 寄存器,LUT B / C / D的MC31輸出也不可用。 由此產生的可編程延遲可用於平衡數據流水線的時序。
下圖是SRL32位移位寄存器的框圖:
下圖是佔用一個32位函數發生器的示例移位寄存器配置
二、 移位寄存器的功能與應用
移位寄存器的功能
- 1)寫操作
- 2)與時鐘輸入(CLK)和可選的時鐘使能(CE)同步
- 3)修復對Q31的讀取訪問
- 4)動態讀取訪問
- 5)通過5位地址總線A [4:0]執行
LUT地址的LSB未使用,軟件自動將其綁定爲邏輯高電平。
- 6)通過改變地址可以異步讀取32位中的任何一位(在O6 LUT輸出上,在原語上稱爲Q)
- 7)此功能對於創建較小的移位寄存器(少於32位)很有用。例如,當構建13位移位寄存器時,將地址設置爲第13位。
- 8)存儲單元或觸發器可用於實現同步讀取。
觸發器的時鐘輸出決定了總延遲並改善了性能。但是,增加了一個時鐘延遲週期。
移位寄存器的應用:
- 1)延遲或延遲補償
- 2)同步FIFO和內容可尋址存儲器(CAM)
三、XILINX FPGA 中 LUT 中移位寄存器的複用情況
1、一個 LUT 可以用於產生2個16bit移位寄存器,地址是複用的。
用兩個SRL16組成一個32位的移位寄存器
下圖是一個SRL16E 帶使能信號的移位寄存器:
移位寄存器查找表,它的輸入這是一個移位寄存器查找表,它的輸入 A3,A2,A1和 A0選擇移位輸出的長度。移位寄存器可以是固定的、靜態的長度,移位寄存器的長度可以從 1位到 16位不等,由下面公式決定:
長度 =(8 x A3)+(4 x A2)+(2 x A1)+A0+1
如果 A3,A2,A1,A0都是 0(0000),移位寄存器的長度就是 1 bit長;如果它們 都是 1(1111),移位寄存器的長度就是 16 bit長。
下表是SRL16E的真值表:
2、利用 SRL32 組成 64/96/128 bit的移位寄存器,利用地址 A5 和 F7AMUX 切換 SRL32
參考文檔:
https://blog.csdn.net/vivid117/article/details/102703875