设为首页收藏本站帮助中心
查看: 36|回复: 0
收起左侧

Quartus Verilog HDL/FPGA 实现74HC194/74LS194 具有复位和预置功能4位双向移位寄存器

[复制链接]
发表于 2024-1-24 19:48:18 | 显示全部楼层 |阅读模式
main.png
  1. module hc194(                //具有复位和预置功能4位双向移位寄存器 VCC:Pin16 GND:Pin8
  2.         input [3:0] D,        //[4位宽] 预置值输入 Pin:6,5,4,3
  3.         input SR,        //左移移入的最低位 Pin2
  4.         input SL,        //右移移入的最高位 Pin7
  5.         input CLK,        //时钟 上升沿触发 Pin11
  6.         input S0,        //功能控制位S0 Pin9
  7.         input S1,        //功能控制位S1 Pin10
  8.         input MR,        //异步低电平(下降沿)清零复位 Pin1
  9.         output reg [3:0] Q        //[4位宽] 移位输出 Pin:12,13,14,15
  10. );

  11. always @(posedge CLK or negedge MR) begin
  12.         if(!MR) begin
  13.                 Q <= 4'd0;
  14.         end else begin
  15.                 case({S1,S0})
  16.                         2'b00:Q <= Q;        //无动作
  17.                         2'b01:Q <= {Q[2:0],SR};        //左移
  18.                         2'b10:Q <= {SL,Q[3:1]};        //右移
  19.                         2'b11:Q <= D;        //装入预置值
  20.                 endcase
  21.         end
  22. end
  23. endmodule

  24. module main(
  25.         input [3:0] D,
  26.         input SR,
  27.         input SL,
  28.         input CLK,
  29.         input S0,
  30.         input S1,
  31.         input MR,
  32.         output [3:0] Q
  33. );

  34. hc194 U1(
  35.         .D(D),
  36.         .SL(SL),
  37.         .SR(SR),
  38.         .CLK(CLK),
  39.         .S0(S0),
  40.         .S1(S1),
  41.         .MR(MR),
  42.         .Q(Q)
  43. );

  44. endmodule
复制代码

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则