《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > FPGA教學——移位寄存器(左移、右移、雙向)的Verilog實現

FPGA教學——移位寄存器(左移、右移、雙向)的Verilog實現

2022-09-06
來源:FPGA設計論壇
關鍵詞: 移位寄存器 Verilog

移位寄存器(左移、右移、雙向)的Verilog實現

移位寄存器的功能和電路形式較多,按移位方向分有左移、右移、和雙向移位寄存器;按接收數據方式分為串行輸入和并行輸入;按輸出方向分為串行輸出和并行輸出。

如果將若干個觸發器級聯成如下圖所示電路,則構成基本的移位寄存器。圖中是一個4位移位寄存器,串行二進制數據從輸入端Dsi輸入,左邊觸發器的輸出作為右鄰觸發器的數據輸入。若將串行數碼D3D2D1D0從高位(D3)至低位(D0)按時鐘脈沖間隔依次送到Dsi端,經過第一個時鐘脈沖后,Q0=D3。由于跟隨D3后面的是D2,因此經過第二個時鐘脈沖后,觸發器FF0的狀態移入觸發器FF1而FF0轉變為新的狀態,即Q1=D3,Q0=D2。以此類推,輸入數碼依次由左側觸發器移到右側觸發器。經過4個時鐘脈沖后,4個觸發器的輸出狀態Q3Q2Q1Q0與輸入數碼D3D2D1D0相對應。這樣,就將串行輸人數據轉換為并行輸出數據Dpo。

微信圖片_20220906173212.png

一般來說,N位移位寄存器要由N個觸發器構成,需要N·Tcp來完成串行到并行的數據轉換,同樣也需要N?Tcp來實現并行到串行的數據輸出。這里,Tcp為時鐘周期。從上述操作可以看出,移位寄存器只能用脈沖邊沿敏感的觸發器,而不能用電平敏感的鎖存器來構成,因為在時鐘脈沖高電平期間,鎖存器輸出跟隨輸入變化的特性將使移位操作失去控制。顯然,移位寄存器屬于同步時序電路。

1.基本移位

首先說明“由于國家標準規定,邏輯圖中最低有效位(LSB)到最高有效位(MSB)的電路排列順序應從上到下,從左到右。因此定義移位寄存器中的數據從低位觸發器移向高位為右移,反之則為左移。這一點與通常計算機程序中規定相反,后者從自然二進制數的排列考慮,將數據移向高位定義為左移,反之為右移。”此內容摘自《電子技術基礎-數字部分》康華光主編教材。


module shifter( din, clk, rst, dout,done);

input din, clk, rst;

output [7:0] dout;

output reg done; //完成移位

reg [7:0] dout;

reg [3:0] cnt;

always @(posedge clk)

begin

if(rst) //清零

dout <= 8’b0;

else if(cnt<=4’d7)

begin

dout<=dout>>1; //左移

dout[7]<=din;

/*dout <= dout<<1;

dout[0] <= din; */ //右移

end

else

dout<=dout;

end


always@(posedge clk)

begin

if(rst)

  begin

cnt<=4'd0;

done<=1'b0;

end

else if(cnt==4'd7)

begin

cnt<=4'd0;

done<=1'b1;

end

else begin

cnt<=cnt+1'b1;

done<=1'b0;

end

end


endmodule


仿真結果圖

微信圖片_20220906173731.png

2.雙向移位

雙向移位實現數據保持、右移、左移、并行置數、并行輸出。

module two_way(

input clk,

input rst,

input s0,s1, //選擇輸入端口

input din1,din2, //串行數據輸入

input [3:0] d, //并行數據輸入

output reg [3:0] q //輸出端口

);


always@(posedge clk or negedge rst)

begin

if(!rst)

q<=4'd0;

else begin

case({s1,s0})

2'b00:  q<=q;  //輸出保持不變

2'b01:  q<={q[2:0],din1};  //右移

2'b10:  q<={din2,q[3:1]};  //左移

2'b11:  q<=d;         //并行置數

endcase

end

end


endmodule

微信圖片_20220906174004.png

仿真結果圖

總結一般掌握左移、右移方法即可,并根據實際需求加以應用,串并轉換也適用。


 更多信息可以來這里獲取==>>電子技術應用-AET<<

微信圖片_20210517164139.jpg


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 精品视频免费在线| 久久狠狠高潮亚洲精品| 精品无码黑人又粗又大又长| 国产成人精品免费久久久久| 亚洲日韩中文字幕天堂不卡| 精品久久久久香蕉网| 国产午夜无码福利在线看网站 | 欧美视频在线网站| 免费观看无遮挡www的视频| 色综合久久天天综合| 国产成人无码av在线播放不卡| (无码视频)在线观看| 国语对白做受xxxx| jizz国产在线播放| 思思91精品国产综合在线| 久久久久久久女国产乱让韩| 日韩欧美aⅴ综合网站发布| 亚洲喷奶水中文字幕电影| 欧美黑人换爱交换乱理伦片| 免费国产成人α片| 精品国产线拍大陆久久尤物| 国产AV一区二区精品凹凸| 超清中文乱码精品字幕在线观看| 国产日韩欧美久久久| 两个人看的www在线视频| 国产美女久久久| 99久久精品免费观看国产| 天天碰免费视频| аⅴ中文在线天堂| 小娇乳H边走边欢1V1视频国产 | 理论片yy4408在线观看| 免费视频88av在线| 精品无码久久久久久尤物| 噼里啪啦完整高清观看视频 | 女同恋のレズビアンbd在线| 一本一本久久a久久综合精品蜜桃 一本一本久久a久久综合精品蜜桃 | 国产一区二区三区在线观看影院| 边吃奶边摸下我好爽视频免费| 国产女人高潮抽搐喷水免费视频| 国产曰批免费视频播放免费s| 好妈妈5韩国电影高清中字|