diff --git a/openfasoc/generators/common/check_gen_files.py b/openfasoc/generators/common/check_gen_files.py index 9673c5f14..0642e7a33 100644 --- a/openfasoc/generators/common/check_gen_files.py +++ b/openfasoc/generators/common/check_gen_files.py @@ -43,14 +43,20 @@ def check_gen_files(json_filename, _generator_is, cryo_library) -> int: with open(extension_file_path) as f: for extension in f: - file = "".join([filename, extension.strip()]) + if (_generator_is['sky130XX_cryo']) and (extension.strip() == ".spice" or extension.strip() == "_pex.spice" or extension.strip() == "_sim.spice"): + file = "./flow/" + module_name + extension.strip() + else: + file = "".join([filename, extension.strip()]) if (os.path.exists(file) == 0): raise ValueError(file + " does not exist!") else: print("checking flow results with possibly stale list of extensions...") extensions = [".sdc", ".gds", ".def", ".spice", ".v", "_pex.spice"] for extension in extensions: - file = "".join([filename, extension]) + if (_generator_is['sky130XX_cryo']) and (extension.strip() == ".spice" or extension.strip() == "_pex.spice"): + file = "./flow/" + module_name + extension.strip() + else: + file = "".join([filename, extension.strip()]) if (os.path.exists(file) == 0): raise ValueError(file + " does not exist!") diff --git a/openfasoc/generators/cryo-gen/flow/scripts/detail_place.tcl b/openfasoc/generators/cryo-gen/flow/scripts/detail_place.tcl index c8a217599..6b09d6931 100644 --- a/openfasoc/generators/cryo-gen/flow/scripts/detail_place.tcl +++ b/openfasoc/generators/cryo-gen/flow/scripts/detail_place.tcl @@ -12,55 +12,57 @@ set_placement_padding -global \ source $::env(SCRIPTS_DIR)/openfasoc/custom_place.tcl customPlace_east [ord::get_db_block] "HEADER" 1 no -set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hd__decap_4 -set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hd__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hd__nand2_1 -set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hd__tapvpwrvgnd_1 - -set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hs__decap_4 -set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hs__inv_1 -set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hs__nand2_1 -set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hs__tapvpwrvgnd_1 - -set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hvl__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hvl__decap_4 -set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hvl__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_hs__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_12T_hs__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_hs__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ms__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_12T_ms__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ms__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ls__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_12T_ls__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ls__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_hs__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_15T_hs__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_hs__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ms__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_15T_ms__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ms__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ls__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_15T_ls__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ls__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_hs__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_18T_hs__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_hs__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ms__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_18T_ms__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ms__nand2_1 - -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ls__inv_1 -set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_18T_ls__decap_1 -set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ls__nand2_1 +if {$::env(PLATFORM) eq "sky130hd"} { + set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hd__decap_4 + set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hd__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hd__nand2_1 + set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hd__tapvpwrvgnd_1 +} elseif {$::env(PLATFORM) eq "sky130hs"} { + set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hs__decap_4 + set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hs__inv_1 + set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hs__nand2_1 + set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hs__tapvpwrvgnd_1 +} elseif {$::env(PLATFORM) eq "sky130hvl"} { + set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hvl__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_fd_sc_hvl__decap_4 + set_placement_padding -left 0 -right 0 -masters sky130_fd_sc_hvl__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu12Ths"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_hs__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_12T_hs__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_hs__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu12Tms"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ms__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_12T_ms__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ms__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu12Tls"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ls__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_12T_ls__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_12T_ls__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu15Ths"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_hs__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_15T_hs__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_hs__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu15Tms"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ms__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_15T_ms__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ms__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu15Tls"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ls__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_15T_ls__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_15T_ls__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu18Ths"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_hs__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_18T_hs__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_hs__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu18Tms"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ms__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_18T_ms__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ms__nand2_1 +} elseif {$::env(PLATFORM) eq "sky130osu18Tls"} { + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ls__inv_1 + set_placement_padding -left 1 -right 1 -masters sky130_osu_sc_18T_ls__decap_1 + set_placement_padding -left 0 -right 0 -masters sky130_osu_sc_18T_ls__nand2_1 +} detailed_placement diff --git a/openfasoc/generators/cryo-gen/flow/scripts/final_report.tcl b/openfasoc/generators/cryo-gen/flow/scripts/final_report.tcl index 8cb426168..a4867f546 100644 --- a/openfasoc/generators/cryo-gen/flow/scripts/final_report.tcl +++ b/openfasoc/generators/cryo-gen/flow/scripts/final_report.tcl @@ -54,6 +54,8 @@ source $::env(SCRIPTS_DIR)/report_metrics.tcl report_metrics "finish" # Save a final image if openroad is compiled with the gui -if {[expr [llength [info procs save_image]] > 0]} { - gui::show "source $::env(SCRIPTS_DIR)/save_images.tcl" false -} +# if {[expr [llength [info procs save_image]] > 0]} { +# gui::show "source $::env(SCRIPTS_DIR)/save_images.tcl" false +# } + +# ^ commented 22 Dec 23 \ No newline at end of file