请教verilog HDL中的双向开关tranif0

[复制链接]
5998|3
 楼主| zhaoyi10 发表于 2011-1-18 20:04 | 显示全部楼层 |阅读模式
小弟最近需要用CPLD做一个类似总线扩展器的电路——双向SDA信号线接入CPLD,通过CPLD开关控制,输出4路SDA信号(同一时刻只有一路SDA信号可以输出)。现在大部分双向总线都是采用三态来模拟的,但是感觉比较复杂所以想用Verilog自带的双向开关tranif0来完成这项功能。运用双向开关仿真可以得到想要的结果,但是我的综合器不能综合tranif0。请教各位大侠tranif0这样的双向开关用Verilog是怎样实现的,这样我可以编写一个相应模块调用即可。谢谢
jeaper 发表于 2011-1-20 19:15 | 显示全部楼层
verilog 模拟也不复杂吧
输出:
assign   dataio = out_en ?  data : 1'bz ;
输入时直接读取就可以。
ar_dong 发表于 2011-1-26 11:54 | 显示全部楼层
呵呵 fpga双向口还是有难度的
必须想办法避免两个口之间的自激震荡
当然,严格意义上的i2c的scl也是双向的
不过最保险的办法是窃听协议,根据协议确定输出方向
whiteLi 发表于 2015-10-18 21:11 | 显示全部楼层
请问楼主这个问题解决了没?现在遇到了类似的问题,求请教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

6

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部