2004-07-22 Stefan Jones <stefan.jones@multigig.com>

* src/spicepp.pl.in:
	Update
This commit is contained in:
stefanjones 2004-07-22 20:03:50 +00:00
parent f2faaef81d
commit b0b982c5fc
2 changed files with 19 additions and 18 deletions

View File

@ -1,3 +1,8 @@
2004-07-22 Stefan Jones <stefan.jones@multigig.com>
* src/spicepp.pl.in:
Update
2004-07-21 Stefan Jones <stefan.jones@multigig.com> 2004-07-21 Stefan Jones <stefan.jones@multigig.com>
* src/tclspice.c: * src/tclspice.c:

View File

@ -639,7 +639,7 @@ sub change_models {
sub change_instances { sub change_instances {
local($i,$model,$l,$w,$p,$m,$ad,$as,$pd,$ps); local($i,$model,$l,$w,$p,$ad,$as,$pd,$ps);
for ($i=0;$i<@deck;$i++) { for ($i=0;$i<@deck;$i++) {
$_ = $deck[$i]; $_ = $deck[$i];
if(/^m\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+(\S+)/) { if(/^m\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+(\S+)/) {
@ -677,10 +677,6 @@ sub change_instances {
next; next;
model_found: model_found:
#W & L mangling and acm stuff #W & L mangling and acm stuff
#Get m
if($deck[$i] =~ s/(.*)\bm\s*=\s*([0-9]+)\b(.*)/$1$3/){
$m = $2;}else {$m = 1;}
#get and remove pd, ps, ad, as #get and remove pd, ps, ad, as
if($deck[$i] =~ s/(.*)\bpd\s*=\s*(\S+)\b(.*)/$1$3/){ if($deck[$i] =~ s/(.*)\bpd\s*=\s*(\S+)\b(.*)/$1$3/){
$pd = &unit($2); $pd = &unit($2);
@ -703,7 +699,7 @@ sub change_instances {
}else{ $ad = 0;} }else{ $ad = 0;}
#Calculate Leff and Weff #Calculate Leff and Weff
$w = $m * ($w * $$model{"wmlt"} + $$model{"xw"}); $w = ($w * $$model{"wmlt"} + $$model{"xw"});
$l = $l * $$model{"lmlt"} + $$model{"xl"}; $l = $l * $$model{"lmlt"} + $$model{"xl"};
#Now do the ACM stuff...... #Now do the ACM stuff......
@ -713,10 +709,10 @@ sub change_instances {
#calculated using hspice methods.. #calculated using hspice methods..
if( $$model{"acm"} == 0){ if( $$model{"acm"} == 0){
#pg 869, 19-33 #pg 869, 19-33
$ad = $m * $ad * $$model{"wmlt"} * $$model{"wmlt"}; $ad = $ad * $$model{"wmlt"} * $$model{"wmlt"};
$as = $m * $as * $$model{"wmlt"} * $$model{"wmlt"}; $as = $as * $$model{"wmlt"} * $$model{"wmlt"};
$pd = $m * $pd * $$model{"wmlt"}; $pd = $pd * $$model{"wmlt"};
$ps = $m * $ps * $$model{"wmlt"}; $ps = $ps * $$model{"wmlt"};
} }
@ -729,23 +725,23 @@ sub change_instances {
elsif( $$model{"acm"} == 2){ elsif( $$model{"acm"} == 2){
#pg 874, 19-39 #pg 874, 19-39
if($ad){ if($ad){
$ad = $ad * $m * $$model{"wmlt"} * $$model{"wmlt"}; $ad = $ad * $$model{"wmlt"} * $$model{"wmlt"};
}else { }else {
$ad = 2 * $$model{"hdif"} * $w;} $ad = 2 * $$model{"hdif"} * $w;}
if($as){ if($as){
$as = $m * $as * $$model{"wmlt"} * $$model{"wmlt"}; $as = $as * $$model{"wmlt"} * $$model{"wmlt"};
}else{ }else{
$as = 2 * $$model{"hdif"} * $w;} $as = 2 * $$model{"hdif"} * $w;}
if($pd){ if($pd){
$pd = $m * $pd * $$model{"wmlt"}; $pd = $pd * $$model{"wmlt"};
}else { }else {
$pd = 4 * $$model{"hdif"} + 2 * $w; $pd = 4 * $$model{"hdif"} + 2 * $w;
} }
if($ps){ if($ps){
$ps = $m * $ps * $$model{"wmlt"}; $ps = $ps * $$model{"wmlt"};
}else{ }else{
$ps = 4 * $$model{"hdif"} + 2 * $w; $ps = 4 * $$model{"hdif"} + 2 * $w;
} }
@ -754,7 +750,7 @@ sub change_instances {
elsif( $$model{"acm"} == 3){ elsif( $$model{"acm"} == 3){
#pg 879, 19-43 #pg 879, 19-43
if($ad){ if($ad){
$ad = $m * $ad * $$model{"wmlt"} * $$model{"wmlt"};} $ad = $ad * $$model{"wmlt"} * $$model{"wmlt"};}
elsif($$model{"geo"} == 0 || $$model{"geo"} == 2){ elsif($$model{"geo"} == 0 || $$model{"geo"} == 2){
$ad = 2 * $$model{"hdif"} * $w; $ad = 2 * $$model{"hdif"} * $w;
}else{ }else{
@ -762,7 +758,7 @@ sub change_instances {
} }
if($as){ if($as){
$as = $m * $as * $$model{"wmlt"} * $$model{"wmlt"};} $as = $as * $$model{"wmlt"} * $$model{"wmlt"};}
elsif($$model{"geo"} == 0 || $$model{"geo"} == 1){ elsif($$model{"geo"} == 0 || $$model{"geo"} == 1){
$as = 2 * $$model{"hdif"} * $w; $as = 2 * $$model{"hdif"} * $w;
}else{ }else{
@ -770,7 +766,7 @@ sub change_instances {
} }
if($pd){ if($pd){
$pd = $m * $pd * $$model{"wmlt"};} $pd = $pd * $$model{"wmlt"};}
elsif($$model{"geo"} == 0 || $$model{"geo"} == 2){ elsif($$model{"geo"} == 0 || $$model{"geo"} == 2){
$pd = 4 * $$model{"hdif"} + $w; $pd = 4 * $$model{"hdif"} + $w;
}else{ }else{
@ -778,7 +774,7 @@ sub change_instances {
} }
if($ps){ if($ps){
$ps = $m * $ps * $$model{"wmlt"};} $ps = $ps * $$model{"wmlt"};}
elsif($$model{"geo"} == 0 || $$model{"geo"} == 1){ elsif($$model{"geo"} == 0 || $$model{"geo"} == 1){
$ps = 4 * $$model{"hdif"} + $w; $ps = 4 * $$model{"hdif"} + $w;
}else{ }else{