集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2070|回复: 2

移位寄存器Verilog代码

[复制链接]
老怪甲 该用户已被删除
老怪甲 发表于 2010-5-28 10:47:00 | 显示全部楼层 |阅读模式
移位寄存器

//
//
//-----------------------------------------------------------------------------------
// DESCRIPTION  : Shift register
//         Type : univ
//         Width : 4
//         Shift direction: right/left (right active high)
//
//         CLK active : high
//         CLR active : high
//         CLR type : synchronous
//         SET active : high
//         SET type : synchronous
//         LOAD active : high
//         CE active : high
//         SERIAL input : SI
//
//-----------------------------------------------------------------------------------


module shft_reg (CLR , SET , DIR , CE , LOAD , DATA , SI , data_out , CLK );
input CLR , SET , CE , LOAD , DIR , SI , CLK ;
input [3:0] DATA ;
output [3:0] data_out ;



reg [3:0] TEMP;

  always @(posedge CLK )
  begin
    if (CE == 1'b1)
      if (CLR == 1'b1)
        TEMP = {4{1'b0}};
      else if (SET == 1'b1)
        TEMP = {4{1'b1}};
      else if (LOAD == 1'b1)
        TEMP = DATA ;
      else if (DIR == 1'b1)
        TEMP = {SI , TEMP [3:1]};
      else
        TEMP = {TEMP [2:0], SI };
  end

  assign data_out = TEMP;
endmodule
weibode01 发表于 2010-11-9 11:11:53 | 显示全部楼层
这些都是我最近实验的内容
伍金霄 发表于 2016-5-10 11:51:37 | 显示全部楼层
有人做过红外测距没?
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 11:11 , Processed in 0.064622 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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