Verilog :Exams/ece241 2013 q12/Shift Register

传送门:

考试/ece241 2013 q12 - HDLBits (01xz.net)icon-default.png?t=N7T8https://hdlbits.01xz.net/wiki/Exams/ece241_2013_q12

题目:

在这个问题中,您将为 8x1 存储器设计一个电路,其中对存储器的写入是通过移入位完成的,读取是“随机访问”,就像在典型的 RAM 中一样。

首先,创建一个带有 8 个 D 型触发器的 8 位移位寄存器,输出依次是Q[0]...Q[7]。移位寄存器输入为 S,输入首先会填充到 MSB(最高位)Q[0]。

enable控制是否移位。然后,电路具有 3 个附加输入 ABC 和一个输出 Z。
电路的行为应如下:当 ABC 为 000 时,Z=Q[0],当 ABC 为 001 时,Z=Q[1] 时,依此类推。您的电路应仅包含 8 位移位寄存器和多路复用器。(旁注:该电路称为 3 输入查找表 (LUT))。
module top_module (
    input clk,
    input enable,
    input S,
    input A, B, C,
    output Z ); 
    reg [7:0] shiftregister;
    wire [2:0] control={A, B, C};
    always@(posedge clk)
        begin
            if(enable)begin
                shiftregister <= {S,shiftregister[7:1]}; 
            end
            else   
                shiftregister <=shiftregister;
       	end 
    always@(*)
        begin
            case(control)
                3'd0:Z <= shiftregister[7];
                3'd1:Z <= shiftregister[6];
                3'd2:Z <= shiftregister[5];
                3'd3:Z <= shiftregister[4];
                3'd4:Z <= shiftregister[3];
                3'd5:Z <= shiftregister[2];
                3'd6:Z <= shiftregister[1];
                3'd7:Z <= shiftregister[0];
                default Z <= 'd0;
        		endcase
       end 
endmodule

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值