Commit Graph

8 Commits

Author SHA1 Message Date
Mohamed Gaber
dbcc8252e9 Ameliorate Warnings, PDN Generation, and the default design (#2066)
~ Reimplemented the default serial/parallel multiplier to be a bit less cryptic and eliminate linter warnings; and added a proper testbench
~ Reimplemented deprecated variable translation behavior to account for the situation where a deprecated variable's value does not match the default for the new value, which causes a crash
~ Slightly improved warning for designs having been black-boxed during STA
~ PDN Generation Updates
    ~ Renamed `DESIGN_IS_CORE` to `FP_PDN_MULTILAYER` with translation behavior
    ~ PDN generation will now always attempt to extend to core ring (which is inert if core rings do not exist)
    ~ Fixed bug where `FP_PDN_MULTILAYER` being set to `0` would attempt to create a core-ring on two layers anyway
~ IR drop now prints a warning if `VSRC_LOC_FILE` is not provided
- Removed deprecation behavior for `GLB_RT` variables - it's been over a year (>=6 mo as promised)
2023-12-25 20:48:46 +02:00
Mohamed Gaber
157a650587 Update Documentation (#1917)
+ Added `make docs` target to primary Makefile to generate documentation
~ Update documentation dependencies
~ Updated `tcl.py` to handle JSON lists of elements including whitespace by joining them with a comma (unless one of the elements already contains a comma), resolving odd JSON syntax
~ Re-organized and re-order configuration variables and edited descriptions for general consistency as well as adding anchors
~ Update all documentation dependencies
~ Fixed a number of broken links
- Remove dependency on `docutils` and `sphinx-autobuild` (both unused)
- Remove two of the custom documentation extensions
2023-07-25 13:02:39 +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-13 12:39:52 +03:00
Mohamed Gaber
630aa1ff3c Reorganize Timing Reports (#1704)
~ Add reports for timing multi-corner STA across all process corners
~ Sort min/max report outputs by slack
~ Combine Slew, Fanout, Capacitance and Annotation Checks into one `_sta.checks.rpt`
~ Combine TNS, WNS, Worst_Slack into one `_sta.summary.rpt`
~ Fix regression in #1675 where logs were renamed and reports were not getting generated for some steps
~ Update documentation
\- Remove UMich ECO timing report vestiges

---
Based on feedback from @shalan, Fixes #875
2023-04-16 20:56:30 +02:00
Kareem Farid
8a4b1e7f06 Hierarchical Static Timing Analysis (#1675)
\+ Add `EXTRA_SPEFS`
\+ Use `VERILOG_FILES_BLACKBOX` in sta. Allow skipping a file by adding a comment `/// sta-blackbox`
\+ Detect blackboxed modules in typical-corner STA during sign off and warn the user about it
\+ Add `run_sta_script` used in multicorner sta
\+ Support sta in `or_issue.py`
\+ Support sta in `run_tcl_script`
\+ Check if regex defined in `FP_PDN_MACRO_HOOKS` has a match. Fixes https://github.com/The-OpenROAD-Project/OpenLane/issues/1599
\~ Wrap `set_global_connections` around a flag since it is not supported by opensta
\~ Run multicorner sta using standalone sta application for hierarchical
sta support
\~ Move `sta_multi_corner.tcl` to `scripts/openroad/sta/multi_corner.tcl`
\~ Don't delete target directory of `-save` for multicorner spef files
\~ Merge multi_corner sta and single corner into one script.
\~ Split `RUN_STANDALONE` embedded inside openroad steps, which calls sta after, to another sta step run after said openroad step
\- Remove `report_design_area` in `multi_corner.tcl` since it is not supported by standalone OpenSTA 
\- Remove `scripts/openroad/sta.tcl`
2023-04-05 23:58:56 +02:00
Mohamed Gaber
8433bc03f8 Exit Cleanup (#1685)
~ Move `QUIT_ON` variables outside of checker functions
~ Move final timing checks to a flow step: `run_timing_check_step`
~ Replace a couple of loose `file exists` with `assert_files_exist` calls
~ Replace all `flow_fail` across the flow with `throw_error`, which behaves accordingly:
    * If running an interactive script, `flow_fail` is called
    * Else, the errors are propagated upwards, where `flow.tcl` is to catch it
~ Rename `try_catch` to `try_exec` as it now propagates the error, with translation behavior
- Remove UMich experimental ECO flow
2023-03-21 13:58:58 +02:00
P-Miranda
2db0936572 docs: Fix typos, follow Contributing Docs Guide (#1571) 2022-12-26 17:02:33 +02:00
Arman Avetisyan
b99fc38c38 Documentation Overhaul
Adds hierarchical flow and OpenRAM tutorials
2022-11-14 23:48:29 +02:00