打印
[Quartus]

quartus RTL仿真和门极仿真结果不一样怎么处理

[复制链接]
2137|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用quartus写了一个pwm(用增减计数方式调制)程序,编译综合都通过了,RTL仿真也是对的,但是门极仿真出来的结果不对,想问一下为什么?麻烦大家帮忙看看
RTL仿真结果,注意红圈的地方没有毛刺

门极仿真结果,注意红圈的地方有毛刺

module   CPLD6(CLK_150M,pwm1,pwm2)/*synthesis noprune*/;
                       
        input CLK_150M;
        output pwm1,pwm2;               
        wire[10:0] C0,C1/*synthesis keep*/;

        UD_Cnt UD0(CLK_150M,C0);
        assign
                pwm1 = (100 > C0) ? 1'b1:1'b0;
               
endmodule

module UD_Cnt(CLK_udcnt,UD_counter)/*synthesis noprune*/;
parameter CNT_ini = 11'D167,Dir_ini = 1'B0;
        input CLK_udcnt;
        output reg[10:0] UD_counter/*synthesis noprune*/;
        reg Dir;
       
        initial
        begin
                UD_counter = CNT_ini;
                Dir = Dir_ini;
        end
        always[url=home.php?mod=space&uid=72445]@[/url] (posedge CLK_udcnt)
   begin
                if(Dir == 0)
                        UD_counter = UD_counter + 10'D1;
                else
                        UD_counter = UD_counter - 10'D1;
   end
       
        always@ (posedge CLK_udcnt)
        begin
                if((UD_counter == 1001)&(Dir == 0))
                        Dir = 1;
                else if((UD_counter == 1)&(Dir == 1))
                        Dir = 0;
        end
endmodule




CPLD6.rar (381.67 KB)

相关帖子

沙发
xiachong| | 2017-7-4 15:12 | 只看该作者
pwm1用时序电路处理

使用特权

评论回复
板凳
jetlin1992|  楼主 | 2017-7-4 15:45 | 只看该作者
xiachong 发表于 2017-7-4 15:12
pwm1用时序电路处理

好像用时序电路是好了,但是想问一下,为什么呢?

使用特权

评论回复
地板
xiachong| | 2017-7-4 16:05 | 只看该作者
本帖最后由 xiachong 于 2017-7-4 16:07 编辑

组合逻辑  涉及到 计数器进位

使用特权

评论回复
5
littbi| | 2017-12-17 11:30 | 只看该作者
门级仿真会考虑门的延时,最好用时序电路,逻辑电路容易出现毛刺,让仿真结果不正确

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

15

帖子

0

粉丝