怎么用verilog编写PWM,形成下面的波形,实际上就是三角波....

 我来答
天方岳谈
2012-07-21 · 超过16用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:37.2万
展开全部
用一个计数器,一个控制按键,在原理上就是按钮按一次,计数器的计数范围变化。
module PWM (
button,
pwm,
clk );
input button ;
output reg pwm ;
input clk ;
reg button_r ;
reg [7:0]delay;//按键消除抖动用延时
reg [7:0]count; //计数器
reg [7:0]temp; //脉宽设置
always@(posedge clk )
if(!button )
button_r<=1'b0;
else
if(delay==8'h00)
button_r<=1'b1;
else
delay<=delay+1'b1;

always@(posedge clk,negedge button_r)
if(!button_r)
temp<=temp+8'h10;
else
if(count==temp)
begin
count<=8'h0;
pwm<=~pwm;
end
else
count<=count+1'b1;

endmodule

差不多就这样,原理不变
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风雷小草
2012-07-20 · TA获得超过1711个赞
知道小有建树答主
回答量:1174
采纳率:0%
帮助的人:667万
展开全部
用计数器计数,控制波形输出。电平越长,计数值越大,电平越短,计数值越小。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式