chipscope 选不到要查看的信号解决办法
2015-06-18 17:30
218 查看
Xilinx ISE开发工具中的ChipScope工具就相当于AlteraQuatusII中的SignalTap II,能够捕捉FPGA内部的信号,方便了调试过程。随着FPGA设计复杂程度越来越高,芯片内部逻辑分析功能显得越来越重要。硬件层次上的逻辑分析仪价格十分昂贵,而且操作比较复杂。目前,FPGA芯片的两大供应商都为自己的FPGA芯片提供了软件层面上的逻辑分析仪,可以帮助我们在线分析芯片内部逻辑。
我在调试过程中常常遇到的一个问题就是,xilinx工具在逻辑综合的过程中,将自己RTL代码中的很多变量都优化掉了,使得调试的抓信号的过程很纠结。现在我就跟大家分享一下我的方法(ISE版本为14.3)。
第一种方法:更改优化选项设置。
在ChipScope中添加一些引脚的信号,但列表中并没有显示,原因是综合的地方没设置好,应该将XST的属性设置成如下:keep hierarchy处为YES。
第二种方法:在RTL代码中进行一些声明。
对于wire型号,对于ISE12.3以后的版本,XST综合,可以使用(* KEEP="TRUE"*) wire [15:0] AD_reg;这样的声明,就可以在查找信号的信号找到wire类型的AD_reg信号进行观察。
使用方法示例如下图:
注意:(* KEEP="TRUE"*) 编写时()和*之间不能加空格!!!
第三种方法:做一些不会被优化掉的冗余逻辑使想查看的信号不被优化掉。
如果某些信号使用了上面的两种方法还是不行的话,可是常常加一些冗余逻辑。加需要观察的信号打个节拍,然后接到引脚上,这时的信号是不会被优化掉的。在FPGA设计中常常都有一些空闲的引脚或者调试使用的引脚,将冗余逻辑的输出接到这些引脚上即可。
希望分享的经验能够帮助大家,在调试过程中更加顺利无阻。
我在调试过程中常常遇到的一个问题就是,xilinx工具在逻辑综合的过程中,将自己RTL代码中的很多变量都优化掉了,使得调试的抓信号的过程很纠结。现在我就跟大家分享一下我的方法(ISE版本为14.3)。
第一种方法:更改优化选项设置。
在ChipScope中添加一些引脚的信号,但列表中并没有显示,原因是综合的地方没设置好,应该将XST的属性设置成如下:keep hierarchy处为YES。
第二种方法:在RTL代码中进行一些声明。
对于wire型号,对于ISE12.3以后的版本,XST综合,可以使用(* KEEP="TRUE"*) wire [15:0] AD_reg;这样的声明,就可以在查找信号的信号找到wire类型的AD_reg信号进行观察。
使用方法示例如下图:
注意:(* KEEP="TRUE"*) 编写时()和*之间不能加空格!!!
第三种方法:做一些不会被优化掉的冗余逻辑使想查看的信号不被优化掉。
如果某些信号使用了上面的两种方法还是不行的话,可是常常加一些冗余逻辑。加需要观察的信号打个节拍,然后接到引脚上,这时的信号是不会被优化掉的。在FPGA设计中常常都有一些空闲的引脚或者调试使用的引脚,将冗余逻辑的输出接到这些引脚上即可。
希望分享的经验能够帮助大家,在调试过程中更加顺利无阻。
相关文章推荐
- IT生涯的路很长,是否准备好?
- codeblock中 启动 ROS 节点
- How to Install Docker on Ubuntu 14.04 LTS
- 诸葛io给刚玩Hadoop的朋友的建议
- Linux自定义命令小结
- linux下搭建nagios监控
- 简单Linux C线程池
- 外网访问内网linux
- 为最佳性能调优 Nginx
- django 模板里面for循环和forloop变量
- django 模板里面for循环和forloop变量
- windows下 apache和tomcat集成配置
- 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客
- IPTABLES 充当局域网路由器 RHEL5及以上版本
- 实验楼一个很好的IT学习平台,包括JAVA,LINUX,HTML,C,CSS,JS等适合初学者
- Redhat7更改网卡名字为eth0 eth1
- 在CentOS系统上安装REMI仓库的方法
- Bash基础
- linux基础命令
- Linux下apache图片服务器+tomcat应用服务器集成