From b11ba35ba84fc9b902f3d5217e89e63462046f76 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Thu, 26 Dec 2024 21:42:34 +0200 Subject: Develop fpga --- atk16_fpga/bram.v | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 atk16_fpga/bram.v (limited to 'atk16_fpga/bram.v') diff --git a/atk16_fpga/bram.v b/atk16_fpga/bram.v new file mode 100644 index 0000000..c814c67 --- /dev/null +++ b/atk16_fpga/bram.v @@ -0,0 +1,37 @@ +`default_nettype none + +/* + * Copyright 2020 Brian O'Dell + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +module bram ( + input clk, + input [15:0] addr, + input cs_n, + input wr_n, + input rd_n, + input [15:0] bram_data_in, + output reg [15:0] bram_data_out +); + + reg [15:0] mem [16'hEFFF:0]; + + always @(posedge clk) + if (cs_n == 1'b0) begin + if (wr_n == 1'b0) mem[addr] <= bram_data_in; + if (rd_n == 1'b0) bram_data_out <= mem[addr]; + end + endmodule -- cgit v1.3