- May 08, 2024
-
-
Mohamed Gaber authored
+ 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
-
- Nov 22, 2023
-
-
Mohamed Gaber authored
~ Updated install documentation ~ Fixed issue where the issue survey's PDK checker uses `./pdks` instead of `~/.volare` - Dropped `pip` requirement/check: `venv`s include `pip` regardless
-
- Sep 03, 2023
-
-
Mohamed Gaber authored
As OpenLane 1 approaches a feature freeze, people who want new features should be going there more.
-
- May 24, 2023
-
-
Mohamed Gaber authored
-
- Nov 30, 2022
-
-
Mohamed Gaber authored
+ 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
-
- Oct 09, 2022
-
-
Mohamed Gaber authored
+ Add flag to enable/disable timing model generation after STA + Add both powered and unpowered netlists to `save_views` + Add multi-corner SDF and SPEF files to `save_views` ~ Fix #1413 and add regression test ~ Move `./run_issue_regressions.py` inside `tests` as a modular main function
-
- Sep 22, 2022
-
-
Arman Avetisyan authored
-
- Sep 12, 2022
-
-
Mohamed Gaber authored
~ Documentation all moved under `docs/source`, arranged hierarchically according to the table of contents ~ `Klayout` changed to `KLayout` in all logging messages ~ Readme rewritten to just be concise, parts of it isolated into standalone documentation ~ RTD builds no longer use conda (saves some time) ~ Fixed all broken links
-
- Sep 06, 2022
-
-
Mohamed Gaber authored
~ `TEST_MISMATCHES` -> `./flow.tcl -test_mismatches <class>` ~ `QUIT_ON_MISMATCHES` o-> `./flow.tcl -ignore_mismatches`
-
- Aug 09, 2022
-
-
Mohamed Gaber authored
+ 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`
-
- Jul 22, 2022
-
-
Mohamed Gaber authored
~ RecommonMark, Sphinx Markdown Tables replaced with MyST Parser ~ All package versions pinned ~ Updated various broken links
-
- Jul 18, 2022
-
-
Mohamed Gaber authored
+ 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
-
- Jul 13, 2022
-
-
Mohamed Gaber authored
+ 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`
-
- Apr 15, 2022
-
-
Mohamed Gaber authored
* Initial work on integrating volare * CI * More CI fixes * Update opdks * Switch to Efabless open_pdks fork, update
-
- Apr 07, 2022
-
-
Mohamed Gaber authored
+ 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
-
- Apr 05, 2022
-
-
Anton Blanchard authored
-
- Apr 01, 2022
-
-
Anton Blanchard authored
-
- Mar 14, 2022
-
-
Donn authored
+ `-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)
-
- Feb 28, 2022
-
-
Arman Avetisyan authored
This adds an issue-specific CI that can be used to test specific regressions rather than running entire flows. Also, a partial solution for #892.
-
Arman Avetisyan authored
[skip ci]
-
- Feb 19, 2022
-
-
wale soyinka authored
Specify version of click required. per - https://github.com/The-OpenROAD-Project/OpenLane/pull/933#issuecomment-1045921879 [skip ci]
-
- Jan 28, 2022
-
-
Donn authored
Remove an unproven and oft unused utility from the OpenLane tree.
-
- Jan 27, 2022
-
-
Donn authored
Some usability improvements for the sky130 PDK make targets in addition to code de-duplication. ~ `INSTALL_SRAM=enabled make pdk` removed in favor of `make pdk-with-sram` ~ `make full-pdk` removed in favor of `FULL_PDK=1 make pdk` ~ `make native-pdk` removed in favor of `NATIVE_PDK=1 make pdk`
-
- Jan 24, 2022
-
-
Donn authored
+ Added linting rules for flake8, formatting with black + Added a GitHub Action to enforce lint/format rules
-
- Dec 27, 2021
-
-
Donn authored
This restores `-save` functionality from previous versions of OpenLane, which was mistakenly removed.
-
- Dec 14, 2021
-
-
Donn authored
+ run_designs.py now exits with exit code 2 if a design failed ~ run_designs.py rewritten in click, API altered slightly ~ renamed `addComputedStatistics` to `add_computed_statistics` - removed `make regression_test`
-
Donn authored
~ 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
-
- Dec 02, 2021
-
-
Donn authored
* Report Generation Bugfixes + Added `-override_env` option to flow.tcl to override certain environment variables on a per-run basis + Added option to extract inverter cells into the metrics behind an env var (so as not to break compatibility) + Klayout requirements added to runtime ~ Regression test outputs renamed, design report now in yaml ~ CI now runs on ubuntu-20.04 specifically, installs pyyaml ~ Fixed `make test` ~ Rewrote compare_regression_reports in click ~ Fixed compare_regression_design (typo made it not run, aliasing failures!!) ~ Changes to variable names: FINAL_TIMING_REPORT_TAG is now LAST_TIMING_REPORT_TAG, ran every STA ~ Fixed yosys gate type extraction * Fix Odd Antenna Issue By Reverting OpenROAD
-
- Nov 23, 2021
-
-
Donn authored
The best thing to happen to OpenLane since OpenLane. Variables related to output files: i.e. logs, results and reports, are becoming more uniform. * Variables now point to folders * Variables now called `{stage}_{type}s` * All variables renamed to be tool-generic * magic, klayout, cvc and lvs all unified, renamed "finishing" * Better flow runtime calculation * All step runtimes are now stored in a yaml file, which can easily be read by a human or parsed by a computer. * Better step indexing * You have to increment the step index explicitly using `increment_index`. * Functions that take log arguments now require you to not use an indexed file, it's their responsibility to index them. * Changed names for many logs to make more sense * A plethora of files being moved and/or renamed * Yosys scripts were moved into their own folder * All references to OpenLANE that are not a published paper have been replaced with OpenLane * Copyright dates updated on some files
-
- Nov 13, 2021
-
-
Donn authored
* verilog2def -> init_floorplan Some files still retained the name of a floorplanning tool we're no longer using. It has been removed. * netlist locations Netlists generated as part of later steps were placed under `synthesis/`. They have been moved to their proper locations. * Build tweaks `make openlane` now actually builds the container. `make pull-openlane` has been added with the original functionality. The git commit has been placed in the container at `/git_version`. A custom `.bashrc` has been added. Non-standard `echo -ne` invocations replaced with `printf`. * Issues verify_versions now works without a `PDK_ROOT` set (`$openlane_root/pdks`) clarified issue template
-
- Nov 12, 2021
-
-
Donn authored
* Rewrite or_replace.tcl That script used a lot of internal swig commands with an unstable API/unpredictable behavior. Resolves #697. * Expose `max_displacement` flag for detailed placement This was added at some point as a replacement to the diamond search height thing and is necessary for macros. * Add OpenROAD GUI/Tcl Readline Resolves #642. Note that this addition will be intentionally undocumented and is intended more for people who absolutely want it. MISC: * CI fast fail off/always push image The CI will report failures still, but will still publish an image and create a tag. Additionally, other tests won't be killed on the first failure. * Naming convention changes * `docker_build/` -> `docker`: Just is more consistent with literally every other codebase that uses Docker ever. * Removed `or_` prefix from OpenROAD scripts: redundant: They're all already under a folder called "openroad." The distinction no longer makes any sense as there are no separate scripts for the previously standalone utilities.
-
- Oct 25, 2021
-
-
Donn authored
This makes a number of internal improvements to the docker build process. * A common build base This common build base utilizes the dependency list outlined in `/dependencies` for both yum and pip, with the exception of cu-gr and dr-cu which use an... interesting (read: obtuse) build system. Speaking of... * A pre-compile dependency list This allows for the installing of dependencies that may need to be needed to compile *other* dependencies, incl. wheel, pyinstaller, devtoolset, etc. * Builds now use tarballs Git is no longer used, saving us the time needed to check out the *entire commit history every single time we build.* To handle submodules, I wrote a special script. Only OpenROAD uses submodules anyhow. * Rewrote final image The final image's Dockerfile was a mess. The new one also uses the dependency list and is better organized. * OpenLane is now mounted to `/openlane` instead of `/openLANE_flow` We don't really use `openLANE`, branding was settled on `OpenLane`, except I think it's better for everyone's sanity if I avoid capital letters altogether.
-
- Oct 22, 2021
-
-
Donn authored
-
- Oct 17, 2021
-
-
Donn authored
-
- Oct 16, 2021
-
-
Donn authored
+ ./install.py greatly expanded to ./env.py, a python script consolidating all manners of environment configuration including installation and docker option generation + issues are now required to use ./env.py to survey the environment + installs to arch/manjaro now supported ~ python no longer asks to install, it creates a virtual environment ~ centos7 -> centos-7 (for consistency) ~ scripts reorganized: i need that top level as pristine as humanly possible - removed csv2html. just use a viewer Co-authored-by:
Ahmed Nofal <ahmed.nofal@efabless.com>
-
- Sep 29, 2021
-
-
Donn authored
This changes Makefile environment variables to be consistent with caravel user project based on feedback from @mattvenn. Also, the fastest_test_set/extended_test_set productions have been fixed from a break in #627. * IMAGE_NAME -> OPENLANE_IMAGE_NAME * CURRENT_TAG -> OPENLANE_TAG
-
- Sep 07, 2021
-
-
Donn authored
-
- Aug 31, 2021
-
-
Donn authored
~ Reformatted run_designs.py to be more consistent with the rest of the codebase ~ Moved almost all top level scripts into other folders ~ Moved most top level documentation to docs/source ~ ol_install.py -> install.py ~ Fixed infinite recursion issue with or_issue.py
-
- Aug 16, 2021
-
-
Donn authored
Also fixed minor issue with version verification in docker containers
-
- Aug 04, 2021
-
-
Marwan Abbas authored
-