diff --git a/.github/workflows/perform_precheck.sh b/.github/workflows/perform_precheck.sh index 60e7c9f..c85e736 100644 --- a/.github/workflows/perform_precheck.sh +++ b/.github/workflows/perform_precheck.sh @@ -26,7 +26,7 @@ magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/current/sky130A.magicrc \ ../SOFA-Chips/SCRIPT/merge_fpga_top.tcl \ /usr/local/workspace/${DEST_DIR}/checks/magic_merge_user_project_wrapper.log -git reset ./mag/user_project_wrapper_empty.mag +git checkout HEAD ./mag/user_project_wrapper_empty.mag echo "[Info] merge fpga-top" # = = = = = = = = = = Build Caravel with Klayout = = = = = = = = = = = = = = = diff --git a/SCRIPT/merge_caravel_klayout.py b/SCRIPT/merge_caravel_klayout.py index 7a88d88..f32572a 100644 --- a/SCRIPT/merge_caravel_klayout.py +++ b/SCRIPT/merge_caravel_klayout.py @@ -7,16 +7,15 @@ USER_GDS_PATH = "./gds/user_project_wrapper.gds" # ly = pya.CellView.active().cell.layout ly = pya.Layout() ly.read(CARAVEL_GDS_PATH) -TOP = ly.top_cell() +TOP = ly.cell("caravel") -x, y = 326.38500, 1382.01000 -uWrap = ly.cell_by_name("user_project_wrapper") -for each in ly.top_cell().each_inst(): +# x, y = 326.38500, 1382.01000 +for each in TOP.each_inst(): if "user_project_wrapper" in (each.cell.name): x, y = each.dtrans.disp.x, each.dtrans.disp.y print("Placing module at (%f,%f)" % (x, y)) -ly.delete_cell(uWrap) +ly.delete_cell(ly.cell_by_name("user_project_wrapper")) ly.read(USER_GDS_PATH) tiles = ly.cell('user_project_wrapper') @@ -24,4 +23,9 @@ tiles = ly.cell('user_project_wrapper') TOP.insert(pya.DCellInstArray(tiles.cell_index(), pya.DTrans(pya.DTrans.R0, pya.DPoint(x, y)))) +for c in ly.top_cells(): + if c.name != "caravel": + print("removing cell " + c.name) + ly.delete_cell(c.cell_index()) + ly.write("./gds/caravel_merged.gds")