带锁存移位寄存器(verilog)

0

本文作者:xjtudll  发布于:2016-5-20  分类:技术心得  点击:


带锁存的移位寄存器

rclk——锁存时钟

sclk——移位时钟

din——输入数据

dout——输出数据

[shiftBitNumbers——移位寄存器位数

dc9edc45-6afa-4fbe-9dbe-9b03f76464dc[7]

module shifter_latch(rclk,reset_n,sclk,din,dout);

    parameter shiftBitNumbers  = 32;

    input din,sclk,reset_n,rclk;

    output reg[shiftBitNumbers-1:0] dout;

    reg[shiftBitNumbers-1:0] dout_temp;

    always @(posedge sclk)

    begin

      dout_temp <= dout_temp << 1; //输出信号左移一位

      dout_temp[0] <= din; //输入信号补充到输出信号的最低位

    end

    always @(posedge rclk or negedge reset_n)

    begin

      if (!reset_n)

       dout = 0;

      else if(rclk)

       dout = dout_temp; //输出8位信号

    end

endmodule


本文标签: Verilog  
本文Url: http://www.xjtudll.cn/Exp/403/ (出自: 鸟的天空)
我要引用: 点击这里获取该日志的TrackBack引用地址

相关文章:

0 Comments

Write a comment ?