Skip to content

Commit

Permalink
Update Klayout Scripts + Klayout (The-OpenROAD-Project#1462)
Browse files Browse the repository at this point in the history
\+ Add klayoutrc to OL images
\+ Made klayout scripts launchable as commands
\+ Add new quit_on_xor_error checker
\+ Add `KLAYOUT_XOR_THREADS`
\~ Rewrite XOR script to be more readable
\~ klayout -> 8bed8bcc3ca19f7e1a810815541977fd16bc1db5
\- Remove KLAYOUT_XOR_GDS, KLAYOUT_XOR_XML: XML only now
\- Remove mv_shapes: unused


Co-authored-by: Kareem Farid <[email protected]>
  • Loading branch information
donn and kareefardi authored Jan 6, 2023
1 parent 09d4315 commit d8e399d
Show file tree
Hide file tree
Showing 20 changed files with 540 additions and 661 deletions.
15 changes: 5 additions & 10 deletions configuration/checkers.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,22 @@
set ::env(CHECK_ASSIGN_STATEMENTS) 0
set ::env(CHECK_UNMAPPED_CELLS) 1

# Static timing analysis
# STA
set ::env(QUIT_ON_TIMING_VIOLATIONS) 1
set ::env(QUIT_ON_HOLD_VIOLATIONS) 1
set ::env(QUIT_ON_SETUP_VIOLATIONS) 1

# Floor Planning


# Placement


# Routing
set ::env(QUIT_ON_TR_DRC) 1
set ::env(QUIT_ON_LONG_WIRE) 0

# Magic
# This is disabled by default for now until we are 100% sure we want to make this
# shift in flow dynamics, as it will affect the current benchmarks.
set ::env(QUIT_ON_MAGIC_DRC) 1
set ::env(QUIT_ON_ILLEGAL_OVERLAPS) 1

# NetGen
# This is disabled by default as it's the stage before the last, so why not do the last stage anyways.
# Netgen
set ::env(QUIT_ON_LVS_ERROR) 1

# Klayout
set ::env(QUIT_ON_XOR_ERROR) 0
1 change: 1 addition & 0 deletions configuration/general.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ set ::env(RUN_KLAYOUT) 1
set ::env(RUN_KLAYOUT_DRC) 0
set ::env(KLAYOUT_XOR_GDS) 1
set ::env(KLAYOUT_XOR_XML) 1
set ::env(KLAYOUT_XOR_THREADS) 1
set ::env(TAKE_LAYOUT_SCROT) 0
set ::env(KLAYOUT_DRC_KLAYOUT_GDS) 0
set ::env(RUN_KLAYOUT_XOR) 1
Expand Down
2 changes: 1 addition & 1 deletion dependencies/tool_metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
make PREFIX=$PREFIX install
- name: klayout
repo: https://github.com/KLayout/klayout
commit: 428d0fe8c941faece4eceebc54170cc04d916c03
commit: 8bed8bcc3ca19f7e1a810815541977fd16bc1db5
build: ''
in_install: false
- name: openroad_app
Expand Down
3 changes: 3 additions & 0 deletions docs/source/reference/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ These variables worked initially, but they were too sky130 specific and will be
| `KLAYOUT_XOR_GDS` | If `RUN_KLAYOUT_XOR` is enabled, this will enable producing a GDS output from the XOR along with it's PNG export. 1 = Enabled, 0 = Disabled <br> (Default: `1`)|
| `KLAYOUT_XOR_XML` | If `RUN_KLAYOUT_XOR` is enabled, this will enable producing an XML output from the XOR. 1 = Enabled, 0 = Disabled <br> (Default: `1`)|
| `TAKE_LAYOUT_SCROT` | Enables running KLayout to take a PNG screenshot of the produced layout (currently configured to run on the results of each stage).1 = Enabled, 0 = Disabled <br> (Default: `0`)|
| `KLAYOUT_XOR_THREADS` | Specifies number of threads used in klayout xor check <br> (Default: `1`)|
| `DIODE_INSERTION_STRATEGY` | Specifies the insertion strategy of diodes to be used in the flow. |
| | 0: No diode insertion. |
| | 1: Spray diodes. |
Expand All @@ -310,6 +311,8 @@ These variables worked initially, but they were too sky130 specific and will be
| `MAGIC_CONVERT_DRC_TO_RDB` | **Removed: Will always run** Specifies whether or not generate a Calibre RDB out of the magic.drc report. Result is saved in `<run_path>/results/magic/`. 1=enabled 0=disabled <br> Default: `1`|
| `TEST_MISMATCHES` | **Removed: See `./flow.tcl -test_mismatches`** Test for mismatches between the OpenLane tool versions and the current environment. `all` tests all mismatches. `tools` tests all except the PDK. `pdk` only tests the PDK. `none` disables the check.<br> (Default: `all`) |
| `QUIT_ON_MISMATCHES` | **Removed: See `./flow.tcl -ignore_mismatches`** Whether to halt the flow execution or not if mismatches are found. (Default: `1`) |
| `KLAYOUT_XOR_GDS` | **Removed: XML always generated** If `RUN_KLAYOUT_XOR` is enabled, this will enable producing a GDS output from the XOR along with it's PNG export. 1 = Enabled, 0 = Disabled <br> (Default: `1`)|
| `KLAYOUT_XOR_XML` | **Removed: XML always generated** If `RUN_KLAYOUT_XOR` is enabled, this will enable producing an XML output from the XOR. 1 = Enabled, 0 = Disabled <br> (Default: `1`)|


### Checkers
Expand Down
5 changes: 5 additions & 0 deletions klayoutrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<config>
<full-hierarchy-new-cell>true</full-hierarchy-new-cell>
<tip-window-hidden>only-top-level-shown-by-default=3</tip-window-hidden>
</config>
2 changes: 2 additions & 0 deletions scripts/klayout/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## Reference
https://www.klayout.org/downloads/pymod/doc-qt5/code/index.html
239 changes: 0 additions & 239 deletions scripts/klayout/def2gds.py

This file was deleted.

69 changes: 0 additions & 69 deletions scripts/klayout/mv_shapes.py

This file was deleted.

Loading

0 comments on commit d8e399d

Please sign in to comment.