永发信息网

困扰我半个月的CPLD双向通信IO口问题。下图为1对1的链接,我要用CPLD三选一,选到后再建立1对1的对接

答案:1  悬赏:30  手机版
解决时间 2021-11-26 04:14
  • 提问者网友:
  • 2021-11-25 08:59
困扰我半个月的CPLD双向通信IO口问题。下图为1对1的链接,我要用CPLD三选一,选到后再建立1对1的对接
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-11-25 10:12
双向口有固定描述格式,添加输出Z的描述,否则综合不出来三态门的。两个建议:
1、重写双向口描述,例子:
三态门控制信号oe为1,bidir为输出,否则输出Z(即为输入)
ARCHITECTURE behavior OF bidir_pin IS
BEGIN
bidir <= from_core WHEN oe=‘1’ ELSE “ZZZZ”;
to_core <= bidir;
END behavior;
2、你要3选1,但是双向口描述的时候建议在参考上面结构的同时,把选择信号KE嵌套到if里去&一下,不要用case语句。VHDL我不熟,但是verilog里双向口控制信号加一级case语句有时候会出问题。追问这个问题我昨天已经解决了,谢谢你。但是出的仿真不是我想要的那样,像你回答的那样,oe是个三态信号,oe为1时bidir为输出,实际应用中我的oe信号很短暂可能只有一两个时钟周期,而bidir的输入可能在延迟一段时间(这个时间我并确定)后才发送有用信号,我希望oe在未赋值0之前的高阻“Z”状态下仍然保持它先前1时的端口链接。在0变1中间的那段高阻态时也保持0的端口链接状态。追答。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