这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » Chipscope信号无法找到的解决方案

共4条 1/1 1 跳转至

Chipscope信号无法找到的解决方案

工程师
2020-02-02 15:40:08     打赏

为了调试逻辑,现在很少再将FPGA中的信号引出,通过示波器或者逻辑分析仪来观察,更多的是在工程中生成stp或者cdc文件,通过signalTAP或者chipscope这两个工具来调试.
但我们发现,有时候在chipscope中很难找到你预期的信号,这往往是被综合器优化掉了,或者更改了信号名.我发现有效的方法是在源代码中加上约束语句,这样就不用对代码做大的改动.
例如:
在VHDL中:
为了观察sys_rst信号,sys_rst往往是组合逻辑,如果在chipscope中很难找到.我们先将 sys_rst用采样时钟打一拍,输出为sys_rst_d.
process(sys_clk)
begin
   if sys_clk'event and sys_clk='1' then
    sys_rst_d <= sys_rst;
   end if;
end process;
然后在信号定义下面加上
attribute keep        : string;
attribute keep of sys_rst_d    : signal is "true";
这样在chipscope中很容易就能找到sys_rst_d 信号.

在Verilog中:
只需将需要监测的信号输出到port,然后加上约束就行.
例如:
output          rx_sof_det_out /* synthesis syn_keep = 1 */;
output          rx_eof_det_out /* synthesis syn_keep = 1 */



工程师
2020-02-03 14:52:57     打赏
2楼

这个方法很不错哦


助工
2020-02-04 13:59:27     打赏
3楼

mark一下


工程师
2020-02-05 16:37:00     打赏
4楼

总算明白了


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]