我是靠谱客的博主 英勇手链,最近开发中收集的这篇文章主要介绍2021-06-30,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

个人实验158页的图2.0、5.1、5.2、5.3。
一、实验名称:
1.四位移位寄存器的另一种代码;
2.一个n位移位寄存器;
3.递增计数器;
4.带并行载入端的递增计数器。
二、实验内容:
实验一:所有的操作都发生在时钟上升沿。如果L=1,4位数据R并行加载到寄存器;如果R=0,寄存器的内容向右移位,并且w输入端的值加载到最高位Q3。
实验二:R和Q的位宽用n定义,描述移位操作的else分支语句用for循环语句实现,可适用于由任意多个触发器组成的移位操作。
实验三:具有复位输入resetn 和使能输入E的4位递增计数器。计数器中触发器的输出用名位Q的向量表示。
实验四:计数器除了输入端以外,还有一个并行加载输入端,并行加载输入端,并行数据由输入向量R提供。
三、实验截图:
1.在这里插入图片描述
2.在这里插入图片描述
3.在这里插入图片描述
4.在这里插入图片描述
四、实验代码:
1.module upcount (R, Resetn, Clock, E,L,Q);input [3:0] R;

input Resetn, Clock, E, L;

output reg [3:0] Q;

always @(negedge Resetn, posedge Clock)if (!Resetn)

Q<=0;

else if(L)

Q<= R;

else if(E)

Q<=Q+ 1;

endmodule

2.module shift4 (R,L,w,Clock,Q);
input [3:0]R;
input L,w,Clock;
output wire [3:0]Q;

muxdff Stage3(w,R[3],L,Clock,Q[3]);
muxdff Stage2(Q[3],R[2],L,Clock,Q[2]);
muxdff Stage1(Q[2],R[1],L,Clock,Q[1]);
muxdff Stage0(Q[1],R[0],L,Clock,Q[0]);

endmodule

3.module shiftn(R,L, w,Clock,Q;parameter n=16;

input [n-1:0]R;

input L w, Clock;

output reg [n -1:0] Q;integer k;

always @(posedge Clock)if(L)

Q<= R;

else

begin

for(k=0;k< n-1;k= k+1)Q[k]<二Q[k+1];

Q[n-1]<= w;

end

endmodule
4.module upcount(Resetn, Clock, E, Q);
input Resetn,Clock,E;
output reg [3:0] Q;
always @(negedge Resetn, posedge Clock)
if(!Resetn)
Q<= 0;
else if (E)
Q<=Q+1;
endmodule
五、实验视频:
1.【数字逻辑电路实验-哔哩哔哩】https://b23.tv/3KUdPw
2.【数字逻辑电路实验分析-哔哩哔哩】https://b23.tv/kSjN6U
3.【数字逻辑-哔哩哔哩】https://b23.tv/iaJjIy

最后

以上就是英勇手链为你收集整理的2021-06-30的全部内容,希望文章能够帮你解决2021-06-30所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部