关于 at24c02控制模块 - inout端口仿真失败 { 救命!这是怎么一回事 ... }
呜呜!主要是仿真 at24c02 的控制模块!已经换了3种写法了。
问题是这样的~
当单独测试 SDA_In , 或者 SDA_Out 端口的时候是没有问题的 ( SDA = SDA_In + SDA_Out )
但是一旦整合 SDA ,inout端口,仿真会一直出现“红线”~
整合表达式如下:
inout SDA;
reg SDA_Out;
wire SDA_In;
assign SDA_In = SDA;
assign SDA = isEn ? SDA_Out : 1'bz;
/**************************************************/
inout 端口是第一次玩~
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_582761PUZ4A1.jpg
(原文件名:why.jpg)
这是源代码:
点击此处下载 ourdev_582762Q4HVHJ.rar(文件大小:1.50M) (原文件名:Experiment13.rar)
呜呜,已经测试4天了! 总线冲突了吧。
isEn怎么控制的?虽然实际SDA是上拉的,可以一起输出,但是你的模块和testbench都不能一起输出…… 楼主可以看看下面的链接
http://blog.ednchina.com/ilove314/152825/message.aspx
它的仿真就没有问题! 嗯,特权同学的呀!
参考过了,但是代码风格 ... 让我畏惧!
我的问题是:“为什么会有红色线”?
/********************************************/
已经找到原因了,但是还是找不到方法解决~
嗯,死马当活马医吧! 你可以试试做如下定义
inout SDA
output scl
仿真时定义如下
wire scl
wire sda
看看还有没有红线?
我仿真过特权的代码,是没有红线的!如何你的按照上述定义有红线,是不是代码本身有点问题! 咕~~(╯﹏╰)b!
inout的定义基本是一样!
问题发生在是,我没有加入源文件编译!
红线,没有影响任何输出呀!
不过很感谢你呀! 那现在问题解决了吗?我最近也在做IIC方面的程序,有时间多讨论一下,感谢你的Verilog那些事,对我这样的初学者意义很大!希望能推出更多的实例! 呵呵,楼上你爱开玩笑呀!
嗯!忽然感触起来,想起用AVR驱动IIC的年代 ...
页:
[1]