【FPGA】ILA抓取inout类型失败问题

本来IIC读写模块以及通过编译。但是在测试的时候, 要写代码。 碰到了问题,

想在top.v里面用下面的ILA来抓取i2c_sdat的信号。结果报错 [Synth 8-5744]

wire xx ;
assign xx = i2c_sdat;
ila0 ila(
.probe0(wr),
.probe1(done),
.probe2(i2c_sclk),
.probe3(xx) // 报错–>[Synth 8-5744] Inout buffer is not created at top module top for the pin i2c_sdat, other connections may not have buffer connection
);

意思就是这样不可以。 没法用ILA在顶层抓取波形。

那么换另外一种写法

ila0 ila(
.probe0(wr),
.probe1(done),
.probe2(i2c_sclk),
.probe3(i2c_sdat) //DRC
);

endmodule

i2c_sdat接到了probe3 , 结果在实现的时候, 报下面错
[DRC REQP-1582] iobuf_io_loaded: IOBUF U1/i2c_sdat_IOBUF_inst pin IO drives one or more invalid loads.
意思是 i2c_sdat_IOBUF 驱动了一个或者多个无效的负载。
i2c_sdat_IOBUF驱动了一个或者多个无效的信号。i2c_sdat 接到了一个或者多个信号上。

后来经过询问高手 , 高手给我的解释是, IIC-sdat信号,因为他是inout类型,在任何其他的.v里面不能连接到。

最后总结一句,如果要ILA抓取i2c_sdta 和 i2c_sclk 波形, 那么要在最底层里面,用来抓取波形。

inout类型的 信号,需要一个IOBUF。一旦综合后的电路里面没有产生IOBuf, 那么当读取iic信号上的数据的时候, 读到的都是FF.

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值