集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2310|回复: 2

一个脉宽不断增加的pwm 程序 仿真波形不对 请指教程序中的错误

[复制链接]
doudoumf 发表于 2010-11-30 19:50:14 | 显示全部楼层 |阅读模式
module pwm (clk,clk1, reset,pwm_out);
input clk;
input clk1;
input reset;
output pwm_out;
reg full;

reg [31:0]counter;
reg [31:0]z;
reg pwm_out ;
reg clk2;
always @( posedge clk )
begin clk2=1 ;
     #10 clk2=0;
end

always @(posedge clk1 or negedge reset or posedge clk2)
begin
  if (reset==0)
  begin
  counter<=0;
  full<=0;
  end

else
  if(  clk2==1 )
   begin
   counter<=0;
   full<=1;
   end

   else
   
     if((counter<=z)&&(full==1))  
    begin
    counter<=counter+1;
    pwm_out<=1;
    end
   else
     begin
     pwm_out<=0;
     z<=counter+1 ;
  
     end
    end

endmodule
andydlj 发表于 2010-12-1 12:43:14 | 显示全部楼层
你模块里少了几组begin和end,自己检查一下。。。
weibode01 发表于 2010-12-1 12:44:03 | 显示全部楼层
写程序需要细心,要出细活
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 09:45 , Processed in 0.059718 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表