diff --git a/README.md b/README.md
index b155839..c9fd837 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,20 @@
+<!---
+# SPDX-FileCopyrightText: 2020 RIOS Lab
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+-->
+
 # RIOS Lab GreenRio1.0 RISC-V Processor GF180 Version
 
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![UPRJ_CI](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml) [![Caravel Build](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml)
diff --git a/verilog/base.sdc b/verilog/base.sdc
index 0b64f49..10e4ed4 100755
--- a/verilog/base.sdc
+++ b/verilog/base.sdc
@@ -1,3 +1,19 @@
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# 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.
+# SPDX-License-Identifier: Apache-2.0
+
+# Include caravel global defines for the number of the user project IO pads 
 ###############################################################################
 # Created by write_sdc
 # Wed Nov 10 17:01:46 2021
diff --git a/verilog/rtl/defines.v b/verilog/rtl/defines.v
index 44a29a0..0a7b96c 100644
--- a/verilog/rtl/defines.v
+++ b/verilog/rtl/defines.v
@@ -50,6 +50,22 @@
 
 // not really parameterized but just to easily keep track of the number
 // of ram_block across different modules
+// SPDX-FileCopyrightText: 2020 Efabless Corporation
+//
+// 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.
+// SPDX-License-Identifier: Apache-2.0
+
+// Include caravel global defines for the number of the user project IO pads 
 `define RAM_BLOCKS 1
 
 // Clock divisor default value
diff --git a/verilog/rtl/user_defines.v b/verilog/rtl/user_defines.v
index 5f1ba27..0954f62 100644
--- a/verilog/rtl/user_defines.v
+++ b/verilog/rtl/user_defines.v
@@ -25,20 +25,18 @@
 // Authoritive source of these MODE defs is: caravel/verilog/rtl/user_defines.v
 // Useful GPIO mode values.  These match the names used in defs.h.
 //
-`define GPIO_MODE_MGMT_STD_INPUT_NOPULL    13'h0403
-`define GPIO_MODE_MGMT_STD_INPUT_PULLDOWN  13'h0c01
-`define GPIO_MODE_MGMT_STD_INPUT_PULLUP    13'h0801
-`define GPIO_MODE_MGMT_STD_OUTPUT          13'h1809
-`define GPIO_MODE_MGMT_STD_BIDIRECTIONAL   13'h1801
-`define GPIO_MODE_MGMT_STD_ANALOG          13'h000b
 
-`define GPIO_MODE_USER_STD_INPUT_NOPULL    13'h0402
-`define GPIO_MODE_USER_STD_INPUT_PULLDOWN  13'h0c00
-`define GPIO_MODE_USER_STD_INPUT_PULLUP    13'h0800
-`define GPIO_MODE_USER_STD_OUTPUT          13'h1808
-`define GPIO_MODE_USER_STD_BIDIRECTIONAL   13'h1800
-`define GPIO_MODE_USER_STD_OUT_MONITORED   13'h1802
-`define GPIO_MODE_USER_STD_ANALOG          13'h000a
+`define GPIO_MODE_MGMT_STD_INPUT_NOPULL    10'h007
+`define GPIO_MODE_MGMT_STD_INPUT_PULLDOWN  10'h047
+`define GPIO_MODE_MGMT_STD_INPUT_PULLUP    10'h087
+`define GPIO_MODE_MGMT_STD_OUTPUT          10'h00b
+`define GPIO_MODE_MGMT_STD_BIDIRECTIONAL   10'h009
+
+`define GPIO_MODE_USER_STD_INPUT_NOPULL    10'h006
+`define GPIO_MODE_USER_STD_INPUT_PULLDOWN  10'h046
+`define GPIO_MODE_USER_STD_INPUT_PULLUP    10'h086
+`define GPIO_MODE_USER_STD_OUTPUT          10'h00a
+`define GPIO_MODE_USER_STD_BIDIRECTIONAL   10'h008
 
 // The power-on configuration for GPIO 0 to 4 is fixed and cannot be
 // modified (allowing the SPI and debug to always be accessible unless
@@ -52,41 +50,41 @@
 // up in a state that can be used immediately without depending on
 // the management SoC to run a startup program to configure the GPIOs.
 
-`define USER_CONFIG_GPIO_5_INIT  `GPIO_MODE_MGMT_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_6_INIT  `GPIO_MODE_MGMT_STD_INPUT_PULLDOWN
-`define USER_CONFIG_GPIO_7_INIT  `GPIO_MODE_MGMT_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_8_INIT  `GPIO_MODE_MGMT_STD_OUTPUT 
-`define USER_CONFIG_GPIO_9_INIT  `GPIO_MODE_MGMT_STD_BIDIRECTIONAL
-`define USER_CONFIG_GPIO_10_INIT `GPIO_MODE_MGMT_STD_ANALOG
-`define USER_CONFIG_GPIO_11_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_12_INIT `GPIO_MODE_USER_STD_INPUT_PULLDOWN
-`define USER_CONFIG_GPIO_13_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP
+`define USER_CONFIG_GPIO_5_INIT  `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_6_INIT  `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_7_INIT  `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_8_INIT  `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_9_INIT  `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_10_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_11_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_12_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_13_INIT `GPIO_MODE_INVALID
 
 // Configurations of GPIO 14 to 24 are used on caravel but not caravan.
-`define USER_CONFIG_GPIO_14_INIT `GPIO_MODE_USER_STD_OUTPUT 
-`define USER_CONFIG_GPIO_15_INIT `GPIO_MODE_USER_STD_BIDIRECTIONAL
-`define USER_CONFIG_GPIO_16_INIT `GPIO_MODE_USER_STD_OUT_MONITORED
-`define USER_CONFIG_GPIO_17_INIT `GPIO_MODE_USER_STD_ANALOG 
-`define USER_CONFIG_GPIO_18_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_19_INIT `GPIO_MODE_MGMT_STD_INPUT_PULLDOWN 
-`define USER_CONFIG_GPIO_20_INIT `GPIO_MODE_MGMT_STD_BIDIRECTIONAL
-`define USER_CONFIG_GPIO_21_INIT `GPIO_MODE_MGMT_STD_ANALOG
-`define USER_CONFIG_GPIO_22_INIT `GPIO_MODE_USER_STD_INPUT_PULLDOWN 
-`define USER_CONFIG_GPIO_23_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_24_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
+`define USER_CONFIG_GPIO_14_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_15_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_16_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_17_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_18_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_19_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_20_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_21_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_22_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_23_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_24_INIT `GPIO_MODE_INVALID
 
-`define USER_CONFIG_GPIO_25_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_26_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_27_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_28_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_29_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_30_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_31_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_32_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_33_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_34_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_35_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_36_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
-`define USER_CONFIG_GPIO_37_INIT `GPIO_MODE_USER_STD_INPUT_PULLUP 
+`define USER_CONFIG_GPIO_25_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_26_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_27_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_28_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_29_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_30_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_31_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_32_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_33_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_34_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_35_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_36_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_37_INIT `GPIO_MODE_INVALID
 
 `endif // __USER_DEFINES_H
\ No newline at end of file
diff --git a/verilog/rtl/user_proj_example.v b/verilog/rtl/user_proj_example.v
index 26081e9..f7f2360 100644
--- a/verilog/rtl/user_proj_example.v
+++ b/verilog/rtl/user_proj_example.v
@@ -39,8 +39,8 @@
     parameter BITS = 32
 )(
 `ifdef USE_POWER_PINS
-    inout vccd1,	// User area 1 1.8V supply
-    inout vssd1,	// User area 1 digital ground
+    inout vdd,	// User area 1 1.8V supply
+    inout vss,	// User area 1 digital ground
 `endif
 
     // Wishbone Slave ports (WB MI A)
@@ -56,9 +56,9 @@
     output [31:0] wbs_dat_o,
 
     // Logic Analyzer Signals
-    input  [127:0] la_data_in,
-    output [127:0] la_data_out,
-    input  [127:0] la_oenb,
+    input  [63:0] la_data_in,
+    output [63:0] la_data_out,
+    input  [63:0] la_oenb,
 
     // IOs
     input  [`MPRJ_IO_PADS-1:0] io_in,
@@ -162,4 +162,4 @@
     end
 
 endmodule
-`default_nettype wire
+`default_nettype wire
\ No newline at end of file
diff --git a/verilog/rtl_sram_out_cache/hehe/src/base.sdc b/verilog/rtl_sram_out_cache/hehe/src/base.sdc
index 837fb81..e3f6119 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/base.sdc
+++ b/verilog/rtl_sram_out_cache/hehe/src/base.sdc
@@ -1,3 +1,18 @@
+# SPDX-FileCopyrightText: 2022 RIOSLab
+#
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
 ###############################################################################
 # Created by write_sdc
 # Wed Nov 10 17:01:46 2021
diff --git a/verilog/rtl_sram_out_cache/hehe/src/cache/l1icache_32.v b/verilog/rtl_sram_out_cache/hehe/src/cache/l1icache_32.v
index 1774b55..2e54145 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/cache/l1icache_32.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/cache/l1icache_32.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module  l1icache_32 
 #(
     parameter VIRTUAL_ADDR_LEN = 32,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/cache/params.vh b/verilog/rtl_sram_out_cache/hehe/src/cache/params.vh
index b8deb41..99cb6d2 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/cache/params.vh
+++ b/verilog/rtl_sram_out_cache/hehe/src/cache/params.vh
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef PARAMS_VH
 `define PARAMS_VH
 // MACROS
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/core_empty.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/core_empty.v
index d30e30c..9d16bff 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/core_empty.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/core_empty.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `include "params.vh"
 module core_empty #(
     parameter XLEN = 64,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/ac.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/ac.v
