首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

有哪位高手用过Verilog 中inout的,请指点兄弟一把,急啊!救命啊!!!

wire tri_inout; // 这句话哪里去了?
系统默认的就是wire型,加不加wire tri_inout效果一样
我认为关键的问题在于assign tri_inout=oe?in_n:'bz,建议将oe和we同时加入控制试试--原因无非是输入输出控制
把:2'b01: begin out_n<= ri_inout; in_n<= 1'bz end 改为: 2'b01: begin out_n<= 1'bz; in_n<= 1'bz end
非常感谢大侠们的帮助,但问题仍然没有解决,inout端口只能起到输入输出中的一项功能,另一个就是不定态(我用的编译、仿真软件都是maxplus2),我现在是狂郁闷!
当有数据输出时,将此时的数据输入的信号设为高阻 inout在仿真时是分成input和output两个管脚,当有数据输出时,必须把此时的输            入的信号设为高阻               
                       
        input xxxxxxxxxxxxxxxxx_________--------xxxxxxxxx               
        output---------________xxxxxxxxxxxxxxxxx---------               
        enable-----------------_________________---------               
                       
        enabale有效时,表示输出允许,输入就不能有仿真信号,enable无效时,才能输入仿        真信号。 否则会导致仿真信号冲突仿真

有哪位高手用过Verilog 中inout的,请指点兄弟一把,急啊!救命啊!!!

为什么我设计的程序,仿真时总是出现: found logic contention at 48.51us on node tri_inout1 found logic contention at 48.51us on node tri_inout2(tri_inout [2:1] 是我定义的inout端口) 到底是什么地方有毛病呢? 我的源程序如下: module inout_test(we,oe,in,tri_inout,out); inout[2:1] tri_inout; output[2:1] out; input[2:1] in; input we,oe; reg[2:1] out_n,in_n; assign tri_inout=oe?in_n:'bz; assign out=out_n; always@(oe or we) begin case({oe,we}) 2'b01: begin out_n<=tri_inout; in_n<='bz;?? end 2'b10: begin in_n<=in; out_n<='bz; end default: begin out_n<='bz; in_n<='bz; end endcase end endmodule
老兄,我遇到的问题和你一样,不知道解决没有,我想肯定是没问题了。怎么样,              解救老弟一把,虽然我用VHDL,但二者现象一样。
返回列表