硬汉嵌入式论坛

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

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

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2013-9-22 15:00:48 | 显示全部楼层 |阅读模式
【例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, 2025-8-12 06:59 , Processed in 0.033206 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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