yosys/tests/memories/issue00335.v

31 lines
645 B
Verilog
Raw Normal View History

2019-06-25 10:43:58 -05:00
// expect-wr-ports 1
// expect-rd-ports 1
// expect-rd-clk \clk
2024-04-08 05:44:37 -05:00
module ram2 #(
parameter SIZE = 5 // Address size
) (input clk,
2019-06-25 10:43:58 -05:00
input sel,
input we,
input [SIZE-1:0] adr,
input [63:0] dat_i,
output reg [63:0] dat_o);
2024-04-08 05:44:37 -05:00
2019-06-25 10:43:58 -05:00
reg [63:0] mem [0:(1 << SIZE)-1];
integer i;
initial begin
for (i = 0; i < (1<<SIZE) - 1; i = i + 1)
mem[i] <= 0;
end
always @(posedge clk)
if (sel) begin
if (~we)
dat_o <= mem[adr];
else
mem[adr] <= dat_i;
end
endmodule