In case anyone is interested in using spectre or g...
# gf180mcu
h
In case anyone is interested in using spectre or getting correct MC results I edited the GF180MCU model file in the attachment (original version before edits available here): * 1- Renamed subcircuits to avoid reusing the model name so that the model file is usable with spectre * 2- Used multi instead of m to avoid wrong Monte Carlo sim results as explained here: * https://www.linkedin.com/pulse/why-using-device-multiplier-can-make-your-monte-carlo-hesham-omran/
👍 2
a
@Hesham Omran BTW, there is an official spectre and hspice versions that are supplied by the foundry.
@Hesham Omran Please keep in mind that we have retrofitted the model for ngspice. I believe there will be some differences %2-4 between this and the foundry version.
@Hesham Omran Great Job btw
Good addition for the open source community
h
Many thanks @Amro Tork I am mainly doing this for edu users who don't want the hassle of foundry NDAs. A few percent difference is not a big deal for education purposes.
👍 1
a
Appreciate all the effort that you have done. 🙏
❤️ 1
@Hesham Omran I would advise one thing though. Please place it in a repo on GitHub and share a sample usage to make it useful. Here will be deleted in few months and we don’t want to lose this great effort.
👍 1
t
@Amro Tork: I believe that the
m
vs.
mult
issue will also be a problem with ngspice. Have you tried running mismatch simulations with the gf180mcu models?
a
@Tim Edwards Our QA was based on comparing results to the data provided by the foundry. That was not provided by foundry. On side note, we had built our own setup for mismatch analysis which we use for our designs.
@Tim Edwards We could take a look in this problem for ngspice.
@Hesham Omran Please don’t forget to share on GitHub
h
a
@Hesham Omran Could you please create a new folder under https://github.com/omranh/globalfoundries-pdk-libs-gf180mcu_fd_pr/tree/a11222d681f2134ab28e97f97b9b99b6af188f88/models and add spectre_unofficial?
And you could create a PR on efabless PR and I'll approve the merge?
@Tim Edwards and @jeffdi Would there be any issues having such support?
t
@Amro Tork: I can merge a pull request once it has been validated.
a
@Tim Edwards I mean from the legal point of view?
t
It is the Efabless fork of an open-source repository, so there should not be any legal issues. However, I did not realize until I looked at the pull request that "renamed subcircuits" meant that all the subcircuit wrappers for all the models were renamed. That is definitely not allowable, since it breaks the whole PDK. I find it hard to believe that spectre cannot handle the case where the subcircuit wrapper and underlying device model have the same name, but if so, I'm not going to break the entire PDK and all the open source tools just to make it spectre compatible.
a
@Tim Edwards The sub circuit and model name has no conflict as it depends on the instantiation type X or M. It’s kind of common practice in some cases given that this a spice standard. Also, it’s documented in GF180MCU model usage. Spectre is not standard like SPICE. I don’t think it will break anything if we have a separate folder for the models that support spectre.
@Tim Edwards Another thing, we didn’t rename them. It came this way from the foundry. We made only necessary changes and kept everything else as is.