#153. 查找表

    ID: 153 Type: Default 1000ms 256MiB

查找表

题目描述

在本题中,请设计一个 8x1 存储器的电路,其中写入内存是通过移位来完成的,而读取是“随机访问”,就像在典型的 RAM 中一样,以三个输入(A、B、C)作为地址,实现对存储器单元的随机访问。

首先,使用 8 个 D 型触发器实现一个 8 位移位寄存器。将触发器输出标记为 Q[0]…Q[7]。移位寄存器输入应被调用 S,它将输入 Q[0](高位通过移位操作输入)。通过使能信号控制是否移动。电路的行为应如下:当 ABC 为 000 时,Z=Q[0],ABC 为 001 时,Z=Q[1],等等。您的电路应仅包含 8 位移位寄存器和多路复用器(该电路称为 3 输入查找表(LUT))。

image

输入格式

1bit信号S、使能信号以及多路选择器控制信号ABC

输出格式

在使能信号为true的情况下,每个时钟上升沿移位寄存器进行移位操作,其中Q[0]的值从S处获得。根据ABC选择信号的值,输出信号Z从Q[0]...Q[7]中取值。

示例代码

module top(
  input clk,
  input enable,
  input S,
  input A, B, C,
  output reg Z 
);
  // Write your code here
endmodule