index b8ed12e..b2b1eed 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/ac.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/ac.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 /////////////////////////
 // Author: Peichen Guo //
 //    RIOS Lab work    //
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/agu.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/agu.v
index 1b7c0ed..70ceb3b 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/agu.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/agu.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 /////////////////////////
 // Author: Peichen Guo //
 //    RIOS Lab work    //
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/cu.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/cu.v
index 7a80177..bafa4a2 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/cu.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/cu.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 /////////////////////////
 // Author: Peichen Guo //
 //    RIOS Lab work    //
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lr.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lr.v
index 567cdf2..c4411bc 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lr.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lr.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 /////////////////////////
 // Author: Peichen Guo //
 //    RIOS Lab work    //
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lsq.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lsq.v
index 5d069fe..56a276c 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lsq.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/lsq.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 /////////////////////////
 // Author: Peichen Guo //
 //    RIOS Lab work    //
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/nblsu.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/nblsu.v
index 635f952..9b9c39a 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/nblsu.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/nblsu.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 /////////////////////////
 // Author: Peichen Guo //
 //    RIOS Lab work    //
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/params.vh b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/params.vh
index b8deb41..99cb6d2 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/params.vh
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/lsu/params.vh
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef PARAMS_VH
 `define PARAMS_VH
 // MACROS
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/leaf_pte_check.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/leaf_pte_check.v
deleted file mode 100755
index 8225b3e..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/leaf_pte_check.v
+++ /dev/null
@@ -1,83 +0,0 @@
-`include "../params.vh"
-module leaf_pte_check
-    #(
-    parameter PTE_SIZE_IN_BIT = 64
-)
-    (
-
-    input [1:0] access_mode_i,
-    input csr_sstatus_mxr_i,
-    input csr_sstatus_sum_i,
-    input [1:0] priviledge_level_i,
-    input [1:0] page_table_level_i,
-
-    input pte_active_i,
-    input [PTE_SIZE_IN_BIT - 1 : 0] pte_i,
-    input pte_is_leaf_i,
-
-    output pte_valid_o,
-    output page_fault_valid_o
-);
-    reg page_fault_valid;
-
-
-    initial begin
-        page_fault_valid = 0;
-    end
-
-
-    always @(*) begin
-        if (pte_active_i && pte_is_leaf_i) begin
-            // Step 5: Check access mode
-            if ((access_mode_i == ACCESS_MODE_READ)
-            && (!pte_i[`pte_r] && !(pte_i[`pte_x] && csr_sstatus_mxr_i)))begin
-                page_fault_valid = 1;
-                $display("cause : 1");
-            end
-            else if ((access_mode_i == ACCESS_MODE_WRITE)
-            && (!pte_i[`pte_w]))begin
-                page_fault_valid = 1;
-                $display("cause : 2");
-            end
-            else if ((access_mode_i == ACCESS_MODE_EXECUTE)
-            && (!pte_i[`pte_x]))begin
-                page_fault_valid = 1;
-                $display("cause : 3");
-            end
-
-
-            // Step 5: Check priviledge level
-            else if ((priviledge_level_i == U_MODE) && !pte_i[`pte_u])begin
-                page_fault_valid = 1;
-                $display("cause : 4");
-            end
-            else if ((priviledge_level_i == S_MODE) && pte_i[`pte_u] && !csr_sstatus_sum_i)begin
-                page_fault_valid = 1;
-                $display("cause : 5");
-            end
-
-            // Step 6: misaligned superpage check
-            else if (((pte_i[`pte_ppn0] != 0) && (page_table_level_i > 0)) ||
-            ((pte_i[`pte_ppn1]!= 0) && (page_table_level_i > 1)))begin
-                page_fault_valid = 1;
-                $display("cause : 6");
-            end
-
-
-            // Step 7: 
-            else if (!pte_i[`pte_a] || ((access_mode_i == ACCESS_MODE_WRITE) && !pte_i[`pte_d]))begin
-                page_fault_valid = 1;
-                $display("cause : 7");
-            end
-            else
-                page_fault_valid = 0;
-
-        end else begin
-            page_fault_valid = 0;
-        end
-    end
-
-    assign pte_valid_o = ~page_fault_valid;
-    assign page_fault_valid_o = page_fault_valid;
-
-endmodule : leaf_pte_check
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/mmu_sv39.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/mmu_sv39.v
deleted file mode 100755
index 10b2dd4..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/mmu_sv39.v
+++ /dev/null
@@ -1,342 +0,0 @@
-
-`include "../params.vh"
-module mmu_sv39
-    #(
-    parameter PTE_SIZE = 8,
-    parameter PTE_SIZE_IN_BIT = 64,
-    parameter PAGE_TABLE_LEVELS = 3,
-
-    parameter VIRTUAL_ADDR_LEN_SV39 = 39,
-    parameter PHYSICAL_ADDR_LEN_SV39 = 56,
-    parameter PAGE_OFFSET_WIDTH = 12,
-
-    parameter VPN_WIDTH = 27,
-    parameter VPN_SLICE_WIDTH = 9,
-    parameter PPN_WIDTH = 44,
-    parameter PPN_SLICE_0_WIDTH = 9,
-    parameter PPN_SLICE_1_WIDTH = 9,
-    parameter PPN_SLICE_2_WIDTH = 26
-)
-    (
-    input                                   clk,
-    input                                   rstn,
-
-    input                                   flush_i,
-
-    input [63:0]                            csr_satp_i,
-    input [63:0]                            csr_mstatus_i,
-    input [1:0]                             priviledge_level_i,
-
-    input [1:0]                             access_mode_i,
-
-    // AGU -> MMU
-    input                                   lsu_req_valid_i,
-    input [VIRTUAL_ADDR_LEN_SV39 - 1 : 0]   lsu_req_addr_i,
-    output                                  lsu_req_ready_o,
-    // MMU -> AGU
-    output                                  lsu_resp_valid_o,
-    output [PHYSICAL_ADDR_LEN_SV39 - 1 : 0] lsu_resp_addr_o,
-    input                                   lsu_resp_ready_i,
-
-    // MMU -> Cache
-    output                                  ptw_req_valid_o,
-    output [PHYSICAL_ADDR_LEN_SV39 - 1 : 0] ptw_req_addr_o,
-    output [5:0]                            ptw_req_len_o,
-    input                                   ptw_req_ready_i,
-    // Cache -> MMU
-    input                                   ptw_resp_valid_i,
-    input [PTE_SIZE_IN_BIT - 1 : 0]         ptw_resp_pte_i,
-    output                                  ptw_resp_ready_o,
-
-    // Fault
-    output                                  page_fault_valid_o,
-    output [3:0]                            page_fault_cause_o
-);
-    initial begin
-        $dumpfile("wave.vcd");
-        $dumpvars;
-        $dumpon;
-        $dumpall;
-        $dumpflush;
-    end
-
-    // M0 Stage
-    // get input data from LSU/FETCH/CACHE
-
-    // Control signal
-    // LSU
-    wire m0_lsu_clk_en, m0_lsu_ready, m0_lsu_valid;
-    // CACHE
-    wire m0_ptw_clk_en, m0_ptw_ready, m0_ptw_valid;
-    // Payload
-    // LSU
-    reg                                                 m0_lsu_valid_d, m0_lsu_valid_q;
-    reg [1:0]                                           m0_priviledge_level_d, m0_priviledge_level_q;
-    reg                                                 m0_mprv_d, m0_mprv_q;
-    reg [1:0]                                           m0_mpp_d, m0_mpp_q;
-    reg                                                 m0_smxr_d, m0_smxr_q;
-    reg                                                 m0_ssum_d, m0_ssum_q;
-    reg [SATP_PPN_WIDTH - 1 : 0]                        m0_satp_ppn_d, m0_satp_ppn_q;
-    reg [SATP_ASID_WIDTH - 1 : 0]                       m0_satp_asid_d, m0_satp_asid_q;
-    reg [SATP_MODE_WIDTH - 1 : 0]                       m0_satp_mode_d, m0_satp_mode_q;
-    reg [VIRTUAL_ADDR_LEN_SV39 - 1 : 0]                 m0_virtual_address_d, m0_virtual_address_q;
-    reg [1:0]                                           m0_access_mode_d, m0_access_mode_q;
-    reg [1:0]                                           m0_init_page_table_level_d, m0_init_page_table_level_q;
-    // CACHE
-    reg                                                 m0_ptw_valid_d, m0_ptw_valid_q;
-    reg [PTE_SIZE_IN_BIT - 1 : 0]                       m0_ptw_pte_d, m0_ptw_pte_q;
-    reg [1:0]                                           m0_ptw_page_table_level_d, m0_ptw_page_table_level_q;
-
-
-    // M1 Stage
-    // Process and generate output
-
-    // Control signal
-    wire m1_lsu_clk_en, m1_lsu_valid, m1_lsu_ready;
-    wire m1_ptw_clk_en, m1_ptw_valid, m1_ptw_ready;
-
-    wire m1_stall_m0_lsu, m1_stall_m0_ptw;
-    wire m1_serve_ptw, m1_serve_lsu;
-
-    // Payload
-    reg                                     m1_lsu_valid_d, m1_lsu_valid_q;
-    reg                                     m1_ptw_valid_d, m1_ptw_valid_q;
-    reg [PHYSICAL_ADDR_LEN_SV39 - 1 : 0]    m1_lsu_resp_addr_d, m1_lsu_resp_addr_q;
-    reg [PHYSICAL_ADDR_LEN_SV39 - 1 : 0]    m1_ptw_req_addr_d, m1_ptw_req_addr_q;
-    reg                                     m1_page_fault_valid_d, m1_page_fault_valid_q;
-    reg [3:0]                               m1_page_fault_cause_d, m1_page_fault_cause_q;
-
-    // Intermediate register
-    reg [1:0]                               m1_page_table_level;
-    reg [PPN_SLICE_2_WIDTH -1 : 0]          m1_ppn2;
-    reg [PPN_SLICE_1_WIDTH -1 : 0]          m1_ppn1;
-    reg [PPN_SLICE_0_WIDTH -1 : 0]          m1_ppn0;
-    reg [PAGE_OFFSET_WIDTH -1 : 0]          m1_pgoff;
-
-    wire m1_req_next_level_pte;
-    wire m1_pte_is_leaf;
-    wire m1_pte_valid_leaf;
-
-    wire m1_page_fault_valid_illegal_page_table_level;
-    wire m1_page_fault_valid_illegal_req;
-    wire m1_page_fault_valid_invalid_pte;
-    wire m1_page_fault_valid_inaccessable_leaf_pte;
-
-
-    // Status management
-    reg m0_lsu_active_d, m0_lsu_active_q;
-    reg m0_ptw_active_d, m0_ptw_active_q;
-
-    assign m0_lsu_active_d = m0_ptw_valid ? 1'b0 : (m0_lsu_valid ? 1'b1 : m0_lsu_active_q);
-    assign m0_ptw_active_d = (m1_pte_is_leaf | m1_page_fault_valid_d) ? 1'b0: (m0_ptw_valid ? 1'b1 : m0_ptw_active_q);
-    
-
-
-    // M0 Stage
-    // Output
-    assign lsu_req_ready_o      = m0_lsu_ready & m0_ptw_ready;
-    assign ptw_resp_ready_o     = m0_ptw_ready;
-
-    // LSU
-    // Control
-    assign m0_lsu_clk_en            = m0_lsu_ready & m0_lsu_valid;
-    assign m0_lsu_ready             = ~m1_stall_m0_lsu;
-    assign m0_lsu_valid             = m0_lsu_ready & lsu_req_valid_i;
-    // Payload
-    assign m0_lsu_valid_d           = ~flush_i & (m1_stall_m0_lsu ? m0_lsu_valid_q : m0_lsu_clk_en);
-    assign m0_priviledge_level_d    = priviledge_level_i;
-    assign m0_mprv_d                = csr_mstatus_i[17];
-    assign m0_mpp_d                 = csr_mstatus_i[12:11];
-    assign m0_smxr_d                = csr_mstatus_i[`sstatus_mxr];
-    assign m0_ssum_d                = csr_mstatus_i[`sstatus_sum];
-    assign m0_satp_ppn_d            = csr_satp_i[SATP_PPN_WIDTH - 1 : 0];
-    assign m0_satp_asid_d           = csr_satp_i[SATP_ASID_WIDTH + SATP_PPN_WIDTH - 1 : SATP_PPN_WIDTH];
-    assign m0_satp_mode_d           = csr_satp_i[XLEN - 1 : XLEN - SATP_MODE_WIDTH];
-    assign m0_virtual_address_d     = lsu_req_addr_i;
-    assign m0_access_mode_d         = access_mode_i;
-    assign m0_init_page_table_level_d    = PAGE_TABLE_LEVELS - 1;
-    // CACHE
-    // Control
-    assign m0_ptw_clk_en            = m0_ptw_ready & m0_ptw_valid;
-    assign m0_ptw_ready             = ~m1_stall_m0_ptw;
-    assign m0_ptw_valid             = m0_ptw_ready & ptw_resp_valid_i;
-    // Payload
-    assign m0_ptw_valid_d           = ~flush_i & (m1_stall_m0_ptw ? m0_ptw_valid_q : m0_ptw_clk_en);
-    assign m0_ptw_pte_d                 = ptw_resp_pte_i;
-
-    assign m0_ptw_page_table_level_d    = m1_serve_ptw ? ((m0_ptw_page_table_level_q == 0) ? 0 : m0_ptw_page_table_level_q - 1) : m0_init_page_table_level_q;
-
-
-    // M1 Stage
-
-    // Output
-    assign lsu_resp_valid_o     = m1_lsu_valid_q & ~m1_page_fault_valid_q;
-    assign lsu_resp_addr_o      = m1_lsu_resp_addr_q;
-
-    assign ptw_req_valid_o      = m1_ptw_valid_q & ~m1_page_fault_valid_q;
-    assign ptw_req_addr_o       = m1_ptw_req_addr_q;
-    assign ptw_req_len_o        = PTE_SIZE;
-
-    assign page_fault_valid_o   = m1_page_fault_valid_q;
-    assign page_fault_cause_o   = m1_page_fault_cause_q;
-
-
-    // Internal logic
-
-
-    // If ptw is activated, lsu requeset should be blocked
-    // Priority: ptw > lsu
-    assign m1_stall_m0_lsu = m0_lsu_valid_q & (~m1_ptw_ready | ~m1_lsu_ready | m1_serve_ptw);
-    assign m1_stall_m0_ptw = m1_serve_ptw & (~m1_ptw_ready | ~m1_lsu_ready);
-
-    assign m1_lsu_clk_en = m1_lsu_valid & m1_lsu_ready;
-    // @FIXME
-    assign m1_lsu_valid = m1_lsu_ready & ((m0_ptw_valid_q & m1_pte_is_leaf) | m1_page_fault_valid_d);
-    assign m1_lsu_ready = lsu_resp_ready_i;
-
-    assign m1_ptw_clk_en = m1_ptw_valid & m1_ptw_ready;
-    // @FIXME
-    assign m1_ptw_valid = ptw_req_ready_i & ((m0_lsu_valid_q | m0_ptw_valid_q) & m1_req_next_level_pte | m1_page_fault_valid_d);
-    assign m1_ptw_ready = ptw_req_ready_i;
-
-    assign m1_lsu_valid_d = ~flush_i & m1_lsu_valid;
-    assign m1_ptw_valid_d = ~flush_i & m1_ptw_valid;
-
-
-    assign m1_serve_ptw         = m0_ptw_active_q;
-    assign m1_serve_lsu         = m0_lsu_active_q;
-    assign m1_page_table_level  = m1_serve_lsu ? m0_init_page_table_level_q : m0_ptw_page_table_level_q;
-
-    // Page fault logic
-    assign m1_page_fault_valid_illegal_req              = m1_serve_lsu & (m0_satp_ppn_q == 0);
-    assign m1_page_fault_valid_illegal_page_table_level = (m1_page_table_level == 0) & m1_req_next_level_pte;
-
-    assign m1_page_fault_valid_d = m1_page_fault_valid_inaccessable_leaf_pte | m1_page_fault_valid_invalid_pte | m1_page_fault_valid_illegal_req | m1_page_fault_valid_illegal_page_table_level;
-    assign m1_page_fault_cause_d = (m0_access_mode_q == ACCESS_MODE_READ) ? EXCEPTION_LOAD_PAGE_FAULT : ((m0_access_mode_q == ACCESS_MODE_WRITE) ? EXCEPTION_STORE_PAGE_FAULT : EXCEPTION_INSTR_PAGE_FAULT);
-
-    // Generate lsu response physical address
-    assign m1_ppn2              = ((m1_page_table_level <= 2) && m1_serve_ptw) ? m0_ptw_pte_q[`pte_ppn2] : {17'b0, m0_virtual_address_q[`va_vpn2]};
-    assign m1_ppn1              = ((m1_page_table_level <= 1) && m1_serve_ptw) ? m0_ptw_pte_q[`pte_ppn1] : m0_virtual_address_q[`va_vpn1];
-    assign m1_ppn0              = ((m1_page_table_level <= 0) && m1_serve_ptw) ? m0_ptw_pte_q[`pte_ppn0] : m0_virtual_address_q[`va_vpn0];
-    assign m1_pgoff             = m0_virtual_address_q[PAGE_OFFSET_WIDTH - 1 :0];
-    assign m1_lsu_resp_addr_d   = {m1_ppn2, m1_ppn1, m1_ppn0, m1_pgoff};
-
-    // Generate ptw requeset ppn
-    ptw #(
-    .PTE_SIZE                   (PTE_SIZE),
-    .PTE_SIZE_IN_BIT            (PTE_SIZE_IN_BIT),
-    .VIRTUAL_ADDR_LEN_SV39      (VIRTUAL_ADDR_LEN_SV39),
-    .PHYSICAL_ADDR_LEN_SV39     (PHYSICAL_ADDR_LEN_SV39),
-    .PAGE_OFFSET_WIDTH          (PAGE_OFFSET_WIDTH),
-    .VPN_SLICE_WIDTH            (VPN_SLICE_WIDTH)
-    ) ptw (
-        .ptw_enable_i           (m1_serve_ptw | m1_serve_lsu),
-        .page_table_level_i     (m1_page_table_level),
-        .virtual_address_i      (m0_virtual_address_q),
-        .pte_active_i           (m1_serve_ptw),
-        .pte_i                  (m0_ptw_pte_q),
-        .satp_ppn_i             (m0_satp_ppn_q),
-        .pte_is_leaf_o          (m1_pte_is_leaf),
-        .req_next_level_pte_o   (m1_req_next_level_pte),
-        .pte_req_address_o      (m1_ptw_req_addr_d),
-        .page_fault_valid_o     (m1_page_fault_valid_invalid_pte)
-
-    );
-
-    leaf_pte_check #(
-    .PTE_SIZE_IN_BIT(PTE_SIZE_IN_BIT)
-    ) ptw_leaf (
-        .access_mode_i          (m0_access_mode_q),
-        .csr_sstatus_mxr_i      (m0_smxr_q),
-        .csr_sstatus_sum_i      (m0_ssum_q),
-        .priviledge_level_i     (m0_priviledge_level_q),
-        .page_table_level_i     (m1_page_table_level),
-        .pte_active_i           (m1_serve_ptw),
-        .pte_i                  (m0_ptw_pte_q),
-        .pte_is_leaf_i          (m1_pte_is_leaf),
-        .pte_valid_o            (m1_pte_valid_leaf),
-        .page_fault_valid_o     (m1_page_fault_valid_inaccessable_leaf_pte)
-    );
-
-
-    always @(posedge clk) begin : m0_lsu_valid_dff
-        if (~rstn) begin
-            m0_lsu_valid_q <= 1'b0;
-            m0_lsu_active_q <= 1'b0;
-        end else begin
-            m0_lsu_valid_q <= m0_lsu_valid_d;
-            m0_lsu_active_q <= m0_lsu_active_d;
-        end
-    end
-
-    always @(posedge clk) begin : m0_lsu_payload_dff
-        if (m0_lsu_clk_en) begin
-            m0_priviledge_level_q      <= m0_priviledge_level_d;
-            m0_mprv_q                  <= m0_mprv_d;
-            m0_mpp_q                   <= m0_mpp_q;
-            m0_smxr_q                  <= m0_smxr_d;
-            m0_ssum_q                  <= m0_ssum_d;
-            m0_satp_ppn_q              <= m0_satp_ppn_d;
-            m0_satp_asid_q             <= m0_satp_asid_d;
-            m0_satp_mode_q             <= m0_satp_mode_d;
-            m0_virtual_address_q       <= m0_virtual_address_d;
-            m0_access_mode_q           <= m0_access_mode_d;
-            m0_init_page_table_level_q <= m0_init_page_table_level_d;
-        end
-    end
-
-    always @(posedge clk) begin : m0_ptw_valid_dff
-        if (~rstn) begin
-            m0_ptw_valid_q <= 1'b0;
-            m0_ptw_active_q <= 1'b0;
-        end else begin
-            m0_ptw_valid_q <= m0_ptw_valid_d;
-            m0_ptw_active_q <= m0_ptw_active_d;
-        end
-    end
-
-    always @(posedge clk) begin : m0_ptw_payload_dff
-        if (m0_ptw_clk_en) begin
-            m0_ptw_pte_q                <= m0_ptw_pte_d;
-            m0_ptw_page_table_level_q   <= m0_ptw_page_table_level_d;
-        end
-    end
-
-    always @(posedge clk) begin : m1_lsu_valid_dff
-        if (~rstn) begin
-            m1_lsu_valid_q <= 1'b0;
-        end else begin
-            m1_lsu_valid_q <= m1_lsu_valid_d;
-        end
-    end
-
-    always @(posedge clk) begin : m1_lsu_payload_dff
-        if (m1_lsu_clk_en) begin
-            m1_lsu_resp_addr_q       <= m1_lsu_resp_addr_d;
-            m1_page_fault_valid_q    <= m1_page_fault_valid_d;
-            m1_page_fault_cause_q    <= m1_page_fault_cause_d;
-        end
-    end
-
-    always @(posedge clk) begin : m1_ptw_valid_dff
-        if (~rstn) begin
-            m1_ptw_valid_q <= 1'b0;
-        end else begin
-            m1_ptw_valid_q <= m1_ptw_valid_d;
-        end
-    end
-
-    always @(posedge clk) begin : m1_ptw_payload_dff
-        if (m1_ptw_clk_en) begin
-            m1_ptw_req_addr_q        <= m1_ptw_req_addr_d;
-            m1_page_fault_valid_q    <= m1_page_fault_valid_d;
-            m1_page_fault_cause_q    <= m1_page_fault_cause_d;
-        end
-    end
-
-    // @TODO: TLB
-
-endmodule : mmu_sv39
-
-
-
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/ptw.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/ptw.v
deleted file mode 100755
index d92b930..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/mmu/ptw.v
+++ /dev/null
@@ -1,112 +0,0 @@
-`include "../params.vh"
-
-module ptw
-    # (
-    parameter PTE_SIZE = 8,
-    parameter PTE_SIZE_IN_BIT = 64,
-
-    parameter VIRTUAL_ADDR_LEN_SV39 = 39,
-    parameter PHYSICAL_ADDR_LEN_SV39 = 56,
-    parameter PAGE_OFFSET_WIDTH = 12,
-
-    parameter VPN_SLICE_WIDTH = 9
-)
-    (
-    input                                   ptw_enable_i,
-    input [1:0]                             page_table_level_i,
-
-    input [VIRTUAL_ADDR_LEN_SV39 - 1 : 0]   virtual_address_i,
-
-    input                                   pte_active_i,
-    input [PTE_SIZE_IN_BIT - 1 : 0]         pte_i,
-    input [SATP_PPN_WIDTH - 1 : 0]          satp_ppn_i,
-
-
-    output                                  pte_is_leaf_o,
-    output                                  req_next_level_pte_o,
-    output [PHYSICAL_ADDR_LEN_SV39 - 1 : 0] pte_req_address_o,
-
-    output                                  page_fault_valid_o
-);
-    reg pte_is_leaf;
-    reg req_next_level_pte;
-    reg [PHYSICAL_ADDR_LEN_SV39 - 1 : 0]    pte_req_address;
-    reg [VPN_SLICE_WIDTH - 1: 0]            pte_req_index;
-
-    reg page_fault_valid;
-
-    assign pte_is_leaf_o = pte_is_leaf;
-    assign req_next_level_pte_o = req_next_level_pte;
-    assign pte_req_address_o = pte_req_address;
-    assign page_fault_valid_o = page_fault_valid;
-
-
-    always @(*) begin
-
-        if (ptw_enable_i) begin
-
-            case (page_table_level_i)
-                2'b10:  pte_req_index = virtual_address_i[`va_vpn2];
-                2'b01:  pte_req_index = virtual_address_i[`va_vpn1];
-                2'b00:  pte_req_index = virtual_address_i[`va_vpn0];
-                default:  page_fault_valid = 1'b1;
-            endcase
-
-            if (pte_active_i) begin
-
-                pte_req_address = ({12'h000,pte_i[`pte_ppn]} << PAGE_OFFSET_WIDTH) + pte_req_index * PTE_SIZE;
-
-                // Step 4: Leaf/Non-leaf pte check
-                casez ({pte_i[`pte_x],pte_i[`pte_w],pte_i[`pte_r],pte_i[`pte_v]})
-                    // pte.v = 0 ==> page fault
-                    4'b???0: begin
-                        pte_is_leaf = 1'b0;
-                        req_next_level_pte = 1'b0;
-                        page_fault_valid = 1'b1;
-                    end
-                    // pte.r = 0 and pte.w = 1 ==> page fault
-                    4'b?101: begin
-                        pte_is_leaf = 1'b0;
-                        req_next_level_pte = 1'b0;
-                        page_fault_valid = 1'b1;
-                    end
-                    // pte.x = 1 ==> leaf pte
-                    // @TODO: x-only pte is for I-TLB
-                    4'b1001: begin
-                        pte_is_leaf = 1'b1;
-                        req_next_level_pte = 1'b0;
-                        page_fault_valid = 1'b0;
-                    end
-                    // pte.r = 1 ==> leaf pte
-                    4'b??11: begin
-                        pte_is_leaf = 1'b1;
-                        req_next_level_pte = 1'b0;
-                        page_fault_valid = 1'b0;
-                    end
-                    // default ==> request next level pte
-                    default: begin
-                        pte_is_leaf = 1'b0;
-                        req_next_level_pte = 1'b1;
-                        page_fault_valid = 1'b0;
-                    end
-                endcase
-
-            end else begin
-                pte_is_leaf = 1'b0;
-                req_next_level_pte = 1'b1;
-                pte_req_address = ({12'h000,satp_ppn_i} << PAGE_OFFSET_WIDTH) + pte_req_index * PTE_SIZE;
-                page_fault_valid = 1'b0;
-            end
-
-        end else begin
-            pte_is_leaf = 1'b0;
-            req_next_level_pte = 1'b0;
-            pte_req_address = '0;
-            page_fault_valid = 1'b0;
-        end
-
-
-    end
-
-endmodule
-
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/params.vh b/verilog/rtl_sram_out_cache/hehe/src/core_empty/params.vh
index b8deb41..99cb6d2 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/params.vh
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/params.vh
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef PARAMS_VH
 `define PARAMS_VH
 // MACROS
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/backend.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/backend.v
index e0249c7..e8a5b1d 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/backend.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/backend.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 //gpc改一下backend哈，参照着core_empty改
 `ifndef BACKEND_V
 `define BACKEND_V
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/frontend.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/frontend.v
index ea19fed..cbf3a0c 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/frontend.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/pipeline/frontend.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef FRONTEND_V
 `define FRONTEND_V
 
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/btb.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/btb.v
index 7a4aaae..f4a920c 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/btb.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/btb.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module btb #(
     parameter BTB_SIZE = 4,
     parameter BTB_SIZE_1 = 3,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter.v
index cfceb13..1452043 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module counter#(
     parameter CNT_SIZE = 32 + 8,
     parameter CNT_SIZE_WIDTH = 6
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_rob.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_rob.v
index 77b1ab7..04d2f99 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_rob.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_rob.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module counter_rob#(
     parameter CNT_SIZE = 32 + 8,
     parameter CNT_SIZE_WIDTH = 6
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_tmp.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_tmp.v
index 2cd0a00..befa0a0 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_tmp.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/counter_tmp.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module counter_tmp#(
     parameter CNT_SIZE = 32 + 8,
     parameter CNT_SIZE_WIDTH = 6
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/csr.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/csr.v
index e4d5004..bb4eecd 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/csr.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/csr.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef CSR_V
 `define CSR_V
 
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/decode.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/decode.v
index b01edc2..6b731e7 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/decode.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/decode.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef DECODE_V
 `define DECODE_V
 
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/excep_ctrl.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/excep_ctrl.v
index 6665003..297f7d7 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/excep_ctrl.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/excep_ctrl.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `include "../params.vh"
 module excep_ctrl (
     //from rob
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fake_icache.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fake_icache.v
index 53335d4..ad0f777 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fake_icache.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fake_icache.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module fake_icache (  
     input clk,
     input reset,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fetch.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fetch.v
index d89ba49..d239f13 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fetch.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fetch.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef FETCH_V
 `define FETCH_V
 // `include "../params.vh"
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo.v
index 8c526f9..302af92 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module fifo #( //p0 is not in the fifo
     parameter FIFO_DATA_WIDTH = 5,
     parameter FIFO_SIZE = 32,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo_tmp.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo_tmp.v
index d1b93e5..2953664 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo_tmp.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/fifo_tmp.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module fifo_tmp #(
     parameter FIFO_DATA_WIDTH = 5,
     parameter FIFO_SIZE = 32,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/gshare.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/gshare.v
index a17c0e1..379b1da 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/gshare.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/gshare.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module gshare 
 #(
   parameter GSHARE_WIDTH = 4,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/ins_buffer.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/ins_buffer.v
index ce6fae8..072ed9c 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/ins_buffer.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/ins_buffer.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module ins_buffer #(
     parameter INS_BUFFER_DATA = 96,
     parameter INS_BUFFER_SIZE = 8,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_alu.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_alu.v
index 782b080..01ad0c4 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_alu.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_alu.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module new_alu(
 input clk,
 input rstn,
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_fu.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_fu.v
index a5173b4..9132a75 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_fu.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/new_fu.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef FU_V
 `define FU_V
 
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/physical_regfile.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/physical_regfile.v
index 20cbb85..76f1095 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/physical_regfile.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/physical_regfile.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module physical_regfile #(
     parameter REG_SIZE = 64,
     parameter REG_SIZE_WIDTH = 6
diff --git a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/rcu.v b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/rcu.v
index 7fb849e..85ff46f 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/rcu.v
+++ b/verilog/rtl_sram_out_cache/hehe/src/core_empty/units/rcu.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 // `include "/work/stu/yzhang/workspace/hehecore/src/params.vh"
 `include "../params.vh"
 module rcu (
diff --git a/verilog/rtl_sram_out_cache/hehe/src/macros/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds b/verilog/rtl_sram_out_cache/hehe/src/macros/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds
deleted file mode 100755
index 7ed1528..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/macros/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds
+++ /dev/null
Binary files differ
diff --git a/verilog/rtl_sram_out_cache/hehe/src/macros/gds/sky130_sram_1rw1r_64x256_8.gds b/verilog/rtl_sram_out_cache/hehe/src/macros/gds/sky130_sram_1rw1r_64x256_8.gds
deleted file mode 100755
index 741ec5a..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/macros/gds/sky130_sram_1rw1r_64x256_8.gds
+++ /dev/null
Binary files differ
diff --git a/verilog/rtl_sram_out_cache/hehe/src/macros/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef b/verilog/rtl_sram_out_cache/hehe/src/macros/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef
deleted file mode 100755
index 30b2ff4..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/macros/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef
+++ /dev/null
@@ -1,1093 +0,0 @@
-VERSION 5.4 ;
-NAMESCASESENSITIVE ON ;
-BUSBITCHARS "[]" ;
-DIVIDERCHAR "/" ;
-UNITS
-  DATABASE MICRONS 1000 ;
-END UNITS
-MACRO sky130_sram_1kbyte_1rw1r_32x256_8
-   CLASS BLOCK ;
-   SIZE 479.78 BY 397.5 ;
-   SYMMETRY X Y R90 ;
-   PIN din0[0]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  106.76 0.0 107.14 1.06 ;
-      END
-   END din0[0]
-   PIN din0[1]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  112.88 0.0 113.26 1.06 ;
-      END
-   END din0[1]
-   PIN din0[2]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  118.32 0.0 118.7 1.06 ;
-      END
-   END din0[2]
-   PIN din0[3]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  125.12 0.0 125.5 1.06 ;
-      END
-   END din0[3]
-   PIN din0[4]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  130.56 0.0 130.94 1.06 ;
-      END
-   END din0[4]
-   PIN din0[5]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  136.0 0.0 136.38 1.06 ;
-      END
-   END din0[5]
-   PIN din0[6]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  141.44 0.0 141.82 1.06 ;
-      END
-   END din0[6]
-   PIN din0[7]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  148.24 0.0 148.62 1.06 ;
-      END
-   END din0[7]
-   PIN din0[8]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  153.68 0.0 154.06 1.06 ;
-      END
-   END din0[8]
-   PIN din0[9]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  159.12 0.0 159.5 1.06 ;
-      END
-   END din0[9]
-   PIN din0[10]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  165.24 0.0 165.62 1.06 ;
-      END
-   END din0[10]
-   PIN din0[11]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  170.68 0.0 171.06 1.06 ;
-      END
-   END din0[11]
-   PIN din0[12]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  177.48 0.0 177.86 1.06 ;
-      END
-   END din0[12]
-   PIN din0[13]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  182.92 0.0 183.3 1.06 ;
-      END
-   END din0[13]
-   PIN din0[14]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  188.36 0.0 188.74 1.06 ;
-      END
-   END din0[14]
-   PIN din0[15]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  194.48 0.0 194.86 1.06 ;
-      END
-   END din0[15]
-   PIN din0[16]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  201.28 0.0 201.66 1.06 ;
-      END
-   END din0[16]
-   PIN din0[17]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  206.72 0.0 207.1 1.06 ;
-      END
-   END din0[17]
-   PIN din0[18]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  212.16 0.0 212.54 1.06 ;
-      END
-   END din0[18]
-   PIN din0[19]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  217.6 0.0 217.98 1.06 ;
-      END
-   END din0[19]
-   PIN din0[20]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  224.4 0.0 224.78 1.06 ;
-      END
-   END din0[20]
-   PIN din0[21]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  229.84 0.0 230.22 1.06 ;
-      END
-   END din0[21]
-   PIN din0[22]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  235.28 0.0 235.66 1.06 ;
-      END
-   END din0[22]
-   PIN din0[23]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  241.4 0.0 241.78 1.06 ;
-      END
-   END din0[23]
-   PIN din0[24]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  246.84 0.0 247.22 1.06 ;
-      END
-   END din0[24]
-   PIN din0[25]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  253.64 0.0 254.02 1.06 ;
-      END
-   END din0[25]
-   PIN din0[26]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  259.08 0.0 259.46 1.06 ;
-      END
-   END din0[26]
-   PIN din0[27]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  264.52 0.0 264.9 1.06 ;
-      END
-   END din0[27]
-   PIN din0[28]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  269.96 0.0 270.34 1.06 ;
-      END
-   END din0[28]
-   PIN din0[29]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  276.08 0.0 276.46 1.06 ;
-      END
-   END din0[29]
-   PIN din0[30]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  282.88 0.0 283.26 1.06 ;
-      END
-   END din0[30]
-   PIN din0[31]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  288.32 0.0 288.7 1.06 ;
-      END
-   END din0[31]
-   PIN addr0[0]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  77.52 0.0 77.9 1.06 ;
-      END
-   END addr0[0]
-   PIN addr0[1]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 128.52 1.06 128.9 ;
-      END
-   END addr0[1]
-   PIN addr0[2]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 137.36 1.06 137.74 ;
-      END
-   END addr0[2]
-   PIN addr0[3]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 142.12 1.06 142.5 ;
-      END
-   END addr0[3]
-   PIN addr0[4]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 150.28 1.06 150.66 ;
-      END
-   END addr0[4]
-   PIN addr0[5]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 155.72 1.06 156.1 ;
-      END
-   END addr0[5]
-   PIN addr0[6]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 164.56 1.06 164.94 ;
-      END
-   END addr0[6]
-   PIN addr0[7]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 170.68 1.06 171.06 ;
-      END
-   END addr0[7]
-   PIN addr1[0]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  397.12 396.44 397.5 397.5 ;
-      END
-   END addr1[0]
-   PIN addr1[1]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  478.72 82.96 479.78 83.34 ;
-      END
-   END addr1[1]
-   PIN addr1[2]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  478.72 74.8 479.78 75.18 ;
-      END
-   END addr1[2]
-   PIN addr1[3]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  478.72 68.0 479.78 68.38 ;
-      END
-   END addr1[3]
-   PIN addr1[4]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  415.48 0.0 415.86 1.06 ;
-      END
-   END addr1[4]
-   PIN addr1[5]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  413.44 0.0 413.82 1.06 ;
-      END
-   END addr1[5]
-   PIN addr1[6]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  414.12 0.0 414.5 1.06 ;
-      END
-   END addr1[6]
-   PIN addr1[7]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  414.8 0.0 415.18 1.06 ;
-      END
-   END addr1[7]
-   PIN csb0
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 27.88 1.06 28.26 ;
-      END
-   END csb0
-   PIN csb1
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  478.72 382.16 479.78 382.54 ;
-      END
-   END csb1
-   PIN web0
-      DIRECTION INPUT ;
-      PORT
-         LAYER met3 ;
-         RECT  0.0 36.04 1.06 36.42 ;
-      END
-   END web0
-   PIN clk0
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  29.24 0.0 29.62 1.06 ;
-      END
-   END clk0
-   PIN clk1
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  450.16 396.44 450.54 397.5 ;
-      END
-   END clk1
-   PIN wmask0[0]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  83.64 0.0 84.02 1.06 ;
-      END
-   END wmask0[0]
-   PIN wmask0[1]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  89.08 0.0 89.46 1.06 ;
-      END
-   END wmask0[1]
-   PIN wmask0[2]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  95.88 0.0 96.26 1.06 ;
-      END
-   END wmask0[2]
-   PIN wmask0[3]
-      DIRECTION INPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  100.64 0.0 101.02 1.06 ;
-      END
-   END wmask0[3]
-   PIN dout0[0]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  139.4 0.0 139.78 1.06 ;
-      END
-   END dout0[0]
-   PIN dout0[1]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  146.2 0.0 146.58 1.06 ;
-      END
-   END dout0[1]
-   PIN dout0[2]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  151.64 0.0 152.02 1.06 ;
-      END
-   END dout0[2]
-   PIN dout0[3]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  159.8 0.0 160.18 1.06 ;
-      END
-   END dout0[3]
-   PIN dout0[4]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  165.92 0.0 166.3 1.06 ;
-      END
-   END dout0[4]
-   PIN dout0[5]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  172.04 0.0 172.42 1.06 ;
-      END
-   END dout0[5]
-   PIN dout0[6]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  178.16 0.0 178.54 1.06 ;
-      END
-   END dout0[6]
-   PIN dout0[7]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  184.28 0.0 184.66 1.06 ;
-      END
-   END dout0[7]
-   PIN dout0[8]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  189.04 0.0 189.42 1.06 ;
-      END
-   END dout0[8]
-   PIN dout0[9]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  196.52 0.0 196.9 1.06 ;
-      END
-   END dout0[9]
-   PIN dout0[10]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  203.32 0.0 203.7 1.06 ;
-      END
-   END dout0[10]
-   PIN dout0[11]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  209.44 0.0 209.82 1.06 ;
-      END
-   END dout0[11]
-   PIN dout0[12]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  215.56 0.0 215.94 1.06 ;
-      END
-   END dout0[12]
-   PIN dout0[13]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  221.68 0.0 222.06 1.06 ;
-      END
-   END dout0[13]
-   PIN dout0[14]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  227.8 0.0 228.18 1.06 ;
-      END
-   END dout0[14]
-   PIN dout0[15]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  233.24 0.0 233.62 1.06 ;
-      END
-   END dout0[15]
-   PIN dout0[16]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  239.36 0.0 239.74 1.06 ;
-      END
-   END dout0[16]
-   PIN dout0[17]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  245.48 0.0 245.86 1.06 ;
-      END
-   END dout0[17]
-   PIN dout0[18]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  252.96 0.0 253.34 1.06 ;
-      END
-   END dout0[18]
-   PIN dout0[19]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  257.04 0.0 257.42 1.06 ;
-      END
-   END dout0[19]
-   PIN dout0[20]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  265.88 0.0 266.26 1.06 ;
-      END
-   END dout0[20]
-   PIN dout0[21]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  272.0 0.0 272.38 1.06 ;
-      END
-   END dout0[21]
-   PIN dout0[22]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  278.12 0.0 278.5 1.06 ;
-      END
-   END dout0[22]
-   PIN dout0[23]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  284.24 0.0 284.62 1.06 ;
-      END
-   END dout0[23]
-   PIN dout0[24]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  289.0 0.0 289.38 1.06 ;
-      END
-   END dout0[24]
-   PIN dout0[25]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  296.48 0.0 296.86 1.06 ;
-      END
-   END dout0[25]
-   PIN dout0[26]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  302.6 0.0 302.98 1.06 ;
-      END
-   END dout0[26]
-   PIN dout0[27]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  309.4 0.0 309.78 1.06 ;
-      END
-   END dout0[27]
-   PIN dout0[28]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  315.52 0.0 315.9 1.06 ;
-      END
-   END dout0[28]
-   PIN dout0[29]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  321.64 0.0 322.02 1.06 ;
-      END
-   END dout0[29]
-   PIN dout0[30]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  327.76 0.0 328.14 1.06 ;
-      END
-   END dout0[30]
-   PIN dout0[31]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  333.88 0.0 334.26 1.06 ;
-      END
-   END dout0[31]
-   PIN dout1[0]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  140.76 396.44 141.14 397.5 ;
-      END
-   END dout1[0]
-   PIN dout1[1]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  147.56 396.44 147.94 397.5 ;
-      END
-   END dout1[1]
-   PIN dout1[2]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  153.0 396.44 153.38 397.5 ;
-      END
-   END dout1[2]
-   PIN dout1[3]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  159.8 396.44 160.18 397.5 ;
-      END
-   END dout1[3]
-   PIN dout1[4]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  165.92 396.44 166.3 397.5 ;
-      END
-   END dout1[4]
-   PIN dout1[5]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  172.72 396.44 173.1 397.5 ;
-      END
-   END dout1[5]
-   PIN dout1[6]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  178.84 396.44 179.22 397.5 ;
-      END
-   END dout1[6]
-   PIN dout1[7]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  184.28 396.44 184.66 397.5 ;
-      END
-   END dout1[7]
-   PIN dout1[8]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  191.08 396.44 191.46 397.5 ;
-      END
-   END dout1[8]
-   PIN dout1[9]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  196.52 396.44 196.9 397.5 ;
-      END
-   END dout1[9]
-   PIN dout1[10]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  203.32 396.44 203.7 397.5 ;
-      END
-   END dout1[10]
-   PIN dout1[11]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  209.44 396.44 209.82 397.5 ;
-      END
-   END dout1[11]
-   PIN dout1[12]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  216.24 396.44 216.62 397.5 ;
-      END
-   END dout1[12]
-   PIN dout1[13]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  221.68 396.44 222.06 397.5 ;
-      END
-   END dout1[13]
-   PIN dout1[14]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  227.8 396.44 228.18 397.5 ;
-      END
-   END dout1[14]
-   PIN dout1[15]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  234.6 396.44 234.98 397.5 ;
-      END
-   END dout1[15]
-   PIN dout1[16]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  240.72 396.44 241.1 397.5 ;
-      END
-   END dout1[16]
-   PIN dout1[17]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  247.52 396.44 247.9 397.5 ;
-      END
-   END dout1[17]
-   PIN dout1[18]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  252.96 396.44 253.34 397.5 ;
-      END
-   END dout1[18]
-   PIN dout1[19]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  259.76 396.44 260.14 397.5 ;
-      END
-   END dout1[19]
-   PIN dout1[20]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  265.2 396.44 265.58 397.5 ;
-      END
-   END dout1[20]
-   PIN dout1[21]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  271.32 396.44 271.7 397.5 ;
-      END
-   END dout1[21]
-   PIN dout1[22]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  278.12 396.44 278.5 397.5 ;
-      END
-   END dout1[22]
-   PIN dout1[23]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  284.24 396.44 284.62 397.5 ;
-      END
-   END dout1[23]
-   PIN dout1[24]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  291.04 396.44 291.42 397.5 ;
-      END
-   END dout1[24]
-   PIN dout1[25]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  296.48 396.44 296.86 397.5 ;
-      END
-   END dout1[25]
-   PIN dout1[26]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  303.28 396.44 303.66 397.5 ;
-      END
-   END dout1[26]
-   PIN dout1[27]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  309.4 396.44 309.78 397.5 ;
-      END
-   END dout1[27]
-   PIN dout1[28]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  316.2 396.44 316.58 397.5 ;
-      END
-   END dout1[28]
-   PIN dout1[29]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  321.64 396.44 322.02 397.5 ;
-      END
-   END dout1[29]
-   PIN dout1[30]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  327.76 396.44 328.14 397.5 ;
-      END
-   END dout1[30]
-   PIN dout1[31]
-      DIRECTION OUTPUT ;
-      PORT
-         LAYER met4 ;
-         RECT  334.56 396.44 334.94 397.5 ;
-      END
-   END dout1[31]
-   PIN vccd1
-      DIRECTION INOUT ;
-      USE POWER ; 
-      SHAPE ABUTMENT ; 
-      PORT
-         LAYER met4 ;
-         RECT  473.28 4.76 475.02 392.74 ;
-         LAYER met4 ;
-         RECT  4.76 4.76 6.5 392.74 ;
-         LAYER met3 ;
-         RECT  4.76 4.76 475.02 6.5 ;
-         LAYER met3 ;
-         RECT  4.76 391.0 475.02 392.74 ;
-      END
-   END vccd1
-   PIN vssd1
-      DIRECTION INOUT ;
-      USE GROUND ; 
-      SHAPE ABUTMENT ; 
-      PORT
-         LAYER met4 ;
-         RECT  1.36 1.36 3.1 396.14 ;
-         LAYER met3 ;
-         RECT  1.36 394.4 478.42 396.14 ;
-         LAYER met3 ;
-         RECT  1.36 1.36 478.42 3.1 ;
-         LAYER met4 ;
-         RECT  476.68 1.36 478.42 396.14 ;
-      END
-   END vssd1
-   OBS
-   LAYER  met1 ;
-      RECT  0.62 0.62 479.16 396.88 ;
-   LAYER  met2 ;
-      RECT  0.62 0.62 479.16 396.88 ;
-   LAYER  met3 ;
-      RECT  1.66 127.92 479.16 129.5 ;
-      RECT  0.62 129.5 1.66 136.76 ;
-      RECT  0.62 138.34 1.66 141.52 ;
-      RECT  0.62 143.1 1.66 149.68 ;
-      RECT  0.62 151.26 1.66 155.12 ;
-      RECT  0.62 156.7 1.66 163.96 ;
-      RECT  0.62 165.54 1.66 170.08 ;
-      RECT  1.66 82.36 478.12 83.94 ;
-      RECT  1.66 83.94 478.12 127.92 ;
-      RECT  478.12 83.94 479.16 127.92 ;
-      RECT  478.12 75.78 479.16 82.36 ;
-      RECT  478.12 68.98 479.16 74.2 ;
-      RECT  1.66 129.5 478.12 381.56 ;
-      RECT  1.66 381.56 478.12 383.14 ;
-      RECT  478.12 129.5 479.16 381.56 ;
-      RECT  0.62 28.86 1.66 35.44 ;
-      RECT  0.62 37.02 1.66 127.92 ;
-      RECT  1.66 4.16 4.16 7.1 ;
-      RECT  1.66 7.1 4.16 82.36 ;
-      RECT  4.16 7.1 475.62 82.36 ;
-      RECT  475.62 4.16 478.12 7.1 ;
-      RECT  475.62 7.1 478.12 82.36 ;
-      RECT  1.66 383.14 4.16 390.4 ;
-      RECT  1.66 390.4 4.16 393.34 ;
-      RECT  4.16 383.14 475.62 390.4 ;
-      RECT  475.62 383.14 478.12 390.4 ;
-      RECT  475.62 390.4 478.12 393.34 ;
-      RECT  0.62 171.66 0.76 393.8 ;
-      RECT  0.62 393.8 0.76 396.74 ;
-      RECT  0.62 396.74 0.76 396.88 ;
-      RECT  0.76 171.66 1.66 393.8 ;
-      RECT  0.76 396.74 1.66 396.88 ;
-      RECT  478.12 383.14 479.02 393.8 ;
-      RECT  478.12 396.74 479.02 396.88 ;
-      RECT  479.02 383.14 479.16 393.8 ;
-      RECT  479.02 393.8 479.16 396.74 ;
-      RECT  479.02 396.74 479.16 396.88 ;
-      RECT  1.66 393.34 4.16 393.8 ;
-      RECT  1.66 396.74 4.16 396.88 ;
-      RECT  4.16 393.34 475.62 393.8 ;
-      RECT  4.16 396.74 475.62 396.88 ;
-      RECT  475.62 393.34 478.12 393.8 ;
-      RECT  475.62 396.74 478.12 396.88 ;
-      RECT  478.12 0.62 479.02 0.76 ;
-      RECT  478.12 3.7 479.02 67.4 ;
-      RECT  479.02 0.62 479.16 0.76 ;
-      RECT  479.02 0.76 479.16 3.7 ;
-      RECT  479.02 3.7 479.16 67.4 ;
-      RECT  0.62 0.62 0.76 0.76 ;
-      RECT  0.62 0.76 0.76 3.7 ;
-      RECT  0.62 3.7 0.76 27.28 ;
-      RECT  0.76 0.62 1.66 0.76 ;
-      RECT  0.76 3.7 1.66 27.28 ;
-      RECT  1.66 0.62 4.16 0.76 ;
-      RECT  1.66 3.7 4.16 4.16 ;
-      RECT  4.16 0.62 475.62 0.76 ;
-      RECT  4.16 3.7 475.62 4.16 ;
-      RECT  475.62 0.62 478.12 0.76 ;
-      RECT  475.62 3.7 478.12 4.16 ;
-   LAYER  met4 ;
-      RECT  106.16 1.66 107.74 396.88 ;
-      RECT  107.74 0.62 112.28 1.66 ;
-      RECT  113.86 0.62 117.72 1.66 ;
-      RECT  119.3 0.62 124.52 1.66 ;
-      RECT  126.1 0.62 129.96 1.66 ;
-      RECT  131.54 0.62 135.4 1.66 ;
-      RECT  154.66 0.62 158.52 1.66 ;
-      RECT  260.06 0.62 263.92 1.66 ;
-      RECT  107.74 1.66 396.52 395.84 ;
-      RECT  396.52 1.66 398.1 395.84 ;
-      RECT  30.22 0.62 76.92 1.66 ;
-      RECT  398.1 395.84 449.56 396.88 ;
-      RECT  78.5 0.62 83.04 1.66 ;
-      RECT  84.62 0.62 88.48 1.66 ;
-      RECT  90.06 0.62 95.28 1.66 ;
-      RECT  96.86 0.62 100.04 1.66 ;
-      RECT  101.62 0.62 106.16 1.66 ;
-      RECT  136.98 0.62 138.8 1.66 ;
-      RECT  140.38 0.62 140.84 1.66 ;
-      RECT  142.42 0.62 145.6 1.66 ;
-      RECT  147.18 0.62 147.64 1.66 ;
-      RECT  149.22 0.62 151.04 1.66 ;
-      RECT  152.62 0.62 153.08 1.66 ;
-      RECT  160.78 0.62 164.64 1.66 ;
-      RECT  166.9 0.62 170.08 1.66 ;
-      RECT  173.02 0.62 176.88 1.66 ;
-      RECT  179.14 0.62 182.32 1.66 ;
-      RECT  185.26 0.62 187.76 1.66 ;
-      RECT  190.02 0.62 193.88 1.66 ;
-      RECT  195.46 0.62 195.92 1.66 ;
-      RECT  197.5 0.62 200.68 1.66 ;
-      RECT  202.26 0.62 202.72 1.66 ;
-      RECT  204.3 0.62 206.12 1.66 ;
-      RECT  207.7 0.62 208.84 1.66 ;
-      RECT  210.42 0.62 211.56 1.66 ;
-      RECT  213.14 0.62 214.96 1.66 ;
-      RECT  216.54 0.62 217.0 1.66 ;
-      RECT  218.58 0.62 221.08 1.66 ;
-      RECT  222.66 0.62 223.8 1.66 ;
-      RECT  225.38 0.62 227.2 1.66 ;
-      RECT  228.78 0.62 229.24 1.66 ;
-      RECT  230.82 0.62 232.64 1.66 ;
-      RECT  234.22 0.62 234.68 1.66 ;
-      RECT  236.26 0.62 238.76 1.66 ;
-      RECT  240.34 0.62 240.8 1.66 ;
-      RECT  242.38 0.62 244.88 1.66 ;
-      RECT  247.82 0.62 252.36 1.66 ;
-      RECT  254.62 0.62 256.44 1.66 ;
-      RECT  258.02 0.62 258.48 1.66 ;
-      RECT  266.86 0.62 269.36 1.66 ;
-      RECT  270.94 0.62 271.4 1.66 ;
-      RECT  272.98 0.62 275.48 1.66 ;
-      RECT  277.06 0.62 277.52 1.66 ;
-      RECT  279.1 0.62 282.28 1.66 ;
-      RECT  285.22 0.62 287.72 1.66 ;
-      RECT  289.98 0.62 295.88 1.66 ;
-      RECT  297.46 0.62 302.0 1.66 ;
-      RECT  303.58 0.62 308.8 1.66 ;
-      RECT  310.38 0.62 314.92 1.66 ;
-      RECT  316.5 0.62 321.04 1.66 ;
-      RECT  322.62 0.62 327.16 1.66 ;
-      RECT  328.74 0.62 333.28 1.66 ;
-      RECT  334.86 0.62 412.84 1.66 ;
-      RECT  107.74 395.84 140.16 396.88 ;
-      RECT  141.74 395.84 146.96 396.88 ;
-      RECT  148.54 395.84 152.4 396.88 ;
-      RECT  153.98 395.84 159.2 396.88 ;
-      RECT  160.78 395.84 165.32 396.88 ;
-      RECT  166.9 395.84 172.12 396.88 ;
-      RECT  173.7 395.84 178.24 396.88 ;
-      RECT  179.82 395.84 183.68 396.88 ;
-      RECT  185.26 395.84 190.48 396.88 ;
-      RECT  192.06 395.84 195.92 396.88 ;
-      RECT  197.5 395.84 202.72 396.88 ;
-      RECT  204.3 395.84 208.84 396.88 ;
-      RECT  210.42 395.84 215.64 396.88 ;
-      RECT  217.22 395.84 221.08 396.88 ;
-      RECT  222.66 395.84 227.2 396.88 ;
-      RECT  228.78 395.84 234.0 396.88 ;
-      RECT  235.58 395.84 240.12 396.88 ;
-      RECT  241.7 395.84 246.92 396.88 ;
-      RECT  248.5 395.84 252.36 396.88 ;
-      RECT  253.94 395.84 259.16 396.88 ;
-      RECT  260.74 395.84 264.6 396.88 ;
-      RECT  266.18 395.84 270.72 396.88 ;
-      RECT  272.3 395.84 277.52 396.88 ;
-      RECT  279.1 395.84 283.64 396.88 ;
-      RECT  285.22 395.84 290.44 396.88 ;
-      RECT  292.02 395.84 295.88 396.88 ;
-      RECT  297.46 395.84 302.68 396.88 ;
-      RECT  304.26 395.84 308.8 396.88 ;
-      RECT  310.38 395.84 315.6 396.88 ;
-      RECT  317.18 395.84 321.04 396.88 ;
-      RECT  322.62 395.84 327.16 396.88 ;
-      RECT  328.74 395.84 333.96 396.88 ;
-      RECT  335.54 395.84 396.52 396.88 ;
-      RECT  398.1 1.66 472.68 4.16 ;
-      RECT  398.1 4.16 472.68 393.34 ;
-      RECT  398.1 393.34 472.68 395.84 ;
-      RECT  472.68 1.66 475.62 4.16 ;
-      RECT  472.68 393.34 475.62 395.84 ;
-      RECT  4.16 1.66 7.1 4.16 ;
-      RECT  4.16 393.34 7.1 396.88 ;
-      RECT  7.1 1.66 106.16 4.16 ;
-      RECT  7.1 4.16 106.16 393.34 ;
-      RECT  7.1 393.34 106.16 396.88 ;
-      RECT  0.62 0.62 0.76 0.76 ;
-      RECT  0.62 0.76 0.76 1.66 ;
-      RECT  0.76 0.62 3.7 0.76 ;
-      RECT  3.7 0.62 28.64 0.76 ;
-      RECT  3.7 0.76 28.64 1.66 ;
-      RECT  0.62 1.66 0.76 4.16 ;
-      RECT  3.7 1.66 4.16 4.16 ;
-      RECT  0.62 4.16 0.76 393.34 ;
-      RECT  3.7 4.16 4.16 393.34 ;
-      RECT  0.62 393.34 0.76 396.74 ;
-      RECT  0.62 396.74 0.76 396.88 ;
-      RECT  0.76 396.74 3.7 396.88 ;
-      RECT  3.7 393.34 4.16 396.74 ;
-      RECT  3.7 396.74 4.16 396.88 ;
-      RECT  416.46 0.62 476.08 0.76 ;
-      RECT  416.46 0.76 476.08 1.66 ;
-      RECT  476.08 0.62 479.02 0.76 ;
-      RECT  479.02 0.62 479.16 0.76 ;
-      RECT  479.02 0.76 479.16 1.66 ;
-      RECT  451.14 395.84 476.08 396.74 ;
-      RECT  451.14 396.74 476.08 396.88 ;
-      RECT  476.08 396.74 479.02 396.88 ;
-      RECT  479.02 395.84 479.16 396.74 ;
-      RECT  479.02 396.74 479.16 396.88 ;
-      RECT  475.62 1.66 476.08 4.16 ;
-      RECT  479.02 1.66 479.16 4.16 ;
-      RECT  475.62 4.16 476.08 393.34 ;
-      RECT  479.02 4.16 479.16 393.34 ;
-      RECT  475.62 393.34 476.08 395.84 ;
-      RECT  479.02 393.34 479.16 395.84 ;
-   END
-END    sky130_sram_1kbyte_1rw1r_32x256_8
-END    LIBRARY
diff --git a/verilog/rtl_sram_out_cache/hehe/src/macros/lef/sky130_sram_1rw1r_64x256_8.lef b/verilog/rtl_sram_out_cache/hehe/src/macros/lef/sky130_sram_1rw1r_64x256_8.lef
deleted file mode 100755
index bd72971..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/macros/lef/sky130_sram_1rw1r_64x256_8.lef
+++ /dev/null
Binary files differ
diff --git a/verilog/rtl_sram_out_cache/hehe/src/macros/verilog/sky130_sram_1kbyte_1rw1r_32x256_8.v b/verilog/rtl_sram_out_cache/hehe/src/macros/verilog/sky130_sram_1kbyte_1rw1r_32x256_8.v
deleted file mode 100755
index 9633856..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/macros/verilog/sky130_sram_1kbyte_1rw1r_32x256_8.v
+++ /dev/null
@@ -1,111 +0,0 @@
-// OpenRAM SRAM model
-// Words: 256
-// Word size: 32
-// Write size: 8
-/* verilator lint_off UNUSED */
-/* verilator lint_off MULTIDRIVEN */
-module sky130_sram_1kbyte_1rw1r_32x256_8(
-`ifdef USE_POWER_PINS
-    vccd1,
-    vssd1,
-`endif
-// Port 0: RW
-    clk0,csb0,web0,wmask0,addr0,din0,dout0,
-// Port 1: R
-    clk1,csb1,addr1,dout1
-  );
-
-  parameter NUM_WMASKS = 4 ;
-  parameter DATA_WIDTH = 32 ;
-  parameter ADDR_WIDTH = 8 ;
-  parameter RAM_DEPTH = 1 << ADDR_WIDTH;
-  // FIXME: This delay is arbitrary.
-  parameter DELAY = 3 ;
-  parameter VERBOSE = 1 ; //Set to 0 to only display warnings
-  parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
-
-`ifdef USE_POWER_PINS
-    inout vccd1;
-    inout vssd1;
-`endif
-  input  clk0; // clock
-  input   csb0; // active low chip select
-  input  web0; // active low write control
-  input [NUM_WMASKS-1:0]   wmask0; // write mask
-  input [ADDR_WIDTH-1:0]  addr0;
-  input [DATA_WIDTH-1:0]  din0;
-  output [DATA_WIDTH-1:0] dout0;
-  input  clk1; // clock
-  input   csb1; // active low chip select
-  input [ADDR_WIDTH-1:0]  addr1;
-  output [DATA_WIDTH-1:0] dout1;
-
-  reg  csb0_reg;
-  reg  web0_reg;
-  reg [NUM_WMASKS-1:0]   wmask0_reg;
-  reg [ADDR_WIDTH-1:0]  addr0_reg;
-  reg [DATA_WIDTH-1:0]  din0_reg;
-  reg [DATA_WIDTH-1:0]  dout0;
-  reg [DATA_WIDTH-1:0]    mem [0:RAM_DEPTH-1];
-  // All inputs are registers
-  always @(posedge clk0)
-  begin
-    csb0_reg <= csb0;
-    web0_reg <= web0;
-    wmask0_reg <= wmask0;
-    addr0_reg <= addr0;
-    din0_reg <= din0;
-    
-  //   if ( !csb0_reg && web0_reg && VERBOSE ) 
-  //     $display($time," Reading %m addr0=%x dout0=%b",addr0_reg,mem[addr0_reg]);
-  //   if ( !csb0_reg && !web0_reg && VERBOSE )
-  //     $display($time," Writing %m addr0=%x din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
-  end
-
-  reg  csb1_reg;
-  reg [ADDR_WIDTH-1:0]  addr1_reg;
-  reg [DATA_WIDTH-1:0]  dout1;
-
-  // All inputs are registers
-  always @(posedge clk1)
-  begin
-    csb1_reg <= csb1;
-    addr1_reg <= addr1;
-  end
-
-
-
-  // Memory Write Block Port 0
-  // Write Operation : When web0 = 0, csb0 = 0
-  always @ (negedge clk0)
-  begin : MEM_WRITE0
-    if ( !csb0_reg && !web0_reg ) begin
-        if (wmask0_reg[0])
-                mem[addr0_reg][7:0] <= din0_reg[7:0];
-        if (wmask0_reg[1])
-                mem[addr0_reg][15:8] <= din0_reg[15:8];
-        if (wmask0_reg[2])
-                mem[addr0_reg][23:16] <= din0_reg[23:16];
-        if (wmask0_reg[3])
-                mem[addr0_reg][31:24] <= din0_reg[31:24];
-    end
-  end
-
-  // Memory Read Block Port 0
-  // Read Operation : When web0 = 1, csb0 = 0
-  always @ (negedge clk0)
-  begin : MEM_READ0
-    if (!csb0_reg && web0_reg)
-       dout0 <= #(DELAY) mem[addr0_reg];
-  end
-
-  // Memory Read Block Port 1
-  // Read Operation : When web1 = 1, csb1 = 0
-  always @ (negedge clk1)
-  begin : MEM_READ1
-    if (!csb1_reg)
-       dout1 <= #(DELAY) mem[addr1_reg];
-  end
-/* verilator lint_on UNUSED */
-endmodule
-
diff --git a/verilog/rtl_sram_out_cache/hehe/src/macros/verilog/sky130_sram_1rw1r_64x256_8.v b/verilog/rtl_sram_out_cache/hehe/src/macros/verilog/sky130_sram_1rw1r_64x256_8.v
deleted file mode 100755
index 072e129..0000000
--- a/verilog/rtl_sram_out_cache/hehe/src/macros/verilog/sky130_sram_1rw1r_64x256_8.v
+++ /dev/null
@@ -1,119 +0,0 @@
-// OpenRAM SRAM model
-// Words: 256
-// Word size: 64
-// Write size: 8
-
-/* verilator lint_off MULTIDRIVEN */
-/* verilator lint_off UNUSED */
-module sky130_sram_1rw1r_64x256_8(
-// Port 0: RW
-    clk0,csb0,web0,wmask0,addr0,din0,dout0,
-// Port 1: R
-    clk1,csb1,addr1,dout1
-  );
-
-  parameter NUM_WMASKS = 8 ;
-  parameter DATA_WIDTH = 64 ;
-  parameter ADDR_WIDTH = 8 ;
-  parameter RAM_DEPTH = 1 << ADDR_WIDTH;
-  // FIXME: This delay is arbitrary.
-  parameter DELAY = 3 ;
-  parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
-  input  clk0; // clock
-  input  csb0; // active low chip select
-  input  web0; // active low write control
-  input [NUM_WMASKS-1:0]   wmask0; // write mask
-  input [ADDR_WIDTH-1:0]  addr0;
-  input [DATA_WIDTH-1:0]  din0;
-  output [DATA_WIDTH-1:0] dout0;
-  input  clk1; // clock
-  input   csb1; // active low chip select
-  input [ADDR_WIDTH-1:0]  addr1;
-  output [DATA_WIDTH-1:0] dout1;
-
-  reg  csb0_reg;
-  reg  web0_reg;
-  reg [NUM_WMASKS-1:0]  wmask0_reg;
-  reg [ADDR_WIDTH-1:0]  addr0_reg;
-  reg [DATA_WIDTH-1:0]  din0_reg;
-  reg [DATA_WIDTH-1:0]  dout0;
-  reg [DATA_WIDTH-1:0]    mem [0:RAM_DEPTH-1];
-  // All inputs are registers
-  always @(posedge clk0)
-  begin
-    csb0_reg <= csb0;
-    web0_reg <= web0;
-    wmask0_reg <= wmask0;
-    addr0_reg <= addr0;
-    din0_reg <= din0;
-    /*verilator lint_off STMTDLY*/
-    //#(T_HOLD) dout0 <= 64'bx;
-    // if ( !csb0_reg && web0_reg ) 
-    //   $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]);
-    // if ( !csb0_reg && !web0_reg )
-    //   $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
-    /*verilator lint_on STMTDLY*/
-  end
-
-  reg  csb1_reg;
-  reg [ADDR_WIDTH-1:0]  addr1_reg;
-  reg [DATA_WIDTH-1:0]  dout1;
-
-  // All inputs are registers
-  always @(posedge clk1)
-  begin
-    csb1_reg <= csb1;
-    addr1_reg <= addr1;
-//     if (!csb0 && !web0 && !csb1 && (addr0 == addr1))
-//          $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1);
- //   dout1 <= 64'bx;
-//     if ( !csb1_reg ) 
-//       $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]);
-  end
-
-
-
-  // Memory Write Block Port 0
-  // Write Operation : When web0 = 0, csb0 = 0
-  always @ (negedge clk0)
-  begin : MEM_WRITE0
-    if ( !csb0_reg && !web0_reg ) begin
-        if (wmask0_reg[0])
-                mem[addr0_reg][7:0] <= din0_reg[7:0];
-        if (wmask0_reg[1])
-                mem[addr0_reg][15:8] <= din0_reg[15:8];
-        if (wmask0_reg[2])
-                mem[addr0_reg][23:16] <= din0_reg[23:16];
-        if (wmask0_reg[3])
-                mem[addr0_reg][31:24] <= din0_reg[31:24];
-        if (wmask0_reg[4])
-                mem[addr0_reg][39:32] <= din0_reg[39:32];
-        if (wmask0_reg[5])
-                mem[addr0_reg][47:40] <= din0_reg[47:40];
-        if (wmask0_reg[6])
-                mem[addr0_reg][55:48] <= din0_reg[55:48];
-        if (wmask0_reg[7])
-                mem[addr0_reg][63:56] <= din0_reg[63:56];
-    end
-  end
-
-  // Memory Read Block Port 0
-  // Read Operation : When web0 = 1, csb0 = 0
-  always @ (negedge clk0)
-  begin : MEM_READ0
-    if (!csb0_reg && web0_reg)
-    /*verilator lint_off ASSIGNDLY*/
-       dout0 <= #(DELAY) mem[addr0_reg];
-    
-  end
-
-  // Memory Read Block Port 1
-  // Read Operation : When web1 = 1, csb1 = 0
-  always @ (negedge clk1)
-  begin : MEM_READ1
-    if (!csb1_reg)
-       dout1 <= #(DELAY) mem[addr1_reg];
-  end
-
-endmodule
-    /*verilator lint_on ASSIGNDLY*/
diff --git a/verilog/rtl_sram_out_cache/hehe/src/params.vh b/verilog/rtl_sram_out_cache/hehe/src/params.vh
index b8deb41..99cb6d2 100755
--- a/verilog/rtl_sram_out_cache/hehe/src/params.vh
+++ b/verilog/rtl_sram_out_cache/hehe/src/params.vh
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 `ifndef PARAMS_VH
 `define PARAMS_VH
 // MACROS
diff --git a/verilog/rtl_sram_out_cache/latch_map.v b/verilog/rtl_sram_out_cache/latch_map.v
index 03f3ca0..56813ec 100644
--- a/verilog/rtl_sram_out_cache/latch_map.v
+++ b/verilog/rtl_sram_out_cache/latch_map.v
@@ -1,3 +1,18 @@
+// SPDX-FileCopyrightText: 2022 RIOSLab
+//
+// 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.
+//
+// SPDX-License-Identifier: Apache-2.0
 module \$_DLATCH_P_ (input E, input D, output Q);
   gf180mcu_fd_sc_mcu7t5v0__latq_1 _TECHMAP_DLATCH_P (
     //# {{data|Data Signals}}
diff --git a/verilog/rtl_sram_out_cache/top.v b/verilog/rtl_sram_out_cache/top.v
index e5d0afe..53a36cd 100755
--- a/verilog/rtl_sram_out_cache/top.v
+++ b/verilog/rtl_sram_out_cache/top.v
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2020 Efabless Corporation
+// SPDX-FileCopyrightText: 2022 RIOS Lab
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
