Prev Problem
Next Problem

30. PWM with 4-bit Resolution

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

How do you plan to solve it?

 

 

Code

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

 

Was this helpful?
Upvote
Downvote