workflow
diff --git a/.github/workflows/install-glofo.yaml b/.github/workflows/install-glofo.yaml
new file mode 100644
index 0000000..b7f9abd
--- /dev/null
+++ b/.github/workflows/install-glofo.yaml
@@ -0,0 +1,62 @@
+name: project0-gf180
+# either manually started, or on a schedule
+on: [ push, workflow_dispatch ]
+jobs:
+
+  install:
+    env:
+        OPENLANE_ROOT:  /home/runner/openlane
+        PDK_ROOT:       /home/runner/pdk
+        PDK:            gf180mcuC
+
+    # ubuntu
+    runs-on: ubuntu-latest
+    steps:
+
+    # checkout the repo to get the scripts
+    - uses: actions/checkout@v2
+
+    # build the user project and wrapper
+    - name: pdk & openlane
+      run: |
+        cd $HOME
+        git clone https://github.com/efabless/caravel_user_project.git -b gfmpw-0b
+        cd caravel_user_project/
+        make setup
+
+    - name: user project example GDS
+      run: |
+        cd $HOME/caravel_user_project
+        make wrapped_vga_clock
+
+    - name: user project wrapper GDS
+      run: |
+        cd $HOME/caravel_user_project
+        make user_project_wrapper
+
+#    - name: simulation
+#      run: |
+#        cd $HOME/caravel_user_project
+#        make verify-io_ports-rtl
+
+    - name: precheck
+      run: |
+        cd $HOME/caravel_user_project
+        rm README.md
+        touch README.md
+        make precheck
+        make run-precheck
+
+
+    # archive the gds and final report for the user project wrapper
+    - name: Archive Wrapper GDS
+      uses: actions/upload-artifact@v2
+      with:
+          name: Wrapper GDS
+          path: /home/runner/caravel_user_project/gds/user_project_wrapper.gds
+
+    - name: Archive Wrapper Signoff
+      uses: actions/upload-artifact@v2
+      with:
+          name: Wrapper Report
+          path: /home/runner/caravel_user_project/openlane/user_project_wrapper/runs/user_project_wrapper/reports/final_summary_report.csv
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml
deleted file mode 100644
index 0fb3ab6..0000000
--- a/.github/workflows/user_project_ci.yml
+++ /dev/null
@@ -1,223 +0,0 @@
-name: CI
-
-on:
-  # Runs on Every Push
-  push:
-  # Runs on Pull Requests
-  pull_request:
-  workflow_dispatch:
-
-jobs:
-  pdk:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-
-      - name: Set up QEMU
-        uses: docker/setup-qemu-action@v1
-
-      - name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
-
-      - name: Export PDK ROOT
-        run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV
-      
-      - name: Export OPENLANE ROOT
-        run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV
-
-      - name: Install dependencies
-        run: |
-          sudo mkdir -p ${{ env.PDK_ROOT }}
-          sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
-          make install
-          make openlane
-          make pdk-with-volare
-
-      - name: Tarball PDK
-        run: |
-          tar -cf /tmp/pdk.tar -C $PDK_ROOT .
-
-      - name: Upload PDK Tarball
-        uses: actions/upload-artifact@v2
-        with:
-          name: pdk-tarball
-          path: /tmp/pdk.tar
-
-  user_project_flow_sky130A:
-    timeout-minutes: 720
-    runs-on: ubuntu-latest
-    needs: [pdk]
-    steps:
-      - uses: actions/checkout@v2
-
-      - name: Set up QEMU
-        uses: docker/setup-qemu-action@v1
-
-      - name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
-
-      - name: Export PDK ROOT
-        run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV
-
-      - name: Export PDK PATH
-        run: echo "PDKPATH=/home/runner/work/pdk/sky130A" >> $GITHUB_ENV
-
-      - name: Export PDK
-        run: echo "PDK=sky130A" >> $GITHUB_ENV
-
-      - name: Export OPENLANE ROOT
-        run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV
-
-      - name: Download PDK Tarball
-        uses: actions/download-artifact@v2
-        with:
-          name: pdk-tarball
-          path: /tmp
-
-      - name: Unpack PDK Tarball
-        run: |
-          sudo mkdir -p ${{ env.PDK_ROOT }}
-          sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
-          tar -xf /tmp/pdk.tar -C $PDK_ROOT .
-
-      - name: Install dependencies
-        run: |
-          make install
-          make install_mcw
-          make openlane
-          make simenv
-
-      - name: Harden using Openlane
-        run: |
-          make user_proj_example
-          make user_project_wrapper
-
-      - name: run precheck
-        run: |
-          export INPUT_DIRECTORY=$(pwd)
-          export PRECHECK_ROOT=$INPUT_DIRECTORY/mpw_precheck
-          export OUTPUT_DIRECTORY=$INPUT_DIRECTORY/mpw_precheck_result
-          export OUTPUT=$OUTPUT_DIRECTORY/logs/precheck.log
-          export PDKPATH=$PDK_ROOT/sky130A
-
-          git clone --depth=1 -b mpw-7d https://github.com/efabless/mpw_precheck.git
-
-          docker run -v "$PRECHECK_ROOT":"$PRECHECK_ROOT" -v "$INPUT_DIRECTORY":"$INPUT_DIRECTORY" -v "${{ env.PDK_ROOT }}":"${{ env.PDK_ROOT }}" -e INPUT_DIRECTORY="$INPUT_DIRECTORY" -e PDK_ROOT="${{ env.PDK_ROOT }}" -e PDKPATH="${{ env.PDKPATH }}" -u $(id -u "$USER"):$(id -g "$USER") efabless/mpw_precheck:latest bash -c "cd $PRECHECK_ROOT; python3 mpw_precheck.py --input_directory $INPUT_DIRECTORY --pdk_path ${{ env.PDKPATH }} --output_directory $OUTPUT_DIRECTORY license makefile consistency xor magic_drc klayout_beol klayout_feol klayout_met_min_ca_density klayout_offgrid klayout_pin_label_purposes_overlapping_drawing klayout_zeroarea"
-
-          cnt=$(grep -c "All Checks Passed" "$OUTPUT")
-          if ! [[ $cnt ]]; then cnt=0; fi
-          if [[ $cnt -eq 1 ]]; then exit 0; fi
-          exit 2
-      
-      - name: upload failure logs
-        if: failure()
-        uses: actions/upload-artifact@v2
-        with:
-          name: error
-          path: |
-            /home/runner/work/caravel_user_project/caravel_user_project/mpw_precheck_result/logs/*
-
-      - name: Run DV RTL tests
-        run: |
-          make verify-io_ports-rtl 
-          make verify-la_test1-rtl 
-          make verify-la_test2-rtl 
-          make verify-mprj_stimulus-rtl 
-          make verify-wb_port-rtl
-
-      - name: Run DV GL tests
-        run: |
-          make verify-io_ports-gl 
-          make verify-la_test1-gl 
-          make verify-la_test2-gl 
-          make verify-mprj_stimulus-gl 
-          make verify-wb_port-gl
-
-  user_project_flow_sky130B:
-    timeout-minutes: 720
-    runs-on: ubuntu-latest
-    needs: [pdk]
-    steps:
-      - uses: actions/checkout@v2
-
-      - name: Set up QEMU
-        uses: docker/setup-qemu-action@v1
-
-      - name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
-
-      - name: Export PDK ROOT
-        run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV
-
-      - name: Export PDK PATH
-        run: echo "PDKPATH=/home/runner/work/pdk/sky130B" >> $GITHUB_ENV
-
-      - name: Export PDK
-        run: echo "PDK=sky130B" >> $GITHUB_ENV
-
-      - name: Export OPENLANE ROOT
-        run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV
-
-      - name: Download PDK Tarball
-        uses: actions/download-artifact@v2
-        with:
-          name: pdk-tarball
-          path: /tmp
-
-      - name: Unpack PDK Tarball
-        run: |
-          sudo mkdir -p ${{ env.PDK_ROOT }}
-          sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
-          tar -xf /tmp/pdk.tar -C $PDK_ROOT .
-
-      - name: Install dependencies
-        run: |
-          make install
-          make install_mcw
-          make openlane
-          make simenv
-
-      - name: Harden using Openlane
-        run: |
-          make user_proj_example
-          make user_project_wrapper
-
-      - name: run precheck
-        run: |
-          export INPUT_DIRECTORY=$(pwd)
-          export PRECHECK_ROOT=$INPUT_DIRECTORY/mpw_precheck
-          export OUTPUT_DIRECTORY=$INPUT_DIRECTORY/mpw_precheck_result
-          export OUTPUT=$OUTPUT_DIRECTORY/logs/precheck.log
-
-          git clone --depth=1 -b mpw-7d https://github.com/efabless/mpw_precheck.git
-
-          docker run -v "$PRECHECK_ROOT":"$PRECHECK_ROOT" -v "$INPUT_DIRECTORY":"$INPUT_DIRECTORY" -v "${{ env.PDK_ROOT }}":"${{ env.PDK_ROOT }}" -e INPUT_DIRECTORY="$INPUT_DIRECTORY" -e PDK_ROOT="${{ env.PDK_ROOT }}" -e PDKPATH="${{ env.PDKPATH }}" -u $(id -u "$USER"):$(id -g "$USER") efabless/mpw_precheck:latest bash -c "cd $PRECHECK_ROOT; python3 mpw_precheck.py --input_directory $INPUT_DIRECTORY --pdk_path ${{ env.PDKPATH }} --output_directory $OUTPUT_DIRECTORY license makefile consistency xor magic_drc klayout_beol klayout_feol klayout_met_min_ca_density klayout_offgrid klayout_pin_label_purposes_overlapping_drawing klayout_zeroarea"
-
-          cnt=$(grep -c "All Checks Passed" "$OUTPUT")
-          if ! [[ $cnt ]]; then cnt=0; fi
-          if [[ $cnt -eq 1 ]]; then exit 0; fi
-          exit 2
-
-      - name: upload failure logs
-        if: failure()
-        uses: actions/upload-artifact@v2
-        with:
-          name: error
-          path: |
-            /home/runner/work/caravel_user_project/caravel_user_project/mpw_precheck_result/logs/*
-
-      - name: Run DV RTL tests
-        run: |
-          make verify-io_ports-rtl 
-          make verify-la_test1-rtl 
-          make verify-la_test2-rtl 
-          make verify-mprj_stimulus-rtl 
-          make verify-wb_port-rtl
-
-      - name: Run DV GL tests
-        run: |
-          make verify-io_ports-gl 
-          make verify-la_test1-gl 
-          make verify-la_test2-gl 
-          make verify-mprj_stimulus-gl 
-          make verify-wb_port-gl