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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3309|回复: 2

[求助] 可以教我如何寫pwm程式的testbench 嗎

[复制链接]
发表于 2011-12-19 05:35:37 | 显示全部楼层 |阅读模式

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

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

x
可以教我如何寫pwm程式的 testbench 嗎
我想練習這程式 可是卻不知道怎麼驗證

module pwm(clk,write_date,cs,write_n,addr,clr_n,read_date,pwn_out);
  input clk;
  input [31:0]write_date;
  input cs;
  input write_n;
  input addr;
  input clr_n;
  output [31:0]read_date;
  output pwn_out;

  reg [31:0]period;
  reg [31:0]pulse_width;
  reg [31:0]counter;
  reg off;
  reg [31:0]read_date;
  wire period_en,pulse_width_en;

  always@(posedge clk or negedge clr_n)
  begin
    if(clr_n == 0)
      begin
        period <= 32'h00000000;
        pulse_width <= 32'h00000000;
      end
    else
      begin
        if(period_en)
          period <= write_date[31:0];
        else
          period = period;
         
        if(pulse_width_en)
          pulse_width <= write_date[31:0];
        else
          pulse_width = pulse_width;
      end
  end

  always@(addr or period or pulse_width)
  begin
    if(addr == 0)
      read_date = period;
    else
      read_date = pulse_width;
  end

  always@(posedge clk or negedge clr_n)
  begin
    if(clr_n == 0)
      counter <= 0;
    else if(counter >= period - 1)
      counter <= 0;
    else
      counter <= counter + 1;
  end

  always@(posedge clk or negedge clr_n)
  begin
    if(clr_n == 0)
      off <= 0;
    else if(counter >= pulse_width)
      off <= 1;
    else if(counter == 0)
      off <= off;
  end
  
  assign period_en = cs & !write_n & !addr;
  assign pulse_width_en = cs & !write_n & !addr;
  assign pwm_out = !off;
endmodule
发表于 2011-12-19 12:42:18 | 显示全部楼层
是脉宽调制吧,应该不难,你变换输入,然后看输出就好了呀。
 楼主| 发表于 2011-12-20 01:44:39 | 显示全部楼层
謝謝 我會試試看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-18 09:10 , Processed in 0.021959 second(s), 10 queries , Gzip On, Redis On.

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