// 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
----------------------------------------------------------------------------------------------------------------------------------------------
`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