put together a test case for non routing macros
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index c94b7a0..e1186c7 100755
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -29,9 +29,14 @@
 
 # User Configurations
 
+# save some time
+set ::env(RUN_KLAYOUT_XOR) 0
+set ::env(RUN_KLAYOUT_DRC) 0
+
+
 ## Source Verilog Files
 set ::env(VERILOG_FILES) "\
-	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
+	$script_dir/../../caravel/verilog/rtl/defines.v \
 	$script_dir/../../verilog/rtl/user_project_wrapper.v"
 
 ## Clock configurations
@@ -50,14 +55,32 @@
 
 ### Black-box verilog and views
 set ::env(VERILOG_FILES_BLACKBOX) "\
-	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
-	$script_dir/../../verilog/rtl/user_proj_example.v"
+	$script_dir/../../caravel/verilog/rtl/defines.v \
+	$script_dir/../../verilog/rtl/user_project_includes.v"
 
-set ::env(EXTRA_LEFS) "\
-	$script_dir/../../lef/user_proj_example.lef"
+set ::env(EXTRA_LEFS) [glob $::env(DESIGN_DIR)/macros/lef/*.lef]
+set ::env(EXTRA_GDS_FILES) [glob $::env(DESIGN_DIR)/macros/gds/*.gds]
 
-set ::env(EXTRA_GDS_FILES) "\
-	$script_dir/../../gds/user_proj_example.gds"
+# routing adjustments
+# turn off li for any routing
+set ::env(GLB_RT_OBS)  "li1  0     0     2920 3520"
+
+#set ::env(GLB_RT_TILES) 5
+set ::env(GLB_RT_ALLOW_CONGESTION) "1"
+
+#Reduction in the routing capacity of the edges between the cells in the global routing graph. Values range from 0 to 1.
+#1 = most reduction, 0 = least reduction 
+set ::env(GLB_RT_ADJUSTMENT) 0.70
+
+# per layer adjustment
+# 0 -> 1: 1 means don't use the layer                                                        
+# l2 is met1                                                                                 
+set ::env(GLB_RT_L2_ADJUSTMENT) 0.9
+set ::env(GLB_RT_L3_ADJUSTMENT) 0.7
+ 
+
+# use 8 cores
+set ::env(ROUTING_CORES) 8
 
 set ::env(GLB_RT_MAXLAYER) 5
 
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index a7365ab..9084f2b 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1 +1,2 @@
-mprj 1175 1690 N
+wrapped_rgb_mixer_0 344 464 N
+wrapped_rgb_mixer_1 344 1208 N
diff --git a/openlane/user_project_wrapper/macros/gds/wrapped_rgb_mixer.gds b/openlane/user_project_wrapper/macros/gds/wrapped_rgb_mixer.gds
new file mode 100644
index 0000000..d050573
--- /dev/null
+++ b/openlane/user_project_wrapper/macros/gds/wrapped_rgb_mixer.gds
Binary files differ
diff --git a/openlane/user_project_wrapper/macros/lef/wrapped_rgb_mixer.lef b/openlane/user_project_wrapper/macros/lef/wrapped_rgb_mixer.lef
new file mode 100644
index 0000000..300c72a
--- /dev/null
+++ b/openlane/user_project_wrapper/macros/lef/wrapped_rgb_mixer.lef
@@ -0,0 +1,2062 @@
+VERSION 5.7 ;
+  NOWIREEXTENSIONATPIN ON ;
+  DIVIDERCHAR "/" ;
+  BUSBITCHARS "[]" ;
+MACRO wrapped_rgb_mixer
+  CLASS BLOCK ;
+  FOREIGN wrapped_rgb_mixer ;
+  ORIGIN 0.000 0.000 ;
+  SIZE 130.000 BY 210.000 ;
+  PIN active
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 180.920 4.000 181.520 ;
+    END
+  END active
+  PIN io_in[0]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 43.330 0.000 43.610 4.000 ;
+    END
+  END io_in[0]
+  PIN io_in[10]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 68.170 206.000 68.450 210.000 ;
+    END
+  END io_in[10]
+  PIN io_in[11]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 195.880 4.000 196.480 ;
+    END
+  END io_in[11]
+  PIN io_in[12]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 178.200 130.000 178.800 ;
+    END
+  END io_in[12]
+  PIN io_in[13]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 66.330 0.000 66.610 4.000 ;
+    END
+  END io_in[13]
+  PIN io_in[14]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 42.410 206.000 42.690 210.000 ;
+    END
+  END io_in[14]
+  PIN io_in[15]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 186.360 130.000 186.960 ;
+    END
+  END io_in[15]
+  PIN io_in[16]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 31.320 130.000 31.920 ;
+    END
+  END io_in[16]
+  PIN io_in[17]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 19.410 206.000 19.690 210.000 ;
+    END
+  END io_in[17]
+  PIN io_in[18]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 24.010 206.000 24.290 210.000 ;
+    END
+  END io_in[18]
+  PIN io_in[19]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 119.690 0.000 119.970 4.000 ;
+    END
+  END io_in[19]
+  PIN io_in[1]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 63.960 4.000 64.560 ;
+    END
+  END io_in[1]
+  PIN io_in[20]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 112.920 4.000 113.520 ;
+    END
+  END io_in[20]
+  PIN io_in[21]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 74.840 4.000 75.440 ;
+    END
+  END io_in[21]
+  PIN io_in[22]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 76.200 130.000 76.800 ;
+    END
+  END io_in[22]
+  PIN io_in[23]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 16.650 206.000 16.930 210.000 ;
+    END
+  END io_in[23]
+  PIN io_in[24]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 9.290 206.000 9.570 210.000 ;
+    END
+  END io_in[24]
+  PIN io_in[25]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 104.970 0.000 105.250 4.000 ;
+    END
+  END io_in[25]
+  PIN io_in[26]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 102.210 0.000 102.490 4.000 ;
+    END
+  END io_in[26]
+  PIN io_in[27]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 57.160 130.000 57.760 ;
+    END
+  END io_in[27]
+  PIN io_in[28]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 92.090 0.000 92.370 4.000 ;
+    END
+  END io_in[28]
+  PIN io_in[29]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 128.890 206.000 129.170 210.000 ;
+    END
+  END io_in[29]
+  PIN io_in[2]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 46.090 0.000 46.370 4.000 ;
+    END
+  END io_in[2]
+  PIN io_in[30]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 91.160 130.000 91.760 ;
+    END
+  END io_in[30]
+  PIN io_in[31]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 174.120 4.000 174.720 ;
+    END
+  END io_in[31]
+  PIN io_in[32]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 86.570 0.000 86.850 4.000 ;
+    END
+  END io_in[32]
+  PIN io_in[33]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 102.040 4.000 102.640 ;
+    END
+  END io_in[33]
+  PIN io_in[34]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 95.770 206.000 96.050 210.000 ;
+    END
+  END io_in[34]
+  PIN io_in[35]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 111.410 206.000 111.690 210.000 ;
+    END
+  END io_in[35]
+  PIN io_in[36]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 137.400 130.000 138.000 ;
+    END
+  END io_in[36]
+  PIN io_in[37]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 114.170 206.000 114.450 210.000 ;
+    END
+  END io_in[37]
+  PIN io_in[3]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 70.010 206.000 70.290 210.000 ;
+    END
+  END io_in[3]
+  PIN io_in[4]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 133.320 130.000 133.920 ;
+    END
+  END io_in[4]
+  PIN io_in[5]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 201.320 130.000 201.920 ;
+    END
+  END io_in[5]
+  PIN io_in[6]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 121.080 4.000 121.680 ;
+    END
+  END io_in[6]
+  PIN io_in[7]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 83.000 4.000 83.600 ;
+    END
+  END io_in[7]
+  PIN io_in[8]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 144.200 130.000 144.800 ;
+    END
+  END io_in[8]
+  PIN io_in[9]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 13.890 206.000 14.170 210.000 ;
+    END
+  END io_in[9]
+  PIN io_oeb[0]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 73.690 0.000 73.970 4.000 ;
+    END
+  END io_oeb[0]
+  PIN io_oeb[10]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 68.040 4.000 68.640 ;
+    END
+  END io_oeb[10]
+  PIN io_oeb[11]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 125.160 130.000 125.760 ;
+    END
+  END io_oeb[11]
+  PIN io_oeb[12]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 72.120 130.000 72.720 ;
+    END
+  END io_oeb[12]
+  PIN io_oeb[13]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 69.400 130.000 70.000 ;
+    END
+  END io_oeb[13]
+  PIN io_oeb[14]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 17.720 4.000 18.320 ;
+    END
+  END io_oeb[14]
+  PIN io_oeb[15]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 29.530 206.000 29.810 210.000 ;
+    END
+  END io_oeb[15]
+  PIN io_oeb[16]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 23.160 130.000 23.760 ;
+    END
+  END io_oeb[16]
+  PIN io_oeb[17]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 37.810 0.000 38.090 4.000 ;
+    END
+  END io_oeb[17]
+  PIN io_oeb[18]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 91.170 206.000 91.450 210.000 ;
+    END
+  END io_oeb[18]
+  PIN io_oeb[19]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 32.290 206.000 32.570 210.000 ;
+    END
+  END io_oeb[19]
+  PIN io_oeb[1]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 109.570 0.000 109.850 4.000 ;
+    END
+  END io_oeb[1]
+  PIN io_oeb[20]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 99.320 130.000 99.920 ;
+    END
+  END io_oeb[20]
+  PIN io_oeb[21]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 204.040 4.000 204.640 ;
+    END
+  END io_oeb[21]
+  PIN io_oeb[22]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 14.810 0.000 15.090 4.000 ;
+    END
+  END io_oeb[22]
+  PIN io_oeb[23]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 59.890 206.000 60.170 210.000 ;
+    END
+  END io_oeb[23]
+  PIN io_oeb[24]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 62.650 206.000 62.930 210.000 ;
+    END
+  END io_oeb[24]
+  PIN io_oeb[25]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 4.120 130.000 4.720 ;
+    END
+  END io_oeb[25]
+  PIN io_oeb[26]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 167.320 130.000 167.920 ;
+    END
+  END io_oeb[26]
+  PIN io_oeb[27]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 72.770 206.000 73.050 210.000 ;
+    END
+  END io_oeb[27]
+  PIN io_oeb[28]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 117.850 0.000 118.130 4.000 ;
+    END
+  END io_oeb[28]
+  PIN io_oeb[29]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 140.120 130.000 140.720 ;
+    END
+  END io_oeb[29]
+  PIN io_oeb[2]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 105.890 206.000 106.170 210.000 ;
+    END
+  END io_oeb[2]
+  PIN io_oeb[30]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 208.120 4.000 208.720 ;
+    END
+  END io_oeb[30]
+  PIN io_oeb[31]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 115.090 0.000 115.370 4.000 ;
+    END
+  END io_oeb[31]
+  PIN io_oeb[32]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 97.960 4.000 98.560 ;
+    END
+  END io_oeb[32]
+  PIN io_oeb[33]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 8.200 130.000 8.800 ;
+    END
+  END io_oeb[33]
+  PIN io_oeb[34]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 22.170 206.000 22.450 210.000 ;
+    END
+  END io_oeb[34]
+  PIN io_oeb[35]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 87.080 4.000 87.680 ;
+    END
+  END io_oeb[35]
+  PIN io_oeb[36]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 44.920 4.000 45.520 ;
+    END
+  END io_oeb[36]
+  PIN io_oeb[37]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 70.760 4.000 71.360 ;
+    END
+  END io_oeb[37]
+  PIN io_oeb[3]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 70.930 0.000 71.210 4.000 ;
+    END
+  END io_oeb[3]
+  PIN io_oeb[4]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 16.360 130.000 16.960 ;
+    END
+  END io_oeb[4]
+  PIN io_oeb[5]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 127.880 4.000 128.480 ;
+    END
+  END io_oeb[5]
+  PIN io_oeb[6]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 84.360 130.000 84.960 ;
+    END
+  END io_oeb[6]
+  PIN io_oeb[7]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 26.770 206.000 27.050 210.000 ;
+    END
+  END io_oeb[7]
+  PIN io_oeb[8]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 12.050 0.000 12.330 4.000 ;
+    END
+  END io_oeb[8]
+  PIN io_oeb[9]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 30.450 0.000 30.730 4.000 ;
+    END
+  END io_oeb[9]
+  PIN io_out[0]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 197.240 130.000 197.840 ;
+    END
+  END io_out[0]
+  PIN io_out[10]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 121.080 130.000 121.680 ;
+    END
+  END io_out[10]
+  PIN io_out[11]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 10.920 4.000 11.520 ;
+    END
+  END io_out[11]
+  PIN io_out[12]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 29.960 4.000 30.560 ;
+    END
+  END io_out[12]
+  PIN io_out[13]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 112.330 0.000 112.610 4.000 ;
+    END
+  END io_out[13]
+  PIN io_out[14]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 171.400 130.000 172.000 ;
+    END
+  END io_out[14]
+  PIN io_out[15]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 161.880 4.000 162.480 ;
+    END
+  END io_out[15]
+  PIN io_out[16]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 118.360 130.000 118.960 ;
+    END
+  END io_out[16]
+  PIN io_out[17]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 118.770 206.000 119.050 210.000 ;
+    END
+  END io_out[17]
+  PIN io_out[18]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 0.040 130.000 0.640 ;
+    END
+  END io_out[18]
+  PIN io_out[19]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 93.880 4.000 94.480 ;
+    END
+  END io_out[19]
+  PIN io_out[1]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 82.890 206.000 83.170 210.000 ;
+    END
+  END io_out[1]
+  PIN io_out[20]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 104.050 206.000 104.330 210.000 ;
+    END
+  END io_out[20]
+  PIN io_out[21]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 157.800 4.000 158.400 ;
+    END
+  END io_out[21]
+  PIN io_out[22]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 89.330 0.000 89.610 4.000 ;
+    END
+  END io_out[22]
+  PIN io_out[23]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 103.400 130.000 104.000 ;
+    END
+  END io_out[23]
+  PIN io_out[24]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 76.450 0.000 76.730 4.000 ;
+    END
+  END io_out[24]
+  PIN io_out[25]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 93.930 206.000 94.210 210.000 ;
+    END
+  END io_out[25]
+  PIN io_out[26]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 21.800 4.000 22.400 ;
+    END
+  END io_out[26]
+  PIN io_out[27]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 98.530 206.000 98.810 210.000 ;
+    END
+  END io_out[27]
+  PIN io_out[28]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 47.930 0.000 48.210 4.000 ;
+    END
+  END io_out[28]
+  PIN io_out[29]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 19.080 130.000 19.680 ;
+    END
+  END io_out[29]
+  PIN io_out[2]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 20.330 0.000 20.610 4.000 ;
+    END
+  END io_out[2]
+  PIN io_out[30]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 25.880 4.000 26.480 ;
+    END
+  END io_out[30]
+  PIN io_out[31]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 55.800 4.000 56.400 ;
+    END
+  END io_out[31]
+  PIN io_out[32]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 185.000 4.000 185.600 ;
+    END
+  END io_out[32]
+  PIN io_out[33]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 42.200 130.000 42.800 ;
+    END
+  END io_out[33]
+  PIN io_out[34]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 174.120 130.000 174.720 ;
+    END
+  END io_out[34]
+  PIN io_out[35]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 163.240 130.000 163.840 ;
+    END
+  END io_out[35]
+  PIN io_out[36]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 35.050 206.000 35.330 210.000 ;
+    END
+  END io_out[36]
+  PIN io_out[37]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 190.440 130.000 191.040 ;
+    END
+  END io_out[37]
+  PIN io_out[3]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 170.040 4.000 170.640 ;
+    END
+  END io_out[3]
+  PIN io_out[4]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 129.240 130.000 129.840 ;
+    END
+  END io_out[4]
+  PIN io_out[5]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 55.290 206.000 55.570 210.000 ;
+    END
+  END io_out[5]
+  PIN io_out[6]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 124.290 206.000 124.570 210.000 ;
+    END
+  END io_out[6]
+  PIN io_out[7]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 78.920 4.000 79.520 ;
+    END
+  END io_out[7]
+  PIN io_out[8]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 53.450 0.000 53.730 4.000 ;
+    END
+  END io_out[8]
+  PIN io_out[9]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 59.880 4.000 60.480 ;
+    END
+  END io_out[9]
+  PIN la1_data_in[0]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 46.280 130.000 46.880 ;
+    END
+  END la1_data_in[0]
+  PIN la1_data_in[10]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 60.810 0.000 61.090 4.000 ;
+    END
+  END la1_data_in[10]
+  PIN la1_data_in[11]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 38.120 130.000 38.720 ;
+    END
+  END la1_data_in[11]
+  PIN la1_data_in[12]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 146.920 4.000 147.520 ;
+    END
+  END la1_data_in[12]
+  PIN la1_data_in[13]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 93.930 0.000 94.210 4.000 ;
+    END
+  END la1_data_in[13]
+  PIN la1_data_in[14]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 51.720 4.000 52.320 ;
+    END
+  END la1_data_in[14]
+  PIN la1_data_in[15]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 36.890 206.000 37.170 210.000 ;
+    END
+  END la1_data_in[15]
+  PIN la1_data_in[16]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 78.290 206.000 78.570 210.000 ;
+    END
+  END la1_data_in[16]
+  PIN la1_data_in[17]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 58.050 206.000 58.330 210.000 ;
+    END
+  END la1_data_in[17]
+  PIN la1_data_in[18]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 122.450 0.000 122.730 4.000 ;
+    END
+  END la1_data_in[18]
+  PIN la1_data_in[19]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 39.650 206.000 39.930 210.000 ;
+    END
+  END la1_data_in[19]
+  PIN la1_data_in[1]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 56.210 0.000 56.490 4.000 ;
+    END
+  END la1_data_in[1]
+  PIN la1_data_in[20]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 142.840 4.000 143.440 ;
+    END
+  END la1_data_in[20]
+  PIN la1_data_in[21]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 127.050 206.000 127.330 210.000 ;
+    END
+  END la1_data_in[21]
+  PIN la1_data_in[22]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 50.360 130.000 50.960 ;
+    END
+  END la1_data_in[22]
+  PIN la1_data_in[23]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 2.760 4.000 3.360 ;
+    END
+  END la1_data_in[23]
+  PIN la1_data_in[24]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 40.570 0.000 40.850 4.000 ;
+    END
+  END la1_data_in[24]
+  PIN la1_data_in[25]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 151.000 4.000 151.600 ;
+    END
+  END la1_data_in[25]
+  PIN la1_data_in[26]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 27.240 130.000 27.840 ;
+    END
+  END la1_data_in[26]
+  PIN la1_data_in[27]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 81.970 0.000 82.250 4.000 ;
+    END
+  END la1_data_in[27]
+  PIN la1_data_in[28]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 131.960 4.000 132.560 ;
+    END
+  END la1_data_in[28]
+  PIN la1_data_in[29]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 199.960 4.000 200.560 ;
+    END
+  END la1_data_in[29]
+  PIN la1_data_in[2]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 33.210 0.000 33.490 4.000 ;
+    END
+  END la1_data_in[2]
+  PIN la1_data_in[30]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 4.690 0.000 4.970 4.000 ;
+    END
+  END la1_data_in[30]
+  PIN la1_data_in[31]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 106.810 0.000 107.090 4.000 ;
+    END
+  END la1_data_in[31]
+  PIN la1_data_in[3]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 123.800 4.000 124.400 ;
+    END
+  END la1_data_in[3]
+  PIN la1_data_in[4]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 108.650 206.000 108.930 210.000 ;
+    END
+  END la1_data_in[4]
+  PIN la1_data_in[5]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 110.200 130.000 110.800 ;
+    END
+  END la1_data_in[5]
+  PIN la1_data_in[6]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 45.170 206.000 45.450 210.000 ;
+    END
+  END la1_data_in[6]
+  PIN la1_data_in[7]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 89.800 4.000 90.400 ;
+    END
+  END la1_data_in[7]
+  PIN la1_data_in[8]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 47.010 206.000 47.290 210.000 ;
+    END
+  END la1_data_in[8]
+  PIN la1_data_in[9]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 136.040 4.000 136.640 ;
+    END
+  END la1_data_in[9]
+  PIN la1_data_out[0]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 23.090 0.000 23.370 4.000 ;
+    END
+  END la1_data_out[0]
+  PIN la1_data_out[10]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 61.240 130.000 61.840 ;
+    END
+  END la1_data_out[10]
+  PIN la1_data_out[11]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 63.570 0.000 63.850 4.000 ;
+    END
+  END la1_data_out[11]
+  PIN la1_data_out[12]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 193.160 130.000 193.760 ;
+    END
+  END la1_data_out[12]
+  PIN la1_data_out[13]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 3.770 206.000 4.050 210.000 ;
+    END
+  END la1_data_out[13]
+  PIN la1_data_out[14]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 65.410 206.000 65.690 210.000 ;
+    END
+  END la1_data_out[14]
+  PIN la1_data_out[15]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 6.840 4.000 7.440 ;
+    END
+  END la1_data_out[15]
+  PIN la1_data_out[16]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 80.280 130.000 80.880 ;
+    END
+  END la1_data_out[16]
+  PIN la1_data_out[17]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 156.440 130.000 157.040 ;
+    END
+  END la1_data_out[17]
+  PIN la1_data_out[18]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 6.530 206.000 6.810 210.000 ;
+    END
+  END la1_data_out[18]
+  PIN la1_data_out[19]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 114.280 130.000 114.880 ;
+    END
+  END la1_data_out[19]
+  PIN la1_data_out[1]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 176.840 4.000 177.440 ;
+    END
+  END la1_data_out[1]
+  PIN la1_data_out[20]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 40.840 4.000 41.440 ;
+    END
+  END la1_data_out[20]
+  PIN la1_data_out[21]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 182.280 130.000 182.880 ;
+    END
+  END la1_data_out[21]
+  PIN la1_data_out[22]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 75.530 206.000 75.810 210.000 ;
+    END
+  END la1_data_out[22]
+  PIN la1_data_out[23]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 35.050 0.000 35.330 4.000 ;
+    END
+  END la1_data_out[23]
+  PIN la1_data_out[24]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 87.080 130.000 87.680 ;
+    END
+  END la1_data_out[24]
+  PIN la1_data_out[25]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 15.000 4.000 15.600 ;
+    END
+  END la1_data_out[25]
+  PIN la1_data_out[26]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 34.040 130.000 34.640 ;
+    END
+  END la1_data_out[26]
+  PIN la1_data_out[27]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 189.080 4.000 189.680 ;
+    END
+  END la1_data_out[27]
+  PIN la1_data_out[28]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 125.210 0.000 125.490 4.000 ;
+    END
+  END la1_data_out[28]
+  PIN la1_data_out[29]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 17.570 0.000 17.850 4.000 ;
+    END
+  END la1_data_out[29]
+  PIN la1_data_out[2]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 58.970 0.000 59.250 4.000 ;
+    END
+  END la1_data_out[2]
+  PIN la1_data_out[30]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 65.320 130.000 65.920 ;
+    END
+  END la1_data_out[30]
+  PIN la1_data_out[31]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 205.400 130.000 206.000 ;
+    END
+  END la1_data_out[31]
+  PIN la1_data_out[3]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 36.760 4.000 37.360 ;
+    END
+  END la1_data_out[3]
+  PIN la1_data_out[4]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 127.970 0.000 128.250 4.000 ;
+    END
+  END la1_data_out[4]
+  PIN la1_data_out[5]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 10.210 0.000 10.490 4.000 ;
+    END
+  END la1_data_out[5]
+  PIN la1_data_out[6]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 95.240 130.000 95.840 ;
+    END
+  END la1_data_out[6]
+  PIN la1_data_out[7]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 1.930 0.000 2.210 4.000 ;
+    END
+  END la1_data_out[7]
+  PIN la1_data_out[8]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 159.160 130.000 159.760 ;
+    END
+  END la1_data_out[8]
+  PIN la1_data_out[9]
+    DIRECTION OUTPUT TRISTATE ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 121.530 206.000 121.810 210.000 ;
+    END
+  END la1_data_out[9]
+  PIN la1_oenb[0]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 12.280 130.000 12.880 ;
+    END
+  END la1_oenb[0]
+  PIN la1_oenb[10]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 116.930 206.000 117.210 210.000 ;
+    END
+  END la1_oenb[10]
+  PIN la1_oenb[11]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 108.840 4.000 109.440 ;
+    END
+  END la1_oenb[11]
+  PIN la1_oenb[12]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 117.000 4.000 117.600 ;
+    END
+  END la1_oenb[12]
+  PIN la1_oenb[13]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 83.810 0.000 84.090 4.000 ;
+    END
+  END la1_oenb[13]
+  PIN la1_oenb[14]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 0.090 0.000 0.370 4.000 ;
+    END
+  END la1_oenb[14]
+  PIN la1_oenb[15]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 99.450 0.000 99.730 4.000 ;
+    END
+  END la1_oenb[15]
+  PIN la1_oenb[16]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 138.760 4.000 139.360 ;
+    END
+  END la1_oenb[16]
+  PIN la1_oenb[17]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 1.010 206.000 1.290 210.000 ;
+    END
+  END la1_oenb[17]
+  PIN la1_oenb[18]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 52.530 206.000 52.810 210.000 ;
+    END
+  END la1_oenb[18]
+  PIN la1_oenb[19]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 104.760 4.000 105.360 ;
+    END
+  END la1_oenb[19]
+  PIN la1_oenb[1]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 24.930 0.000 25.210 4.000 ;
+    END
+  END la1_oenb[1]
+  PIN la1_oenb[20]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 7.450 0.000 7.730 4.000 ;
+    END
+  END la1_oenb[20]
+  PIN la1_oenb[21]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 81.050 206.000 81.330 210.000 ;
+    END
+  END la1_oenb[21]
+  PIN la1_oenb[22]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 49.770 206.000 50.050 210.000 ;
+    END
+  END la1_oenb[22]
+  PIN la1_oenb[23]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 69.090 0.000 69.370 4.000 ;
+    END
+  END la1_oenb[23]
+  PIN la1_oenb[24]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 101.290 206.000 101.570 210.000 ;
+    END
+  END la1_oenb[24]
+  PIN la1_oenb[25]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 53.080 130.000 53.680 ;
+    END
+  END la1_oenb[25]
+  PIN la1_oenb[26]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 155.080 4.000 155.680 ;
+    END
+  END la1_oenb[26]
+  PIN la1_oenb[27]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 152.360 130.000 152.960 ;
+    END
+  END la1_oenb[27]
+  PIN la1_oenb[28]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 27.690 0.000 27.970 4.000 ;
+    END
+  END la1_oenb[28]
+  PIN la1_oenb[29]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 50.690 0.000 50.970 4.000 ;
+    END
+  END la1_oenb[29]
+  PIN la1_oenb[2]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 34.040 4.000 34.640 ;
+    END
+  END la1_oenb[2]
+  PIN la1_oenb[30]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 148.280 130.000 148.880 ;
+    END
+  END la1_oenb[30]
+  PIN la1_oenb[31]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 79.210 0.000 79.490 4.000 ;
+    END
+  END la1_oenb[31]
+  PIN la1_oenb[3]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 88.410 206.000 88.690 210.000 ;
+    END
+  END la1_oenb[3]
+  PIN la1_oenb[4]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 85.650 206.000 85.930 210.000 ;
+    END
+  END la1_oenb[4]
+  PIN la1_oenb[5]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 191.800 4.000 192.400 ;
+    END
+  END la1_oenb[5]
+  PIN la1_oenb[6]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 11.130 206.000 11.410 210.000 ;
+    END
+  END la1_oenb[6]
+  PIN la1_oenb[7]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met2 ;
+        RECT 96.690 0.000 96.970 4.000 ;
+    END
+  END la1_oenb[7]
+  PIN la1_oenb[8]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 49.000 4.000 49.600 ;
+    END
+  END la1_oenb[8]
+  PIN la1_oenb[9]
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 0.000 165.960 4.000 166.560 ;
+    END
+  END la1_oenb[9]
+  PIN vccd1
+    DIRECTION INPUT ;
+    USE POWER ;
+    PORT
+      LAYER met4 ;
+        RECT 24.545 10.640 26.145 198.800 ;
+    END
+    PORT
+      LAYER met4 ;
+        RECT 64.195 10.640 65.795 198.800 ;
+    END
+    PORT
+      LAYER met4 ;
+        RECT 103.850 10.640 105.450 198.800 ;
+    END
+  END vccd1
+  PIN vssd1
+    DIRECTION INPUT ;
+    USE GROUND ;
+    PORT
+      LAYER met4 ;
+        RECT 44.370 10.640 45.970 198.800 ;
+    END
+    PORT
+      LAYER met4 ;
+        RECT 84.025 10.640 85.625 198.800 ;
+    END
+  END vssd1
+  PIN wb_clk_i
+    DIRECTION INPUT ;
+    USE SIGNAL ;
+    PORT
+      LAYER met3 ;
+        RECT 126.000 106.120 130.000 106.720 ;
+    END
+  END wb_clk_i
+  OBS
+      LAYER li1 ;
+        RECT 5.520 0.425 129.575 205.615 ;
+      LAYER met1 ;
+        RECT 1.910 0.380 129.635 205.660 ;
+      LAYER met2 ;
+        RECT 1.940 205.720 3.490 208.605 ;
+        RECT 4.330 205.720 6.250 208.605 ;
+        RECT 7.090 205.720 9.010 208.605 ;
+        RECT 9.850 205.720 10.850 208.605 ;
+        RECT 11.690 205.720 13.610 208.605 ;
+        RECT 14.450 205.720 16.370 208.605 ;
+        RECT 17.210 205.720 19.130 208.605 ;
+        RECT 19.970 205.720 21.890 208.605 ;
+        RECT 22.730 205.720 23.730 208.605 ;
+        RECT 24.570 205.720 26.490 208.605 ;
+        RECT 27.330 205.720 29.250 208.605 ;
+        RECT 30.090 205.720 32.010 208.605 ;
+        RECT 32.850 205.720 34.770 208.605 ;
+        RECT 35.610 205.720 36.610 208.605 ;
+        RECT 37.450 205.720 39.370 208.605 ;
+        RECT 40.210 205.720 42.130 208.605 ;
+        RECT 42.970 205.720 44.890 208.605 ;
+        RECT 45.730 205.720 46.730 208.605 ;
+        RECT 47.570 205.720 49.490 208.605 ;
+        RECT 50.330 205.720 52.250 208.605 ;
+        RECT 53.090 205.720 55.010 208.605 ;
+        RECT 55.850 205.720 57.770 208.605 ;
+        RECT 58.610 205.720 59.610 208.605 ;
+        RECT 60.450 205.720 62.370 208.605 ;
+        RECT 63.210 205.720 65.130 208.605 ;
+        RECT 65.970 205.720 67.890 208.605 ;
+        RECT 68.730 205.720 69.730 208.605 ;
+        RECT 70.570 205.720 72.490 208.605 ;
+        RECT 73.330 205.720 75.250 208.605 ;
+        RECT 76.090 205.720 78.010 208.605 ;
+        RECT 78.850 205.720 80.770 208.605 ;
+        RECT 81.610 205.720 82.610 208.605 ;
+        RECT 83.450 205.720 85.370 208.605 ;
+        RECT 86.210 205.720 88.130 208.605 ;
+        RECT 88.970 205.720 90.890 208.605 ;
+        RECT 91.730 205.720 93.650 208.605 ;
+        RECT 94.490 205.720 95.490 208.605 ;
+        RECT 96.330 205.720 98.250 208.605 ;
+        RECT 99.090 205.720 101.010 208.605 ;
+        RECT 101.850 205.720 103.770 208.605 ;
+        RECT 104.610 205.720 105.610 208.605 ;
+        RECT 106.450 205.720 108.370 208.605 ;
+        RECT 109.210 205.720 111.130 208.605 ;
+        RECT 111.970 205.720 113.890 208.605 ;
+        RECT 114.730 205.720 116.650 208.605 ;
+        RECT 117.490 205.720 118.490 208.605 ;
+        RECT 119.330 205.720 121.250 208.605 ;
+        RECT 122.090 205.720 124.010 208.605 ;
+        RECT 124.850 205.720 126.770 208.605 ;
+        RECT 127.610 205.720 128.610 208.605 ;
+        RECT 1.940 4.280 128.710 205.720 ;
+        RECT 2.490 0.155 4.410 4.280 ;
+        RECT 5.250 0.155 7.170 4.280 ;
+        RECT 8.010 0.155 9.930 4.280 ;
+        RECT 10.770 0.155 11.770 4.280 ;
+        RECT 12.610 0.155 14.530 4.280 ;
+        RECT 15.370 0.155 17.290 4.280 ;
+        RECT 18.130 0.155 20.050 4.280 ;
+        RECT 20.890 0.155 22.810 4.280 ;
+        RECT 23.650 0.155 24.650 4.280 ;
+        RECT 25.490 0.155 27.410 4.280 ;
+        RECT 28.250 0.155 30.170 4.280 ;
+        RECT 31.010 0.155 32.930 4.280 ;
+        RECT 33.770 0.155 34.770 4.280 ;
+        RECT 35.610 0.155 37.530 4.280 ;
+        RECT 38.370 0.155 40.290 4.280 ;
+        RECT 41.130 0.155 43.050 4.280 ;
+        RECT 43.890 0.155 45.810 4.280 ;
+        RECT 46.650 0.155 47.650 4.280 ;
+        RECT 48.490 0.155 50.410 4.280 ;
+        RECT 51.250 0.155 53.170 4.280 ;
+        RECT 54.010 0.155 55.930 4.280 ;
+        RECT 56.770 0.155 58.690 4.280 ;
+        RECT 59.530 0.155 60.530 4.280 ;
+        RECT 61.370 0.155 63.290 4.280 ;
+        RECT 64.130 0.155 66.050 4.280 ;
+        RECT 66.890 0.155 68.810 4.280 ;
+        RECT 69.650 0.155 70.650 4.280 ;
+        RECT 71.490 0.155 73.410 4.280 ;
+        RECT 74.250 0.155 76.170 4.280 ;
+        RECT 77.010 0.155 78.930 4.280 ;
+        RECT 79.770 0.155 81.690 4.280 ;
+        RECT 82.530 0.155 83.530 4.280 ;
+        RECT 84.370 0.155 86.290 4.280 ;
+        RECT 87.130 0.155 89.050 4.280 ;
+        RECT 89.890 0.155 91.810 4.280 ;
+        RECT 92.650 0.155 93.650 4.280 ;
+        RECT 94.490 0.155 96.410 4.280 ;
+        RECT 97.250 0.155 99.170 4.280 ;
+        RECT 100.010 0.155 101.930 4.280 ;
+        RECT 102.770 0.155 104.690 4.280 ;
+        RECT 105.530 0.155 106.530 4.280 ;
+        RECT 107.370 0.155 109.290 4.280 ;
+        RECT 110.130 0.155 112.050 4.280 ;
+        RECT 112.890 0.155 114.810 4.280 ;
+        RECT 115.650 0.155 117.570 4.280 ;
+        RECT 118.410 0.155 119.410 4.280 ;
+        RECT 120.250 0.155 122.170 4.280 ;
+        RECT 123.010 0.155 124.930 4.280 ;
+        RECT 125.770 0.155 127.690 4.280 ;
+        RECT 128.530 0.155 128.710 4.280 ;
+      LAYER met3 ;
+        RECT 4.400 207.720 128.735 208.585 ;
+        RECT 4.000 206.400 128.735 207.720 ;
+        RECT 4.000 205.040 125.600 206.400 ;
+        RECT 4.400 205.000 125.600 205.040 ;
+        RECT 4.400 203.640 128.735 205.000 ;
+        RECT 4.000 202.320 128.735 203.640 ;
+        RECT 4.000 200.960 125.600 202.320 ;
+        RECT 4.400 200.920 125.600 200.960 ;
+        RECT 4.400 199.560 128.735 200.920 ;
+        RECT 4.000 198.240 128.735 199.560 ;
+        RECT 4.000 196.880 125.600 198.240 ;
+        RECT 4.400 196.840 125.600 196.880 ;
+        RECT 4.400 195.480 128.735 196.840 ;
+        RECT 4.000 194.160 128.735 195.480 ;
+        RECT 4.000 192.800 125.600 194.160 ;
+        RECT 4.400 192.760 125.600 192.800 ;
+        RECT 4.400 191.440 128.735 192.760 ;
+        RECT 4.400 191.400 125.600 191.440 ;
+        RECT 4.000 190.080 125.600 191.400 ;
+        RECT 4.400 190.040 125.600 190.080 ;
+        RECT 4.400 188.680 128.735 190.040 ;
+        RECT 4.000 187.360 128.735 188.680 ;
+        RECT 4.000 186.000 125.600 187.360 ;
+        RECT 4.400 185.960 125.600 186.000 ;
+        RECT 4.400 184.600 128.735 185.960 ;
+        RECT 4.000 183.280 128.735 184.600 ;
+        RECT 4.000 181.920 125.600 183.280 ;
+        RECT 4.400 181.880 125.600 181.920 ;
+        RECT 4.400 180.520 128.735 181.880 ;
+        RECT 4.000 179.200 128.735 180.520 ;
+        RECT 4.000 177.840 125.600 179.200 ;
+        RECT 4.400 177.800 125.600 177.840 ;
+        RECT 4.400 176.440 128.735 177.800 ;
+        RECT 4.000 175.120 128.735 176.440 ;
+        RECT 4.400 173.720 125.600 175.120 ;
+        RECT 4.000 172.400 128.735 173.720 ;
+        RECT 4.000 171.040 125.600 172.400 ;
+        RECT 4.400 171.000 125.600 171.040 ;
+        RECT 4.400 169.640 128.735 171.000 ;
+        RECT 4.000 168.320 128.735 169.640 ;
+        RECT 4.000 166.960 125.600 168.320 ;
+        RECT 4.400 166.920 125.600 166.960 ;
+        RECT 4.400 165.560 128.735 166.920 ;
+        RECT 4.000 164.240 128.735 165.560 ;
+        RECT 4.000 162.880 125.600 164.240 ;
+        RECT 4.400 162.840 125.600 162.880 ;
+        RECT 4.400 161.480 128.735 162.840 ;
+        RECT 4.000 160.160 128.735 161.480 ;
+        RECT 4.000 158.800 125.600 160.160 ;
+        RECT 4.400 158.760 125.600 158.800 ;
+        RECT 4.400 157.440 128.735 158.760 ;
+        RECT 4.400 157.400 125.600 157.440 ;
+        RECT 4.000 156.080 125.600 157.400 ;
+        RECT 4.400 156.040 125.600 156.080 ;
+        RECT 4.400 154.680 128.735 156.040 ;
+        RECT 4.000 153.360 128.735 154.680 ;
+        RECT 4.000 152.000 125.600 153.360 ;
+        RECT 4.400 151.960 125.600 152.000 ;
+        RECT 4.400 150.600 128.735 151.960 ;
+        RECT 4.000 149.280 128.735 150.600 ;
+        RECT 4.000 147.920 125.600 149.280 ;
+        RECT 4.400 147.880 125.600 147.920 ;
+        RECT 4.400 146.520 128.735 147.880 ;
+        RECT 4.000 145.200 128.735 146.520 ;
+        RECT 4.000 143.840 125.600 145.200 ;
+        RECT 4.400 143.800 125.600 143.840 ;
+        RECT 4.400 142.440 128.735 143.800 ;
+        RECT 4.000 141.120 128.735 142.440 ;
+        RECT 4.000 139.760 125.600 141.120 ;
+        RECT 4.400 139.720 125.600 139.760 ;
+        RECT 4.400 138.400 128.735 139.720 ;
+        RECT 4.400 138.360 125.600 138.400 ;
+        RECT 4.000 137.040 125.600 138.360 ;
+        RECT 4.400 137.000 125.600 137.040 ;
+        RECT 4.400 135.640 128.735 137.000 ;
+        RECT 4.000 134.320 128.735 135.640 ;
+        RECT 4.000 132.960 125.600 134.320 ;
+        RECT 4.400 132.920 125.600 132.960 ;
+        RECT 4.400 131.560 128.735 132.920 ;
+        RECT 4.000 130.240 128.735 131.560 ;
+        RECT 4.000 128.880 125.600 130.240 ;
+        RECT 4.400 128.840 125.600 128.880 ;
+        RECT 4.400 127.480 128.735 128.840 ;
+        RECT 4.000 126.160 128.735 127.480 ;
+        RECT 4.000 124.800 125.600 126.160 ;
+        RECT 4.400 124.760 125.600 124.800 ;
+        RECT 4.400 123.400 128.735 124.760 ;
+        RECT 4.000 122.080 128.735 123.400 ;
+        RECT 4.400 120.680 125.600 122.080 ;
+        RECT 4.000 119.360 128.735 120.680 ;
+        RECT 4.000 118.000 125.600 119.360 ;
+        RECT 4.400 117.960 125.600 118.000 ;
+        RECT 4.400 116.600 128.735 117.960 ;
+        RECT 4.000 115.280 128.735 116.600 ;
+        RECT 4.000 113.920 125.600 115.280 ;
+        RECT 4.400 113.880 125.600 113.920 ;
+        RECT 4.400 112.520 128.735 113.880 ;
+        RECT 4.000 111.200 128.735 112.520 ;
+        RECT 4.000 109.840 125.600 111.200 ;
+        RECT 4.400 109.800 125.600 109.840 ;
+        RECT 4.400 108.440 128.735 109.800 ;
+        RECT 4.000 107.120 128.735 108.440 ;
+        RECT 4.000 105.760 125.600 107.120 ;
+        RECT 4.400 105.720 125.600 105.760 ;
+        RECT 4.400 104.400 128.735 105.720 ;
+        RECT 4.400 104.360 125.600 104.400 ;
+        RECT 4.000 103.040 125.600 104.360 ;
+        RECT 4.400 103.000 125.600 103.040 ;
+        RECT 4.400 101.640 128.735 103.000 ;
+        RECT 4.000 100.320 128.735 101.640 ;
+        RECT 4.000 98.960 125.600 100.320 ;
+        RECT 4.400 98.920 125.600 98.960 ;
+        RECT 4.400 97.560 128.735 98.920 ;
+        RECT 4.000 96.240 128.735 97.560 ;
+        RECT 4.000 94.880 125.600 96.240 ;
+        RECT 4.400 94.840 125.600 94.880 ;
+        RECT 4.400 93.480 128.735 94.840 ;
+        RECT 4.000 92.160 128.735 93.480 ;
+        RECT 4.000 90.800 125.600 92.160 ;
+        RECT 4.400 90.760 125.600 90.800 ;
+        RECT 4.400 89.400 128.735 90.760 ;
+        RECT 4.000 88.080 128.735 89.400 ;
+        RECT 4.400 86.680 125.600 88.080 ;
+        RECT 4.000 85.360 128.735 86.680 ;
+        RECT 4.000 84.000 125.600 85.360 ;
+        RECT 4.400 83.960 125.600 84.000 ;
+        RECT 4.400 82.600 128.735 83.960 ;
+        RECT 4.000 81.280 128.735 82.600 ;
+        RECT 4.000 79.920 125.600 81.280 ;
+        RECT 4.400 79.880 125.600 79.920 ;
+        RECT 4.400 78.520 128.735 79.880 ;
+        RECT 4.000 77.200 128.735 78.520 ;
+        RECT 4.000 75.840 125.600 77.200 ;
+        RECT 4.400 75.800 125.600 75.840 ;
+        RECT 4.400 74.440 128.735 75.800 ;
+        RECT 4.000 73.120 128.735 74.440 ;
+        RECT 4.000 71.760 125.600 73.120 ;
+        RECT 4.400 71.720 125.600 71.760 ;
+        RECT 4.400 70.400 128.735 71.720 ;
+        RECT 4.400 70.360 125.600 70.400 ;
+        RECT 4.000 69.040 125.600 70.360 ;
+        RECT 4.400 69.000 125.600 69.040 ;
+        RECT 4.400 67.640 128.735 69.000 ;
+        RECT 4.000 66.320 128.735 67.640 ;
+        RECT 4.000 64.960 125.600 66.320 ;
+        RECT 4.400 64.920 125.600 64.960 ;
+        RECT 4.400 63.560 128.735 64.920 ;
+        RECT 4.000 62.240 128.735 63.560 ;
+        RECT 4.000 60.880 125.600 62.240 ;
+        RECT 4.400 60.840 125.600 60.880 ;
+        RECT 4.400 59.480 128.735 60.840 ;
+        RECT 4.000 58.160 128.735 59.480 ;
+        RECT 4.000 56.800 125.600 58.160 ;
+        RECT 4.400 56.760 125.600 56.800 ;
+        RECT 4.400 55.400 128.735 56.760 ;
+        RECT 4.000 54.080 128.735 55.400 ;
+        RECT 4.000 52.720 125.600 54.080 ;
+        RECT 4.400 52.680 125.600 52.720 ;
+        RECT 4.400 51.360 128.735 52.680 ;
+        RECT 4.400 51.320 125.600 51.360 ;
+        RECT 4.000 50.000 125.600 51.320 ;
+        RECT 4.400 49.960 125.600 50.000 ;
+        RECT 4.400 48.600 128.735 49.960 ;
+        RECT 4.000 47.280 128.735 48.600 ;
+        RECT 4.000 45.920 125.600 47.280 ;
+        RECT 4.400 45.880 125.600 45.920 ;
+        RECT 4.400 44.520 128.735 45.880 ;
+        RECT 4.000 43.200 128.735 44.520 ;
+        RECT 4.000 41.840 125.600 43.200 ;
+        RECT 4.400 41.800 125.600 41.840 ;
+        RECT 4.400 40.440 128.735 41.800 ;
+        RECT 4.000 39.120 128.735 40.440 ;
+        RECT 4.000 37.760 125.600 39.120 ;
+        RECT 4.400 37.720 125.600 37.760 ;
+        RECT 4.400 36.360 128.735 37.720 ;
+        RECT 4.000 35.040 128.735 36.360 ;
+        RECT 4.400 33.640 125.600 35.040 ;
+        RECT 4.000 32.320 128.735 33.640 ;
+        RECT 4.000 30.960 125.600 32.320 ;
+        RECT 4.400 30.920 125.600 30.960 ;
+        RECT 4.400 29.560 128.735 30.920 ;
+        RECT 4.000 28.240 128.735 29.560 ;
+        RECT 4.000 26.880 125.600 28.240 ;
+        RECT 4.400 26.840 125.600 26.880 ;
+        RECT 4.400 25.480 128.735 26.840 ;
+        RECT 4.000 24.160 128.735 25.480 ;
+        RECT 4.000 22.800 125.600 24.160 ;
+        RECT 4.400 22.760 125.600 22.800 ;
+        RECT 4.400 21.400 128.735 22.760 ;
+        RECT 4.000 20.080 128.735 21.400 ;
+        RECT 4.000 18.720 125.600 20.080 ;
+        RECT 4.400 18.680 125.600 18.720 ;
+        RECT 4.400 17.360 128.735 18.680 ;
+        RECT 4.400 17.320 125.600 17.360 ;
+        RECT 4.000 16.000 125.600 17.320 ;
+        RECT 4.400 15.960 125.600 16.000 ;
+        RECT 4.400 14.600 128.735 15.960 ;
+        RECT 4.000 13.280 128.735 14.600 ;
+        RECT 4.000 11.920 125.600 13.280 ;
+        RECT 4.400 11.880 125.600 11.920 ;
+        RECT 4.400 10.520 128.735 11.880 ;
+        RECT 4.000 9.200 128.735 10.520 ;
+        RECT 4.000 7.840 125.600 9.200 ;
+        RECT 4.400 7.800 125.600 7.840 ;
+        RECT 4.400 6.440 128.735 7.800 ;
+        RECT 4.000 5.120 128.735 6.440 ;
+        RECT 4.000 3.760 125.600 5.120 ;
+        RECT 4.400 3.720 125.600 3.760 ;
+        RECT 4.400 2.360 128.735 3.720 ;
+        RECT 4.000 1.040 128.735 2.360 ;
+        RECT 4.000 0.175 125.600 1.040 ;
+      LAYER met4 ;
+        RECT 43.535 10.640 43.970 198.800 ;
+        RECT 46.370 10.640 63.795 198.800 ;
+        RECT 66.195 10.640 83.625 198.800 ;
+        RECT 86.025 10.640 103.450 198.800 ;
+        RECT 105.850 10.640 115.625 198.800 ;
+  END
+END wrapped_rgb_mixer
+END LIBRARY
+
diff --git a/verilog/rtl/user_project_includes.v b/verilog/rtl/user_project_includes.v
new file mode 100644
index 0000000..8f45c40
--- /dev/null
+++ b/verilog/rtl/user_project_includes.v
@@ -0,0 +1,8 @@
+// +------------+-----------+-----------+-----------------------------------------------+--------+
+// | project id | title     | author    | repo                                          | commit |
+// +------------+-----------+-----------+-----------------------------------------------+--------+
+// | 0          | RGB Mixer | Matt Venn | https://github.com/mattvenn/wrapped_rgb_mixer | mpw3   |
+// | 1          | RGB Mixer | Matt Venn | https://github.com/mattvenn/wrapped_rgb_mixer | mpw3   |
+// +------------+-----------+-----------+-----------------------------------------------+--------+
+`include "wrapped_rgb_mixer/wrapper.v" // 0
+`include "wrapped_rgb_mixer/wrapper.v" // 1
\ No newline at end of file
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 5ee1cee..342dfe5 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -26,22 +26,19 @@
  * example should be removed and replaced with the actual
  * user project.
  *
+ * THIS FILE HAS BEEN GENERATED USING multi_tools_project CODEGEN
+ * IF YOU NEED TO MAKE EDITS TO IT, EDIT codegen/caravel_iface_header.txt
+ *
  *-------------------------------------------------------------
  */
 
 module user_project_wrapper #(
     parameter BITS = 32
-) (
-`ifdef USE_POWER_PINS
-    inout vdda1,	// User area 1 3.3V supply
-    inout vdda2,	// User area 2 3.3V supply
-    inout vssa1,	// User area 1 analog ground
-    inout vssa2,	// User area 2 analog ground
-    inout vccd1,	// User area 1 1.8V supply
-    inout vccd2,	// User area 2 1.8v supply
-    inout vssd1,	// User area 1 digital ground
-    inout vssd2,	// User area 2 digital ground
-`endif
+)(
+    `ifdef USE_POWER_PINS
+        inout vccd1,	// User area 1 1.8V supply
+        inout vssd1,	// User area 1 digital ground
+    `endif
 
     // Wishbone Slave ports (WB MI A)
     input wb_clk_i,
@@ -78,46 +75,57 @@
     output [2:0] user_irq
 );
 
