硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2801|回复: 0
收起左侧

时序逻辑电路(4)----------移位寄存器

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2013-1-27 16:29:10 | 显示全部楼层 |阅读模式
【例9.22】8位移位寄存器
module shifter(din,clk,clr,dout);
input din,clk,clr;
output[7:0] dout;
reg[7:0] dout;
always @(posedge clk)
    begin
if (clr)  dout<= 8'b0;        //同步清0,高电平有效
else
     begin
dout <= dout << 1;        //输出信号左移一位
dout[0] <= din;         //输入信号补充到输出信号的最低位
end
    end
endmodule
【例10.11】阻塞赋值方式描述的移位寄存器1
module block1(Q0,Q1,Q2,Q3,din,clk);
output Q0,Q1,Q2,Q3;
input clk,din;
reg Q0,Q1,Q2,Q3;
always @(posedge clk)
     begin
   Q3=Q2;        //注意赋值语句的顺序
   Q2=Q1;
   Q1=Q0;
   Q0=din;
    end
endmodule
【例10.14】非阻塞赋值方式描述的移位寄存器
module block4(Q0,Q1,Q2,Q3,din,clk);
output Q0,Q1,Q2,Q3;
input clk,din;
reg Q0,Q1,Q2,Q3;
always @(posedge clk)
    begin
     Q3<=Q2;
    Q1<=Q0;
    Q2<=Q1;
    Q0<=din;
    end
endmodule
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 15:39 , Processed in 0.169169 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表