Beginner / getting started questions: 1. I install...
# openlane
c
Beginner / getting started questions: 1. I installed openlane and ran the regression test. I got 31 PASSes and 11 FAILS. Is that normal? 2. I'm really unfamiliar with Docker 😞 I'd like to try out magic, yosys and klayout (not as part of a flow). How do I start magic for example (without installing it separately)? (I tried make mount and then magic but it complains that DISPLAY isn't set, and so on. I tried ./flow.tcl -interactive -d mydesign and then run_magic but it says it can't read ::env(PDK)... and so on. Basically, I don't know how to specify a magic.rc file, nor the technology 😞
h
You can run this command to launch docker with your system GUI:
Copy code
docker run -it -v $OPENLANE_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -v $PWD/..:/project -e PDK_ROOT=$PDK_ROOT -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -u $(id -u $USER):$(id -g $USER) efabless/openlane:current
For question 1, I think that it is not normal. If you are not good at building softwares, you can use the docker images. Just learn how to use docker.
To open a design in magic, run this:
Copy code
$ ln -s $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc .magicrc
$ magic -T $PDK_ROOT/sky130A/libs.tech/magic/sky130A.tech your-magic-design.mag
Klayout does not work in GUI mode with the above setup.
To run klayout in docker, you can run this:
Copy code
docker run -it -v $OPENLANE_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -v $PWD/..:/project -e PDK_ROOT=$PDK_ROOT -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -e QT_GRAPHICSSYSTEM="native" -u $(id -u $USER):$(id -g $USER) efabless/openlane:current
For this question:
Copy code
I tried ./flow.tcl -interactive -d mydesign and then run_magic but it says it can't read ::env(PDK)...
You need to 'cd' to cd /project/openlane, then run this command. It would load the PDK sucessfully.
c
Thanks for the suggestions. I've made some progress (at least in running an 'external' magic): 1. Don't 2. use Ubuntu's magic 8.2.127. Reading 3. ../openlane/pdks/sky130A/libs.tech/magic/sky130A.tech (as one does...) 4. it transpires that you need magic-8.3.111. Ooh, and sky130A-GDS.tech 5. wants 8.3.124. [1:46 AM] Thanks for the suggestions. I've made some progress (at least in running an 'external' magic): 1. Don't 2. use Ubuntu's magic 8.2.127. Reading 3. ../openlane/pdks/sky130A/libs.tech/magic/sky130A.tech (as one does...) 4. it transpires that you need magic-8.3.111. Ooh, and sky130A-GDS.tech 5. wants 8.3.124. 6. Making magic requires that the tcl-dev (and tk-dev ?) and csh packages be installed. 7. Maybe unrelated: I kept getting __parse__usage_errors (apparently due to bash-completion package not liking 'set -o exportall' (or set -a)
I blame slack for the bizarre formatting.
h
This means that you are using a wrong magic version. You need magic version 8.3.124 and above. I guess you are using Magic from ubuntu distribution by running 'sudo apt-get install magic'. However, this Magic version is too old. You will have to build magic from source. In addition, you must reinstall your pdk using the new magic also.
m
Just a note. Building magic (or any other component) from source in docker is not hard. 1
cd openlane/docker_build
2 open
docker/magic/Dockerfile
and change the
ARG MAGIC_COMMIT=e4bebffeb49fde401e8f531a01feb4c3ef6eb9db
line to the the revision you want to install 3
make build-magic
4
make merge