-/*--------------------------------------*/
-/* User project is instantiated  here   */
-/*--------------------------------------*/
+    // generate active wires
+    wire [31: 0] active;
+    assign active = la_data_in[31:0];
 
-user_proj_example mprj (
-`ifdef USE_POWER_PINS
-	.vccd1(vccd1),	// User area 1 1.8V power
-	.vssd1(vssd1),	// User area 1 digital ground
-`endif
+    // split remaining 96 logic analizer wires into 3 chunks
+    wire [31: 0] la1_data_in, la1_data_out, la1_oenb;
+    assign la1_data_in = la_data_in[63:32];
+    assign la1_data_out = la_data_out[63:32];
+    assign la1_oenb = la_oenb[63:32];
 
-    .wb_clk_i(wb_clk_i),
-    .wb_rst_i(wb_rst_i),
+    wire [31: 0] la2_data_in, la2_data_out, la2_oenb;
+    assign la2_data_in = la_data_in[95:64];
+    assign la2_data_out = la_data_out[95:64];
+    assign la2_oenb = la_oenb[95:64];
 
-    // MGMT SoC Wishbone Slave
+    wire [31: 0] la3_data_in, la3_data_out, la3_oenb;
+    assign la3_data_in = la_data_in[127:96];
+    assign la3_data_out = la_data_out[127:96];
+    assign la3_oenb = la_oenb[127:96];
 
-    .wbs_cyc_i(wbs_cyc_i),
-    .wbs_stb_i(wbs_stb_i),
-    .wbs_we_i(wbs_we_i),
-    .wbs_sel_i(wbs_sel_i),
-    .wbs_adr_i(wbs_adr_i),
-    .wbs_dat_i(wbs_dat_i),
-    .wbs_ack_o(wbs_ack_o),
-    .wbs_dat_o(wbs_dat_o),
+    wrapped_rgb_mixer wrapped_rgb_mixer_0(
+        `ifdef USE_POWER_PINS
+        .vccd1 (vccd1),
+        .vssd1 (vssd1),
+        `endif
+        .wb_clk_i (wb_clk_i),
+        .active (active[0]),
+        .la1_data_in (la1_data_in[31:0]),
+        .la1_data_out (la1_data_out[31:0]),
+        .la1_oenb (la1_oenb[31:0]),
+        .io_in (io_in[37:0]),
+        .io_out (io_out[37:0]),
+        .io_oeb (io_oeb[37:0])
+    );
 
-    // Logic Analyzer
+    wrapped_rgb_mixer wrapped_rgb_mixer_1(
+        `ifdef USE_POWER_PINS
+        .vccd1 (vccd1),
+        .vssd1 (vssd1),
+        `endif
+        .wb_clk_i (wb_clk_i),
+        .active (active[1]),
+        .la1_data_in (la1_data_in[31:0]),
+        .la1_data_out (la1_data_out[31:0]),
+        .la1_oenb (la1_oenb[31:0]),
+        .io_in (io_in[37:0]),
+        .io_out (io_out[37:0]),
+        .io_oeb (io_oeb[37:0])
+    );
 
-    .la_data_in(la_data_in),
-    .la_data_out(la_data_out),
-    .la_oenb (la_oenb),
-
-    // IO Pads
-
-    .io_in (io_in),
-    .io_out(io_out),
-    .io_oeb(io_oeb),
-
-    // IRQ
-    .irq(user_irq)
-);
+    // end of module instantiation
 
 endmodule	// user_project_wrapper
