//Verilog code for 8:1 Multiplexer using 4:1 Multiplexer and 2:1 Multiplexer
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: RED-BLUE
// Engineer:
//
// Create Date: 16:14:30 11/09/2016
// Designer Name: Madhu Krishna
// Module Name: mux81_u_mux41
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module mux81_u_mux41(input_d0,
input_d1,
input_d2,
input_d3,
input_d4,
input_d5,
input_d6,
input_d7,
sel_0,
sel_1,
sel_2,
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 sel_0;
input sel_1;
input sel_2;
// OUTPUT
output output_y;
wire [1:0] mux_com_out;
// Declaration of 8:1 mux using 4:1 mux and 2:1 mux
// MUX 4:1 Instantiation Template
mux4_1_code U_MUX4_1_1 (
.input_d0(input_d0),
.input_d1(input_d1),
.input_d2(input_d2),
.input_d3(input_d3),
.sel_0(sel_0),
.sel_1(sel_1),
.output_y(mux_com_out[0])
);
mux4_1_code MUX4_1_2 (
.input_d0(input_d4),
.input_d1(input_d5),
.input_d2(input_d6),
.input_d3(input_d7),
.sel_0 (sel_0),
.sel_1 (sel_1),
.output_y(mux_com_out[1])
);
// MUX 2:1 Instantiation Template
mux2_1_code U_MUX2_1_1 (
.input_a(mux_com_out[0]),
.input_b(mux_com_out[1]),
.sel_0 (sel_2),
.output_y(output_y)
);
endmodule
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: RED-BLUE
// Engineer:
//
// Create Date: 16:14:30 11/09/2016
// Designer Name: Madhu Krishna
// Module Name: mux81_u_mux41
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module mux81_u_mux41(input_d0,
input_d1,
input_d2,
input_d3,
input_d4,
input_d5,
input_d6,
input_d7,
sel_0,
sel_1,
sel_2,
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 sel_0;
input sel_1;
input sel_2;
// OUTPUT
output output_y;
wire [1:0] mux_com_out;
// Declaration of 8:1 mux using 4:1 mux and 2:1 mux
// MUX 4:1 Instantiation Template
mux4_1_code U_MUX4_1_1 (
.input_d0(input_d0),
.input_d1(input_d1),
.input_d2(input_d2),
.input_d3(input_d3),
.sel_0(sel_0),
.sel_1(sel_1),
.output_y(mux_com_out[0])
);
mux4_1_code MUX4_1_2 (
.input_d0(input_d4),
.input_d1(input_d5),
.input_d2(input_d6),
.input_d3(input_d7),
.sel_0 (sel_0),
.sel_1 (sel_1),
.output_y(mux_com_out[1])
);
// MUX 2:1 Instantiation Template
mux2_1_code U_MUX2_1_1 (
.input_a(mux_com_out[0]),
.input_b(mux_com_out[1]),
.sel_0 (sel_2),
.output_y(output_y)
);
endmodule
---------------------------------------------------------------------------------------------------------------------------------------------
No comments:
Post a Comment