`timescale 1ns/1ns
module RAM_1port(
input clk,
input rst,
input enb,
input [6:0]addr,
input [3:0]w_data,
output wire [3:0]r_data
);
//*************code***********//
reg [3:0] ram_data[127:0];
genvar i;
generate for(i=0;i<128;i=i+1)
begin
always@(posedge clk or negedge rst) begin
if(!rst)
ram_data[i] <= 4'd0;
else if(enb)
ram_data[addr] <= w_data;
end
end
endgenerate
assign r_data = (~enb)?ram_data[addr]:4'd0;
//*************code***********//
endmodule
module RAM_1port(
input clk,
input rst,
input enb,
input [6:0]addr,
input [3:0]w_data,
output wire [3:0]r_data
);
//*************code***********//
reg [3:0] ram_data[127:0];
genvar i;
generate for(i=0;i<128;i=i+1)
begin
always@(posedge clk or negedge rst) begin
if(!rst)
ram_data[i] <= 4'd0;
else if(enb)
ram_data[addr] <= w_data;
end
end
endgenerate
assign r_data = (~enb)?ram_data[addr]:4'd0;
//*************code***********//
endmodule