搜索
bottom↓
回复: 1

【求助】一个小程序 verilog写的,功能仿真正确(modelsim 仿的),但是时序仿真不对(quartus

[复制链接]

出0入0汤圆

发表于 2010-10-7 19:40:36 | 显示全部楼层 |阅读模式
module fillzero(datain,inEn,reset,CLK_I,CLK_O,dataout,fill_rdy);
input datain;
input inEn; //
input reset;
input CLK_I;
input CLK_O;
output dataout;
output fill_rdy;


reg BUF2_RDY;
reg [2:0] i;
reg [2:0] j;
//reg [3:0] BUF1;
reg [5:0] BUF2;

reg dataout;
reg fill_rdy;



/*always @ ( negedge reset or posedge CLK_I )          
begin
        if ( ! reset )
        begin
                BUF1 <= 0;
               
                i <= 0;
        end
        else
        begin
                if ( inEn )
                       
                        begin
                                case (i)
                                2'b00:
                                begin
                                        BUF1[0] <= datain;
                                        BUF1_RDY <= 1;
                                        i <= i + 1 ;
                                end
                                2'b01:
                                begin
                                        BUF1[1] <= datain;
                                        BUF1_RDY <= 1;
                                        i <= i + 1 ;
                                end
                                2'b10:
                                begin
                                        BUF1[2] <= datain;
                                        BUF1_RDY <= 1;
                                        i <= i + 1 ;
                                end
                                2'b11:
                                begin
                                        BUF1[3] <= datain;
                                        BUF1_RDY <= 1;
                                        i <= 2'b00 ;
                                end
                                default:
                                begin
                                        BUF1 <= 0;
                                        BUF1_RDY <= 0;         
                                        i <= 0;
                                end
                                endcase
                        end
                       
                                  
                       
                else
                begin
                        BUF1_RDY <= 0;
                        BUF1 <= 0;
                       
                        i <= 0;
                end
        end                                          
end                  */



always @ ( negedge reset or posedge CLK_I )        
begin
        if ( ! reset )
        begin
               
                BUF2<=0;
                j <= 3'b000;
                BUF2_RDY<=0;
        end
        else if ( inEn )
               
                                                                               
                begin
                        case (j)
                        3'b000,3'b001,3'b010:
                        begin
                                BUF2[j] <= datain;
                                BUF2_RDY <= 1;
                                j <= j + 1 ;
                        end
                        3'b011:
                        begin
                        BUF2[j]<= 1'b0;
                        BUF2[j+1]<= 1'b0;
                       
                        BUF2[j+2]<= datain ;
                        BUF2_RDY <= 1;
                       
                        j <= 3'b000 ;
                        end
                        default:
                        begin
                                BUF2 <= 0;
                                BUF2_RDY <= 0;         
                               
                                j <= 3'b000;
                        end
                        endcase
                end
               
               
        else
        begin
                BUF2 <= 0;
                BUF2_RDY <= 0;         
                j <= 3'b000;
        end
end                         


always @ ( negedge reset or posedge CLK_O )        
begin
        if ( ! reset )
        begin
                dataout<=0;
                fill_rdy<=0;
                i <= 3'b000;
        end
        else if ( BUF2_RDY )
               
                                                                               
                begin
                        case (i)
                        3'b000,3'b001,3'b010,3'b011,3'b100:
                        begin
                                dataout <= BUF2;
                                fill_rdy<= 1;
                                i <= i + 1 ;
                        end
                        3'b101:
                        begin
                        dataout<=BUF2;
                        fill_rdy<=1;
                        i <= 3'b000 ;
                        end
                        default:
                        begin
                                dataout <= 0;
                                fill_rdy <= 0;         
                               
                                i <= 3'b000;
                        end
                        endcase
                end
               
               
        else
        begin
                dataout <= 0;
                fill_rdy <= 0;         
               
        end
end                         


endmodule

下面是截图,第三幅图红笔圈的地方不对。


功能仿真图 (原文件名:QQ截图未命名1.png)


时序仿真图 (原文件名:QQ截图未命名2.png)


红笔圈出的地方不对 (原文件名:QQ截图未命名22.PNG)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-10-7 20:13:27 | 显示全部楼层
回复【楼主位】dolifez  
-----------------------------------------------------------------------

求助~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 17:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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