<@U01EK2VDMDG> <@U01GLU3UDRD> I have a question on...
# ihp-sg13g2
h
@Amro Tork @Krzysztof Herman I have a question on how to properly setup the IHP PDK for KLayout. In some situations (like on our IIC-OSIC-TOOLS image) the PDK sits in a read-only location, and even the user home directory is read-only. How should one setup KLayout and environment variables properly for this to work? E.g. accessing the right
.lyt
and
.lyp
files, and especially properly finding all the Python stuff? I am not sure that the current setup (if I look into the
.lyt
for example) supports such a usage model. Here is a GH issue to track the discussion: https://github.com/IHP-GmbH/IHP-Open-PDK/issues/87
b
What has worked for me (in your container) is to drop soft links of everything into
/foss/designs/.klayout
and set that path as KLAYOUT_HOME in
.designinit
.
Copy code
cd /foss/designs
mkdir .klayout
mkdir .klayout/libraries
ln -s $PDKPATH/libs.ref/sg13g2_pr/gds/sg13g2_pr.gds ./.klayout/libraries
ln -s $PDKPATH/libs.ref/sg13g2_stdcell/gds/sg13g2_stdcell.gds ./.klayout/libraries
ln -s $PDKPATH/libs.tech/klayout/python ./.klayout/
ln -s $PDKPATH/libs.tech/klayout/tech ./.klayout/
h
@Boris Murmann That is a good WA, but I am fishing for a “clean” solution, not requiring users to do things like you did.
a
We have implemented a setup script that creates an alias called:
klayout_ihp
and makes everything ready for use directly.
h
@Amro Tork Could you please post a link?
a
It's internal so far. We will need to check with IHP team.
h
@Amro Tork My (by far) preferred way would be a setup similar to SKY130. Like I set PDK and PDK_ROOT variables to the IHP PDK location, and THAT’S IT. Not sure what we need to do to KLayout and the SG13G2 PDK to get there.
a
How do you open klayout?
h
> klayout
or alternative I use our alias
alias k='klayout -nn $PDKPATH/libs.tech/klayout/tech/$PDK.lyt'
(or a similar one for edit).
a
Got it. But I believe this might not get the GUI support for klayout.
Some functionality might not work correctly.
We have tested the above alias and we don't get the behavior that we are intending.
Dr. @Harald Pretl and Dr. @Boris Murmann we do the following: https://github.com/mabrains/IHP-Open-PDK/tree/dev/ihp-sg13g2/libs.tech/klayout/tech/lvs#gui
namely this command:
Copy code
KLAYOUT_PATH=$PDKPATH/libs.tech/klayout:$PDKPATH/libs.tech/klayout/tech/ klayout -e
h
@Amro Tork Thanks, good to know! I will test this, maybe we can just alias this macro to the established
k
and
ke
.
b
Where do you put user libraries with this approach?
The only way I got libraries to show up is to put them in .klayout/libraries.