XILINX的ISE环境下怎样在ChipScope加入被优化掉的信号

12 篇文章 0 订阅

转自:https://blog.csdn.net/times_poem/article/details/51324671

转载收藏学习一下。

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信号进行观察。

使用方法示例如下图:

 

第三种方法:做一些不会被优化掉的冗余逻辑使想查看的信号不被优化掉。

如果某些信号使用了上面的两种方法还是不行的话,可是常常加一些冗余逻辑。加需要观察的信号打个节拍,然后接到引脚上,这时的信号是不会被优化掉的。在FPGA设计中常常都有一些空闲的引脚或者调试使用的引脚,将冗余逻辑的输出接到这些引脚上即可。

我的方法:将需要观测的信号引到端口,作为输出信号,这样可以避免观测的信号被优化。使用方法如下图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值