diff --git a/example_demo/alinx_ax7103b/ax7103_ddr3.v b/example_demo/alinx_ax7103b/ax7103_ddr3.v
index dd58b72..a260f41 100644
--- a/example_demo/alinx_ax7103b/ax7103_ddr3.v
+++ b/example_demo/alinx_ax7103b/ax7103_ddr3.v
@@ -16,7 +16,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/example_demo/alinx_ax7325b/ax7325b_ddr3.v b/example_demo/alinx_ax7325b/ax7325b_ddr3.v
index 0773307..7f2d10d 100644
--- a/example_demo/alinx_ax7325b/ax7325b_ddr3.v
+++ b/example_demo/alinx_ax7325b/ax7325b_ddr3.v
@@ -17,7 +17,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/example_demo/arty_s7/arty_ddr3.v b/example_demo/arty_s7/arty_ddr3.v
index d654e5f..ef299c3 100644
--- a/example_demo/arty_s7/arty_ddr3.v
+++ b/example_demo/arty_s7/arty_ddr3.v
@@ -16,7 +16,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/example_demo/enclustra_kx2_st1/enclustra_ddr3.v b/example_demo/enclustra_kx2_st1/enclustra_ddr3.v
index 0574947..1df9e34 100644
--- a/example_demo/enclustra_kx2_st1/enclustra_ddr3.v
+++ b/example_demo/enclustra_kx2_st1/enclustra_ddr3.v
@@ -16,7 +16,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/example_demo/qmtech_wukong/wukong_ddr3.v b/example_demo/qmtech_wukong/wukong_ddr3.v
index df9ddf5..0fc69a1 100644
--- a/example_demo/qmtech_wukong/wukong_ddr3.v
+++ b/example_demo/qmtech_wukong/wukong_ddr3.v
@@ -16,7 +16,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/example_demo/sechzig_mx2/sechzig_mx2_ddr3.v b/example_demo/sechzig_mx2/sechzig_mx2_ddr3.v
index de857b6..6219492 100644
--- a/example_demo/sechzig_mx2/sechzig_mx2_ddr3.v
+++ b/example_demo/sechzig_mx2/sechzig_mx2_ddr3.v
@@ -16,7 +16,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
// Copyright (C) 2024 Lone Dynamics Corporation
//
// This program is free software: you can redistribute it and/or modify
diff --git a/rtl/ddr3_controller.v b/rtl/ddr3_controller.v
index 4768686..ede1081 100644
--- a/rtl/ddr3_controller.v
+++ b/rtl/ddr3_controller.v
@@ -17,7 +17,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/rtl/ddr3_phy.v b/rtl/ddr3_phy.v
index 5211865..927098e 100644
--- a/rtl/ddr3_phy.v
+++ b/rtl/ddr3_phy.v
@@ -11,7 +11,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/rtl/ddr3_top.v b/rtl/ddr3_top.v
index 7d26733..ca7c550 100644
--- a/rtl/ddr3_top.v
+++ b/rtl/ddr3_top.v
@@ -10,7 +10,7 @@
//
////////////////////////////////////////////////////////////////////////////////
//
-// Copyright (C) 2023-2024 Angelo Jacobo
+// Copyright (C) 2023-2025 Angelo Jacobo
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/rtl/spd/spd_reader.v b/rtl/spd/spd_reader.v
index 7187753..f493db9 100644
--- a/rtl/spd/spd_reader.v
+++ b/rtl/spd/spd_reader.v
@@ -1,3 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Filename: spd_reader.v
+// Project: Serial Presence Detect (SPD) Reader for UberDDR3
+//
+// Purpose: Communicates with the SPD (Serial Presence Detect) chip on the
+// DDR3 DIMM using the I2C protocol to retrieve essential timing parameters
+// and configuration details required by UberDDR3. The SPD report will be
+// reported via the UART line.
+//
+// Engineer: Angelo C. Jacobo
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (C) 2023-2025 Angelo Jacobo
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+////////////////////////////////////////////////////////////////////////////////
+
`default_nettype none
`timescale 1ns / 1ps
@@ -15,15 +46,6 @@ module spd_reader (
output wire uart_tx
);
- // byte 2: DRAM Device Type (DDR3 SDRAM = 0x0B)
- // byte 3: Module Type (SO-DIMM = 0x03)
- // byte 4: SDRAM Density and Banks ([6:4] = BA_BITS, [3:0] = SDRAM capacity)
- // byte 5: SDRAM Addressing ([5:3] = Row Addr , [2:0] = Column Addr)
- // byte 7: Module Organization ([5:3] = Ranks , Device Width = [2:0])
- // byte 8: Module Memory Bus Width ([2:0] = Bus Width)
- // byte 10,11: Medium Timebase (MTB) Dividend (0x01), Medium Timebase (MTB) Divisor (0x08 = 0.125ns , 0x10 = 0.0625ns) (tXX = tXX(MTB) * MTB)
- // byte 12: SDRAM Minimum Cycle Time tCK
-
localparam I2C_ADDRESS = 7'h30;
localparam IDLE = 0,
READ_ADDRESS = 1,
diff --git a/rtl/spd/spd_reader_top.v b/rtl/spd/spd_reader_top.v
index 906df0c..b7647b4 100644
--- a/rtl/spd/spd_reader_top.v
+++ b/rtl/spd/spd_reader_top.v
@@ -1,3 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Filename: spd_reader_top.v
+// Project: Top-level file for SPD reader (intended for AX7325B FPGA board)
+//
+// Engineer: Angelo C. Jacobo
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (C) 2023-2025 Angelo Jacobo
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+////////////////////////////////////////////////////////////////////////////////
+
`default_nettype none
`timescale 1ns / 1ps