空间为128*16的ram,数据端口为inout端口
模块程序:
`timescale 1ns / 1ps
module ram_tri(
input i_we,i_clk,
input [6:0] i_addr,
inout [15:0] io_data
);
reg [15:0] mem [127:0];
always @ (posedge i_clk)
if(i_we)
mem[i_addr]<=io_data;
assign io_data=(!i_we)? mem[i_addr]:8'hzz;
endmodule
激励文件:
`timescale 1ns / 1ps
module test_ram();
reg i_we;
reg i_clk;
reg [6:0] i_addr;
reg [15:0] data;
wire [15:0] data_wire;
ram_tri test(
.i_we(i_we),
.i_clk(i_clk),
.i_addr(i_addr),
.io_data(data_wire)
);
integer i;
initial begin
i_clk=1'b0;
i_we=1'b1;//写
i_addr=7&#