The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 23rd, 2024, 11:11am
Pages: 1
Send Topic Print
Local parameter value will be used in Cadence Spectre (Read 1551 times)
cheap_salary
Senior Member
****
Offline



Posts: 162

Local parameter value will be used in Cadence Spectre
Jan 15th, 2018, 5:24am
 
When I create netlist by skill function of "createNetlist(?recreateAll t, ?display t)" in Cadence IC6.1.7, I get following netlist.
Quote:
parameters nf=4

subckt Hoge_Cell in1 in2 in3 out1 out2 inh_RF_Gnd
parameters nf=1
   D0 (in2 out1 inh_RF_Gnd) sbd_rf l=2u w=4u nf=nf
   D1 (out1 out2 inh_RF_Gnd) sbd_rf l=2u w=4u nf=nf
   Ch (in3 out2) mimcap_2p0_sin lt=30u wt=30u mf=1 mismatchflag=1
   Cc (in1 out1) mimcap_2p0_sin lt=30u wt=30u mf=1 mismatchflag=1
ends Hoge_Cell


subckt Hoge_Cascade DCin DCout RF_Gnd RFin_m RFin_p
parameters nf=1
   Im1 (RFin_m RFin_p RFin_p net10 net6 RF_Gnd) Hoge_Cell \
       nf=nf
   Ip1 (RFin_p RFin_m RFin_m net12 net7 RF_Gnd) Hoge_Cell \
       nf=nf
   Im2 (RFin_m net6 RF_Gnd net013 DCout RF_Gnd) Hoge_Cell \
       nf=nf
   Ip2 (RFin_p net7 RF_Gnd net9 DCout RF_Gnd) Hoge_Cell nf=nf
ends Hoge_Cascade


subckt Dual_Hoge DCin DCout RF_Gnd RFin_m RFin_p
parameters nf=1
   I1 (DCin a1\<1\> a1\<2\> a1\<3\> DCout RF_Gnd RFin_m RFin_p) \
       rectifier_separate
   I1_L (net011 DCout RF_Gnd RFin_m RFin_p) Hoge_Cascade \
       nf=nf
ends Dual_Hoge

Rec1 (gnd_ana rec1_out gnd_ana RF1in_m RF1in_p) Dual_Hoge nf=nf
Rec0 (gnd_ana rec0_out gnd_ana RF0in_m RF0in_p) Dual_Hoge nf=nf

However Cadence Spectre show following warning. Quote:
Warning from spectre in `Dual_Hoge', during circuit read-in.
   WARNING (SFE-2946): "input.scs" 314: `Dual_Hoge': Parameter `nf' redefines parameter of same name defined at higher level. Local parameter value will be used.

Warning from spectre in `Hoge_Cascade', during circuit read-in.
   WARNING (SFE-2946): "input.scs" 302: `Hoge_Cascade': Parameter `nf' redefines parameter of same name defined at higher level. Local parameter value will be used.
       Further occurrences of this warning will be suppressed.


I want to pass nf=4 for "Rec0" and "Rec1" hierarchally.

What value is applied as nf for "Rec0" and "Rec1" hierarchally ?
Back to top
 
 
View Profile   IP Logged
cheap_salary
Senior Member
****
Offline



Posts: 162

Re: Local parameter value will be used in Cadence Spectre
Reply #1 - Jan 15th, 2018, 5:25am
 
If I create netlist from ADE, I get following netlist. Quote:
parameters nf=4

subckt Hoge_Cell in1 in2 in3 out1 out2 inh_RF_Gnd
parameters _par0=1
   D0 (in2 out1 inh_RF_Gnd) sbd_rf l=2u w=4u nf=_par0
   D1 (out1 out2 inh_RF_Gnd) sbd_rf l=2u w=4u nf=_par0
   Ch (in3 out2) mimcap_2p0_sin lt=30u wt=30u mf=1 mismatchflag=1
   Cc (in1 out1) mimcap_2p0_sin lt=30u wt=30u mf=1 mismatchflag=1
ends Hoge_Cell


subckt Hoge_Cascade DCin DCout RF_Gnd RFin_m RFin_p
parameters _par0=1
   Im1 (RFin_m RFin_p RFin_p net10 net6 RF_Gnd) Hoge_Cell \
       _par0=_par0
   Ip1 (RFin_p RFin_m RFin_m net12 net7 RF_Gnd) Hoge_Cell \
       _par0=_par0
   Im2 (RFin_m net6 RF_Gnd net013 DCout RF_Gnd) Hoge_Cell \
       _par0=_par0
   Ip2 (RFin_p net7 RF_Gnd net9 DCout RF_Gnd) Hoge_Cell _par0=_par0
ends Hoge_Cascade


subckt Dual_Hoge DCin DCout RF_Gnd RFin_m RFin_p
parameters _par0=1
   I1 (DCin a1\<1\> a1\<2\> a1\<3\> DCout RF_Gnd RFin_m RFin_p) \
       rectifier_separate
   I1_L (net011 DCout RF_Gnd RFin_m RFin_p) Hoge_Cascade \
       _par0=_par0
ends Dual_Hoge

Rec1 (gnd_ana rec1_out gnd_ana RF1in_m RF1in_p) Dual_Hoge _par0=nf
Rec0 (gnd_ana rec0_out gnd_ana RF0in_m RF0in_p) Dual_Hoge _par0=nf


Cadence Spectre does not say warning of "Local parameter value will be used." for this netlist.

How can I create same netlist by "createNetlist(?recreateAll t, ?display t)" ?
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: Local parameter value will be used in Cadence Spectre
Reply #2 - Jan 21st, 2018, 9:06am
 
I'm slightly surprised that ADE would netlist it differently than OCEAN - after all, it's the same infrastructure used in both cases. The mapped parameter name is when it thinks there is a conflict - I don't really see why there's a conflict in this case.

Either way, the behaviour of spectre should be the same - the warnings in the first case are telling you that the same parameter name has been used both globally and also locally, and it's telling you that the local value will win. However, since the local value is then overridden on each instance the value that will end up on D0 and D1 within Hoge_Cell will be nf=4 because it's passed down through the hierarchy. This will be the case in both netlists.

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.