微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 请教ISE中CHIPSCOPE的问题

请教ISE中CHIPSCOPE的问题

时间:12-12 整理:3721RD 点击:
发现观察的波形和仿真的波形不一致,PAR后的timing也没有问题。不知道具体是什么原因
.34

我查的中间的一个寄存器,明显和理解的有差别
.34

本来就不一致。
chipscope就是一个示波器。它能否看到你想要的波形取决于采样时钟,触发条件,采样深度等因素。

另外,在某些情况下,如果代码风格不是很好,加入chipscope会影响优化结果,可能导致行为都不一样。

Chipscope采样时钟和被采样对象的时钟一样,并且没有timing violation的话,信号应该和仿真的一致,除非FPGA运行和仿真的scenario不一样

看你怎么定义“一致”了。
你从chipscope看到的波形和触发条件还有存储深度有很大关系的。
比如,X信号只会在A信号的上升沿后跳变几下,可是你用了B信号好作为触发,或者使用立即触发,
所以你从Chipscope根本看不到X信号的变化。
这种情况当然可以说是和仿真“一致”的,但是我猜有可能这就是楼主所说的“不一致”的原因。

如果不是你工具用的不对,就是你代码写的有问题
大多数时候其实都是代码有缺陷

always@(negedge rst_n or posedge  sclk_tx)
    if(~rst_n)  begin
        data_right_o       <=   #1  24'h0;
        data_left_o        <=   #1  24'h0;
    end else if(!enable)  begin
        data_right_o       <=   #1  24'h0;
        data_left_o        <=   #1  24'h0;
    end else if(!read_start)  begin
        data_right_o       <=   #1  24'h0;
        data_left_o        <=   #1  24'h0;    
    /*end else if(ws_tx_rise_3d) begin
        data_right_o[23:16]<=   #1  data_r;
    end else if(ws_tx_rise_4d) begin
        data_right_o[15:8] <=   #1  data_r;
    end else if(ws_tx_rise_5d) begin
        data_right_o[7:0]  <=   #1  data_r;
    end else if(ws_tx_rise_6d) begin
        data_left_o[23:16] <=   #1  data_r;
    end else if(ws_tx_rise_7d) begin
        data_left_o[15:8]  <=   #1  data_r;
    end else if(ws_tx_rise_8d) begin
        data_left_o[7:0]   <=   #1  data_r;
    end*/
    end else if(ws_tx_rise_2d) begin
        data_right_o[23:16]<=   #1  data_r;
    end else if(ws_tx_rise_3d) begin
        data_right_o[15:8] <=   #1  data_r;
    end else if(ws_tx_rise_4d) begin
        data_right_o[7:0]  <=   #1  data_r;
    end else if(ws_tx_rise_5d) begin
        data_left_o[23:16] <=   #1  data_r;
    end else if(ws_tx_rise_6d) begin
        data_left_o[15:8]  <=   #1  data_r;
    end else if(ws_tx_rise_7d) begin
        data_left_o[7:0]   <=   #1  data_r;
    end
这段代码应该没有问题吧,采样时钟是sclk_tx
.34

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top