一、移位寄存器
SLICEM函數(shù)發(fā)生器也可以配置為32位移位寄存器,而無(wú)需使用slice中可用的觸發(fā)器。以這種方式使用,每個(gè)LUT可以將串行數(shù)據(jù)延遲1到32個(gè)時(shí)鐘周期。
移入D(DI1 LUT引腳)和移出Q31(MC31 LUT引腳)線路將LUT級(jí)聯(lián),以形成更大的移位寄存器。因此,SLICEM中的四個(gè)LUT被級(jí)聯(lián)以產(chǎn)生高達(dá)128個(gè)時(shí)鐘周期的延遲。也可以在多個(gè)SLICEM上組合移位寄存器。
寄存器,LUT B / C / D的MC31輸出也不可用。由此產(chǎn)生的可編程延遲可用于平衡數(shù)據(jù)流水線的時(shí)序。
下圖是SRL32位移位寄存器的框圖:
下圖是占用一個(gè)32位函數(shù)發(fā)生器的示例移位寄存器配置
二、 移位寄存器的功能與應(yīng)用
移位寄存器的功能
1)寫操作
2)與時(shí)鐘輸入(CLK)和可選的時(shí)鐘使能(CE)同步
3)修復(fù)對(duì)Q31的讀取訪問(wèn)
4)動(dòng)態(tài)讀取訪問(wèn)
5)通過(guò)5位地址總線A [4:0]執(zhí)行
LUT地址的LSB未使用,軟件自動(dòng)將其綁定為邏輯高電平。
6)通過(guò)改變地址可以異步讀取32位中的任何一位(在O6 LUT輸出上,在原語(yǔ)上稱為Q)
7)此功能對(duì)于創(chuàng)建較小的移位寄存器(少于32位)很有用。
例如,當(dāng)構(gòu)建13位移位寄存器時(shí),將地址設(shè)置為第13位。
8)存儲(chǔ)單元或觸發(fā)器可用于實(shí)現(xiàn)同步讀取。
觸發(fā)器的時(shí)鐘輸出決定了總延遲并改善了性能。但是,增加了一個(gè)時(shí)鐘延遲周期。
移位寄存器的應(yīng)用:
1)延遲或延遲補(bǔ)償
2)同步FIFO和內(nèi)容可尋址存儲(chǔ)器(CAM)
三、XILINX FPGA 中LUT 中移位寄存器的復(fù)用情況
一個(gè)LUT可以用于產(chǎn)生2個(gè)16bit移位寄存器,地址是復(fù)用的。
用兩個(gè)SRL16組成一個(gè)32位的移位寄存器
下圖是一個(gè)SRL 16E 帶使能信號(hào)的移位寄存器:
移位寄存器查找表,它的輸入這是一個(gè)移位寄存器查找表,它的輸入 A3,A2,A1和 A0選擇移位輸出的長(zhǎng)度。
移位寄存器可以是固定的、靜態(tài)的長(zhǎng)度,移位寄存器的長(zhǎng)度可以從 1位到 16位不等,由下面公式?jīng)Q定:
長(zhǎng)度 =(8 x A3)+(4 x A2)+(2 x A1)+A0+1
如果 A3,A2,A1,A0都是 0(0000),移位寄存器的長(zhǎng)度就是 ),移位寄存器的長(zhǎng)度就是 1位長(zhǎng);如果它們 都是 1(1111),移位寄存器的長(zhǎng)度就是 ),移位寄存器的長(zhǎng)度就是 ),移位寄存器的長(zhǎng)度就是 16位長(zhǎng)。
下表是SRL16E的真值表:
2.利用SRL32 組成 64/96/128 bit的移位寄存器,利用地址A5和F7AMUX切換SRL32
四、移位寄存器數(shù)據(jù)流
下圖舉例說(shuō)明在7系列FPGA Slice(一個(gè)配置為SRL的LUT)中實(shí)現(xiàn)的移位寄存器的時(shí)序特性:
-
FPGA
+關(guān)注
關(guān)注
1630文章
21777瀏覽量
604725 -
移位寄存器
+關(guān)注
關(guān)注
3文章
259瀏覽量
22307 -
函數(shù)發(fā)生器
+關(guān)注
關(guān)注
0文章
149瀏覽量
19136
原文標(biāo)題:XILINX FPGA CLB單元 之 移位寄存器
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論