|
我用的是Altera的DE2开发板,FPGA是EP2C35F672C6,光盘里面的DE2_SD_Card_Audio工程直接编译时报错:
Error (13076): The pin "I2C_CLK" has multiple drivers due to the non-tri-state driver "I2c_AV_Config:u1|I2C_Controller:u0|I2C_SCLK"
其中,顶层模块里相关的部分为:
// I2C
inout I2C_DATA;
inout I2C_CLK;
// I2C Tri-inout
assign I2C_CLK = SCL_OE_N ? 1'bz : SCL ; //.............................1
assign I2C_DATA = SDA_OE_N ? 1'bz : SDA ; //.............................2
I2C_AV_Config u1 ( // Host Side
.iCLK(OSC_50),
.iRST_N(CPU_RESET),
// I2C Side
.I2C_SCLK(I2C_CLK),
.I2C_SDAT(I2C_DATA) );
在I2C_AV_Config 模块下例化了I2C_Controller,而在I2C_Controller里:
wire I2C_SCLK=SCLK | ( ((SD_COUNTER >= 4) & (SD_COUNTER <=30))? ~CLOCK :0 ); //.......................3
wire I2C_SDAT=SDO?1'bz:0 ; //.......................4
报错应该指的是上面标的1行和3行同时驱动了I2C_CLK吗?我屏蔽1行或者3行都不会报错了,但是这样原始代码的内容就不完整了,请问各位大神,怎么回事啊。
还有为什么I2C_DATA不会报错呢? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|