HDLBits 系列(23)3 输入的 LUT

举报
李锐博恩 发表于 2021/07/15 02:30:56 2021/07/15
【摘要】 目录 原题复现 审题 我的设计 原题复现 In this question, you will design a circuit for an 8x1 memory, where writing to the memory is accomplished by shifting-in bits, and reading is "random access", as...

目录

原题复现

审题

我的设计


原题复现


In this question, you will design a circuit for an 8x1 memory, where writing to the memory is accomplished by shifting-in bits, and reading is "random access", as in a typical RAM. You will then use the circuit to realize a 3-input logic function.

First, create an 8-bit shift register with 8 D-type flip-flops. Label the flip-flop outputs from Q[0]...Q[7]. The shift register input should be called S, which feeds the input of Q[0] (MSB is shifted in first). The enable input controls whether to shift. Then, extend the circuit to have 3 additional inputs A,B,C and an output Z. The circuit's behaviour should be as follows: when ABC is 000, Z=Q[0], when ABC is 001, Z=Q[1], and so on. Your circuit should contain ONLY the 8-bit shift register, and multiplexers. (Aside: this circuit is called a 3-input look-up-table (LUT)).

Module Declaration


  
  1. module top_module (
  2. input clk,
  3. input enable,
  4. input S,
  5. input A, B, C,
  6. output Z );

审题

本题名字叫实现一个3输入的LUT,而所谓的LUT,可以看成是一个存储器,一张真值表,它列出了所有的输入对应的输出,通过给定输入,就可以得到输出。

本题的意思是首先设计一个移位寄存器,之后,通过输入ABC来选择输出。

我的设计

给出我的设计:


  
  1. module top_module (
  2. input clk,
  3. input enable,
  4. input S,
  5. input A, B, C,
  6. output reg Z );
  7. reg[7:0] q;
  8. always@(posedge clk)begin
  9. if(enable)begin
  10. q<= {q[6:0],S};
  11. end
  12. end
  13. wire[2:0] output_index = {A,B,C};
  14. always@(*) begin
  15. case(output_index)
  16. 3'd0:Z=q[0];
  17. 3'd1:Z=q[1];
  18. 3'd2:Z=q[2];
  19. 3'd3:Z=q[3];
  20. 3'd4:Z=q[4];
  21. 3'd5:Z=q[5];
  22. 3'd6:Z=q[6];
  23. 3'd7:Z=q[7];
  24. endcase
  25. end
  26. endmodule

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/103281932

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。