两种PWM生成方式

在FPGA中PWM信号常用计数器和比较器产生:一个固定的周期,根据计数器比较值改变占空比(分母不变改变分子)。下面是一个使用累加器生成PWM信号的例子,高电平时间不变,通过改变脉冲周期(分子不变改变分母)的方式获得PWM信号。后面的方式代码简洁,并且能节省不少资源。
module PWM(clk, PWM_in, PWM_out);
input clk;
input [7:0] PWM_in;
output PWM_out;

reg [8:0] PWM_accumulator;
always @(posedge clk) PWM_accumulator <= PWM_accumulator[7:0] + PWM_in;

assign PWM_out = PWM_accumulator[8];
endmodule


原文:http://www.fpga4fun.com/PWM_DAC.html
posted @ 2012-03-26 10:29  zhongzhe  阅读(740)  评论(0编辑  收藏  举报