Skip to content

Commit

Permalink
Merge branch 'idea-fasoc:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
chetanyagoyal authored Dec 23, 2023
2 parents ea06a3c + f7b3440 commit 07ff026
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 54 deletions.
10 changes: 8 additions & 2 deletions openfasoc/generators/common/check_gen_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -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!")
Expand Down
100 changes: 51 additions & 49 deletions openfasoc/generators/cryo-gen/flow/scripts/detail_place.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
8 changes: 5 additions & 3 deletions openfasoc/generators/cryo-gen/flow/scripts/final_report.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 07ff026

Please sign in to comment.