在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: puyuwei

[求助] fgpa 如何实现inout 互联

[复制链接]
发表于 2011-5-20 13:30:07 | 显示全部楼层
你既然都知道一个inout如何实现,那你应该知道在内部其实它是被转化为三根线吧?另一个inout同样处理,然后相互的输入给输出,应该就可以了吧,在内部就直接对单独的输入和输出作处理即可。我是这么理解的。
发表于 2011-5-20 13:52:36 | 显示全部楼层
回复 7# puyuwei


    程序定义A、B为inout
    数据由主到从时,B为输出,A为输入,B<=A;
    数据由从到主时,A为输出,B为输入,A<=B;
 楼主| 发表于 2011-5-20 16:00:11 | 显示全部楼层
回复 12# qlengyu


    关键的是fpga内部布线后会在线上加入buf ,所以直接在内部不好连接,      而我们普通的inout端口都是和外部连接的,一般都是三态结构 ,内部in 和out是分开的  ,没有遇到过inout直接内部互联的情况。
 楼主| 发表于 2011-5-20 16:02:12 | 显示全部楼层
回复 11# gaurson


    我也这么理解,但是仿真时 加入到我们的project后发现行不通
发表于 2011-5-20 17:22:10 | 显示全部楼层
不能直接互相赋值,内部需要分别增加一个OE使能(即方向控制),例如,当OE_A=1时,A=B,否则A=‘Z’,B反过来
发表于 2011-5-20 17:42:39 | 显示全部楼层
你的双向输出没有三态么?
inout  a,b;
wire   inner_a,inner_b ;
assign  inner_a = a ;
assign  inner_b = b;
assogn  a = (a_tri_buf_control) inner_b ?  1'bz ;
assogn  b = (b_tri_buf_control) inner_a ?  1'bz ;
发表于 2011-12-15 14:35:04 | 显示全部楼层
我也在做这个事情,也不知怎么做。
自已设想了一下,想做个模块把两个引脚连起来,但感觉对数据流的方向
要做了判断,但其中只定要有一个bit数据的时间延时,有点麻烦.
发表于 2012-7-11 22:05:10 | 显示全部楼层
楼主您好,请问这个问题您解决了吗?小弟初涉FPGA,也遇到了跟您一样的问题,也是关于IIC的控制的,需要内部直连,还比较着急,如果您已经解决了的话麻烦赐教,不胜感激!!!小弟邮箱:chenboworkhard@163.com,再次表示感谢!!!
发表于 2012-7-11 23:00:43 | 显示全部楼层
回复 1# puyuwei


   懂你的意思,不过我还没找到合适的办法,关注中
发表于 2013-10-11 23:25:34 | 显示全部楼层
本帖最后由 barrypp 于 2013-10-11 23:28 编辑

感觉16楼是正解,关键在于需要额外引出三态使能信号,在FPGA中把inout信号拆开,再处理。
一个可能的解决方案:http://hi.baidu.com/barrypp/item/aa1217a79a0e0f9e14107367
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-28 20:04 , Processed in 0.020700 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表