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

  • 相关阅读:
    Unity3D 事件
    Unity3D 动画回调方法
    Unity3D优化总结
    Unity3D 第一人称控制器 C#脚本
    TCP/IP与IETF的RFC
    linux内核调优参考
    nginx_tcp_proxy代理酸酸乳
    Gitlab+Jenkins实现自动部署
    inotifywait命令详解及安装
    yum无法安装nginx,报错内容为1:nginx-1.14.2-1.el7_4.ngx.x86_64: [Errno 5] [Errno 2] 没有那个文件或目录
  • 原文地址:https://www.cnblogs.com/xuexizhe/p/8275801.html
Copyright © 2011-2022 走看看