3 int rcx_spidrivenet( rcxfile
*file
, lofig_list
*lofig
, losig_list
*losig
)
15 rcx
= getrcx( losig
);
19 rcn_lock_signal( lofig
, losig
);
21 rcx_file_print( file
, "* Connecteur order on subckt\n" );
23 for( internal
= rcx
->RCXEXTERNAL
; internal
; internal
= internal
->NEXT
)
24 for( node
=((locon_list
*)internal
->DATA
)->PNODE
; node
; node
=node
->NEXT
)
25 rcx_file_print( file
, "* %s\n", getloconrcxname((locon_list
*)internal
->DATA
));
27 for( internal
= rcx
->RCXINTERNAL
; internal
; internal
= internal
->NEXT
) {
28 for( node
=((locon_list
*)internal
->DATA
)->PNODE
; node
; node
=node
->NEXT
)
29 rcx_file_print( file
, "* %s\n", getloconrcxname((locon_list
*)internal
->DATA
) );
32 rcx_file_print( file
, ".subckt %s ", rcx_getsigname( losig
) );
34 for( internal
= rcx
->RCXEXTERNAL
; internal
; internal
= internal
->NEXT
)
35 for( node
=((locon_list
*)internal
->DATA
)->PNODE
; node
; node
=node
->NEXT
)
36 rcx_file_print( file
, "%ld ", node
->DATA
);
38 for( internal
= rcx
->RCXINTERNAL
; internal
; internal
= internal
->NEXT
) {
39 for( node
=((locon_list
*)internal
->DATA
)->PNODE
; node
; node
=node
->NEXT
)
40 rcx_file_print( file
, "%ld ", node
->DATA
);
43 rcx_file_print( file
, "\n" );
46 for( wire
= losig
->PRCN
->PWIRE
; wire
; wire
= wire
->NEXT
) {
48 rcx_file_print( file
, "R%d %ld %ld %g\n", idx
,
53 if( wire
->CAPA
> 0.0 ) {
54 rcx_file_print( file
, "Ca%d %ld 0 %gpF\n", idx
,
58 rcx_file_print( file
, "Cb%d %ld 0 %gpF\n", idx
,
66 for( scan
= losig
->PRCN
->PCTC
; scan
; scan
= scan
->NEXT
) {
67 ctc
= (loctc_list
*)scan
->DATA
;
68 if( rcn_ctcnode( ctc
, losig
) ) {
70 rcx_file_print( file
, "C%d %ld 0 %gpF\n", idx
,
71 rcn_ctcnode( ctc
, losig
),
78 for( internal
= rcx
->RCXEXTERNAL
; internal
; internal
= internal
->NEXT
) {
79 c
= rcx_getloconcapa( ((locon_list
*)internal
->DATA
), TRC_SLOPE_UNK
, TRC_CAPA_NOM
, TRC_HALF
, NULL
);
81 for( node
=((locon_list
*)internal
->DATA
)->PNODE
, n
=0 ; node
; node
=node
->NEXT
, n
++ );
82 for( node
=((locon_list
*)internal
->DATA
)->PNODE
; node
; node
= node
->NEXT
) {
84 rcx_file_print( file
, "Cx%d %ld 0 %gpF\n", idx
,
92 for( internal
= rcx
->RCXINTERNAL
; internal
; internal
= internal
->NEXT
) {
93 c
= rcx_getloconcapa( ((locon_list
*)internal
->DATA
), TRC_SLOPE_UNK
, TRC_CAPA_NOM
, TRC_HALF
, NULL
);
95 for( node
= ((locon_list
*)internal
->DATA
)->PNODE
, n
=0 ;
97 node
= node
->NEXT
, n
++ );
98 for( node
= ((locon_list
*)internal
->DATA
)->PNODE
;
100 node
= node
->NEXT
) {
102 rcx_file_print( file
, "Cx%d %ld 0 %gpF\n", idx
,
110 rcx_file_print( file
, ".ends\n\n" );
112 rcn_unlock_signal( lofig
, losig
);