zoukankan      html  css  js  c++  java
  • Verilog (二) multiplexer and decoder

    1  mutiplexer 数据选择器

    1)  one-bit wide 2-1 mux

    wire  dout  = sel? din1 : din0;  // conditional continuous and wire assignment

    2)  4-1 mux

     1 module  mux4_1(sel, din0, din1, din2, din3, dout);
     2   input  [1:0]  sel;
     3   input    din0, din1, din2, din3;
     4   output  dout;
     5   reg   dout;
     6 
     7 always @ (sel or din0 or din1 or din2 or din3)
     8 begin
     9   case(sel)
    10     2'b00:  dout = din0;
    11     2'b01:  dout = din1;
    12     2'b10:  dout = din2;
    13     2'b11:  dout = din3;
    14     default:  dout = din0;
    15   endcase
    16 end
    17 
    18 endmodule

    3)  two-bit wide 8-1 mux (case statement)

    sel din7 din6 din5 din4 din3 din2 din1 din0 dout
    000 XX XX XX XX XX XX XX DD din0
    001 XX XX XX XX XX XX DD XX din1
    010 XX XX XX XX XX DD XX XX din2
    011 XX XX XX XX DD XX XX XX din3
    100 XX XX XX DD XX XX XX XX din4
    101 XX XX DD XX XX XX XX XX din5
    110 XX DD XX XX XX XX XX XX din6
    111 DD XX XX XX XX XX XX XX din7

    2  decoder 解码器/译码器

        n 个输入  =>  2n 个输出

    1)  3-8 binary decoder

    module  decoder3_8(A, Y);
      input    [2:0]  A;
      output  [7:0]  Y;
      reg    [7:0]  Y;
    
    always @ (A)
      case (A)
        0:  Y = 8'b00000001;
        1:  Y = 8'b00000010;
        2:  Y = 8'b00000100;
        3:  Y = 8'b00001000;
        4:  Y = 8'b00010000;
        5:  Y = 8'b00100000;
        6:  Y = 8'b01000000;
        7:  Y = 8'b10000000;
        default:  Y = 8'b0;
      endcase
    
    endmodule
    decoder3_8

    2)  3-6 binary decoder with enable

    module  decoder3_6(A, EN, Y);
      input    EN;
      input    [2:0]  A;
      output  [5:0]  Y;
      reg    [5:0]  Y;
    
    always @ (EN or A)
      case ({EN, A})
        4'b1000:  Y = 6'b000001;
        4'b1001:  Y = 6'b000010;
        4'b1010:  Y = 6'b000100;
        4'b1011:  Y = 6'b001000;
        4'b1100:  Y = 6'b010001;
        4'b1101:  Y = 6'b100000;
        default:  Y = 6'b0;
      endcase
    
    endmodule
    decoder3_6_en
  • 相关阅读:
    批量修改数据库表前缀
    form表单reset重置按钮
    thinkphp禁止模版标签解析
    form 转json,将form表单中的数据序列化数组后转换为Json
    MIME对应表
    zend studio 12汉化和破解
    hadoop一键安装伪分布式
    简明shell入门
    java中readLine()方法为什么有的行读不到?
    using 40 logical processors based on SQL Server licensing SqlServer CPU核心数限制问题
  • 原文地址:https://www.cnblogs.com/xinxue/p/5249252.html
Copyright © 2011-2022 走看看