Wednesday, 9 November 2016

15. Verilog code for 16:1 Multiplexer using 8:1 Mux and 2:1 Mux(structural) .

// Verilog code for 16:1 Multiplexer using 8:1 Mux and 2:1 Mux.
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: RED BLUE
// Engineer:
//
// Create Date:    16:57:42 11/09/2016
// Designer Name:  Madhu Krishna
// Module Name:    mux16_1_u_mux8_1
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
               module mux16_1_u_mux8_1(input_d0,
                                                               input_d1,
input_d2,
input_d3,
input_d4,
input_d5,
input_d6,
input_d7,
input_d8,
input_d9,
input_d10,
input_d11,
input_d12,
input_d13,
input_d14,
input_d15,
sel_0,
sel_1,
sel_2,
sel_3,
output_y);

  // INPUTS
    input  input_d0;
    input  input_d1;
    input  input_d2;
    input  input_d3;
    input  input_d4;
    input  input_d5;
    input  input_d6;
    input  input_d7;
    input  input_d8;
    input  input_d9;
    input  input_d10;
    input  input_d11;
    input  input_d12;
    input  input_d13;
    input  input_d14;
    input  input_d15;
    input  sel_0;
    input  sel_1;
    input  sel_2;
    input  sel_3;


  // OUTPUT
    output output_y;
   
    wire   [1:0] mux_con_out;

  //  16:1 Multiplexer using 8:1 mux and 2:1 mux
 
  // 8:1 MUX  Instantiation Template
  mux8_1_code U_MUX8_1_1 (
    .input_d0(input_d0),
    .input_d1(input_d1),
    .input_d2(input_d2),
    .input_d3(input_d3),
    .input_d4(input_d4),
    .input_d5(input_d5),
    .input_d6(input_d6),
    .input_d7(input_d7),
    .sel_0(sel_0),
    .sel_1(sel_1),
    .sel_2(sel_2),
    .output_y(mux_con_out[0])
    );

 mux8_1_code U_MUX8_1_2 (
    .input_d0(input_d8),
    .input_d1(input_d9),
    .input_d2(input_d10),
    .input_d3(input_d11),
    .input_d4(input_d12),
    .input_d5(input_d13),
    .input_d6(input_d14),
    .input_d7(input_d15),
    .sel_0(sel_0),
    .sel_1(sel_1),
    .sel_2(sel_2),
    .output_y(mux_con_out[1])
    );

  // 2:1 MUX Instantiation Template
    mux2_1_code U_mux2_1_1 (
    .input_a(mux_con_out[0]),
    .input_b(mux_con_out[1]),
    .sel_0(sel_3),
    .output_y(output_y)
    );

endmodule

----------------------------------------------------------------------------------------------------------------------------------------------

No comments:

Post a Comment