104 Commits

Author SHA1 Message Date
Mohamed Gaber
70581ea9d3 Change Versioning Strategy (master) (#2154)
~ 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
~ include superstable branch in tagging efforts (even though this doesn't mean much in `master`…)
2024-09-22 13:27:10 +03:00
Mohamed Gaber
14b94a6682 Migrate Build System to Match OpenLane 2 (#2115)
+ Repository is now a Nix flake
~ Change all invocations of `openroad -python` to use `run_odbpy_script` for consistency
~ Change build system from ad-hoc to Nix, still producing a Docker image as a final result
~ Update KLayout scripts to use `klayout-pymod` or properly parse commandline arguments
~ `open_pdks` -> `bdc9412` to match OpenLane 2
- Remove local installer; `nix run .` will run OpenLane natively
2024-05-08 15:41:43 +03:00
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
456838bffc Remove CVC (#1976)
- Remove `cvc_rv` utility (upstream no longer willing to support it as part of the flow)
~ Fix bug with OpenLane docker image builder copying run folders
2023-09-06 14:48:32 +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
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
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-14 12:05:18 +03:00
Kareem Farid
e5e58b6434 set SCRIPTS_DIR after saving an environment snapshot (#1810) 2023-05-22 13:59:40 +03:00
Kareem Farid
02a096e7af Integrate Verilator (#1760)
+ Add verilator check before synthesis
+ Add QUIT_ON_VERILATOR_ERRORS
+ Add QUIT_ON_VERILATOR_WARNINGS
+ Add VERILATOR_RELATIVE_INCLUDES
+ Only load verilog models for selected PDKs and warn the user about unsupported PD
2023-04-19 14:22:25 +02: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
Mohamed Gaber
1f21398e5c Remove -from and -to (#1757) 2023-04-16 20:52:59 +02:00
Mohamed Gaber
ed194238ac Move Timing Checks After Report Generation (#1706)
(Actually) fixes regression in #1685
2023-03-29 15:14:23 +02:00
Mohamed Gaber
c294418847 Revert "#1703" (#1705) 2023-03-29 14:34:48 +02:00
Mohamed Gaber
54d5b5a390 Fix regression in #1685 (#1703)
~ Fix an issue where the timing violation checks were not being ran.
2023-03-29 14:01:00 +02:00
Kareem Farid
2e09573fff Diode Insertion Overhaul (#1686)
- Deprecate DIODE_INSERTION_STRATEGY.
- Remove DIODE_INSERTION_STRATEGY 2, 1, and 5
+ Add GRT_REPAIR_ANTENNAS
+ Add HEURISTIC_ANTENNA_THRESHOLD
+ Add RUN_HEURISTIC_DIODE_INSERTION
+ Add DIODE_ON_PORTS
+ Add HEURISITIC_ANTENNA_INSERTION_MODE
~ Update benchmark results for SW_HD
~ Apply DIODE_PADDING in dpl_cell_pad which also runs after RUN_HEURISTIC_DIODE_INSERTION

run_designs.py:
  ~ Change default config to `config` instead of `config.json` to allow for designs with
  tcl default config
  ~ Change logging format
  + Print SUCCESS when a design is finished
  ~ Use extra parameters `params.keys()` instead of `ConfigHandler.get_header()` to build
   report csv header. This fixes inconsistencies between csv header and values reported

compare_regression_design.py:
  ~ Change metric name antenna_violations -> pin_antenna_violations
  ~ Handle "bad" encoding of csv report files
  ~ Quit when a report is perceived as invalid
  ~ Don't print output file name to stderr
  
compare_regression_reports.py:
  ~ Change metric name antenna_violations -> pin_antenna_violation
  ~ Handle "bad" encoding of csv report files

config.py:
  ~ Sort result from get_config_for_run and configuration_values for consistency
  ~ All get_config_for_run to get the full config
  
~ Fix antenna violations net extraction in `extract_antenna_violators.py`
~ Fix fetching antenna violation count in `generate_reports.py`

report.py:
  ~ Split "metric" antenna_violations to pin_antenna_violations and
  net_antenna_violations as reported by openroad antenna checker
  ~ Add Non-phyCells 
  ~ Add TotalCells
  ~ Rename cell_count to synth_cell_count to avoid confusion with TotalCells
  ~ Calculate cells_per_mm based on Non-phyCells instead of synth_cell_count
  ~ Rename
2023-03-27 20:30:59 +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
Kareem Farid
931398e1d8 Fixes for lvs_batch (#1584)
~ use CURRENT_POWERED_NETLIST
~ disable LVS_INSERT_POWER_PINS before run_lvs as we are only
after comparing a netlist and a gds
+ add finishing steps after run_lvs
2022-12-21 15:48:06 +02:00
Mohamed Gaber
d4d4a3191c Add test for #1506, Isolated Installation in Docs (#1536)
+ Add test for JSON config files
~ Updated various `rm` execs to `file delete -force`
~ Test script now outputs to stdout as well as a log file
~ Moved post-run hook runner to `all.tcl`
~ Moved installation docs to their own subcategory
~ Fix security bug
2022-11-30 20:04:43 +02:00
Mohamed Gaber
a0b19fa68b Add Wire Length Checker (#1463)
\+ Add PDK variable `WIRE_LENGTH_THRESHOLD` which wires with lengths >= said value are flagged
\+ Add `QUIT_ON_LONG_WIRE` which fails the flow if any wires are flagged for length
~ Update all `$::env(OPENROAD_BIN) -exit -python` invocations to include `-no_init` to suppress message about rc file
~ Replace ill-fitting `$::env(OPENROAD_BIN) -exit -python` invocations with just `python3`
~ Replace local install check with a simple git directory check
2022-11-01 19:09:25 +02:00
Johan Euphrosine
496a62bd3a flow: skip mounted version for local install (#1439) 2022-10-24 16:10:20 +02:00
Mitch Bailey
3809309b8c Renamed cvc to cvc_rv to avoid conflict (#1440)
~ `cvc` -> `cvc_rv` + updated filenames and invocations
~ `run_lef_cvc` -> `run_erc` with translation behavior 

Co-authored-by: Donn <me@donn.website>
2022-10-24 11:36:00 +02:00
Johan Euphrosine
70a28d2e26 Add missing -exit flag to openroad -python calls (#1388)
+ Add `-exit` to all `openroad -python` invocations, which otherwise causes hangs when stdin is hooked up
~ openroad_app -> 389a1f09821c0f57e3bf8e88f4ab43c76ec5f5c4
~ update tests to use DEFs as input files once again

Co-authored-by: Mohamed Gaber <donn@efabless.com>
2022-10-17 22:39:51 +02:00
Mohamed Gaber
32da932761 Organize Magic Scripts (#1418)
+ Add `proc erase_box` to OpenLane
+ Add two new config variables for magic def reads: `MAGIC_DEF_NO_BLOCKAGES` and `MAGIC_DEF_LABELS`
~ Magic scripts hierachically organized by input format
~ `erase_box.sh` deprecated
~ More decisively separate LVS logs from reports
2022-10-12 09:12:55 +00:00
Mohamed Gaber
04d86db91a Support OpenROAD set_dont_touch (#1398)
+ Add calls to `set_dont_touch` and then `unset_dont_touch` at the beginning and end of every resizer script respectively ~ Reorganize config variables
+ Added undocumented variable `RSZ_USE_OLD_REMOVER` to continue to use the old `remove_buffers.py` script instead
~ `LIB_RESIZER_OPT` -> `RSZ_LIB` (with translation behavior)
~ `UNBUFFER_NETS` -> `RSZ_DONT_TOUCH_RX` (with translation behavior)
~ Made timing models only get written after CTS by checking for `STA_PRE_CTS` as well
2022-10-02 22:40:02 +02:00
Mohamed Gaber
7b15116b80 Revamp Net Unbuffering (#1261)
+ `UNBUFFER_NETS` created, which takes a regular expression, which if matched, remove buffers from said net
~ `scripts/odbpy/remove_buffers.py` rewritten to be comprehensible
~ `remove_buffers_from_ports` -> `remove_buffers_from_nets`, now runs after every resizer step
~ `remove_*` python commands now only use regular expressions
- Remove `DONT_BUFFER_PORTS` as the name does not reflect the proactive nature of buffer removal
- Remove `remove_component` (singular)- unused

This is a temporary workaround until a proper "don't touch net" feature is available in OpenROAD.
2022-08-15 18:27:17 +02:00
Mohamed Gaber
6ab944bc23 IR Drop Reports in the Signoff Stage (#1255)
+ Create new IR drop report generation step in the `signoff` stage
+ ALMOST ALL STEPS NOW PRINT THEIR LOGS' PATH
~ `increment_index/TIMER/set log/puts_info` commands organized across the board
~ Fix issue where `FP_PDN_AUTO_ADJUST` would not snap its values to the mfg grid
~ Reorder `configuration/general.tcl`
~ Update Contribution Guidelines
~ Various Docs Fixes
- Remove `FP_PDN_IRDROP`
2022-08-09 14:51:35 +02:00
Mohamed Gaber
b50b4d03ab Tie Cells at FP Stage, Improved Cell Padding (#1226)
+ Added "logging to" information for long-running steps (CTS and Routing)
+ Added variable `GPL_CELL_PADDING` for global placement, with a default value of 0 (value divided by 2 and applied to both the left and right of the cell)
+ Add feature to also print mounted scripts' version if the container version does not match
+ Add `insert_tiecells` after floorplanning
~ `replace.tcl`, `opendp.tcl` -> `gpl.tcl`, `dpl.tcl`
~ `CELL_PAD` renamed `DPL_CELL_PADDING` for detailed placement, default value still 4, value divided by 2 and applied to both the left and right of the cell
~ DONT_BUFFER_PORTS given a default value (empty)
~ `remove_buffers` -> `remove_buffers_from_ports` (to more explicitly state what it does)
~ Renamed `RUN_ROUTING_DETAILED` to `RUN_DRT` (with translation behavior)
~ Cleanup OR antenna check
- Removed `CELL_PAD` from metrics and comparison
- Removed `widen_site_width`, `use_widened_lefs` and `use_original_lefs`: I don't know who used site widening
- Removed `MERGED_LEF_UNPADDED`: `MERGED_LEF` can be used for all places where the "unpadded" one was used
2022-07-25 16:52:54 +02:00
Mohamed Gaber
ebbb579d17 PDK Installation Fixes and Documentation Updates (#1212)
+ Added PDK build instructions using Volare
~ Git requirement for general use (but not building) dropped from 2.35 -> 2.22
~ Fixed `override_env`'s inconsistent behavior (thanks, Tcl)
- Removed conda pdk installation vestiges
- Removed some useless and confusing under-the-hood sections
2022-07-18 16:51:03 +02:00
Mohamed Gaber
c38101ea8a JSON Config Overhaul (#1134)
+ JSON Configs now support per-PDK and per-SCL options
+ JSON Configs now have a limited expression engine and a way to specify the current working directory and glob inside of it
+ Created script to help migrate tcl configs to json configs
+ `-init_design_config` rewritten, now creates an `openlane` folder inside the design's directory. New flag `-add_to_designs` restores the previous behavior
+ `docs/source/configuration_files.md` created with a focus on documenting how the configuration files work, including the JSON configuration files
~ Update `picorv32` design
~ Most `config.tcl`s replaced with `config.json` alternatives
~ Global configuration files now loaded in a specific order with no glob
~ Changed default values for PL_TARGET_DENSITY
~ Documentation updates to support the use of configuration JSON files as a first class citizen
~ Update author list
~ Replicate override_env after second design source
~ Move verify_mismatches to before most preparation
~ flow.tcl no longer requires `-design`, is happy to use the current working directory as a default
~ replicate.py rewritten
~ update.py not rewritten, but uses click now (and an improved --help)
- Removed "flag documentation" for some python scripts, just use `--help`
2022-07-13 16:43:23 +03:00
Anton Blanchard
9accacfc19 Re-work ECO flow (#1156)
+ Support multiple STA files in eco.py
~ All passes of routing and STA now start from `run_eco_flow`
~ Improved performance of `eco.py` by not reading the entire STA report in one go and making a single pass through odb getInsts()
- Don't insert fill cells until ECO pass is complete.
- Need to call eco_output_check on each iteration of the loop.
2022-06-21 16:14:01 +02:00
Mohamed Gaber
732c856c6d Fix skip_basic_prep, step mechanics (#1143)
~ Fix issue where `skip_basic_prep` would not be ran in some scenarios where a previous run is being resumed
~ Fix how `-from` and `CURRENT_STEP` interact
2022-06-18 11:22:57 +02:00
Mohamed Gaber
5a767e7fd2 Updates to save_final_views (#1137)
+ Function now called on all successes and `flow_fail`s
~ Function moved to all.tcl so it can be used by custom flow scripts
- Removed `SAVE_FINAL_VIEWS` variable
2022-06-10 15:28:44 +02:00
Mohamed Gaber
b29b71536b Python Cleanup (#864)
+ Consolidated all existing DRC conversion functions into `drc_rosetta.py`
+ Consolidated fake_diode_replace and place_diode into `diode.py`
+ Consolidated and/or rewrote most def manipulation functions into `defutil.py` and other files under `odbpy/`.
+ Consolidated and/or rewrote most lef manipulation functions into `lefutil.py`
~ Moved all files using odb to a new folder, `odbpy/`
~ Move replicate/update config scripts to `scripts/config` folder
~ Move all in-line magic spells into proper files
~ Tcl formatting (4 space-indents on all modified files)
- Removed many unused files, all consolidated files
---
API Breaks

* Care was taken to ensure all OpenLane tcl commands have the same API presuming the API in question was not stupid.
    * Speaking of, `manual_macro_placement_test f` has been updated to `manual_macro_placement_test -f` to be consistent with literally every other command.
* All individual files that may be used by third party projects likely have a different CLI and are thus entirely broken.
2022-06-07 08:43:35 +02:00
Mohamed Gaber
8120faaedf Make RUN_SPEF_EXTRACTION skip STA entirely, remove pandas (#1089)
~ `RUN_MAGIC` check moved to flow.tcl
~ `RUN_SPEF_EXTRACTION` now skips STA entirely
- Remove pandas (it's overkill for what we need + greatly inflates install times)
2022-05-11 19:42:22 +02:00
Mohamed Gaber
b737086576 Multi-Process Corner RCX (#978)
+ Added optional multiple **process corner** technology lef support (min/max/nom), in addition to the already existing multiple **timing corner** support (ss/tt/ff). This will also be our nomenclature going fwd.
+ Parasitics extraction now run at all process corners, and multi-corner analysis is run at all three process corners
~ `finishing` -> `signoff`
~ Parasitics extraction and STA are now an independent step instead of being lumped in routing, as part of the signoff block
~ Update OpenROAD
~ Update Open_PDKs, Sky130, and Magic
~ PDK verification made more PDK agnostic outside of env.py
~ Made RCX use LEF files instead of multiple configuration variables/set_rc.tcl
~ `prep_lefs` more or less rewritten
- Removed redundant RCX variables
- Removed `-order_wires` from various `read_def`s in OpenROAD- deprecated, apparently
2022-04-07 20:59:37 +02:00
Johan Euphrosine
386d6042ae flow: use env to resolve tclsh (#1026) 2022-03-30 15:28:26 +02:00
Donn
f2f5d83587 ECO Flow Tweaks (#1008)
+ Enable insert_buffer to be used outside of the ECO flow
+ Added ability to use interactive.tcl in issue regression flow
~ Made the ECO flow far less chatty
~ Other non-functional ECO flow tweaks
~ Merged apply_fix.tcl and eco.tcl into eco.tcl
~ Added `cat` command to utils.tcl
2022-03-28 13:42:51 +02:00
Donn
00da77e58c More Usability Tweaks (#984)
+ `-verbose` flag added with multiple levels, replacing `-disable_output` (which is now the default behavior)
+ New command `puts_verbose` added, to be used for extra pieces of information
+ ./flow.tcl header now includes version, copyright and licensing information
+ Added `-last_run` flag allowing you to quickly resume the last run (useful with -interactive)
+ Added `open_in_klayout` command that lets you open the CURRENT_DEF in Klayout
~ `env.py issue-survey` now detects whether it's running inside the container and warns accordingly
~ RUN_KLAYOUT, RUN_KLAYOUT_DRC, RUN_MAGIC_DRC, RUN_LVS now only control noninteractive flows
~ Full git hash added to containers
~ Various Documentation Updates
~ Changed verbosity of various output messages
- Removed `-disable_output` (now the default behavior)
- Removed OpenLane ASCII art
- Removed various "chatty" messages, including things succeeding (shut up unless something fails)
2022-03-14 12:09:15 +02:00
Donn
5dad9c439b ECO Flow Fixes (#867)
+ Add option to skip hold timing violation fixing for I/O pins
+ Properly expose ECO flow Tcl commands
~ Formatting changes

Co-authored-by: Haolin Dong <haolind@umich.edu>
2022-02-18 15:54:46 +02:00
Matt Liberty
3ece555cc4 Add or_gui command and -gui option (#931) 2022-02-18 13:17:05 +02:00
Donn
5f7d5cac90 More ASAP7 Tweaks (#904)
+ Added GCD Design to test ASAP7
+ Added RUN_LVS variable to control running the LVS step
~ Allow running OpenLane without git repo cloned (sort of)
~ Updated Klayout Scrot, DRC to complain about a missing mr deck if Klayout is set as the primary signoff tool
~ Various Tcl Formatting

Co-authored-by: Matt Liberty <mliberty@eng.ucsd.edu>
2022-02-05 04:20:30 +02:00
Matt Liberty
0624c5c673 Reinstate changes from 673a63e lost in 0a5afc3 (#903)
* In run_non_interactive_mode make -no_lvs -no_drc -no_antennacheck into flags

These don't need an argument and the code was already looking in flags_map.
2022-02-04 05:29:13 +02:00
Arman Avetisyan
0a5afc3dfc Issue regression flow and apply_def_template.py fix (#891)
+ Added an issue regression flow, allowing some post-run hooks to be executed to analyze issues that may not be captured by mere flow failure or metric regressions
~ `apply_def_template.py`: fix case sensitivity of arguments and use proper `defutil` command
2022-01-28 14:54:39 +02:00
Matt Liberty
673a63e2ff More generic flow updates (#886)
* In run_non_interactive_mode make -no_lvs -no_drc -no_antennacheck into flags

These don't need an argument and the code was already looking in flags_map.

Signed-off-by: Matt Liberty <mliberty@eng.ucsd.edu>

* in ioplacer.tcl use proper commands rather than internals

Signed-off-by: Matt Liberty <mliberty@eng.ucsd.edu>

* Add DFF_LIB_SYNTH optional variable for dfflibmap

dfflibmap can only take a single liberty file.  If LIB_SYNTH has multiple
files then DFF_LIB_SYNTH is the one with all the sequential elements.
If unset then LIB_SYNTH will be used for backward compatability.

Needed for asap7 which uses multiple liberty files.

Signed-off-by: Matt Liberty <mliberty@eng.ucsd.edu>

* Handle multiple liberty files and empty CELL_PAD_EXCLUDE for asap7x

Signed-off-by: Matt Liberty <mliberty@eng.ucsd.edu>

* Thanks, GitHub Actions Team

Co-authored-by: Donn <me@donn.website>
2022-01-26 20:51:03 -08:00
Donn
c4fbac9d18 Assorted Fixes To Error Reporting System (#854)
+ Warnings now printed by flow_fail and at the end of noninteractive flow runs
+ Created warnings.log, errors.log with all warnings and errors
+ Get Tag now returns a dummy tag if you're on a branch that's not `main` or `master`
~ Tarballing moved to run_tests.py
~ Restored `-u` permissions to run_test.py.
~ Version mismatches now cause the flow to fail, straight up
~ flow_summary.log -> openlane.log
~ Various warning messages updated
~ Version checking moved to `prep`
~ change .bashrc CWD color to green (black was not readable)
~ `return -code error` added to flow_fail, removed after all flow_fail invocations
~ `make pdk` fixed
- Removed `--tar_list` from run_designs.py - do your own tarring
2022-01-12 02:03:24 +02:00
Mehdi Saligane
99cf10ce2f Add an ECO Flow for hold timing violations fixes (#791)
ECO flow starts from checking the report generated in the route step. As PT commands are not supported by OL, we use a python script to check the report, insert buffers, and do the resize. Inside the ECO loop, the python script, cts and route step are called sequentially. The reports are generated each time, and the loop stops until no hold time violations are found. 

The flow can be enabled using ECO_ENABLE =1.

More documentation and enhancements to come in the future.

Co-authored-by: Ke-Haur Taur <khtaur@umich.edu>
Co-authored-by: Haolin Dong <haolind@umich.edu>
2022-01-09 21:15:47 +02:00
Donn
8902f5a7b8 Restore -save Functionality (#809)
This restores `-save` functionality from previous versions of OpenLane, which was mistakenly removed.
2021-12-27 12:05:40 +02:00
Donn
1ab8d55fab Fix or Remove Designs Failing The Extended Test Set (#777)
+ Added ability to run extended test sets on a specific pull request's PR by adding `[ci ets]` anywhere in the PR body (the example there counted!)
+ Added capacity to disable certain designs in a test set by prefixing the design with a `#`
+ Added new script that allows someone to iterate on a design's timing closure 
~ Decreased core utilization for some designs that just aren't routing
~ Fixed sizes of {BM64, blabla, y_huff} to avoid pin location issue
~ Increased max buffer percentages for some designs failing to achieve timing closure
~ Update all references to the design directory in config.tcl for all designs to `$::env(DESIGN_DIR)`.
~ core area/die area no longer have an EOL at the end of their value
2021-12-22 02:36:50 +02:00
Donn
96670268d9 Usability Tweaks (#759)
~ CI now uploads each run tarball individually
~ Updated READMEs
~ `save_views` now always executed
- Removed `run_power_pins_insertion_step`: `write_powered_verilog` now run right before LVS
2021-12-14 16:42:41 +02:00
Donn
79ede3dbf2 Improved Local Installs (#744)
Local installs are now installed to a gitignored folder in the repo's file structure and use the same files as the repository.

This is a minimal flow change with no effect on the Dockerized environment. [skip ci]
2021-12-09 13:05:18 +02:00