Skip to content
Snippets Groups Projects
  1. Sep 12, 2022
    • Mohamed Gaber's avatar
      Documentation Restructure (#1337) · cbb9e6b0
      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
  2. Sep 06, 2022
  3. Aug 09, 2022
    • Mohamed Gaber's avatar
      IR Drop Reports in the Signoff Stage (#1255) · 6ab944bc
      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`
  4. Jul 22, 2022
  5. Jul 18, 2022
    • Mohamed Gaber's avatar
      PDK Installation Fixes and Documentation Updates (#1212) · ebbb579d
      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
  6. Jul 13, 2022
    • Mohamed Gaber's avatar
      JSON Config Overhaul (#1134) · c38101ea
      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`
  7. Apr 15, 2022
  8. Apr 07, 2022
    • Mohamed Gaber's avatar
      Multi-Process Corner RCX (#978) · b7370865
      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
  9. Apr 05, 2022
  10. Apr 01, 2022
  11. Mar 14, 2022
    • Donn's avatar
      More Usability Tweaks (#984) · 00da77e5
      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)
  12. Feb 28, 2022
  13. Feb 19, 2022
  14. Jan 28, 2022
  15. Jan 27, 2022
    • Donn's avatar
      Some QoL changes to PDK Installation Make Targets (#888) · bff0186b
      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`
  16. Jan 24, 2022
  17. Dec 27, 2021
  18. Dec 14, 2021
    • Donn's avatar
      Rewrite `run_designs.py` (#760) · c71becce
      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's avatar
      Usability Tweaks (#759) · 96670268
      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
  19. Dec 02, 2021
    • Donn's avatar
      Report Generation Bugfixes (#742) · 445acc69
      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
  20. Nov 23, 2021
    • Donn's avatar
      Artifact Reorganization (#723) · 3bc6fcd3
      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
  21. Nov 13, 2021
    • Donn's avatar
      Assorted Usability Improvements (#709) · cbb562bd
      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
  22. Nov 12, 2021
    • Donn's avatar
      OpenROAD Script Updates (#702) · 8950f1aa
      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.
  23. Oct 25, 2021
    • Donn's avatar
      Docker Overhaul (#673) · 6d85a85e
      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.
  24. Oct 22, 2021
  25. Oct 17, 2021
  26. Oct 16, 2021
    • Donn's avatar
      Improved Environment Utilities (#648) · 52783014
      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: default avatarAhmed Nofal <ahmed.nofal@efabless.com>
  27. Sep 29, 2021
    • Donn's avatar
      Makefile tweaks (#630) · 18ef85a4
      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
  28. Sep 07, 2021
  29. Aug 31, 2021
    • Donn's avatar
      Top Level Cleanup (#568) · f1a3448f
      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
  30. Aug 16, 2021
  31. Aug 04, 2021
  32. Jul 28, 2021
    • Donn's avatar
      Versioning Improvements (#510) · 8d70ae30
      Donn authored
      * Get OpenLane version
      
      * Remove OpenPhySyn and Antmicro Yosys
      
      * Time-based tag names, current -> latest
      
      * Made local installer comply with new versioning scheme
      
      * Made Docker Get Commit/Repo Info From YAML file
      
      ~ Updater now also updates just the YAML file
      ~ Main makefile PDK option also consults the YAML file
      ~ Updated CI to reflect the above changes + reduce redundancy (Cleanup and Deploy Folded)
      
      * CI Bugfix
      
      * One Final CI Fix
  33. Jul 07, 2021
    • Donn's avatar
      Recreated Magic/Netgen Tarballs, Updated Readme · b4caf7a4
      Donn authored
      - Removed ASCII Logo
      ~ Changed all 'OpenLANE' or 'openlane' instances to 'OpenLane' for consistent branding
      ~ Overhauled setup section: information was grouped logically
      b4caf7a4
    • Donn's avatar
      Migrate to a more current version of OpenROAD (#433) · 543144f6
      Donn authored
      
      * Initial Set Of Changes
      + Made openroad binary customizable with OPENROAD_BIN env var: defaults to `openroad`
      + OL Install allows for customizable flow.tcl for testing
      + OR Issue now explicitly requires input and output defs as arguments
      + Updated routing commands
      - Removed standalone tritonroute
      - Removed CTS sqr_cap/sqr_rest options (no longer supported)
      
      * Partial Merge Of The-OpenROAD-Project/OpenLane#472
      
      Co-authored-by: default avatarOsama Hammad <osama21@aucegypt.edu>
      
      * Fixed Docker Environment
      `import opendbpy` -> `opendb`
      eigen is an archive now
      Removed Diamond Search Height Completely
      
      * Remove Minimum Distance, FP w/ layer numbers
      
      (per discussion with @osamahammad21)
      
      * Update PDK
      
      ~ Install new version of Git to handle Open_PDK's cloning woes
      ~ Update Commit Hash With Fixes To `download.sh`
      ~ Address The-OpenROAD-Project/OpenLane#475 while I'm here
      
      * Update OpenROAD, Remove Standalone OpenSTA
      
      * Remove Standalone OpenDP
      
      * Update TritonRoute Invocation
      
      + Random Seed Specified
      + Removed deprecated values from .params file
      (Not gonna remove .params file just yet)
      + Updated or_issue.py to handle incomplete file paths
      
      * update report layer usage
      
      * Makefile Tweaks
      
      - Decreased duplication
      ~ Now using long flags (See #476)
      
      * Updates to run_designs, OR commit
      
      * number of grt antenna repairer iterations
      
      * Update Magic & Netgen for LVS Issue
      
      - Remove blabla from completeTestSet pending RTimothyEdwards/netgen#21
      + Update Magic and Netgen to same versions as master
      +  Update Readme to replace efabless links with OpenLane ones
      
      * Update Magic/Netgen to Latest Versions
      
      - Remove usb_cdc_core from fastestTestSet pending RTimothyEdwards/netgen#21
      
      Co-authored-by: default avatarOsama Hammad <osama21@aucegypt.edu>
      543144f6
    • Donn's avatar
      Add CentOS 7 Support · 611be792
      Donn authored
      - Remove patches for OpenROAD: Moved all to a fork.
      - Now building cugr and drcu
      - Removed Opendbpy: Get it on your own
      611be792
    • Niklas's avatar
      Fixed typo · 4fdac241
      Niklas authored
      4fdac241
    • Ahmad Nofal's avatar
      -from, -to added to repo root README.md · 07b35718
      Ahmad Nofal authored
      07b35718
    • Mohamed Gaber's avatar
      Revert "Revert changes to coincide with v0.14" · 5c6bb77c
      Mohamed Gaber authored
      This reverts commit b7ea44399eaeec61eec8b4d196077d0da081ad16.
      5c6bb77c
Loading