add in update script from ucb-cs250
diff --git a/scripts/update_from_class_repos.sh b/scripts/update_from_class_repos.sh
new file mode 100755
index 0000000..f5b14b3
--- /dev/null
+++ b/scripts/update_from_class_repos.sh
@@ -0,0 +1,87 @@
+#!/bin/bash
+# TODO(aryap): Replace this script with just a single submodule (that is rid of unnecessary fluff).
+
+# TODO(aryap): Get source of current script, etc.
+CARAVEL_ROOT=.
+CLASS_REPO_ROOT=/home/arya/src/mpw-one-a/openlane/designs/250
+USER_PROJECT_WRAPPER_RUN=user_project_wrapper
+
+# Update final GDS, LEF, MAG, etc.
+FPGA_RUN="final5b_wrongclb"
+PHY_SOURCE="${CLASS_REPO_ROOT}/asic_config/fpga/runs/${FPGA_RUN}/results/magic"
+#PHY_SOURCE="${CLASS_REPO_ROOT}/gds/${PHY_SOURCE}"
+for file_type in lef gds mag; do
+  cp -v "${PHY_SOURCE}/fpga.${file_type}" "${CARAVEL_ROOT}/${file_type}" &
+done
+
+CLB_RUN="predecode_a_2"
+PHY_SOURCE="${CLASS_REPO_ROOT}/asic_config/clb_tile/runs/${CLB_RUN}/results/magic"
+for file_type in lef gds mag; do
+  cp -v "${PHY_SOURCE}/clb_tile.${file_type}" "${CARAVEL_ROOT}/${file_type}" &
+done
+
+WB_RUN_00="360_noscope_a"
+WB_RUN_10="360_noscope_a"
+PHY_SOURCE="${CLASS_REPO_ROOT}/config_team/asic_config/wishbone_configuratorinator/runs/${WB_RUN}/results/magic"
+for file_type in lef gds mag; do
+  cp -v "${PHY_SOURCE}/wishbone_configuratorinator.${file_type}" "${CARAVEL_ROOT}/${file_type}" &
+done
+
+# Gate-level synthesised netlists.
+GL_USER_PROJECT_WRAPPER="${CARAVEL_ROOT}/openlane/user_project_wrapper/runs/${USER_PROJECT_WRAPPER_RUN}/results/synthesis/user_project_wrapper.synthesis.v"
+GL_SOURCE="
+${CLASS_REPO_ROOT}/asic_config/fpga/runs/${FPGA_RUN}/results/synthesis/fpga.synthesis.v
+${CLASS_REPO_ROOT}/asic_config/clb_tile/runs/${CLB_RUN}/results/synthesis/clb_tile.synthesis.v
+${CLASS_REPO_ROOT}/config_team/asic_config/wishbone_configuratorinator_00/runs/${WB_RUN_00}/results/synthesis/wishbone_configuratorinator_00.synthesis.v
+${CLASS_REPO_ROOT}/config_team/asic_config/wishbone_configuratorinator_10/runs/${WB_RUN_10}/results/synthesis/wishbone_configuratorinator_10.synthesis.v
+"
+
+GL_DEST="${CARAVEL_ROOT}/verilog/gl/user_project_wrapper.v"
+cat > ${GL_DEST} << EOF
+/** $(date)
+ * Generated by:
+ *   ${BASH_SOURCE[0]}
+ * From:
+ *   ${GL_SOURCE}
+ *   ${GL_USER_PROJECT_WRAPPER}
+ */
+EOF
+for source in ${GL_SOURCE}; do
+  cat ${source} >> ${GL_DEST}
+done
+cat ${GL_USER_PROJECT_WRAPPER} >> ${GL_DEST}
+
+# TODO(aryap): final_summary_report.csv
+# Do these still exist?
+
+VERILOG_DEST="${CARAVEL_ROOT}/verilog/rtl/fpga250"
+VERILOG_SOURCES="
+${CLASS_REPO_ROOT}/config_team/src/behavioral/wishbone_configuratorinator.v
+${CLASS_REPO_ROOT}/src/clb_tile.v
+${CLASS_REPO_ROOT}/config_team/src/behavioral/config_tile.v
+${CLASS_REPO_ROOT}/config_team/src/behavioral/shift_chain.v
+${CLASS_REPO_ROOT}/config_team/src/behavioral/config_latch.v
+${CLASS_REPO_ROOT}/src/baked/baked_clb_switch_box.v
+${CLASS_REPO_ROOT}/ix_yukio/src/clb_switch_box.v
+${CLASS_REPO_ROOT}/ix_yukio/src/universal_switch_box.v
+${CLASS_REPO_ROOT}/ix_yukio/src/switch_box_element_two.v
+${CLASS_REPO_ROOT}/ix_yukio/src/transmission_gate.v
+${CLASS_REPO_ROOT}/ix_yukio/src/transmission_gate_cell.v
+${CLASS_REPO_ROOT}/src/baked/baked_slicel.v
+${CLASS_REPO_ROOT}/clb_team/src/behavioral/slicel.v
+${CLASS_REPO_ROOT}/clb_team/src/behavioral/lut_sXX_softcode.v
+${CLASS_REPO_ROOT}/clb_team/src/behavioral/lut.v
+${CLASS_REPO_ROOT}/clb_team/src/behavioral/block_config_latches.v
+${CLASS_REPO_ROOT}/clb_team/src/behavioral/mux_f_slice.v
+${CLASS_REPO_ROOT}/clb_team/src/behavioral/carry_chain.v
+${CLASS_REPO_ROOT}/src/baked/baked_connection_block.v
+${CLASS_REPO_ROOT}/src/baked/baked_connection_block_east.v
+${CLASS_REPO_ROOT}/src/baked/baked_connection_block_north.v
+${CLASS_REPO_ROOT}/ix_yukio/src/connection_block.v
+${CLASS_REPO_ROOT}/ix_yukio/src/transmission_gate_oneway.v
+${CLASS_REPO_ROOT}/src/fpga.v
+"
+
+for file in ${VERILOG_SOURCES}; do
+  cp -v ${file} ${VERILOG_DEST};
+done