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