/*Write your code here*/
module pwm4_basic(
input clk,
input rst,
input wire[3:0] duty,
output reg pwm_out
);
reg[3:0] counter;
always @(posedge clk) begin
pwm_out <= rst ? 1'b0:(counter < duty);
counter <= rst ? 4'b0000:(counter + 1);
end
endmodule
module pwm4_basic(
input clk,
input rst,
input wire [3:0] duty,
output reg pwm_out
);
reg [3:0] counter = 4'b0000;
always @(posedge clk) begin
if (rst) begin
pwm_out <= 1'b0;
counter <= 4'b0000;
end
else begin
if (counter < duty)
pwm_out <= 1'b1;
else
pwm_out <= 1'b0;
counter <= (counter == 4'b1111) ? 4'b0000 : (counter + 1'b1);
end
end
endmodule