-
-`default_nettype wire
+`default_nettype wire
\ No newline at end of file
diff --git a/verilog/rtl/wrapped_rgb_mixer/wrapper.v b/verilog/rtl/wrapped_rgb_mixer/wrapper.v
new file mode 100644
index 0000000..36c4586
--- /dev/null
+++ b/verilog/rtl/wrapped_rgb_mixer/wrapper.v
@@ -0,0 +1,126 @@
+`default_nettype none
+`ifdef FORMAL
+    `define MPRJ_IO_PADS 38    
+`endif
+
+//`define USE_WB  0
+`define USE_LA  1
+`define USE_IO  1
+//`define USE_MEM 0
+//`define USE_IRQ 0
+
+module wrapped_rgb_mixer (
+/*
+`ifdef USE_POWER_PINS
+    inout vdda1,	// User area 1 3.3V supply
+    inout vdda2,	// User area 2 3.3V supply
+    inout vssa1,	// User area 1 analog ground
+    inout vssa2,	// User area 2 analog ground
+    inout vccd1,	// User area 1 1.8V supply
+    inout vccd2,	// User area 2 1.8v supply
+    inout vssd1,	// User area 1 digital ground
+    inout vssd2,	// User area 2 digital ground
+`endif
+*/
+`ifdef USE_POWER_PINS
+    inout vccd1,
+    inout vssd1,
+`endif
+    // interface as user_proj_example.v
+    input wire wb_clk_i,
+`ifdef USE_WB
+    input wire wb_rst_i,
+    input wire wbs_stb_i,
+    input wire wbs_cyc_i,
+    input wire wbs_we_i,
+    input wire [3:0] wbs_sel_i,
+    input wire [31:0] wbs_dat_i,
+    input wire [31:0] wbs_adr_i,
+    output wire wbs_ack_o,
+    output wire [31:0] wbs_dat_o,
+`endif
+
+    // Logic Analyzer Signals
+    // only provide first 32 bits to reduce wiring congestion
+`ifdef USE_LA
+    input  wire [31:0] la1_data_in,
+    output wire [31:0] la1_data_out,
+    input  wire [31:0] la1_oenb,
+`endif
+
+    // IOs
+`ifdef USE_IO
+    input  wire [`MPRJ_IO_PADS-1:0] io_in,
+    output wire [`MPRJ_IO_PADS-1:0] io_out,
+    output wire [`MPRJ_IO_PADS-1:0] io_oeb,
+`endif
+
+    // IRQ
+`ifdef USE_IRQ
+    output wire [2:0] irq,
+`endif
+
+`ifdef USE_CLK2
+    // extra user clock
+    input wire user_clock2,
+`endif
+    
+    // active input, only connect tristated outputs if this is high
+    input wire active
+);
+
+    // all outputs must be tristated before being passed onto the project
+    wire buf_wbs_ack_o;
+    wire [31:0] buf_wbs_dat_o;
+    wire [31:0] buf_la1_data_out;
+    wire [`MPRJ_IO_PADS-1:0] buf_io_out;
+    wire [`MPRJ_IO_PADS-1:0] buf_io_oeb;
+    wire [2:0] buf_irq;
+
+    `ifdef FORMAL
+    // formal can't deal with z, so set all outputs to 0 if not active
+    assign wbs_ack_o    = active ? buf_wbs_ack_o    : 1'b0;
+    assign wbs_dat_o    = active ? buf_wbs_dat_o    : 32'b0;
+    assign la1_data_out = active ? buf_la1_data_out  : 32'b0;
+    assign io_out       = active ? buf_io_out       : {`MPRJ_IO_PADS{1'b0}};
+    assign io_oeb       = active ? buf_io_oeb       : {`MPRJ_IO_PADS{1'b0}};
+    assign irq          = active ? buf_irq          : 3'b0;
+    `include "properties.v"
+    `else
+    // tristate buffers
+    
+    `ifdef USE_WB
+    assign wbs_ack_o    = active ? buf_wbs_ack_o    : 1'bz;
+    assign wbs_dat_o    = active ? buf_wbs_dat_o    : 32'bz;
+    `endif
+    `ifdef USE_LA
+    assign la1_data_out  = active ? buf_la1_data_out  : 32'bz;
+    `endif
+    `ifdef USE_IO
+    assign io_out       = active ? buf_io_out       : {`MPRJ_IO_PADS{1'bz}};
+    assign io_oeb       = active ? buf_io_oeb       : {`MPRJ_IO_PADS{1'bz}};
+    `endif
+    `ifdef USE_IRQ
+    assign irq          = active ? buf_irq          : 3'bz;
+    `endif
+    `endif
+
+    // permanently set oeb so that outputs are always enabled: 0 is output, 1 is high-impedance
+    assign buf_io_oeb = {`MPRJ_IO_PADS{1'b0}};
+
+    // instantiate your module here, connecting what you need of the above signals
+    rgb_mixer rgb_mixer0(
+        .clk        (wb_clk_i),
+        .reset      (la1_data_in[0]),
+        .enc0_a     (io_in[8]),
+        .enc0_b     (io_in[9]),
+        .enc1_a     (io_in[10]),
+        .enc1_b     (io_in[11]),
+        .enc2_a     (io_in[12]),
+        .enc2_b     (io_in[13]),
+        .pwm0_out   (buf_io_out[14]),
+        .pwm1_out   (buf_io_out[15]),
+        .pwm2_out   (buf_io_out[16]));
+
+endmodule 
+`default_nettype wire