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}”;

  • 相关阅读:
    ASP.NET MVC 动态加载图像
    ASP.NET:以域用户身份访问网络资源
    ASP.NET MVC 动态加载 *.ascx
    4月
    3月
    2月
    每天充点小能量
    每天进步一点点
    FreeMarker标签与使用
    eclipse启动tomcat, http://localhost:8080无法访问
  • 原文地址:https://www.cnblogs.com/xuexizhe/p/8275801.html
Copyright © 2011-2022 走看看