`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Megkapja a kitöltési tényezőt, és a kimeneti vonalat,
// és generál egy pwm jelet az adott kimenetre
//////////////////////////////////////////////////////////////////////////////////
module pwm_generator(
	input clk,
	input [15:0] kitoltesi_tenyezo,
	output PWM_CH
    );

reg pwm_out;
reg [18:0] Tpwm = 19'd0; 

//####
//### 	PWM jel generálás
//##
	always @(posedge clk)
	begin//50Hz
		if(Tpwm == 19'd319999)
			Tpwm <= 19'd0;
		else
			Tpwm <= Tpwm + 1;
	end
	
	always @(posedge clk)
	begin
		if(Tpwm == kitoltesi_tenyezo) //lenullazodik
			pwm_out <= 0;
		else if(Tpwm == 19'd0) //1-rol indul
			pwm_out <= 1;
	end
	
assign PWM_CH = ~pwm_out;
//##
//### 	
//####

endmodule


