Commit Graph

1812 Commits

Author SHA1 Message Date
Mohamed Gaber
0e33bf4c00 hotfixes: TCL8_5_TM_PATH crash, CI pushing 1.0.0 2024-09-22 12:29:48 +03:00
Mohamed Gaber
6d20d410f0 Change Versioning Strategy (#2153)
~ use tclmodules (`.tm`) files instead of pkgIndex.tcl for openlane and openlane_utils
~ change tagging to use the version from the `.tm` files instead of the day of the release
~ bump github action versions
2024-09-22 11:59:49 +03:00
Mohamed Gaber
1aee09618c Setup issues 2023.07.19-2 2024-09-08 19:57:37 +03:00
Mohamed Gaber
f301969da4 superstable: Support latest PDK for September shuttle (#2151)
~ open_pdks -> `0fe599b`
~ backported `wire rc` changes to superstable version so it can work with later PDKs
- disabled gf180mcu tests
2024-09-08 17:16:20 +03:00
Mohamed Gaber
95bb7a9adf Fix Volare 2024-09-05 17:22:20 +03:00
Mohamed Gaber
30ee138893 Update pyyaml 2023.07.19-1 2023-11-10 05:03:43 +00:00
Kareem Farid
7d48055d92 Fix DRC Rosetta Conversion Bug (Magic -> TritonRoute) (#2037)
This bug also affects the DRC checker and may have caused false negatives.
2023-11-10 06:51:39 +02:00
passant5
d054702b2c remove unset_propagated_clock (#1908)
- Remove `unset_propagated_clock` from:
1- `scripts/openroad/floorplan.tcl`
2- `scripts/openroad/resizer.tcl`
3- `scripts/openroad/sta/multi_corner.tcl`

To avoid using a generated SDC that doesn't include `set_propagated_clock` in signoff STA
2023.07.19
2023-07-19 16:09:15 +03:00
Vitor Bandeira
32dc185225 OR CI: consider that designs moved to submodule (#1900) 2023.07.17 2023-07-16 15:22:31 +03:00
Kareem Farid
c43cd3cbae Move CI designs to a separate repository (#1867)
~ Move test designs to a separate repository and add it as a submodule.
~ Adjust test set to refer to designs in submodule.
~ Change design_dir in `run_tests.py` for artifact upload in the CI.
~ Fix fail condition on design name mismatch in `compare_regression_reports.py`
~ Print a better error message for design name mismatch mentioned previously. 
~ Change regression benchmark to point reflect submodule change. 
~ Change documentation to reflect new paths of designs.
+ Add aes_user_project_wrapper to ci designs to test EXTRA_SPEFS.
+ Add a step in CI workflow to replace `/` with `_` in design name for artifact upload.
2023.07.14
2023-07-13 12:39:52 +03:00
Mohamed Gaber
2735f41574 PDK Variable Consistency (#1892)
~ Classified PDK variables by user modifiability
~ `SYNTH_MAX_FANOUT` -> Moved into PDK as `MAX_FANOUT_CONSTRAINT`
~ `SYNTH_MAX_TRAN` -> Moved into PDK as `MAX_TRANSITION_CONSTRAINT`
~ `SYNTH_CAP_LOAD` -> `OUTPUT_CAP_LOAD`
- Removed `DEFAULT_MAX_TRAN` from PDK (unused)
2023.07.13
2023-07-12 17:05:03 +03:00
Kareem Farid
ed5647b8c8 Undocumented Variable CI Workflow
Script uses regular expressions to create a set of documents variables and a set of used variables and compare them against each other. Some variables are internal, unexposed and others. These variables are whitelisted. See https://github.com/The-OpenROAD-Project/OpenLane/issues/1889

\+ Add documentation for `QUIT_ON_XOR_ERROR`
2023-07-12 14:38:52 +03:00
Kareem Farid
2b355aaab6 Enhance antenna violations report (#1893)
* add more information to antenna violations report:

+ required ratio
+ partial ratio
+ violating pin
+ violating net
+ metal layer

* add --plain-out to print a list of violating pins

---------

Co-authored-by: Donn <me@donn.website>
2023.07.12
2023-07-11 13:26:58 +03:00
Kareem Farid
c57c6c66bb Cleanup Deprecated Variable Documentation (#1887)
~ Rename `antenna.log` to `arc.log` and `magic_antenna.log` to avoid confusion
~ Separate PDK porting instructions and PDK variables
~ Add deprecated variables to documentation
~ Make existing deprecated variable documentation formatting-consistent and with replacement instructions
- Remove defaults from deprecated variables (they don't have any)
- Remove `LIB_MIN`/`LIB_MAX`: enough time has passed and PDK variables are annoying to deprecate

Co-authored-by: Donn <me@donn.website>
2023.07.10
2023-07-09 15:14:34 +03:00
Kareem Farid
0687a36b45 Fix typo in usage of RSZ_DONT_TOUCH (#1885) 2023-07-09 14:19:49 +03:00
Mohamed Gaber
21f54716ea Add missing documentation
Signed-off-by: Mohamed Gaber <donn@efabless.com>
2023.07.08
2023-07-07 21:43:47 +03:00
Kareem Farid
09cfff0dbb Fix lint errors in BM64 verilog sources (#1878)
- Remove timing constructs in verilog source files.
2023.07.07
2023-07-06 21:10:16 +03:00
Kareem Farid
5998726ef1 Always raise an exception when a design fails in the CI (#1879)
An exit code of 2 is bypassed. It seems that an exit code that is not 2 is a failure of the python script itself not OpenLane flow. This exception is raised and propagated to the CI. However an exit code of 2 should be propagated as well after a reproducible is made. The CI flow shouldn't attempt to run benchmark when the flow failed.
2023-07-06 18:25:24 +03:00
Kareem Farid
a0c0945dd0 Make synth checks more aggressive (#1880)
~ move synth check before opt to capture more errors
~ bump yosys version to address more cases of synth checks. see attached issue link
2023-07-06 15:17:37 +03:00
Kareem Farid
24dcb51e50 irdrop.tcl bug fixes (#1882)
~ Fix typo in -net argument
~ Fix variable arg_list not properly filled when VSRC_LOC_FILES is defined
2023-07-06 14:18:25 +03:00
Kareem Farid
3bc9d02d0b Use OpenROAD mirror of lemon-graph (#1873) 2023.06.26 2023-06-26 07:48:24 +03:00
Kareem Farid
aeef4d0572 Enhance IR Drop Analysis (#1864)
+ Add `VSRC_LOC_FILES`
+ Fix IR drop analysis flow
+ Consistent default NONE in configuration.md
2023.06.23
2023-06-22 12:53:38 +03:00
Kareem Farid
064db85073 set MAGTYPE to mag for lef write as maglef is and abstract view and (#1859)
Currently, it is maglef which is an abstract view and doesn't include antenna areas.
2023.06.22
2023-06-21 13:04:22 +03:00
Vitor Bandeira
d7059209bb Fix OpenROAD CI (#1868)
Co-authored-by: Vitor Bandeira <vvbandeira@precisioninno.com>
2023-06-21 09:14:52 +03:00
Kareem Farid
6ca12d8eab Fix condition when RSZ_DONT_TOUCH_RX is defined (#1865) 2023.06.21 2023-06-20 18:19:45 +03:00
Openlane Bot
4261cf6844 [BOT] Update PDK (#1834)
open_pdks -> 3df14f84ab167baf757134739bb1d2c5c044849c
2023-06-20 14:30:11 +03:00
Kareem Farid
4eab9f7041 Fix typo in resizer.tcl triggerd by RSZ_DONT_TOUCH_LIST (#1861) 2023.06.20 2023-06-19 14:30:46 +03:00
Kareem Farid
54b233a6be Wrap splitnets and insbuf around SYNTH_SPLITNETS and SYNTH_BUFFER_DIRECT_WIRES (#1857)
Signed-off-by: Kareem Farid <kareefardi@users.noreply.github.com>
2023-06-19 13:42:22 +03:00
Kareem Farid
b5b0bbdf07 Fix linter defines variable reference (#1858) 2023-06-19 12:59:59 +03:00
Kareem Farid
a3c416c54e Linter(Verilator) enhancements (#1837)
~ generalize verilator variables:
  QUIT_ON_VERILATOR_ERRORS -> QUIT_ON_LINTER_ERRORS
  QUIT_ON_VERILATOR_WARNINGS -> QUIT_ON_LINTER_WARNINGS
  VERILATOR_RELATIVE_INCLUDES -> LINTER_RELATIVE_INCLUDES
  RUN_VERILATOR -> RUN_LINTER
+ add LINTER_INCLUDE_PDK_MODELS
+ add LINTER_DEFINES
+ include verilator in ci tool updater
- do not include pdk verilog models using -I
- remove workaround for verilator std error
- disallow timing constructs. Print an error to the user to remove or guard them.
2023-06-19 11:47:56 +03:00
Kareem Farid
66310e84d9 Remove STA manual patch (#1855) 2023-06-19 10:31:42 +03:00
Openlane Bot
a9e3f6896e [BOT] Update magic (#1815)
magic -> 482d7534a27c51d0d1c8a466494680d185d334ee

Signed-off-by: Kareem Farid <kareefardi@users.noreply.github.com>
Co-authored-by: Kareem Farid <kareefardi@users.noreply.github.com>
2023.06.19
2023-06-18 18:17:34 +03:00
Kareem Farid
cfcb536b89 Handle modules deeper in the hierarchy for EXTRA_SPEFS (#1846)
add -hierarchical to get_cells: Searches hierarchy levels below the current instance for matches.
use get_property full_name instead get_property name to get the full
hierarchical name of a module
2023-06-18 14:32:25 +03:00
Kareem Farid
2e6954e75c magic lef write updates (#1850)
~ default to lef/def in order to generate lef with pin direction (and much faster than gds) 
~ bump magic version
~ restore `drc off` in `lef.tcl` that was removed in an older PR
~ record a separate magic lef write runtime
- remove unneeded `cellname` command from `lef.tcl`
+ add lef nocheck for power connections for antenna area calculation
2023-06-18 14:31:44 +03:00
Kareem Farid
16971365cb bugfixes (#1852)
fix a typo in tcl exists
fix wrong argument passed to parse_yosys_check
fix handling missing prefix
2023.06.16
2023-06-15 16:09:52 +03:00
Kareem Farid
5ca4821464 Deprecate -gui and continuing the flow with an existing tag (#1840)
`-gui` is superseded by `gui.py`. `or_gui` should still work for interactive scripts. 
Dropping support for continuing existing runs. Users need to use `-overwrite` or provide a different tag.
2023.06.15
2023-06-14 12:05:18 +03:00
Kareem Farid
0bd45a23aa Add TRISTATE_CELL_PREFIX (#1796)
Fix condition of SYNTH_CHECKS_ALLOW_TRISTATE for hand-instantiated tristate buffers
2023.06.14
2023-06-13 20:36:04 +03:00
Kareem Farid
3dabdadc4c don't set global connect when right a netlist from "powered def" (#1845)
the whole point of the powered def is to compare the power connections
of the rtl with the power connections defined in macro hooks. the
current implementation writes a def file generated from a netlist
created from the rtl and the final def generated after routing. this is
done in a python script followed by a tcl call to `write_verilog`
because there isn't a python api for writing verilog. this introduced a
problem where during `write_verilog` global connections defined in macro
hooks are set overwriting whatever changes to the power connections made in
the powered def. this pr add -no_global_connect during the
`write_verilog` step to avoid the override mentioned earlier.
2023-06-13 20:17:16 +03:00
Vitor Bandeira
d9c11994e0 ci: disable failing test in OR-CI (#1844)
Co-authored-by: Vitor Bandeira <vvbandeira@precisioninno.com>
2023-06-13 15:11:12 +03:00
Kareem Farid
b04797cb6c Fix logging message of timing derate (#1839) 2023-06-13 14:29:11 +03:00
Openlane Bot
85e9dc67fc [BOT] Update openroad_app (#1829)
openroad_app -> ceae0ad175e8b0183c3a64af79ba18139dcda63a
2023.06.08
2023-06-07 20:23:36 +03:00
Kareem Farid
5ba7fa0790 Fix doctest (#1828)
Delimt end of warning by final message as well
2023.06.07
2023-06-06 15:30:19 +03:00
Kareem Farid
e910d115dc Read top level spef when using STA_MULTICORNER_READ_LIBS (#1830) 2023.06.01 2023-05-31 14:38:01 +03:00
Kareem Farid
6bb1e0dd91 Add gui.py (#1824)
\+ Add `gui.py`. Adding the help message here:
```
Usage: gui.py [OPTIONS] RUN_DIR

  View specified layout from run_dir using supported viewers

Options:
  --viewer [klayout|openroad]     Viewer option  [default: openroad]
  -f, --format [def|odb|gds]      Layout format to view  [default: odb]
  -s, --stage [cts|floorplan|placement|routing|signoff]
                                  Optionally specify which stage to view
  --help                          Show this message and exit.
```

\+ Mount HOME directory when running `make mount`.
\+ Add `-congestion_report_file` to steps that call global routing
2023.05.31
2023-05-30 17:44:50 +03:00
Mohamed Gaber
bee7c9d240 Fix Max Transition Time Usage (#1826)
+ Add `SYNTH_MAX_TRAN` to `base.sdc` (if set)
~ Fix syntax error in `all.tcl`
- Removed attempt(s) to calculate a default value for `SYNTH_MAX_TRAN` in `all.tcl`, `openroad/cts.tcl` and `yosys/synth.tcl`
2023.05.30
2023-05-29 18:14:34 +03:00
Openlane Bot
a36049b46a [BOT] Update openroad_app (#1801)
openroad_app -> 9a713f0e8a51769207918da28adfd3c02b854375
2023.05.29
2023-05-28 15:33:09 +03:00
Kareem Farid
5880f35897 Read multi-corner libs while running resizer and CTS (#1804)
+ add `RSZ_MULTICORNER_LIB`: a flag to read multicorner libs during resizer optimizations
+ add `RSZ_LIB_FASTEST`: defaults to `LIB_FASTEST`
+ add `RSZ_LIB_SLOWEST`: defaults to `LIB_SLOWEST`
+ add `LIB_CTS_SLOWEST`
+ add `LIB_CTS_FASTEST`
+ add `CTS_MULTICONER_LIB`
~ in `read_libs`, in `scripts/openroad/common/io.tcl`, iterate over each each corner definition to allow for reading multiple files for each corner.
~ replace `-override_libs` and `-multi_corner_libs` by `-lib_fastest`, `-lib_slowest` and `-lib_typical` and modify resizer and cts tcl scripts accordingly
~ don't make copies of files in `LIB_SYNTH_COMPLETE` for `RSZ_LIB`, instead point to the original files
2023.05.25
2023-05-24 17:30:26 +03:00
Mohamed Gaber
5ee2232d34 Update Readme to Include Citation (#1820) 2023-05-24 17:21:03 +03:00
Kareem Farid
d0371f30a3 Revert "[BOT] Update magic (#1778)" (#1818)
This reverts commit 541c95953c.
2023-05-24 10:49:44 +03:00
Kareem Farid
69c91f0c49 Port fix from OpenSTA and update OpenROAD (#1817)
~ `openroad` -> `e289bc2ce4fee72a5d3e240d1b61b6385fcbe807`
2023-05-24 10:22:12 +03:00