`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 10:02:35 04/20/2020 // Design Name: // Module Name: mult_module // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module Mux #( parameter CmdRegWidth = 24, parameter PGenNum = 7, parameter TrigPortsNum = 6 ) ( input Rst_i, input [CmdRegWidth-28:0] MuxCtrl_i, input DspTrigOut_i, input DspStartCmd_i, input IntTrig_i, input IntTrig2_i, input [PGenNum-1:0] PulseBus_i, input [TrigPortsNum-1:0] ExtPortsBus_i, output MuxOut_o ); //================================================================================ // LOCALPARAM //================================================================================ // REG/WIRE reg muxOut; wire [PGenNum+TrigPortsNum+5:0] inputBus = {IntTrig2_i,1'b1,1'b0,DspStartCmd_i,DspTrigOut_i,IntTrig_i,ExtPortsBus_i,PulseBus_i}; //================================================================================ // ASSIGNMENTS assign MuxOut_o = muxOut; //================================================================================ // CODING always @(*) begin if (!Rst_i) begin muxOut = inputBus[MuxCtrl_i]; end else begin muxOut = 1'b0; end end endmodule