找回密码
 注册
搜索
查看: 929|回复: 4

[讨论] [求助]CPLD verilog两双向口通信问题

[复制链接]
发表于 2008-9-6 16:27:46 | 显示全部楼层 |阅读模式
/*
刚开始接触verilog
现有两个八位双向口A和B,OE为读信号,WE为写信号,怎么能实现OE为低时执行A-->B通信,WE为低时执行B-->A通信?
请各位大侠帮我看一下下面的程序有什么问题,谢谢!
*/

module bir(A, B, OE, WE)
inout [ 7 : 0 ] A;
inout [ 7 : 0 ] B;
input OE;
input WE;
assign B = ( OE==0)? A: 8'hzz;
assign A=  ( WE==0)? B: 8'hzz;
endmodule
 楼主| 发表于 2008-9-6 16:30:35 | 显示全部楼层
上面多写了两个“\”,在此改正,请各位不吝赐教,谢谢
module bir(A, B, OE, WE)
inout [ 7 : 0 ] A;
inout [ 7 : 0 ] B;
input OE;
input WE;
assign B = ( OE==0)? A: 8'hzz;
assign A=  ( WE==0)? B: 8'hzz;
endmodule
点评回复

使用道具 举报

 楼主| 发表于 2008-9-6 16:31:29 | 显示全部楼层
\ 怎么总自己出来啊?奇怪!
点评回复

使用道具 举报

发表于 2008-9-11 10:34:07 | 显示全部楼层
以下是引用hrbjty在2008-9-6 16:27:46的发言:
/*
刚开始接触verilog
现有两个八位双向口A和B,OE为读信号,WE为写信号,怎么能实现OE为低时执行A-->B通信,WE为低时执行B-->A通信?
请各位大侠帮我看一下下面的程序有什么问题,谢谢!
*/

module bir(A, B, OE, WE)
inout [ 7 : 0 ] A;
inout [ 7 : 0 ] B;
input OE;
input WE;
assign B = ( OE==0)? A: 8'hzz;////(!OE&WE)?A:8'hzz;
assign A=                ( WE==0)? B: 8'hzz;////(OE&!WE)?B:8'hzz
endmodule
点评回复

使用道具 举报

发表于 2008-9-14 22:41:10 | 显示全部楼层
学习下[em05]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 03:36 , Processed in 1.225385 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表