zoukankan      html  css  js  c++  java
  • 怎样才能使用ChipScope 加入被优化掉的信号

    在调试过程中常常遇到的一个问题就是,xilinx工具在逻辑综合的过程中,将自己RTL代码中的很多变量都优化掉了,使得调试的抓信号的过程很纠结。以下是解决方法:

    1.右键synthesis,在综合选项里将keep  hierarchy选择YES ,或者选择soft(在综合时保持层次,在实现时有利用ISE软件自动进行优化),这样有利于你从模块中找到你想抓取的信号和信号名不被更改。

     

    2.在Constraints Guide中,有防止信号被优化掉的说明。具体在X:Xilinx13.4ISE_DSISEdocusenglishisehelp文件夹下。里面介绍了如何解决信号被优化的问题。其实ISE的工程设置有“keep_hierarchy”。在程序里面,也可以通过添加一些语句。如果是Verilog :

     

              Place the Verilog constraint immediately before the module or instantiation . 

              Specify the Verilog constraint as follows:

              (* KEEP = “{TRUE|FALSE |SOFT}” *)

     

    假如我们要观察的一个信号cnt:reg   [10:0]  cnt;,那么就按照 文档中的介绍,要保持此信号不被综合,则:

        (* KEEP =  “TRUE” *)  reg  [10:0]  cnt ,或者     (* keep=  “true” *)  reg  [10:0]  cnt   

    这样就可以实现ChipScope的观察而不被优化掉了。类似的VHDL:

     

             Declare the VHDL constraint as follows:

             attribute keep : string;

            Specify the VHDL constraint as follows:

            attribute keep of signal_name: signal is “{TRUE|FALSE|SOFT}”;

  • 相关阅读:
    ThreadLocal
    mysql查看和修改密码策略
    synchronized双重校验问题
    多线程下双重检查锁的问题及解决方法
    compiler explorer网站
    隐藏表格部分内容,开启宏自动显现
    powershell系列学习笔记二:变量
    强制用户启用宏
    poweshell系列学习笔记一:基础
    Cobalt Strike修改证书
  • 原文地址:https://www.cnblogs.com/xuexizhe/p/8275801.html
Copyright © 2011-2022 走看看