`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	GrDelModeMux	
#(	
	parameter	AdcDataWidth	=	20,
	parameter	NcoDataWidth	=	18
)
(
	input	Rst_i,
	
	input	MuxCtrl_i,

	input	[AdcDataWidth-1:0]	AdcDataOrig_i,
	input	[AdcDataWidth-1:0]	AdcDataGrDel_i,
	
	input	[NcoDataWidth-1:0]	NcoSinOrig_i,
	input	[NcoDataWidth-1:0]	NcoCosOrig_i,
	input	[NcoDataWidth-1:0]	NcoSinGrDel_i,
	input	[NcoDataWidth-1:0]	NcoCosGrDel_i,
	
	output	reg	[AdcDataWidth-1:0]	MuxAdcData_o,
	output	reg	[NcoDataWidth-1:0]	MuxNcoSin_o,
	output	reg	[NcoDataWidth-1:0]	MuxNcoCos_o
);	

//================================================================================
//  LOCALPARAM

//================================================================================
//	REG/WIRE
	
//================================================================================
//  ASSIGNMENTS

//================================================================================
//  CODING
always	@(*)	begin
	if	(!Rst_i)	begin
		if	(MuxCtrl_i)	begin
			MuxAdcData_o = AdcDataGrDel_i;
			MuxNcoSin_o = NcoSinGrDel_i;
			MuxNcoCos_o = NcoCosGrDel_i;
		end else begin
			MuxAdcData_o = AdcDataOrig_i;
			MuxNcoSin_o = NcoSinOrig_i;
			MuxNcoCos_o = NcoCosOrig_i;
		end 
	end	else	begin
		MuxAdcData_o = 0;
		MuxNcoSin_o = 0;
		MuxNcoCos_o = 0;
	end
end


endmodule











