cd OpenLane
make mount
./flow.tcl -design <design_name> -init_design_config -add_to_designs -config_file config.tcl
./flow.tcl -interactive
A tcl shell will be opened where the openlane package is automatically sourced:
Then type the follwoing
% package require openlane
Then, you should be able to run the following main commands:
Any tcl command.
prep -design <design> -tag <tag> -config <config> -init_design_config -overwrite
similar to the command line arguments, design is required and the rest is optional
run_synthesis
run_floorplan
run_placement
run_cts
run_routing
write_powered_verilog
" followed by " set_netlist $::env(routing_logs)/$::env(DESIGN_NAME).powered.v
write_powered_verilog -output_def -output_nl -output_pnl
run_magic
run_magic_spice_export
run_magic_drc
run_lvs
run_antenna_check
./flow.tcl -interactive -file <file>
set ::env(FP_CORE_UTIL) 5
set ::env(PL_TARGET_DENSITY) 0.5
(low utilization)
https://github.com/efabless/openlane/blob/master/regression_results/README.md
and explore different utilizations and densities.
XDG_SESSION_TYPE=x11 klayout
If you already have the repo locally, then there is no need to re-clone it. You can run the following:
cd OpenLane/
git checkout master
git pull
make
make test # This is to test that the flow and the pdk were properly updated
https://github.com/visionvlsi/be_design_using_openlane
https://openlane.readthedocs.io/en/latest/reference/configuration.html
https://openlane.readthedocs.io/en/latest/reference/pdk_configuration.html
https://openlane.readthedocs.io/en/latest/reference/openlane_commands.html
https://openlane.readthedocs.io/en/latest/reference/interactive_mode.html
OPENLANE_IMAGE_NAME=efabless/openlane:9dbd8b5ea2bd891bed4dcc97df5c7439083f0368
-
In case of -tag tagName giving an error, do the following
export OPENLANE_IMAGE_NAME=efabless/openlane:5ca48214640dcb9f88945a3861be47716ebe187d
make mount -
To open DEF file either using magic or klayout
- from (floorplan,placement, CTS, or routing directory> magic -T sky130A.tech read_lef /tmp/merged.lef read_def filename.def &
- In case of klayout -> from tools -> manage technology -> import technology -> from sky130A -> libs.tch -> klayout -> sky130A.lyt
- The following is older command
from (floorplan,placement, CTS, or routing directory> magic -T sky130A.tech lef read /tmp/merged.lef def read filename.def &
- NOTE pdks can be found in /root/.volare/
- Those with -overwrite
OpenLane > git fetch --unshallow
then, git config --global user.name "anyUserName"
git config --global user.email ""
then, git stash
then, git revert 5ca48214640dcb9f88945a3861be47716ebe187d
then, Ctrl+X
then, press y
then, export OPENLANE_IMAGE_NAME=efabless/openlane:9dbd8b5ea2bd891bed4dcc97df5c7439083f0368
make mount