Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Annotation and Mos Parameter #69

Closed
chennakeshavadasa opened this issue Aug 31, 2024 · 12 comments
Closed

Annotation and Mos Parameter #69

chennakeshavadasa opened this issue Aug 31, 2024 · 12 comments
Assignees
Labels
bug Something isn't working

Comments

@chennakeshavadasa
Copy link

chennakeshavadasa commented Aug 31, 2024

In the previous version we were able to directly print the mosfet parameters like gm, gds etc but now its just showing notype which was not the case in previous versions. Another problem is with root access where you could switch PDKs. But now you cant edit the .bashrc file even if you do that, the docker container crashes. I never faced these issues in the previous version. Please do solve it.

image

Steps to reproduce the behavior:

  1. Do any simulation.
  2. Try to print the mosfet parameter by giving command in the xterm terminal ex. display @m.xm1.msky130_fd_pr__nfet_01v8
  3. You can see that the mosfet parameters are displayed as notype. This was not the case in previous versions

Expected behavior
Usually in the previous versions We could directly print these and also switch PDKs which is not possible now.

Environment:

  • OS: Windows
  • Operating mode: X11
@hpretl
Copy link
Member

hpretl commented Sep 2, 2024

We have two relevant updates in the latest version, tag 2024.08.

  1. We updated ngspice to version 43.
  2. We upgraded the PDKs to the latest version. sky130 introduced therein the long-awaited continuous models.

I guess the latter causes the issues. You could try the following to switch back to the previous PDK. Inside the Docker VM, please type in a shell:

export PDK_ROOT=/headless
volare enable bdc9412b3e468c102d01b7cf6337be06ec6e9c9a

Can you please test this whether it solves your issue?

@hpretl hpretl added the bug Something isn't working label Sep 2, 2024
@hpretl
Copy link
Member

hpretl commented Sep 2, 2024

@michaelk99 Could you please take a look and try to replicate this issue?

@michaelk99
Copy link

@chennakeshavadasa could you please be more specific on how to reproduce this error?

I've just tested the latest container (on Manjaro Linux, using this project) and I could not reproduce it. Simulation runs fine and annotation of mos device parameters works as before.

I could also edit ~/.bashrc without any issues.

Have you tried resetting your container?

Maybe provide a simple xschem schematic and a step-by-step description on how you start the container/xschem

Other notes regarding your message:

  • For switching between pdks, simply use
    iic-pdk sg13g2,
    iic-pdk sky130A or
    iic-pdk gf180mcuC

  • If you want root access inside the container, please follow the README (Section 4.2.1 and 4.4.2 may help):
    set CONTAINER_USER=0 and CONTAINER_GROUP=0 prior to starting the container
    You could prepare a simple script, which sets these variables and then starts up the container using start_x.bat

@chennakeshavadasa
Copy link
Author

chennakeshavadasa commented Sep 2, 2024

We have two relevant updates in the latest version, tag 2024.08.

  1. We updated ngspice to version 43.
  2. We upgraded the PDKs to the latest version. sky130 introduced therein the long-awaited continuous models.

I guess the latter causes the issues. You could try the following to switch back to the previous PDK. Inside the Docker VM, please type in a shell:

export PDK_ROOT=/headless
volare enable bdc9412b3e468c102d01b7cf6337be06ec6e9c9a

Can you please test this whether it solves your issue?

I switched to old Docker container itself (version 2024.05). It works properly in that version.

@chennakeshavadasa
Copy link
Author

chennakeshavadasa commented Sep 2, 2024

@chennakeshavadasa could you please be more specific on how to reproduce this error?

I've just tested the latest container (on Manjaro Linux, using this project) and I could not reproduce it. Simulation runs fine and annotation of mos device parameters works as before.

I could also edit ~/.bashrc without any issues.

Have you tried resetting your container?

Maybe provide a simple xschem schematic and a step-by-step description on how you start the container/xschem

Other notes regarding your message:

  • For switching between pdks, simply use
    iic-pdk sg13g2,
    iic-pdk sky130A or
    iic-pdk gf180mcuC
  • If you want root access inside the container, please follow the README (Section 4.2.1 and 4.4.2 may help):
    set CONTAINER_USER=0 and CONTAINER_GROUP=0 prior to starting the container
    You could prepare a simple script, which sets these variables and then starts up the container using start_x.bat

WhatsApp Image 2024-08-31 at 18 25 00_ac7e87d4
WhatsApp Image 2024-08-31 at 18 26 13_d153d524
WhatsApp Image 2024-08-31 at 18 26 51_3337b91e
I tried a simple inverter transient simulation in the latest version(Note the V1 was changed to 0.9 later, its not 3V as given in the above pic.) That's how I saw this problem.

@michaelk99
Copy link

@chennakeshavadasa could you please send the schematic as a file? I don't know what is in your "s1" code block.

@chennakeshavadasa
Copy link
Author

chennakeshavadasa commented Sep 2, 2024

s1: .tran 1m 10m 100u
Im really sorry I deleted the latest container yesterday and downloaded the 2024.05 version. So I don't have the schematic file. I checked if it was an error from my side. I deleted and installed it 3 more times again from start, I encountered the same error. Can you also add a feature where if the mos exceeds its breakdown voltage it shows some error or warning.

@michaelk99
Copy link

Hi @chennakeshavadasa!

I could now reproduce your results. However, ngspice works as expected. If you want to display the device parameters, you have to save them first. This was always the case.
If you have a look at the ouput of your display all command, there are no vectors that contain the device model parameters. Therefore, they don't exist in your current ngspice plot.

If you want to use the display command or print the parameters as you would a results vector, you have to save them first with e.g. .save @m.xm1.msky130_fd_pr__nfet_01v8[gm] (this is required for every parameter you want as a vector).

Alternatively, use the show command.

  • show print params of all devices
  • show m.xm1.msky130_fd_pr__nfet_01v8 print params of xm1 only
  • show : gm print gm of all available devices

@chennakeshavadasa
Copy link
Author

Can you share your schematic file

@chennakeshavadasa
Copy link
Author

image
How am I able to do it in older version then ????

@michaelk99
Copy link

Excuse me, I can now reproduce your output of display @m.xm1.msky130_fd_pr__nfet_01v8 using the 2024.07 container. But I'm not sure if we can help you with this issue. @hpretl ?

Since the main change is the ngspice version it is very likely that this is the cause of this bug.
Unfortunately, I could not find any hints in the ngspice43 change log.

Looking into the ngspice34 manual, it does not state any specific behavior for using display with arguments that are not a vector
Page 381:

display [varname ...]
Prints a summary of currently defined vectors, or of the names specified. The vectors are sorted
by name unless the variable nosort is set. The information given is the name of the vector, the
length, the type of the vector, and whether it is real or complex data.
Additionally, one vector
is labeled [scale]. When a command such as plot is given without a vs argument, this scale is
used for the X-axis. It is always the first vector in a rawfile, or the first vector defined in a new
plot. If you undefine the scale (i.e, let TIME = []), one of the remaining vectors becomes the
new scale (which one is unpredictable). You may set the scale to another vector of the plot with
the command setscale (13.5.77).

So it is hard to tell how to fix this.
Please open a bug report here.

@hpretl
Copy link
Member

hpretl commented Oct 29, 2024

We close this issue as it is related to ngspice and needs to be addressed there.

@hpretl hpretl closed this as completed Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants