|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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仿真出来的信号如下
这个不正确啊,本人新手,望各位指点一下,非常感谢 |
|