<@U01SBMJT5BP> It looks like there are a few more ...
# xyce
m
@User It looks like there are a few more model errors that didn't show up until I started simulating other (memory) devices:
Copy code
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_pass.pm3.spice                                                                           
 at or near line 34                                                                                                                                                                          
 No model parameter LDIF found for model                                                                                                                                                     
 SKY130_FD_PR__SPECIAL_NFET_PASS__MODEL.0 of type NMOS, parameter ignored.                                                                                                                   
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_pass.pm3.spice                                                                           
 at or near line 34                                                                                                                                                                          
 No model parameter HDIF found for model                                                                                                                                                     
 SKY130_FD_PR__SPECIAL_NFET_PASS__MODEL.0 of type NMOS, parameter ignored.                                                                                                                   
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_pass.pm3.spice                                                                           
 at or near line 34                                                                                                                                                                          
 No model parameter RD found for model                                                                                                                                                       
 SKY130_FD_PR__SPECIAL_NFET_PASS__MODEL.0 of type NMOS, parameter ignored.                                                                                                                   
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_pass.pm3.spice                                                                           
 at or near line 34                                                                                                                                                                          
 No model parameter RS found for model                                                                                                                                                       
 SKY130_FD_PR__SPECIAL_NFET_PASS__MODEL.0 of type NMOS, parameter ignored.                                                                                                                   
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_pass.pm3.spice                                                                           
 at or near line 34                                                                                                                                                                          
 No model parameter RSC found for model                                                                                                                                                      
 SKY130_FD_PR__SPECIAL_NFET_PASS__MODEL.0 of type NMOS, parameter ignored.                                                                                                                   
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_pass.pm3.spice                                                                           
 at or near line 34                                                                                                                                                                          
 No model parameter RDC found for model                                                                                                                                                      
 SKY130_FD_PR__SPECIAL_NFET_PASS__MODEL.0 of type NMOS, parameter ignored.                                                                                                                   
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_pass.pm3.spice                                                                           
 at or near line 34                                                                                                                                                                          
 No model parameter NQSMOD found for model                                                                                                                                                   
 SKY130_FD_PR__SPECIAL_NFET_PASS__MODEL.0 of type NMOS, parameter ignored.                                                                                                                   
Netlist warning in file                                                                                                                                                                      
 /software/PDKs/sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__special_nfet_latch.pm3.spice                                                                          
 at or near line 34
Looking at this, am I understanding that maybe these are not valid bsim level 49 spice parameters? I see this: http://literature.cdn.keysight.com/litweb/pdf/ads2001/spicent/snt0816.html which describes the level 49 parameters. It has an "x" for each of them: Ldif, Hdif, Rd, Rs, Rsc, Rdc, Nqsmod Does that mean they AREN'T supported?
They are included in other models such as the ASU PTM models
(except for nsqmod)
If I comment those out, it seems to get further.
I do still get some warnings that I'm not sure about: Xyce sh_stim.sp
Copy code
Netlist warning in file                                                                                                                                                                      
 sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice                                                                                              
 at or near line 33                                                                                                                                                                          
 Device instance                                                                                                                                                                             
 XSKY130_FD_BD_SRAM__OPENRAM_DFF:X1020:MSKY130_FD_PR__PFET_01V8: Source                                                                                                                      
 conductance reset to 1.0e3 mho                                                                                                                                                              
Netlist warning in file                                                                                                                                                                      
 sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice                                                                                              
 at or near line 33                                                                                                                                                                          
 Device instance                                                                                                                                                                             
 XSKY130_FD_BD_SRAM__OPENRAM_DFF:X1020:MSKY130_FD_PR__PFET_01V8: Drain                                                                                                                       
 conductance reset to 1.0e3 mho
e
Hi @Matthew Guthaus; missing parameter errors are usually reported as warnings rather than fatal errors, so these might be no big deal. We are only able to implement the public domain versions of most compact models. So, if a parameter is present in the original Berkeley version of the BSIM3 or BSIM4, then we support it. But if the model has been extended by a CAD company, then we often don’t have an easy way to support those extensions. It depends on if those extensions are well documented or not.
I will take a look at the files you just attached.
I will also double-check the ngspice source. Possibly they figured out how to support those parameters. But in my experience they usually implement the Berkeley versions of these models, rather than attempt to reverse engineer proprietary extensions. If you’ve been running successfully with ngspice, and (it turns out) that they don’t support these params either, then I think those missing param warnings can probably be ignored.
But, if ngspice does support those params, then it won’t be hard to add them to Xyce.
I just browsed the ngspice source code (version 34). It looks like they have added several ACM parameters to the BSIM3. There is a block of them in the b3.c file (which is where all the model parameters are handled). So, the bad news is that we haven’t supported those parameters in our BSIM3 implementation. The good news is that since it is in ngspice, it is easy enough to mimic what they did.
m
Cool. Yeah I've not gotten into level 49 models at all so this is fairly new to me. Thanks.
e
These params are new to me as well. I implemented our version of the BSIM3 back in 2001, 20 years ago (!) It looks like these parameters are related to a fancier way of computing the source and drain resistances. If the ACMMOD parameter is set to 0, then they aren’t used, FYI.
Actually it looks like it is a bit more than that; there is an ACM method for source/drain resistance, another one for saturation current and another one for junction capacitance. It seems (at first glance) like all of them are modifying the original equations with more detailed geometric factors, which are specified in part by params like LDIF and HDIF.
m
That makes sense that these were specifically for HSpice. It's interesting that these parameters were only in the SRAM transistor models. Perhaps because they were characterized with a tool that output them?
e
Maybe that is what happened. Interestingly, these ACM extensions have only been added (in ngspice) to the BSIM3 and not the BSIM4.
m
BTW, it is FAST 😄
e
cool!
m
@Eric Keiter I realized that the errors in the dff_demo above are still present. That demo appears to "run" but not sure what impact it has on results.
e
@Matthew Guthaus do you mean the “conductance reset” errors?
m
@Eric Keiter yeah
I upgraded Xyce to the newest release with your parser changes and I get some additional output from the dff test:
Copy code
BSIM4::Instance::processParams l = 1.5e-07                                                                                                                                                   
BSIM4::Instance::processParams w = 3e-06                                                                                                                                                     
Netlist warning in file                                                                                                                                                                      
 sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice                                                                                              
 at or near line 33                                                                                                                                                                          
 Device instance                                                                                                                                                                             
 XSKY130_FD_BD_SRAM__OPENRAM_DFF:X1020:MSKY130_FD_PR__PFET_01V8: Source                                                                                                                      
 conductance reset to 1.0e3 mho                                                                                                                                                              
Netlist warning in file                                                                                                                                                                      
 sky130A/libs.tech/xyce/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__pfet_01v8__tt.pm3.spice                                                                                              
 at or near line 33                                                                                                                                                                          
 Device instance                                                                                                                                                                             
 XSKY130_FD_BD_SRAM__OPENRAM_DFF:X1020:MSKY130_FD_PR__PFET_01V8: Drain                                                                                                                       
 conductance reset to 1.0e3 mho
e
Ah. The extra output.
Copy code
BSIM4::Instance::processParams l = 1.5e-07                                                                                                                                                   
BSIM4::Instance::processParams w = 3e-06
is some debug output from my work last week that I inadvertantly didn’t delete. So, it doesn’t mean very much.
m
Figured. But at least we can confirm this wasn't due to the initial scaling problem
e
Yes, I agree.
m
I am getting reasonable results though, for whatever reasonable is. 🙂
😂 1