IIC错误总结之一 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.?

这个是我调试的时候,遇到的问题。仿真没问题,但是读数据都是FF

?

?

上一篇:在CentOS8上实现私有CA和证书申请和吊销


下一篇:5.建造者模式(生成器模式)