关于VERILOG中INOUT引脚的用法
时间:10-02
整理:3721RD
点击:
今天写了个SDRAM,一个引脚a定义为inout,用一个WR控制读写,WR=1从引脚a读数据,WR=0从引脚a写入数据,但发现读的数据不对,不知道问题出在哪里,请问Inout的用法是啥,求解。
inout后面要加双向三态门吧?
定义个reg_buffer,当inout作为out port时候,reg_buffer assign给inout。
双向口一般只会出现在pad,内部使用时应该包括这样一组信号:a_out(输出),a_in(输入),oe(输出使能)。最简单的使用方法就是oe无效时,将io口赋高阻态,代码示例:
- assign a_in = a_io;
- assign a_io = oe ? a_out : 1'bz;
嗯,是要加个三态门来控制,不然assign语句一直赋值读和写会发生冲突。
正解!
学习了!
