在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2458|回复: 8

[求助] 各位帮看一下这个PWM实现程序问题出在哪里了,调试半天了没弄出来,谢谢

[复制链接]
发表于 2016-1-25 11:05:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 sshhrr 于 2016-1-25 18:59 编辑

这是原代码:

module pwm(clk,clk5s,duty,pwmout);
reg [7:0]countout;
input clk,clk5s;
input [7:0]duty;
output pwmout;
always@(posedge clk )
if (clk5s) countout <= 8'd0;
else countout <= countout+1;
assign pwmout=(countout<duty)?1'b1:1'b0;
endmodule

这是testbench:

module pwm_test;
reg clk;
reg[7:0]duty;
reg [31:0]count;
reg clk5s;
wire pwm;
initial
begin
clk=0;
duty=8'd10;
count = 32'd0;
clk5s=0;
end
always#1 clk=~clk;
pwm pl(.clk(clk),.clk5s(clk5s),.duty(duty),.pwmout(pwm));
endmodule


用modelsim仿真出来的信号如下
%_$(8G69CL8$}MM88J}DATC.png

这个不正确啊,本人新手,望各位指点一下,非常感谢
 楼主| 发表于 2016-1-26 15:33:10 | 显示全部楼层
不要,不要沉。。。
发表于 2016-1-26 17:36:24 | 显示全部楼层
你的代码风格太差了,修改一下吧,而且count位数都不对
发表于 2016-1-27 08:38:01 | 显示全部楼层
仿真时间够吗
发表于 2016-1-27 09:56:19 | 显示全部楼层
countout 没有初始态!
本应该clk5s的1'b1同步复位,但你将其tie成0了,countout一直没被复位,
在此基础上+1,不定态,
进一步导致pwmout不定态。
发表于 2016-1-27 11:32:51 | 显示全部楼层
两个办法:1)初始化countout;2)clk5s中间产生高电平;
发表于 2016-1-28 09:50:30 | 显示全部楼层
楼上正解。countout没初始值,想当然的认为是00,实际上是xx,xx+1是多少?还是xx!所以,要么初始化countout,要么给个条件让它步入正轨
发表于 2016-3-16 21:56:38 | 显示全部楼层
Try see see !! ^^
Modify testbench :
------------------------------------
module pwm_test;
reg clk;
reg[7:0]duty;
reg [31:0]count;
reg clk5s;
wire pwm;
initial
begin
clk=0;
duty=8'd10;
count = 32'd0;
clk5s=1'b1;

#10;
clk5s=1'b0;
end
always#1 clk=~clk;
pwm pl(.clk(clk),.clk5s(clk5s),.duty(duty),.pwmout(pwm));
endmodule
发表于 2016-3-16 21:58:00 | 显示全部楼层
Try see see !! ^^
Modify testbench :
------------------------------------
module pwm_test;
reg clk;
reg[7:0]duty;
reg [31:0]count;
reg clk5s;
wire pwm;
initial
begin
clk=0;
duty=8'd10;
count = 32'd0;
clk5s=1'b1;

#10;
clk5s=1'b0;
end
always#1 clk=~clk;
pwm pl(.clk(clk),.clk5s(clk5s),.duty(duty),.pwmout(pwm));
endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 06:16 , Processed in 0.021803 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表