微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 菜鸟求助,inout口的定义

菜鸟求助,inout口的定义

时间:10-02 整理:3721RD 点击:
我用verilog写的一个程序  I2C_SDAT是inout口,在源文件中定义成assign I2C_SDAT=I2C_SDAT_EN?SDO:1'bz;(SDO为output)                                                                激励文件中定义initial
                                                                                   begin
                                                                                    I2C_SDAT_EN=1;
                                                                                  treg_I2C_SDAT=0;
                                                                                                         end
                                                                               assign I2C_SDAT=I2C_SDAT_EN?SDO:1'bz;仿真出来的波形



在I2C_SDAT的波形总体跟SDO都是一致的,但是I2C_SDAT上升沿全部变红线了,要怎样修改才能使I2C_SDAT跟SDO全部一致,都是绿线

求大神帮忙,菜鸟完全不懂这些问题

可以的话,把代码列详细点啊!

根据定义inout口看似没错。
问题可能出在SDO上,你定义了SDO为reg吗?具体的赋值语句是什么?很可能是那里出了问题。或者是你有multiple signal assign comfilct,也就是用多个语句同时赋值给SDO。
PS,你给的信息太少了,我只能帮你到这了。

SDO应该是内部reg

自己改几次代码,看一下有什么变化,比如不用选择语句。

加pullup(I2C_SDAT);I2C总线要上拉!

外部需要增加pullup。

上拉上拉

应该是对SDA赋值有冲突

加pull up

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top