杭电数字电路课程设计——移位寄存器

杭电数字电路课程设计-移位寄存器

实验目的

(1)学习双向移位寄存器。
(2)掌握灵活运用Verilog HDL语言进行各种描述与建模的技巧和方法。

模块设计

模块功能:
用于实现多功能移位寄存器,受使能信号控制,为低电平时有效,根据输入信号S选择不同的功能,当S[1:0]为00时实现保持功能。在时钟上升沿时,当S[1:0]为01时实现左移一位功能,当S[1:0]为10时实现右移一位功能,当S[1:0]为11时实现置入数据D。

程序源代码

module sy_fifteen(
    input [1:0] S,
    input [3:0] D,
    input OE, CLK,
    output reg [3:0] Q
);
    always @(posedge OE or posedge CLK)
        begin 
            if(OE)
                begin
                    Q <= 4'bzzzz; 
                end    
            else if(S[1:0] == 2'b01)
                begin
                    Q <= {Q[2:0], Q[3]};
                end
            else if(S[1:0] == 2'b10)
                begin
                    Q <= {Q[0], Q[3:1]};
        

你可能感兴趣的:(杭电,数组电路课程设计,fpga开发,单片机,嵌入式硬件)