四选一逻辑

[复制链接]
 楼主| 34af9uc 发表于 2024-3-31 23:48 | 显示全部楼层 |阅读模式
  1. <div class="blockcode"><blockquote>/****************四选一逻辑**********************************/
  2. /****************ID:共同学习stm8**********************************/
  3. /**************************************************/
  4. /*************20240329*************************************/
  5. /*
  6. 当sel为00时y<=a&b;
  7. 当sel为01时y<=a|b;
  8. 当sel为10时y<=a^b;
  9. 当sel为11时y<=~(a^b);
  10. */
  11. `timescale 1ns/10ps
  12. module fn_sw_4(a, b, sel, y);
  13. input                a;
  14. input                b;
  15. input[1:0]        sel;
  16. output                y;

  17. reg                y;

  18. always@(a or b or sel)
  19. begin
  20.         case(sel)
  21.                
  22.                 2'b00:begin        y<=a&b;                end
  23.                 2'b01:begin        y<=a|b;                end
  24.                 2'b10:begin        y<=a^b;                end
  25.                 //2'b11:begin        y<=~(a^b);        end
  26.                 2'b11:begin        y<=a~^b;        end                //同或
  27.         endcase
  28. end

  29. endmodule
  30. /**************testbench of fn_sw_4************************************/
  31. module fn_sw_4_tb;
  32. reg[3:0]        absel;
  33. wire                y;

  34. fn_sw_4        fn_sw_4
  35.         (
  36.         .a(absel[0]),
  37.         .b(absel[1]),
  38.         .sel(absel[3:2]),
  39.         .y(y)
  40.         );
  41. initial
  42.         begin
  43.         absel        <=0;       
  44.         #200        $stop;
  45.         end
  46.        
  47.         always        #10        absel<=absel+1;
  48. endmodule
  49. /**************************************************/
  50. /**************************************************/
  51. /**************************************************/


319

主题

487

帖子

63

粉丝
快速回复 在线客服 返回列表 返回顶部