Hi all, we made this presentation with <@U0506JWML...
# ieee-sscs-dc-23
j
Hi all, we made this presentation with @Gabriel Maranhão and @Deni Alves to present the steps that we used to install Klayout with the gf180mcuD flavor and configure drc. Hope it will help.
👍 3
🙌 3
a
@Tim Edwards @Amro Tork Why is this patch not already on the compiled pdk given by volare?
a
@Tim Edwards Is it possible to follow the same steps in the slides in the open_pdk build?
👏 1
Thanks @Juan Sebastian Moya for providing this.
t
@Amro Tork: I will look through it and incorporate any needed fixes into open_pdks.
👏 1
a
Thanks @Tim Edwards @Amro Tork and @Juan Sebastian Moya
t
@Juan Sebastian Moya: Can you please clarify the following? (1) There is an inconsistency in the report where on page 3 ("Repositories Needed") it instructs to do a git clone of gf180mcu_fd_pr from github/efabless. However, on all other pages where the name of the repository exists with a link, such as pages 8 and 10, the link is pointing to github/mabrains. (2) Apart from the link difference mentioned above, it looks like the instructions are essentially trying to patch the volare distribution to the state that is currently defined in open_pdks. Is that the intent? What is the most recent open_pdks version used by volare for gf180mcu? (3) Of the three files in "shared_file": (a) The .lyp appears to be a minor variation on the existing .lyp file. Can you explain the intent of the changes? (b) The layers_def file has one change which is to remove "pnmdmy" from the definition of metal5. That appears to be a fix for a real error. Is that error documented in an issue somewhere? (c) "main.drc" appears to be the concatenation of all the ".drc" files in the PDK (PV repository) source. That is something that should be handled by open_pdks; if it is sufficient to always put "main.drc" at the front and "tail.drc" at the end and then put all other ".drc" files in between in any order, then it is probably easy to write a Makefile recipe that will generate the correct final file from the parts and still be robust to any changes made in the repository. I would prefer that the final file be something like "gf180mcu.drc" rather than "main.drc". How would that change the instructions? I am finding it very confusing to wade through apparently conflicting files that I think are left over from splitting the PR and PV libraries. I will try to clean that up as best I can. But if anything I said above doesn't make any sense, then please set me straight.
g
@Tim Edwards: (1): It is a typo, should be gf180mcu_fd_pr from github/efabless as we recent learn that github/mabrains is a dev branch. cc @Amro Tork (2): We use a local installation for all tools, and the source of PDK comes from volare. The PDK files for gf180mcu to use klayout (including DRC and LVS) are incomplete. The most recent version for gf180mcu in volare is
cd1748bb197f9b7af62a54507de6624e30363943 (2023.12.04)
(3.a): This is a minor fix, the layers are hard to distinguish, so I made them a little bit different, just to facilitate for human eyes. Feel free to just ignore this file. (I changed Metals from 1 to TOP, vias, COMP, NP, PP...) (3.b): Maybe we got a outdated file. I do not have more information regarding this file. (3.c): This issue probably comes from the fact that you already mentioned
"[...] splitting the PR and PV libraries"
. I had to dig up the DRC and LVS rules to see all the files that Klayout was using/calling to run DRC/LVS. At first it only worked ruining via terminal the python scripts for DRC and LVS, so I copy/paste these files to the right directory that klayout was calling and tried to setup it to work with DRC and LVS from inside the software. Right now my klayout DRC run 3 files,
main.drc
,
antenna.drc
and
density.drc
I also used information from HERE to help me out in this process (But this link is probably outdated). I had some questions regarding this issues months ago "https://open-source-silicon.slack.com/archives/C04MJUYP99V/p1693252433512829" @Farag Elsayed Help me out. I do not know if what I did is 100% correct, but right now I can setup and configure DRC and LVS direct on Klayout, and that is saving me a lot of time. I also double check DRC on magic and run PEX on magic to do post-layout simulations. The problem with volare version is that it do not contain all the files/configuration to open klayout, place the pcells and run DRC and LVS.
t
@Gabriel Maranhão: Maybe I'm missing something obvious, then, but the version of volare is up to date except for a push I made today, which implies that pages 5 and 6, and 9 and 10 of the PDF document do nothing, just delete files and copy the same file back to the same places. Pages 7 and 8 look like they are moving what's in
libs.tech/klayout/pymacros
to
libs.tech/klayout/pymacros/cells
, although I don't understand the purpose of the extra level of hierarchy.
g
@Tim Edwards: Sorry, I Just figure out that my version of GF180mcu on volare is one below the newest one. So I need to update it and see if the klayout setup for DRC and LVS is correct. Going to to it tomorrow on a virtual machine that I have, if it works normally, then, I update my local one. About the pymacros and cells. klayout did not found the folder with the python scripts that generate the cells, I saw that it was looking for the folder in the "extra level of hierarchy", so I copy and paste they to that folder. Maybe in the new version this is fixed. I have to update and check.
t
No need to be sorry. I'm just being very careful to understand every detail of this before I make a change to open_pdks, which tends to reverberate with bad consequences whenever I do something wrong. : )
g
@Tim Edwards: I have created a more specific klayout setup following the update to the latest gf180mcu volare version. However, there are still some configurations pending. I have documented all the information with screenshots in a PDF to facilitate following the instructions. Please refer to the attached document. Feel free to provide any additional information or comments on this file. All of this feels a bit rushed and some information is mixed... it was a series of trials and errors to understand the architecture and make it work, this whole process together with the tape-out deadline approaching and a lot of layout to be done :)