请讲解一下这个例子中的inout用法
本帖最后由 fpgaw 于 2010-7-12 11:38 编辑module ram(clk,we,data,addr);
input clk,we;
inout data;
input addr;
reg mem;
reg data_out_reg;
assign data=we?'bz:data_out_reg; //如果we=1,data 为高阻
always@(posedge clk)
begin
if(we)
mem<=data; //we为1写操作,但是之前data为高阻,那么写进去的数不都是高阻吗
end
always@(posedge clk)
begin
if(~we)
data_out_reg<=mem;
end
endmodule
不知道我的理解哪里有问题,请指点下,谢谢!(注释是我自己的理解) DATA是数据线支持三态。在进行写操作时(WE=1),有外部设备提供数据。当然,在你的FPGA内部就应该把DATA置为高阻状态。否则,数据就不正确了。反之,亦然。
DATA是数据线支持三态。在进行写操作时(WE=1),有外部设备提供数据。当然,在你的FPGA内部就应该把DATA置为高阻状态。否则,数据就不正确了。反之,亦然。
页:
[1]