当前位置:   article > 正文

Verilog——74HC194多功能双向移位寄存器

74hc194

Verilog——74HC194多功能双向移位寄存器

设计思路

根据74HC194的功能表进行行为级建模,如下图:

在这里插入图片描述

代码实现

设计模块


//filename:74HC194.v
module _74HC194(
input CR,CP,DSR,DSL,
input [1:0] S,
input [3:0] D,
output reg [3:0] Q);
/*端口说明:
输入:CR为异步置零端,CP为时钟信号,DSR为右移串行数据输入端,DSL为左移串行数据输入端,
     S为控制信号:当S=00时,输出保持;S=01时,输出右移;S=10时,输出左移,S=11时,进行同步并行置数
 输出:
     Q为输出端信号
 */
 //敏感信号:CP上升沿和CR的下降沿
 always@(posedge CP or negedge CR)
begin
if(~CR)    Q<=4'b0000;  //CR异步置零的优先级最高
else
    case(S)             //判断控制信号
	2'b00:Q<=Q;
	2'b01:Q<={Q[2:0],DSR};    //使用位拼接运算符实现数据的左右移动
	2'b10:Q<={DSL,Q[3:1]};
	2'b11:Q<=D;
    endcase
end
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

测试模块

//tb_74HC194.v
//filename:tb_74HC194.v
`timescale 10ns/1ns
module tb_74HC194;
reg CR,CP,DSR,DSL;
reg [1:0] S;
reg [3:0] D;
wire [3:0] Q;
/*端口说明:
输入:CR为异步置零端,CP为时钟信号,DSR为右移串行数据输入端,DSL为左移串行数据输入端,
     S为控制信号:当S=00时,输出保持;S=01时,输出右移;S=10时,输出左移,S=11时,进行同步并行置数
 输出:
     Q为输出端信号
 */
_74HC194 U(CR,CP,DSR,DSL,S,D,Q);

initial
	$monitor($time,"\tDSR=%b,DSL=%b,S=%b,D=%b,Q=%b",DSR,DSL,S,D,Q);
//时钟脉冲
initial 
	CP=0;
always
	#1 CP=~CP;
//测试
initial begin
	//预置为1111
	CR=1;S=2'b11;DSR=0;DSL=0;D=4'b1111;
	#2
	//清零
	CR=0;S=2'b11;DSR=0;DSL=0;D=4'b1111;
	#2
	//右移,DSR=1
	CR=1;S=2'b01;DSR=1;DSL=0;D=4'b1111;
	#2
	//右移,DSR=1
	CR=1;S=2'b01;DSR=1;DSL=0;D=4'b1111;
	#2
	//右移,DSR=0
	CR=1;S=2'b01;DSR=0;DSL=0;D=4'b1111;
	#2
	//右移,DSR=0
	CR=1;S=2'b01;DSR=0;DSL=0;D=4'b1111;
	#2
	//清零
	CR=0;S=2'b11;DSR=0;DSL=0;D=4'b1111;
	#2
	//左移,DSL=1
	CR=1;S=2'b10;DSR=0;DSL=1;D=4'b1111;
	#2
	//左移,DSL=1
	CR=1;S=2'b10;DSR=0;DSL=1;D=4'b1111;
	#2
	//左移,DSL=0
	CR=1;S=2'b10;DSR=0;DSL=0;D=4'b1111;
	#2
	//左移,DSL=0
	CR=1;S=2'b10;DSR=0;DSL=0;D=4'b1111;
	#2
	$stop;
end
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60

仿真结果

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/896749
推荐阅读
相关标签
  

闽ICP备14008679号