#152. 移位寄存器

    ID: 152 Type: Default 1000ms 256MiB

移位寄存器

题目描述

构建一个4位移位寄存器(右移),具有异步复位、同步加载和启用功能。

areset:将移位寄存器重置为零。

load:用数据[3:0]加载移位寄存器,而不是移位。

ena:右移(q[3]变为零,q[0]移出并消失)。

q:移位寄存器的内容。

* 如果load和ena输入同时有效,则load输入具有更高的优先级。

输入格式

4个 1bit 位宽信号 clk、areset、load、ena 1个 4bit 位宽信号 data

输出格式

1个 4bit 位宽信号 q

示例代码

module top(
    input clk,
    input areset,  //异步、高有效、复位值为0
    input load,
    input ena,
    input [3:0] data,
    output reg [3:0] q); 
//Write your code here
endmodule