打印

ISE综合属性问题

[复制链接]
3506|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongjian32|  楼主 | 2012-3-10 22:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
bityoung| | 2012-3-10 22:16 | 只看该作者
https://bbs.21ic.com/viewthread.php?tid=270141&highlight=

请看这个----呵呵,如果你单纯就是想通过chipscope看某个信号的话。

使用特权

评论回复
板凳
GoldSunMonkey| | 2012-3-10 23:44 | 只看该作者
:lol对我的**很熟悉嘛。

使用特权

评论回复
地板
gongjian32|  楼主 | 2012-3-11 07:11 | 只看该作者
谢谢2楼的纪即时解答.
在altera的Qii中,在内部定义一个寄存器,然后加上Synthesis之类的属性就可以了. 不知道为什么xilin 的ISE没有这种同样的功能了,非得要将它定义为输出才可以实现.
哎...
差距

使用特权

评论回复
5
bityoung| | 2012-3-11 10:00 | 只看该作者
3# GoldSunMonkey 猴哥的**对于我等小辈就是圣经啊!

使用特权

评论回复
6
GoldSunMonkey| | 2012-3-11 10:57 | 只看该作者
谢谢2楼的纪即时解答.
在altera的Qii中,在内部定义一个寄存器,然后加上Synthesis之类的属性就可以了. 不知道为什么xilin 的ISE没有这种同样的功能了,非得要将它定义为输出才可以实现.
哎...
差距 ...
gongjian32 发表于 2012-3-11 07:11
。。。可以呀,一样的。你看**没有?

使用特权

评论回复
7
GoldSunMonkey| | 2012-3-11 10:58 | 只看该作者
3# GoldSunMonkey  猴哥的**对于我等小辈就是圣经啊!
bityoung 发表于 2012-3-11 10:00
评价太高~

使用特权

评论回复
8
gongjian32|  楼主 | 2012-3-11 13:21 | 只看该作者
module adc(
iclk,rst_n,spi_cs,spi_clk,spi_din,spi_dout,busy,shift_done,adc12,adc_data
,test    );

input iclk;
input rst_n;
output spi_cs;
output spi_clk;
output spi_dout;
input spi_din;
input busy;
input shift_done;
output [11:0] adc12/* synthesis syn_keep = 1 */;
output [15:0] adc_data;
reg [11:0] adc12;
output [3:0] test/* synthesis syn_keep = 1 */;
reg [3:0] test;

reg spi_cs;
reg spi_clk/* synthesis syn_keep = 1 */;
reg spi_dout;

不行啊,我定义了1个内部的[3:0] test,内部也没有使用. 但是chipscope里面还是没有看到

为了调试逻辑,现在很少再将FPGA中的信号引出,通过示波器或者逻辑分析仪来观察,更多的是在工程中生成stp或者cdc文件,通过signalTAP或者chipscope这两个工具来调试.
但我们发现,有时候在chipscope中很难找到你预期的信号,这往往是被综合器优化掉了,或者更改了信号名.我发现有效的方法是在源代码中加上约束语句,这样就不用对代码做大的改动.
例如:
在VHDL中:
为了观察sys_rst信号,sys_rst往往是组合逻辑,如果在chipscope中很难找到.我们先将 sys_rst用采样时钟打一拍,输出为sys_rst_d.
process(sys_clk)
begin
   if sys_clk'event and sys_clk='1' then
    sys_rst_d <= sys_rst;
   end if;
end process;
然后在信号定义下面加上
attribute keep        : string;
attribute keep of sys_rst_d    : signal is "true";
这样在chipscope中很容易就能找到sys_rst_d 信号.

在Verilog中:
只需将需要监测的信号输出到port,然后加上约束就行.
例如:
output          rx_sof_det_out /* synthesis syn_keep = 1 */;
output          rx_eof_det_out /* synthesis syn_keep = 1 */

这篇**里面不是要说把要观察的信号"输出到port,然后加上约束就行."

使用特权

评论回复
9
GoldSunMonkey| | 2012-3-11 14:30 | 只看该作者
兄弟,如果这样找不着,就证明你的代码被综合器优化太多了。
只能采用手动添加IP核的方式。
那也只能如此了。
其实手动添加也很方便:)

使用特权

评论回复
10
bityoung| | 2012-3-11 14:52 | 只看该作者
8# gongjian32 那就不用核插入器了吧!直接用core generator生成icon和ila核,然后将信号连接到ila核上就可以了。

使用特权

评论回复
11
GoldSunMonkey| | 2012-3-11 15:07 | 只看该作者
8# gongjian32 那就不用核插入器了吧!直接用core generator生成icon和ila核,然后将信号连接到ila核上就可以了。
bityoung 发表于 2012-3-11 14:52
是的:)

使用特权

评论回复
12
daisyly| | 2012-3-26 23:09 | 只看该作者
:lol 3# GoldSunMonkey

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

108

帖子

0

粉丝