exampels/poweramp.sch and examples/cmos_example.sch show how to use dynamuc ngspice simulation data backannotation, optimized fix of previous bbox bug
This commit is contained in:
parent
3bbba8601f
commit
7e845db5df
|
|
@ -194,7 +194,7 @@ const char *add_ext(const char *f, const char *ext)
|
||||||
return ff;
|
return ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
void resetwin(int create_pixmap, int clear_pixmap)
|
void resetwin(int create_pixmap, int clear_pixmap, int preview_window)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
XWindowAttributes wattr;
|
XWindowAttributes wattr;
|
||||||
|
|
@ -241,8 +241,14 @@ void resetwin(int create_pixmap, int clear_pixmap)
|
||||||
}
|
}
|
||||||
XSetTile(display,gctiled, save_pixmap);
|
XSetTile(display,gctiled, save_pixmap);
|
||||||
#else
|
#else
|
||||||
Tk_Window mainwindow = Tk_MainWindow(interp);
|
HWND hwnd;
|
||||||
HWND hwnd = Tk_GetHWND(Tk_WindowId(mainwindow));
|
if (preview_window) {
|
||||||
|
hwnd = Tk_GetHWND(pre_window);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Tk_Window mainwindow = Tk_MainWindow(interp);
|
||||||
|
hwnd = Tk_GetHWND(Tk_WindowId(mainwindow));
|
||||||
|
}
|
||||||
RECT rct;
|
RECT rct;
|
||||||
if (GetWindowRect(hwnd, &rct))
|
if (GetWindowRect(hwnd, &rct))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ int callback(int event, int mx, int my, KeySym key,
|
||||||
dbg(1, "callback(): Expose\n");
|
dbg(1, "callback(): Expose\n");
|
||||||
break;
|
break;
|
||||||
case ConfigureNotify:
|
case ConfigureNotify:
|
||||||
resetwin(1, 1);
|
resetwin(1, 1, 0);
|
||||||
draw();
|
draw();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -954,7 +954,9 @@ int callback(int event, int mx, int my, KeySym key,
|
||||||
}
|
}
|
||||||
if(key=='o' && state == ControlMask) /* load */
|
if(key=='o' && state == ControlMask) /* load */
|
||||||
{
|
{
|
||||||
|
|
||||||
if(semaphore >= 2) break;
|
if(semaphore >= 2) break;
|
||||||
|
tcleval("catch { ngspice::resetdata }");
|
||||||
ask_new_file();
|
ask_new_file();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -555,6 +555,9 @@ void copy_objects(int what)
|
||||||
{
|
{
|
||||||
int firstw, firsti;
|
int firstw, firsti;
|
||||||
int save_draw;
|
int save_draw;
|
||||||
|
/* if the copy operation involved flip or rotations the original element bboxes were changed.
|
||||||
|
restore them now */
|
||||||
|
update_symbol_bboxes(0, 0);
|
||||||
save_draw = draw_window;
|
save_draw = draw_window;
|
||||||
draw_window=1; /* temporarily re-enable draw to window together with pixmap */
|
draw_window=1; /* temporarily re-enable draw to window together with pixmap */
|
||||||
draw_selection(gctiled,0);
|
draw_selection(gctiled,0);
|
||||||
|
|
@ -855,9 +858,6 @@ void copy_objects(int what)
|
||||||
break;
|
break;
|
||||||
case ELEMENT:
|
case ELEMENT:
|
||||||
if(k==0) {
|
if(k==0) {
|
||||||
/* if the copy operation involved flip or rotations the original element bboxes were changed.
|
|
||||||
restore them now */
|
|
||||||
update_symbol_bboxes(0, 0);
|
|
||||||
if(firsti) {
|
if(firsti) {
|
||||||
prepared_hash_instances = 0;
|
prepared_hash_instances = 0;
|
||||||
firsti = 0;
|
firsti = 0;
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ proc ngspice::read_ngspice_raw {arr fp} {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc ngspice::get_voltage {arr n } {
|
proc ngspice::get_voltage_probe {arr n } {
|
||||||
upvar $arr var
|
upvar $arr var
|
||||||
set m "v($n)"
|
set m "v($n)"
|
||||||
if { ! [info exists var([string tolower $m])] } {
|
if { ! [info exists var([string tolower $m])] } {
|
||||||
|
|
@ -78,7 +78,7 @@ proc ngspice::get_voltage {arr n } {
|
||||||
# return DELETE
|
# return DELETE
|
||||||
}
|
}
|
||||||
|
|
||||||
proc ngspice::get_diff_voltage {arr p m } {
|
proc ngspice::get_diff_probe {arr p m } {
|
||||||
upvar $arr var
|
upvar $arr var
|
||||||
set pp "v($p)"
|
set pp "v($p)"
|
||||||
set mm "v($m)"
|
set mm "v($m)"
|
||||||
|
|
@ -92,7 +92,7 @@ proc ngspice::get_diff_voltage {arr p m } {
|
||||||
# return DELETE
|
# return DELETE
|
||||||
}
|
}
|
||||||
|
|
||||||
proc ngspice::get_current {arr n } {
|
proc ngspice::get_curr_probe {arr n } {
|
||||||
upvar $arr var
|
upvar $arr var
|
||||||
if { [xschem get currsch] > 0 } {
|
if { [xschem get currsch] > 0 } {
|
||||||
set n "i(v.$n)"
|
set n "i(v.$n)"
|
||||||
|
|
@ -108,23 +108,64 @@ proc ngspice::get_current {arr n } {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc get_ngspice_node {n} {
|
proc ngspice::get_current {n} {
|
||||||
set n [string tolower $n]
|
set n [string tolower $n]
|
||||||
if { [regexp -all \\. $n] == 1} {
|
set prefix [string range $n 0 0]
|
||||||
regsub {@.\.} $n {@} n
|
set path [string range [xschem get sch_path] 1 end]
|
||||||
|
set n $path$n
|
||||||
|
if { $path ne {} } {
|
||||||
|
set n $prefix.$n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if { ![regexp $prefix {[ve]}] } {
|
||||||
|
set n @$n
|
||||||
|
}
|
||||||
|
set n i($n)
|
||||||
set err [catch {set ::ngspice::ngspice_data($n)} res]
|
set err [catch {set ::ngspice::ngspice_data($n)} res]
|
||||||
if { $err } {
|
if { $err } {
|
||||||
|
set res {?}
|
||||||
|
} else {
|
||||||
|
set res [ format %.4g $res ]
|
||||||
|
}
|
||||||
|
# puts "$n --> $res"
|
||||||
|
return $res
|
||||||
|
}
|
||||||
|
|
||||||
|
proc ngspice::get_voltage {n} {
|
||||||
|
set n [string tolower $n]
|
||||||
|
set path [string range [xschem get sch_path] 1 end]
|
||||||
|
|
||||||
|
set n v($path$n)
|
||||||
|
set err [catch {set ::ngspice::ngspice_data($n)} res]
|
||||||
|
if { $err } {
|
||||||
# puts "get_ngspice_node: $res"
|
# puts "get_ngspice_node: $res"
|
||||||
set res {}
|
set res {?}
|
||||||
} else {
|
} else {
|
||||||
set res [ format %.4g $res ]
|
set res [ format %.4g $res ]
|
||||||
}
|
}
|
||||||
return $res
|
return $res
|
||||||
}
|
}
|
||||||
|
|
||||||
proc annotate {} {
|
proc ngspice::get_node {n} {
|
||||||
|
set n [string tolower $n]
|
||||||
|
if { [regexp -all \\. $n] == 1} {
|
||||||
|
regsub {@.\.} $n {@} n
|
||||||
|
}
|
||||||
|
set err [catch {set ::ngspice::ngspice_data($n)} res]
|
||||||
|
if { $err } {
|
||||||
|
# puts "get_ngspice_node: $res"
|
||||||
|
set res {?}
|
||||||
|
} else {
|
||||||
|
set res [ format %.4g $res ]
|
||||||
|
}
|
||||||
|
return $res
|
||||||
|
}
|
||||||
|
|
||||||
|
proc ngspice::resetdata {} {
|
||||||
|
array unset ::ngspice::ngspice_data
|
||||||
|
}
|
||||||
|
|
||||||
|
proc ngspice::annotate {} {
|
||||||
upvar ::ngspice::ngspice_data arr
|
upvar ::ngspice::ngspice_data arr
|
||||||
set rawfile "[xschem get netlist_dir]/[file rootname [file tail [xschem get schname 0]]].raw"
|
set rawfile "[xschem get netlist_dir]/[file rootname [file tail [xschem get schname 0]]].raw"
|
||||||
if { ![file exists $rawfile] } {
|
if { ![file exists $rawfile] } {
|
||||||
|
|
@ -157,19 +198,19 @@ proc annotate {} {
|
||||||
set type [xschem getprop instance $i cell::type]
|
set type [xschem getprop instance $i cell::type]
|
||||||
if { $type eq {probe} } {
|
if { $type eq {probe} } {
|
||||||
set net $path[xschem instance_net $i p]
|
set net $path[xschem instance_net $i p]
|
||||||
if {[catch {xschem setprop $i voltage [ngspice::get_voltage arr $net] fast} err]} {
|
if {[catch {xschem setprop $i voltage [ngspice::get_voltage_probe arr $net] fast} err]} {
|
||||||
puts "Warning 1: ${err}, net: $net"
|
puts "Warning 1: ${err}, net: $net"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if { $type eq {current_probe} } {
|
if { $type eq {current_probe} } {
|
||||||
if {[catch {xschem setprop $i current [ngspice::get_current arr $path$name] fast} err]} {
|
if {[catch {xschem setprop $i current [ngspice::get_curr_probe arr $path$name] fast} err]} {
|
||||||
puts "Warning 2: $err"
|
puts "Warning 2: $err"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if { $type eq {differential_probe} } {
|
if { $type eq {differential_probe} } {
|
||||||
set netp $path[xschem instance_net $i p]
|
set netp $path[xschem instance_net $i p]
|
||||||
set netm $path[xschem instance_net $i m]
|
set netm $path[xschem instance_net $i m]
|
||||||
if {[catch {xschem setprop $i voltage [ngspice::get_diff_voltage arr $netp $netm] fast} err]} {
|
if {[catch {xschem setprop $i voltage [ngspice::get_diff_probe arr $netp $netm] fast} err]} {
|
||||||
puts "Warning 3: $err"
|
puts "Warning 3: $err"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -191,4 +232,4 @@ proc annotate {} {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if { ![info exists no_x] } {bind .drw <Alt-a> {puts {Annotating...}; annotate} }
|
if { ![info exists no_x] } {bind .drw <Alt-a> {puts {Annotating...}; ngspice::annotate} }
|
||||||
|
|
|
||||||
|
|
@ -1252,6 +1252,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
||||||
|
|
||||||
else if(!strcmp(argv[1],"load") )
|
else if(!strcmp(argv[1],"load") )
|
||||||
{
|
{
|
||||||
|
tcleval("catch { ngspice::resetdata }");
|
||||||
if(argc==3) {
|
if(argc==3) {
|
||||||
if(!has_x || !modified || !save(1) ) { /* save(1)==1 --> user cancel */
|
if(!has_x || !modified || !save(1) ) { /* save(1)==1 --> user cancel */
|
||||||
dbg(1, "xschem(): load: filename=%s\n", argv[2]);
|
dbg(1, "xschem(): load: filename=%s\n", argv[2]);
|
||||||
|
|
|
||||||
|
|
@ -820,7 +820,7 @@ void preview_window(const char *what, const char *tk_win_path, const char *filen
|
||||||
/* if not set heuristics is done in xschem.tcl to ensure it is an xschem file */
|
/* if not set heuristics is done in xschem.tcl to ensure it is an xschem file */
|
||||||
load_schematic(1,filename, 0);
|
load_schematic(1,filename, 0);
|
||||||
window = pre_window;
|
window = pre_window;
|
||||||
resetwin(1, 0);
|
resetwin(1, 0, 1);
|
||||||
zoom_full(1, 0); /* draw */
|
zoom_full(1, 0); /* draw */
|
||||||
check_version = 0;
|
check_version = 0;
|
||||||
|
|
||||||
|
|
@ -840,15 +840,16 @@ void preview_window(const char *what, const char *tk_win_path, const char *filen
|
||||||
#ifdef __unix__
|
#ifdef __unix__
|
||||||
XFreePixmap(display,save_pixmap);
|
XFreePixmap(display,save_pixmap);
|
||||||
#else
|
#else
|
||||||
Tk_FreePixmap(display, save_pixmap);
|
if (save_pixmap != save_save_pixmap)
|
||||||
|
Tk_FreePixmap(display, save_pixmap);
|
||||||
#endif
|
#endif
|
||||||
window = save_window;
|
window = save_window;
|
||||||
save_pixmap = save_save_pixmap;
|
save_pixmap = save_save_pixmap;
|
||||||
/* reset window, but don't delete and create a pixmap since we
|
/* reset window (back to main window), but don't delete and create a pixmap since we
|
||||||
have preserved the main window pixmap and already erased the preview pixmap
|
have preserved the main window pixmap and already erased the preview pixmap
|
||||||
the goal of this complicated pixmap saving is to avoid a draw() call in the main window
|
the goal of this complicated pixmap saving is to avoid a draw() call in the main window
|
||||||
to regenerate the save_pixmap every time user browses a new symbol */
|
to regenerate the save_pixmap every time user browses a new symbol */
|
||||||
resetwin(0, 0);
|
resetwin(0, 0, 0);
|
||||||
change_linewidth(-1.);
|
change_linewidth(-1.);
|
||||||
/* not needed: event loop takes care of this and don't need to regenerate save_pixmap. */
|
/* not needed: event loop takes care of this and don't need to regenerate save_pixmap. */
|
||||||
/* draw(); */
|
/* draw(); */
|
||||||
|
|
|
||||||
|
|
@ -816,7 +816,7 @@ extern int Tcl_AppInit(Tcl_Interp *interp);
|
||||||
extern int source_tcl_file(char *s);
|
extern int source_tcl_file(char *s);
|
||||||
extern int callback(int event, int mx, int my, KeySym key,
|
extern int callback(int event, int mx, int my, KeySym key,
|
||||||
int button, int aux, int state);
|
int button, int aux, int state);
|
||||||
extern void resetwin(int create_pixmap, int clear_pixmap);
|
extern void resetwin(int create_pixmap, int clear_pixmap, int preview_window);
|
||||||
extern void find_closest_net(double mx,double my);
|
extern void find_closest_net(double mx,double my);
|
||||||
extern void find_closest_box(double mx,double my);
|
extern void find_closest_box(double mx,double my);
|
||||||
extern void find_closest_arc(double mx,double my);
|
extern void find_closest_arc(double mx,double my);
|
||||||
|
|
|
||||||
|
|
@ -1870,7 +1870,7 @@ proc tclpropeval2 {s} {
|
||||||
regsub {^tcleval\(} $s {} s
|
regsub {^tcleval\(} $s {} s
|
||||||
regsub {\)([ \n\t]*)$} $s {\1} s
|
regsub {\)([ \n\t]*)$} $s {\1} s
|
||||||
if { [catch {subst $s} res] } {
|
if { [catch {subst $s} res] } {
|
||||||
puts "tclpropeval2 warning: $res"
|
# puts "tclpropeval2 warning: $res"
|
||||||
set res {?}
|
set res {?}
|
||||||
}
|
}
|
||||||
return $res
|
return $res
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
v {xschem version=2.9.8 file_version=1.2}
|
||||||
|
G {}
|
||||||
|
K {type=raw_data_show
|
||||||
|
vhdl_ignore=true
|
||||||
|
spice_ignore=false
|
||||||
|
verilog_ignore=true
|
||||||
|
tedax_ignore=true
|
||||||
|
template="name=r1 node=xxx"}
|
||||||
|
V {}
|
||||||
|
S {}
|
||||||
|
E {}
|
||||||
|
A 15 0 0 1.875 90 360 {fill=true}
|
||||||
|
T {tcleval(@node\\)} 6.875 -8.59375 0 0 0.2 0.2 {vcenter=true layer=15}
|
||||||
|
T {@descr} 6.875 -21.09375 0 0 0.2 0.2 {vcenter=true layer=15}
|
||||||
|
|
@ -9,5 +9,6 @@ template="name=r1 node=xxx"}
|
||||||
V {}
|
V {}
|
||||||
S {}
|
S {}
|
||||||
E {}
|
E {}
|
||||||
T {tcleval([ get_ngspice_node [subst -nocommand \{@node\\\}] ] )} 6.875 -8.59375 0 0 0.25 0.25 {vcenter=true layer=15}
|
A 15 0 0 1.875 90 360 {fill=true}
|
||||||
T {tcleval([regsub \{\\@(.*\\\\.)?\} [subst -nocommand \{@node\\\}] \{\} ] )} 6.875 -23.59375 0 0 0.25 0.25 {vcenter=true layer=15}
|
T {tcleval([ ngspice::get_node [subst -nocommand \{@node\\\}] ] )} 4.375 -8.59375 0 0 0.2 0.2 {vcenter=true layer=15}
|
||||||
|
T {tcleval([regsub \{\\@(.*\\\\.)?\} [subst -nocommand \{@node\\\}] \{\} ] )} 4.375 -21.09375 0 0 0.2 0.2 {vcenter=true layer=15}
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,4 @@ S {}
|
||||||
E {}
|
E {}
|
||||||
L 15 -0 -0 5 -5 {}
|
L 15 -0 -0 5 -5 {}
|
||||||
B 5 -0.46875 -0.46875 0.46875 0.46875 {name=p dir=xxx}
|
B 5 -0.46875 -0.46875 0.46875 0.46875 {name=p dir=xxx}
|
||||||
T {tcleval( [ get_ngspice_node v([set path]@@p\\) ] )} 6.875 -13.59375 0 0 0.2 0.2 {vcenter=true layer=15}
|
T {tcleval( [ ngspice::get_node v([set path]@@p\\) ] )} 6.875 -13.59375 0 0 0.2 0.2 {vcenter=true layer=15}
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,10 @@ N 370 -280 390 -280 {lab=PLUS}
|
||||||
N 610 -280 630 -280 {lab=MINUS}
|
N 610 -280 630 -280 {lab=MINUS}
|
||||||
N 570 -430 620 -430 {lab=VCC}
|
N 570 -430 620 -430 {lab=VCC}
|
||||||
N 380 -430 430 -430 {lab=VCC}
|
N 380 -430 430 -430 {lab=VCC}
|
||||||
N 470 -430 530 -430 {lab=#net2}
|
N 470 -430 530 -430 {lab=G}
|
||||||
N 470 -430 470 -400 {lab=#net2}
|
N 470 -430 470 -400 {lab=G}
|
||||||
N 430 -400 470 -400 {lab=#net2}
|
N 430 -400 470 -400 {lab=G}
|
||||||
N 430 -400 430 -310 {lab=#net2}
|
N 430 -400 430 -310 {lab=G}
|
||||||
N 570 -400 570 -310 {lab=DIFFOUT}
|
N 570 -400 570 -310 {lab=DIFFOUT}
|
||||||
N 570 -500 570 -460 {lab=VCC}
|
N 570 -500 570 -460 {lab=VCC}
|
||||||
N 430 -500 570 -500 {lab=VCC}
|
N 430 -500 570 -500 {lab=VCC}
|
||||||
|
|
@ -124,7 +124,21 @@ C {ngspice_probe.sym} 30 -370 0 0 {name=r6}
|
||||||
C {ngspice_probe.sym} 30 -240 0 0 {name=r7}
|
C {ngspice_probe.sym} 30 -240 0 0 {name=r7}
|
||||||
C {ngspice_probe.sym} 30 -520 0 0 {name=r8}
|
C {ngspice_probe.sym} 30 -520 0 0 {name=r8}
|
||||||
C {ngspice_probe.sym} 500 -210 0 0 {name=r9}
|
C {ngspice_probe.sym} 500 -210 0 0 {name=r9}
|
||||||
C {ngspice_get_value.sym} 590 -440 0 0 {name=r10 node=i(@m6[id])}
|
|
||||||
C {ngspice_get_value.sym} 410 -440 0 1 {name=r11 node=i(@m6[id])}
|
C {ngspice_get_value.sym} 410 -440 0 1 {name=r11 node=i(@m6[id])}
|
||||||
C {ngspice_get_value.sym} 530 -180 0 0 {name=r12 node=i(@m1[id])}
|
C {ngspice_get_expr.sym} 590 -450 0 0 {name=r18
|
||||||
C {ngspice_get_value.sym} 210 -180 0 1 {name=r13 node=i(@m3[id])}
|
node="[ngspice::get_current \{m2[id]\}]"
|
||||||
|
descr = Id
|
||||||
|
}
|
||||||
|
C {lab_pin.sym} 430 -370 0 0 {name=p12 lab=G net_name=true}
|
||||||
|
C {ngspice_get_expr.sym} 550 -450 0 1 {name=r10
|
||||||
|
node="[format %.4g [expr [ngspice::get_voltage vcc] - [ngspice::get_voltage g]]]"
|
||||||
|
descr = Vsg
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 530 -170 0 0 {name=r14
|
||||||
|
node="[ngspice::get_current \{m1[id]\}]"
|
||||||
|
descr = Id
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 210 -170 0 1 {name=r12
|
||||||
|
node="[ngspice::get_current \{m3[id]\}]"
|
||||||
|
descr = Id
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,116 +6,94 @@ S {
|
||||||
* .probe v(ga,sa) v(gb,sb)
|
* .probe v(ga,sa) v(gb,sb)
|
||||||
* .probe p(q*) p(r*) i(r*) p(xm1) p(xm2) i(d*)}
|
* .probe p(q*) p(r*) i(r*) p(xm1) p(xm2) i(d*)}
|
||||||
E {}
|
E {}
|
||||||
T {CURRENT
|
L 15 270 -460 340 -390 {}
|
||||||
MEASURE} 1040 -660 0 0 0.2 0.2 {}
|
L 15 270 -330 340 -390 {}
|
||||||
T {CURRENT
|
|
||||||
MEASURE} 1040 -560 0 0 0.2 0.2 {}
|
|
||||||
T {ANALOG AUDIO AMPLIFIER
|
T {ANALOG AUDIO AMPLIFIER
|
||||||
N-Channel only power stage} 430 -275 0 0 0.5 0.5 {layer=8 font="Liberation Sans"}
|
N-Channel only power stage} 430 -270 0 0 0.5 0.5 {layer=8 font="Liberation Sans"}
|
||||||
N 1110 -1180 1110 -790 {lab=VPP}
|
|
||||||
N 180 -500 180 -470 {lab=E9}
|
N 180 -500 180 -470 {lab=E9}
|
||||||
N 260 -470 340 -470 {lab=E9}
|
N 260 -470 340 -470 {lab=E9}
|
||||||
N 340 -500 340 -470 {lab=E9}
|
N 340 -500 340 -470 {lab=E9}
|
||||||
N 1110 -700 1110 -670 {lab=SA}
|
N 1110 -700 1110 -670 {lab=SA}
|
||||||
N 840 -1020 840 -980 {lab=E4}
|
N 840 -1020 840 -980 {lab=E4}
|
||||||
N 1110 -590 1110 -570 {lab=#net1}
|
N 1110 -590 1110 -570 {lab=OUTI}
|
||||||
N 1110 -510 1110 -470 {lab=#net2}
|
N 1110 -510 1110 -470 {lab=#net1}
|
||||||
N 570 -950 800 -950 {lab=#net3}
|
|
||||||
N 350 -950 550 -950 {lab=#net3}
|
|
||||||
N 330 -950 335 -955 {lab=#net3}
|
|
||||||
N 335 -955 345 -955 {lab=#net3}
|
|
||||||
N 345 -955 350 -950 {lab=#net3}
|
|
||||||
N 550 -950 555 -955 {lab=#net3}
|
|
||||||
N 555 -955 565 -955 {lab=#net3}
|
|
||||||
N 565 -955 570 -950 {lab=#net3}
|
|
||||||
N 180 -1020 180 -980 {lab=E1}
|
N 180 -1020 180 -980 {lab=E1}
|
||||||
N 230 -950 330 -950 {lab=#net3}
|
|
||||||
N 390 -790 520 -790 {lab=C2}
|
N 390 -790 520 -790 {lab=C2}
|
||||||
N 230 -950 230 -900 {lab=#net3}
|
N 230 -950 230 -900 {lab=#net2}
|
||||||
N 180 -900 230 -900 {lab=#net3}
|
N 180 -900 230 -900 {lab=#net2}
|
||||||
N 390 -790 390 -740 {lab=C2}
|
N 390 -790 390 -740 {lab=C2}
|
||||||
N 340 -740 390 -740 {lab=C2}
|
N 340 -740 390 -740 {lab=C2}
|
||||||
N 180 -920 180 -900 {lab=#net3}
|
N 180 -920 180 -900 {lab=#net2}
|
||||||
N 220 -950 230 -950 {lab=#net3}
|
N 220 -950 230 -950 {lab=#net2}
|
||||||
N 340 -760 340 -740 {lab=C2}
|
N 340 -760 340 -740 {lab=C2}
|
||||||
N 380 -790 390 -790 {lab=C2}
|
N 380 -790 390 -790 {lab=C2}
|
||||||
N 180 -1120 180 -1080 {lab=VBOOST}
|
N 180 -1120 180 -1080 {lab=VBOOST}
|
||||||
N 840 -1120 840 -1080 {lab=VBOOST}
|
N 840 -1120 840 -1080 {lab=VBOOST}
|
||||||
N 350 -1120 550 -1120 {lab=VBOOST}
|
N 180 -1120 690 -1120 {lab=VBOOST}
|
||||||
N 330 -1120 335 -1125 {lab=VBOOST}
|
|
||||||
N 335 -1125 345 -1125 {lab=VBOOST}
|
|
||||||
N 345 -1125 350 -1120 {lab=VBOOST}
|
|
||||||
N 550 -1120 555 -1125 {lab=VBOOST}
|
|
||||||
N 555 -1125 565 -1125 {lab=VBOOST}
|
|
||||||
N 565 -1125 570 -1120 {lab=VBOOST}
|
|
||||||
N 180 -1120 330 -1120 {lab=VBOOST}
|
|
||||||
N 340 -1180 340 -1080 {lab=VPP}
|
|
||||||
N 560 -1180 560 -1080 {lab=VPP}
|
|
||||||
N 690 -1120 840 -1120 {lab=VBOOST}
|
N 690 -1120 840 -1120 {lab=VBOOST}
|
||||||
N 340 -1180 560 -1180 {lab=VPP}
|
N 1110 -1180 1400 -1180 {lab=VPP}
|
||||||
N 60 -1180 340 -1180 {lab=VPP}
|
N 840 -1120 1240 -1120 {lab=VBOOST}
|
||||||
N 1100 -1120 1105 -1125 {lab=VBOOST}
|
N 860 -440 1070 -440 {lab=GB}
|
||||||
N 1105 -1125 1115 -1125 {lab=VBOOST}
|
|
||||||
N 1115 -1125 1120 -1120 {lab=VBOOST}
|
|
||||||
N 840 -1120 1100 -1120 {lab=VBOOST}
|
|
||||||
N 560 -1180 1110 -1180 {lab=VPP}
|
|
||||||
N 830 -440 1070 -440 {lab=GB}
|
|
||||||
N 560 -460 560 -440 {lab=C8}
|
N 560 -460 560 -440 {lab=C8}
|
||||||
N 1200 -1120 1330 -1120 {lab=VBOOST}
|
N 1240 -1120 1400 -1120 {lab=VBOOST}
|
||||||
N 1200 -900 1200 -870 {lab=#net4}
|
N 1240 -900 1240 -870 {lab=#net3}
|
||||||
N 1110 -1180 1330 -1180 {lab=VPP}
|
|
||||||
N 560 -580 560 -520 {lab=E8}
|
N 560 -580 560 -520 {lab=E8}
|
||||||
N 560 -760 560 -640 {lab=C6}
|
N 560 -760 560 -640 {lab=C6}
|
||||||
N 840 -780 840 -760 {lab=GA}
|
N 840 -780 840 -760 {lab=GA}
|
||||||
N 690 -810 690 -790 {lab=B1}
|
N 690 -810 690 -790 {lab=B1}
|
||||||
N 690 -810 800 -810 {lab=B1}
|
N 690 -810 800 -810 {lab=B1}
|
||||||
N 690 -1120 690 -880 {lab=VBOOST}
|
N 690 -1120 690 -880 {lab=VBOOST}
|
||||||
N 570 -1120 690 -1120 {lab=VBOOST}
|
|
||||||
N 690 -820 690 -810 {lab=B1}
|
N 690 -820 690 -810 {lab=B1}
|
||||||
N 260 -470 260 -460 {lab=E9}
|
N 260 -470 260 -460 {lab=E9}
|
||||||
N 180 -70 260 -70 {lab=VNN}
|
N 150 -70 260 -70 {lab=VSS}
|
||||||
N 50 -210 220 -210 {lab=B3}
|
N 50 -210 220 -210 {lab=B3}
|
||||||
N 260 -180 260 -130 {lab=E3}
|
N 260 -180 260 -130 {lab=E3}
|
||||||
N 180 -150 180 -70 {lab=VNN}
|
N 150 -150 150 -70 {lab=VSS}
|
||||||
N 50 -150 50 -70 {lab=VNN}
|
N 50 -150 50 -70 {lab=VSS}
|
||||||
N 50 -70 180 -70 {lab=VNN}
|
N 50 -70 150 -70 {lab=VSS}
|
||||||
N 690 -600 1110 -600 {lab=#net1}
|
N 690 -600 1110 -600 {lab=OUTI}
|
||||||
N 180 -470 260 -470 {lab=E9}
|
N 180 -470 260 -470 {lab=E9}
|
||||||
N 1110 -610 1110 -600 {lab=#net1}
|
N 1110 -610 1110 -600 {lab=OUTI}
|
||||||
N 960 -380 1110 -380 {lab=SB}
|
N 860 -380 1110 -380 {lab=SB}
|
||||||
N 960 -700 1110 -700 {lab=SA}
|
N 860 -700 1110 -700 {lab=SA}
|
||||||
N 1200 -1120 1200 -960 {lab=VBOOST}
|
N 1240 -1120 1240 -960 {lab=VBOOST}
|
||||||
N 1110 -410 1110 -380 {lab=SB}
|
N 1110 -410 1110 -380 {lab=SB}
|
||||||
N 1110 -730 1110 -700 {lab=SA}
|
N 1110 -730 1110 -700 {lab=SA}
|
||||||
N 1120 -1120 1200 -1120 {lab=VBOOST}
|
N 860 -760 1070 -760 {lab=GA}
|
||||||
N 840 -760 1070 -760 {lab=GA}
|
|
||||||
N 340 -740 340 -690 {lab=C2}
|
N 340 -740 340 -690 {lab=C2}
|
||||||
N 340 -630 340 -560 {lab=C9}
|
N 340 -630 340 -560 {lab=C9}
|
||||||
N 220 -630 340 -630 {lab=C9}
|
N 220 -630 340 -630 {lab=C9}
|
||||||
N 180 -600 180 -560 {lab=C5}
|
N 180 -600 180 -560 {lab=C5}
|
||||||
N 1110 -320 1110 -280 {lab=VNN}
|
N 1110 -320 1110 -280 {lab=VNN}
|
||||||
N 1330 -590 1390 -590 {lab=OUT}
|
N 1330 -590 1390 -590 {lab=OUT}
|
||||||
N 1110 -590 1200 -590 {lab=#net1}
|
N 1110 -590 1240 -590 {lab=OUTI}
|
||||||
N 1110 -600 1110 -590 {lab=#net1}
|
N 1110 -600 1110 -590 {lab=OUTI}
|
||||||
N 340 -860 340 -820 {lab=#net5}
|
N 340 -860 340 -820 {lab=#net4}
|
||||||
N 560 -860 560 -820 {lab=#net6}
|
N 560 -860 560 -820 {lab=#net5}
|
||||||
N 560 -1020 560 -920 {lab=E6}
|
N 560 -1020 560 -920 {lab=E6}
|
||||||
N 340 -1020 340 -920 {lab=E2}
|
N 340 -1020 340 -920 {lab=E2}
|
||||||
N 260 -280 260 -240 {lab=C3}
|
N 260 -280 260 -240 {lab=C3}
|
||||||
N 730 -440 770 -440 {lab=#net7}
|
N 730 -440 770 -440 {lab=#net6}
|
||||||
N 560 -440 670 -440 {lab=C8}
|
N 560 -440 670 -440 {lab=C8}
|
||||||
N 690 -650 690 -600 {lab=#net1}
|
N 690 -650 690 -600 {lab=OUTI}
|
||||||
N 690 -730 690 -710 {lab=#net8}
|
N 690 -730 690 -710 {lab=#net7}
|
||||||
N 180 -840 180 -660 {lab=C7}
|
N 180 -840 180 -660 {lab=C7}
|
||||||
N 840 -860 840 -840 {lab=E11}
|
N 840 -860 840 -840 {lab=E11}
|
||||||
N 1200 -810 1200 -590 {lab=#net1}
|
N 1240 -810 1240 -590 {lab=OUTI}
|
||||||
N 860 -760 860 -750 {lab=GA}
|
N 860 -760 860 -750 {lab=GA}
|
||||||
N 860 -710 860 -700 {lab=SA}
|
N 860 -710 860 -700 {lab=SA}
|
||||||
N 860 -700 960 -700 {lab=SA}
|
|
||||||
N 860 -440 860 -430 {lab=GB}
|
N 860 -440 860 -430 {lab=GB}
|
||||||
N 860 -390 860 -380 {lab=SB}
|
N 860 -390 860 -380 {lab=SB}
|
||||||
N 860 -380 960 -380 {lab=SB}
|
N 1240 -590 1270 -590 {lab=OUTI}
|
||||||
N 1200 -590 1270 -590 {lab=#net1}
|
N 830 -440 860 -440 {lab=GB}
|
||||||
|
N 840 -760 860 -760 {lab=GA}
|
||||||
|
N 340 -1180 340 -1080 { lab=VPP}
|
||||||
|
N 560 -1180 560 -1080 { lab=VPP}
|
||||||
|
N 60 -1180 340 -1180 {lab=VPP}
|
||||||
|
N 340 -1180 560 -1180 {lab=VPP}
|
||||||
|
N 1110 -1180 1110 -790 { lab=VPP}
|
||||||
|
N 560 -1180 1110 -1180 {lab=VPP}
|
||||||
|
N 230 -950 800 -950 { lab=#net2}
|
||||||
C {ipin.sym} 530 -160 0 0 {name=p0 lab=PLUS}
|
C {ipin.sym} 530 -160 0 0 {name=p0 lab=PLUS}
|
||||||
C {ipin.sym} 530 -120 0 0 {name=p2 lab=VPP}
|
C {ipin.sym} 530 -120 0 0 {name=p2 lab=VPP}
|
||||||
C {ipin.sym} 530 -100 0 0 {name=p3 lab=VNN}
|
C {ipin.sym} 530 -100 0 0 {name=p3 lab=VNN}
|
||||||
|
|
@ -147,8 +125,8 @@ C {lab_pin.sym} 340 -970 0 1 {name=p23 lab=E2}
|
||||||
C {lab_pin.sym} 560 -970 0 1 {name=p28 lab=E6}
|
C {lab_pin.sym} 560 -970 0 1 {name=p28 lab=E6}
|
||||||
C {lab_pin.sym} 840 -1000 0 0 {name=p29 lab=E4}
|
C {lab_pin.sym} 840 -1000 0 0 {name=p29 lab=E4}
|
||||||
C {lab_pin.sym} 180 -1120 0 0 {name=p34 lab=VBOOST}
|
C {lab_pin.sym} 180 -1120 0 0 {name=p34 lab=VBOOST}
|
||||||
C {ammeter.sym} 1110 -540 0 0 {name=vd net_name=true current=0.2093}
|
C {ammeter.sym} 1110 -540 0 0 {name=vd net_name=true current=0.1944}
|
||||||
C {ammeter.sym} 1110 -640 0 0 {name=vu net_name=true current=0.2336}
|
C {ammeter.sym} 1110 -640 0 0 {name=vu net_name=true current=0.216}
|
||||||
C {lab_pin.sym} 60 -1180 0 0 {name=p27 lab=VPP}
|
C {lab_pin.sym} 60 -1180 0 0 {name=p27 lab=VPP}
|
||||||
C {pnp.sym} 200 -950 0 1 {name=Q1 model=q2n2907p area=1 net_name=true}
|
C {pnp.sym} 200 -950 0 1 {name=Q1 model=q2n2907p area=1 net_name=true}
|
||||||
C {pnp.sym} 360 -790 0 1 {name=Q2 model=q2n2907p area=1 net_name=true}
|
C {pnp.sym} 360 -790 0 1 {name=Q2 model=q2n2907p area=1 net_name=true}
|
||||||
|
|
@ -195,25 +173,25 @@ rload out 0 4
|
||||||
C {lab_wire.sym} 920 -760 0 0 {name=l1 lab=GA}
|
C {lab_wire.sym} 920 -760 0 0 {name=l1 lab=GA}
|
||||||
C {res.sym} 800 -440 1 1 {name=R11 m=1 value=1300 net_name=true}
|
C {res.sym} 800 -440 1 1 {name=R11 m=1 value=1300 net_name=true}
|
||||||
C {pnp.sym} 540 -490 0 0 {name=Q8 model=q2n2907p area=1 net_name=true}
|
C {pnp.sym} 540 -490 0 0 {name=Q8 model=q2n2907p area=1 net_name=true}
|
||||||
C {capa.sym} 1200 -930 0 0 {name=C12 m=1 value="40u" net_name=true}
|
C {capa.sym} 1240 -930 0 0 {name=C12 m=1 value="40u" net_name=true}
|
||||||
C {diode.sym} 1200 -1150 0 0 {name=D0 model=d1n4148 area=1
|
C {diode.sym} 1240 -1150 0 0 {name=D0 model=d1n4148 area=1
|
||||||
url="http://pdf.datasheetcatalog.com/datasheet/bytes/1N5406.pdf" net_name=true}
|
url="http://pdf.datasheetcatalog.com/datasheet/bytes/1N5406.pdf" net_name=true}
|
||||||
C {res.sym} 1200 -840 0 1 {name=R18 m=1 value=200 net_name=true}
|
C {res.sym} 1240 -840 0 1 {name=R18 m=1 value=200 net_name=true}
|
||||||
C {zener.sym} 1330 -1150 0 0 {name=D1 model=d1n758 area=1
|
C {zener.sym} 1400 -1150 0 0 {name=D1 model=d1n758 area=1
|
||||||
url="http://www.futurlec.com/Datasheet/Diodes/1N746-1N759.pdf" net_name=true}
|
url="http://www.futurlec.com/Datasheet/Diodes/1N746-1N759.pdf" net_name=true}
|
||||||
C {res.sym} 690 -760 0 1 {name=R14 m=1 value=4k net_name=true}
|
C {res.sym} 690 -760 0 1 {name=R14 m=1 value=4k net_name=true}
|
||||||
C {pnp.sym} 820 -810 0 0 {name=Q11 model=q2n2907p area=1 net_name=true}
|
C {pnp.sym} 820 -810 0 0 {name=Q11 model=q2n2907p area=1 net_name=true}
|
||||||
C {res.sym} 690 -850 0 1 {name=R15 m=1 value=4k net_name=true}
|
C {res.sym} 690 -850 0 1 {name=R15 m=1 value=4k net_name=true}
|
||||||
C {res.sym} 260 -430 0 1 {name=R5 m=1 value=600 net_name=true}
|
C {res.sym} 260 -430 0 1 {name=R5 m=1 value=120 net_name=true}
|
||||||
C {res.sym} 260 -370 0 1 {name=R6 m=1 value=700 net_name=true}
|
C {res.sym} 260 -370 0 1 {name=R6 m=1 value=120 net_name=true}
|
||||||
C {zener.sym} 180 -180 2 0 {name=D2 model=d1n755 area=1
|
C {zener.sym} 150 -180 2 0 {name=D2 model=d1n755 area=1
|
||||||
url="http://www.futurlec.com/Datasheet/Diodes/1N746-1N759.pdf"
|
url="http://www.futurlec.com/Datasheet/Diodes/1N746-1N759.pdf"
|
||||||
net_name=true}
|
net_name=true}
|
||||||
C {npn.sym} 240 -210 0 0 {name=Q3 model=q2n2222 area=1 net_name=true}
|
C {npn.sym} 240 -210 0 0 {name=Q3 model=q2n2222 area=1 net_name=true}
|
||||||
C {res.sym} 180 -240 0 1 {name=R1 m=1 value=10k net_name=true}
|
C {res.sym} 150 -240 0 1 {name=R1 m=1 value=10k net_name=true}
|
||||||
C {lab_pin.sym} 180 -270 0 0 {name=p7 lab=VSS}
|
C {lab_pin.sym} 150 -270 0 0 {name=p7 lab=VPP}
|
||||||
C {res.sym} 260 -100 0 1 {name=R10 m=1 value=170 net_name=true}
|
C {res.sym} 260 -100 0 1 {name=R10 m=1 value=170 net_name=true}
|
||||||
C {lab_pin.sym} 50 -70 0 0 {name=p11 lab=VNN}
|
C {lab_pin.sym} 50 -70 0 0 {name=p11 lab=VSS}
|
||||||
C {capa.sym} 50 -180 0 0 {name=C3 m=1 value=100n net_name=true}
|
C {capa.sym} 50 -180 0 0 {name=C3 m=1 value=100n net_name=true}
|
||||||
C {res.sym} 560 -610 0 1 {name=R12 m=1 value=1300 net_name=true}
|
C {res.sym} 560 -610 0 1 {name=R12 m=1 value=1300 net_name=true}
|
||||||
C {lab_pin.sym} 690 -800 0 0 {name=p12 lab=B1}
|
C {lab_pin.sym} 690 -800 0 0 {name=p12 lab=B1}
|
||||||
|
|
@ -231,30 +209,18 @@ C {lab_pin.sym} 180 -690 0 0 {name=p8 lab=C7}
|
||||||
C {lab_pin.sym} 340 -710 0 1 {name=p31 lab=C2}
|
C {lab_pin.sym} 340 -710 0 1 {name=p31 lab=C2}
|
||||||
C {title.sym} 160 -30 0 0 {name=l2 author="Stefan Schippers"}
|
C {title.sym} 160 -30 0 0 {name=l2 author="Stefan Schippers"}
|
||||||
C {lab_pin.sym} 860 -700 0 0 {name=p32 lab=SA}
|
C {lab_pin.sym} 860 -700 0 0 {name=p32 lab=SA}
|
||||||
C {ammeter.sym} 1110 -350 0 0 {name=v0 net_name=true current=0.2288}
|
C {ammeter.sym} 1110 -350 0 0 {name=v0 net_name=true current=0.2138}
|
||||||
C {lab_pin.sym} 860 -380 0 0 {name=p35 lab=SB}
|
C {lab_pin.sym} 860 -380 0 0 {name=p35 lab=SB}
|
||||||
C {ammeter.sym} 560 -890 0 0 {name=v1 net_name=true current=0.01956}
|
C {ammeter.sym} 560 -890 0 0 {name=v1 net_name=true current=0.01954}
|
||||||
C {ammeter.sym} 340 -890 0 0 {name=v2 net_name=true current=0.01947}
|
C {ammeter.sym} 340 -890 0 0 {name=v2 net_name=true current=0.01944}
|
||||||
C {ammeter.sym} 260 -310 0 0 {name=v3 net_name=true current=0.03924}
|
C {ammeter.sym} 260 -310 0 0 {name=v3 net_name=true current=0.03919}
|
||||||
C {ammeter.sym} 700 -440 3 0 {name=v4 net_name=true current=0.01942}
|
C {ammeter.sym} 700 -440 3 0 {name=v4 net_name=true current=0.01939}
|
||||||
C {ammeter.sym} 690 -680 0 0 {name=v5 net_name=true current=0.006271}
|
C {ammeter.sym} 690 -680 0 0 {name=v5 net_name=true current=0.006273}
|
||||||
C {ammeter.sym} 180 -870 0 1 {name=v6 net_name=true current=0.01955}
|
C {ammeter.sym} 180 -870 0 1 {name=v6 net_name=true current=0.01952}
|
||||||
C {ammeter.sym} 840 -890 0 0 {name=v7 net_name=true current=0.0195}
|
C {ammeter.sym} 840 -890 0 0 {name=v7 net_name=true current=0.01947}
|
||||||
C {spice_probe.sym} 940 -440 0 0 {name=p36 analysis=tran voltage=-46.31}
|
C {spice_probe_vdiff.sym} 860 -410 0 0 {name=p37 analysis=tran voltage=3.684}
|
||||||
C {spice_probe_vdiff.sym} 860 -410 0 0 {name=p37 analysis=tran voltage=3.689}
|
C {spice_probe_vdiff.sym} 860 -730 0 0 {name=p38 analysis=tran voltage=3.685}
|
||||||
C {spice_probe_vdiff.sym} 860 -730 0 0 {name=p38 analysis=tran voltage=3.691}
|
C {ammeter.sym} 1300 -590 3 0 {name=v8 net_name=true current=0.02782}
|
||||||
C {spice_probe.sym} 940 -760 0 0 {name=p39 analysis=tran voltage=3.814}
|
|
||||||
C {spice_probe.sym} 1220 -590 0 0 {name=p40 analysis=tran voltage=0.1231}
|
|
||||||
C {spice_probe.sym} 380 -530 0 0 {name=p41 analysis=tran voltage=21.3}
|
|
||||||
C {spice_probe.sym} 140 -530 0 1 {name=p42 analysis=tran voltage=21.3}
|
|
||||||
C {spice_probe.sym} 250 -470 0 1 {name=p43 analysis=tran voltage=20.61}
|
|
||||||
C {spice_probe.sym} 440 -790 0 0 {name=p44 analysis=tran voltage=48.22}
|
|
||||||
C {spice_probe.sym} 280 -950 0 0 {name=p45 analysis=tran voltage=48.22}
|
|
||||||
C {spice_probe.sym} 730 -810 0 0 {name=p46 analysis=tran voltage=25.21}
|
|
||||||
C {ammeter.sym} 1300 -590 3 0 {name=v8 net_name=true current=0.03055}
|
|
||||||
C {spice_probe.sym} 280 -630 0 1 {name=p50 analysis=tran voltage=42.36}
|
|
||||||
C {spice_probe.sym} 340 -820 0 1 {name=p51 analysis=tran voltage=49.03}
|
|
||||||
C {spice_probe.sym} 120 -210 0 1 {name=p52 analysis=tran voltage=-42.58}
|
|
||||||
C {opin.sym} 600 -130 0 0 {name=p5 lab=OUT}
|
C {opin.sym} 600 -130 0 0 {name=p5 lab=OUT}
|
||||||
C {ipin.sym} 530 -180 0 0 {name=p1 lab=MINUS}
|
C {ipin.sym} 530 -180 0 0 {name=p1 lab=MINUS}
|
||||||
C {ipin.sym} 530 -140 0 0 {name=p4 lab=VSS}
|
C {ipin.sym} 530 -140 0 0 {name=p4 lab=VSS}
|
||||||
|
|
@ -285,10 +251,146 @@ tclcommand="
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
C {ngspice_probe.sym} 750 -1120 0 0 {name=p54}
|
C {ngspice_probe.sym} 750 -1120 0 0 {name=p54}
|
||||||
C {spice_probe.sym} 690 -1180 0 0 {name=p47 analysis=tran voltage=50}
|
|
||||||
C {spice_probe.sym} 1110 -280 0 0 {name=p49 analysis=tran voltage=-50}
|
|
||||||
C {ngspice_probe.sym} 180 -760 0 0 {name=p53}
|
C {ngspice_probe.sym} 180 -760 0 0 {name=p53}
|
||||||
C {ngspice_probe.sym} 560 -710 0 0 {name=p55}
|
C {ngspice_probe.sym} 560 -710 0 0 {name=p55}
|
||||||
C {ngspice_get_value.sym} 965 -710 0 0 {name=r48 node=i(@r.$\{path\}r0[i])}
|
C {ngspice_get_value.sym} 1130 -780 0 0 {name=r4 node=i(@r.$\{path\}xm1.rd[i])}
|
||||||
C {ngspice_get_value.sym} 815 -955 0 1 {name=r1 node=i(@q.$\{path\}q4[ib])}
|
C {ngspice_get_expr.sym} 800 -1000 0 1 {name=r8
|
||||||
C {ngspice_get_value.sym} 845 -985 0 0 {name=r2 node=i(@q.$\{path\}q4[ic])}
|
node="[format %.4g [expr [ngspice::get_voltage e4] - [ngspice::get_voltage c7]]]"
|
||||||
|
descr = veb
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 860 -980 0 0 {name=r9
|
||||||
|
node="[format %.4g [expr [ngspice::get_current \{q4[ic]\}] / [ngspice::get_current \{q4[ib]\}] ] ]"
|
||||||
|
descr = beta
|
||||||
|
}
|
||||||
|
C {ngspice_probe.sym} 560 -830 0 0 {name=p41}
|
||||||
|
C {ngspice_probe.sym} 560 -530 0 1 {name=p42}
|
||||||
|
C {ngspice_probe.sym} 590 -440 2 1 {name=p47}
|
||||||
|
C {ngspice_get_expr.sym} 860 -920 0 0 {name=r15
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage e4] - [ngspice::get_voltage e11]) * [ngspice::get_current \{q4[ic]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_probe.sym} 260 -260 0 0 {name=p48}
|
||||||
|
C {ngspice_probe.sym} 90 -70 0 0 {name=p49}
|
||||||
|
C {ngspice_probe.sym} 100 -210 0 1 {name=p52}
|
||||||
|
C {ngspice_probe.sym} 1190 -590 0 1 {name=p39}
|
||||||
|
C {ngspice_probe.sym} 890 -700 2 1 {name=p43}
|
||||||
|
C {ngspice_probe.sym} 460 -790 2 1 {name=p44}
|
||||||
|
C {ngspice_probe.sym} 730 -810 2 1 {name=p46}
|
||||||
|
C {ngspice_probe.sym} 440 -950 0 0 {name=p50}
|
||||||
|
C {ngspice_probe.sym} 200 -470 0 0 {name=p45}
|
||||||
|
C {ngspice_probe.sym} 340 -600 0 0 {name=p51}
|
||||||
|
C {ngspice_get_expr.sym} 350 -860 0 0 {name=r17
|
||||||
|
node="[ngspice::get_current v2]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 350 -1040 0 0 {name=r18
|
||||||
|
node="[ngspice::get_current \{r2[i]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 860 -1040 0 0 {name=r19
|
||||||
|
node="[ngspice::get_current \{r9[i]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 820 -890 0 1 {name=r2
|
||||||
|
node="[ngspice::get_current \{q4[ic]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 800 -970 0 1 {name=r1
|
||||||
|
node="[ngspice::get_current \{q4[ib]\}]"
|
||||||
|
descr = Ib
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 570 -460 0 0 {name=r11
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage e8] - [ngspice::get_voltage c8]) * [ngspice::get_current \{q8[ic]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 190 -860 0 0 {name=r12
|
||||||
|
node="[ngspice::get_current v6]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 240 -210 0 1 {name=r6
|
||||||
|
node="[format %.4g [expr [ngspice::get_current \{q3[ic]\}] / [ngspice::get_current \{q3[ib]\}] ] ]"
|
||||||
|
descr = beta
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 860 -780 0 0 {name=r16
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage e11] - [ngspice::get_voltage ga]) * [ngspice::get_current \{q11[ic]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 980 -720 0 0 {name=r20
|
||||||
|
node="[ngspice::get_current \{r0[i]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 280 -200 2 1 {name=r3
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage c3] - [ngspice::get_voltage e3]) * [ngspice::get_current \{q3[ic]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 240 -190 2 0 {name=r21
|
||||||
|
node="[format %.4g [expr [ngspice::get_voltage b3] - [ngspice::get_voltage e3]]]"
|
||||||
|
descr = vbe
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 340 -390 0 0 {name=r7
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage e9] - [ngspice::get_voltage c3]) * [ngspice::get_current \{r5[i]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 570 -760 0 0 {name=r10
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage e6] - [ngspice::get_voltage c6]) * [ngspice::get_current \{q6[ic]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 210 -650 0 0 {name=r14
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage c7] - [ngspice::get_voltage c5]) * [ngspice::get_current \{q7[ic]\}]]]"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_probe.sym} 180 -560 0 0 {name=p36}
|
||||||
|
C {ngspice_get_expr.sym} 200 -500 0 0 {name=r13
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage c5] - [ngspice::get_voltage e9]) * [ngspice::get_current \{q5[ic]\}]]]"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 320 -500 0 1 {name=r22
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage c9] - [ngspice::get_voltage e9]) * [ngspice::get_current \{q9[ic]\}]]]"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 330 -760 0 1 {name=r23
|
||||||
|
node="[format %.4g [expr [ngspice::get_current \{q2[ic]\}] / [ngspice::get_current \{q2[ib]\}] ] ]"
|
||||||
|
descr = beta
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 1090 -640 0 1 {name=r24
|
||||||
|
node="[ngspice::get_current vu]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 1090 -530 0 1 {name=r25
|
||||||
|
node="[ngspice::get_current vd]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 1210 -1150 0 1 {name=r5
|
||||||
|
node="[ngspice::get_current \{d0[id]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 1370 -1150 0 1 {name=r26
|
||||||
|
node="[ngspice::get_current \{d1[id]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_value.sym} 1130 -460 0 0 {name=r27 node=i(@r.$\{path\}xm2.rd[i])}
|
||||||
|
C {ngspice_get_expr.sym} 160 -230 0 0 {name=r28
|
||||||
|
node="[format %.4g [expr ([ngspice::get_node v(vpp)] - [ngspice::get_voltage b3]) * [ngspice::get_current \{r1[i]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 1130 -740 2 1 {name=r29
|
||||||
|
node="[format %.4g [expr ([ngspice::get_node v(vpp)] - [ngspice::get_voltage outi]) * [ngspice::get_current \{vu\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {lab_wire.sym} 910 -600 0 1 {name=l40 lab=OUTI}
|
||||||
|
C {ngspice_get_expr.sym} 980 -400 0 0 {name=r30
|
||||||
|
node="[ngspice::get_current \{r7[i]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 700 -440 2 0 {name=r31
|
||||||
|
node="[ngspice::get_current \{v4\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 1130 -420 2 1 {name=r32
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage outi] - [ngspice::get_node v(vnn)]) * [ngspice::get_current \{vd\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 150 -160 2 0 {name=r33
|
||||||
|
node="[format %.4g [expr -[ngspice::get_voltage b3] * [ngspice::get_current \{d2[id]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,18 +33,16 @@ N 580 -1200 580 -1190 {lab=VSS}
|
||||||
N 580 -1190 620 -1190 {lab=VSS}
|
N 580 -1190 620 -1190 {lab=VSS}
|
||||||
N 550 -1240 580 -1240 {lab=IN}
|
N 550 -1240 580 -1240 {lab=IN}
|
||||||
N 620 -1250 710 -1250 {lab=REFP}
|
N 620 -1250 710 -1250 {lab=REFP}
|
||||||
N 280 -1180 280 -1170 {lab=#net3}
|
N 270 -1100 270 -1090 {lab=#net3}
|
||||||
N 280 -1250 280 -1240 {lab=#net4}
|
N 270 -1170 270 -1160 {lab=#net4}
|
||||||
N 270 -1100 270 -1090 {lab=#net5}
|
|
||||||
N 270 -1170 270 -1160 {lab=#net3}
|
|
||||||
N 160 -1090 190 -1090 {lab=#net2}
|
N 160 -1090 190 -1090 {lab=#net2}
|
||||||
N 370 -1090 380 -1090 {lab=VNN}
|
N 370 -1090 380 -1090 {lab=VNN}
|
||||||
N 160 -1250 190 -1250 {lab=#net1}
|
N 160 -1250 190 -1250 {lab=#net1}
|
||||||
N 370 -1250 380 -1250 {lab=VPP}
|
N 370 -1250 380 -1250 {lab=VPP}
|
||||||
N 270 -1170 280 -1170 {lab=#net3}
|
N 270 -1170 280 -1170 {lab=#net4}
|
||||||
N 250 -1250 280 -1250 {lab=#net4}
|
N 250 -1250 280 -1250 {lab=#net5}
|
||||||
N 250 -1090 270 -1090 {lab=#net5}
|
N 250 -1090 270 -1090 {lab=#net3}
|
||||||
N 160 -1170 270 -1170 {lab=#net3}
|
N 160 -1170 270 -1170 {lab=#net4}
|
||||||
N 550 -950 710 -950 {lab=OUTM}
|
N 550 -950 710 -950 {lab=OUTM}
|
||||||
N 400 -890 550 -890 {lab=FBN}
|
N 400 -890 550 -890 {lab=FBN}
|
||||||
N 550 -770 550 -750 {lab=IN}
|
N 550 -770 550 -750 {lab=IN}
|
||||||
|
|
@ -56,8 +54,7 @@ N 550 -490 710 -490 {lab=OUTP}
|
||||||
N 400 -430 550 -430 {lab=FB}
|
N 400 -430 550 -430 {lab=FB}
|
||||||
N 350 -430 350 -240 {lab=FB}
|
N 350 -430 350 -240 {lab=FB}
|
||||||
N 710 -490 710 -240 {lab=OUTP}
|
N 710 -490 710 -240 {lab=OUTP}
|
||||||
N 240 -370 240 -350 {lab=VPP}
|
N 240 -400 240 -380 {lab=VPP}
|
||||||
N 240 -290 240 -220 {lab=INX}
|
|
||||||
N 260 -220 260 -190 {lab=INX}
|
N 260 -220 260 -190 {lab=INX}
|
||||||
N 260 -130 260 -110 {lab=VSS}
|
N 260 -130 260 -110 {lab=VSS}
|
||||||
N 510 -1120 580 -1120 {lab=VSS}
|
N 510 -1120 580 -1120 {lab=VSS}
|
||||||
|
|
@ -69,8 +66,7 @@ N 650 -700 710 -700 {lab=OUTM}
|
||||||
N 650 -240 710 -240 {lab=OUTP}
|
N 650 -240 710 -240 {lab=OUTP}
|
||||||
N 240 -220 260 -220 {lab=INX}
|
N 240 -220 260 -220 {lab=INX}
|
||||||
N 260 -680 350 -680 {lab=VSSX}
|
N 260 -680 350 -680 {lab=VSSX}
|
||||||
N 240 -830 240 -810 {lab=VPP}
|
N 240 -860 240 -840 {lab=VPP}
|
||||||
N 240 -750 240 -680 {lab=VSSX}
|
|
||||||
N 260 -680 260 -650 {lab=VSSX}
|
N 260 -680 260 -650 {lab=VSSX}
|
||||||
N 260 -590 260 -570 {lab=VSS}
|
N 260 -590 260 -570 {lab=VSS}
|
||||||
N 240 -680 260 -680 {lab=VSSX}
|
N 240 -680 260 -680 {lab=VSSX}
|
||||||
|
|
@ -78,18 +74,28 @@ N 180 -680 240 -680 {lab=VSSX}
|
||||||
N 880 -1250 900 -1250 {lab=IN_INT}
|
N 880 -1250 900 -1250 {lab=IN_INT}
|
||||||
N 880 -1250 880 -1220 {lab=IN_INT}
|
N 880 -1250 880 -1220 {lab=IN_INT}
|
||||||
N 400 -1000 400 -980 {lab=VPP}
|
N 400 -1000 400 -980 {lab=VPP}
|
||||||
N 400 -920 400 -890 {lab=FBN}
|
|
||||||
N 400 -540 400 -520 {lab=VPP}
|
N 400 -540 400 -520 {lab=VPP}
|
||||||
N 400 -460 400 -430 {lab=FB}
|
|
||||||
N 860 -700 860 -520 {lab=OUTM}
|
N 860 -700 860 -520 {lab=OUTM}
|
||||||
N 860 -460 860 -240 {lab=OUTP}
|
N 860 -460 860 -240 {lab=OUTP}
|
||||||
N 350 -890 400 -890 {lab=FBN}
|
N 350 -890 400 -890 {lab=FBN}
|
||||||
N 350 -430 400 -430 {lab=FB}
|
N 350 -430 400 -430 {lab=FB}
|
||||||
N 580 -1110 620 -1110 {lab=VSS}
|
N 580 -1110 620 -1110 {lab=VSS}
|
||||||
N 580 -1120 580 -1110 {lab=VSS}
|
N 580 -1120 580 -1110 {lab=VSS}
|
||||||
N 280 -1250 310 -1250 {lab=#net4}
|
N 280 -1250 310 -1250 {lab=#net5}
|
||||||
N 270 -1090 310 -1090 {lab=#net5}
|
N 270 -1090 310 -1090 {lab=#net3}
|
||||||
N 280 -1170 310 -1170 {lab=#net3}
|
N 280 -1170 310 -1170 {lab=#net4}
|
||||||
|
N 280 -1180 280 -1170 { lab=#net4}
|
||||||
|
N 280 -1250 280 -1240 { lab=#net5}
|
||||||
|
N 240 -730 240 -680 { lab=VSSX}
|
||||||
|
N 240 -270 240 -220 { lab=INX}
|
||||||
|
N 400 -920 400 -910 { lab=FBN}
|
||||||
|
N 400 -910 400 -890 { lab=FBN}
|
||||||
|
N 400 -460 400 -450 { lab=FB}
|
||||||
|
N 400 -450 400 -430 { lab=FB}
|
||||||
|
N 240 -780 240 -760 { lab=VSSX}
|
||||||
|
N 240 -760 240 -730 { lab=VSSX}
|
||||||
|
N 240 -320 240 -300 { lab=INX}
|
||||||
|
N 240 -300 240 -270 { lab=INX}
|
||||||
C {code.sym} 1020 -210 0 0 {name=STIMULI
|
C {code.sym} 1020 -210 0 0 {name=STIMULI
|
||||||
only_toplevel=true
|
only_toplevel=true
|
||||||
tclcommand="xschem edit_vi_prop"
|
tclcommand="xschem edit_vi_prop"
|
||||||
|
|
@ -100,10 +106,10 @@ value=".option PARHIER=LOCAL RUNLVL=6 post MODMONTE=1 warn maxwarns=400
|
||||||
vvss vss 0 dc 0
|
vvss vss 0 dc 0
|
||||||
.temp 30
|
.temp 30
|
||||||
|
|
||||||
.param frequ=20k
|
.param frequ=5k
|
||||||
.param gain=42
|
.param gain=45
|
||||||
.op
|
.op
|
||||||
.tran 6e-7 0.009 uic
|
.tran 6e-7 0.06 uic
|
||||||
|
|
||||||
|
|
||||||
** models are generally not free: you must download
|
** models are generally not free: you must download
|
||||||
|
|
@ -140,8 +146,8 @@ C {lab_pin.sym} 860 -700 0 1 {name=p9 lab=OUTM}
|
||||||
C {mos_power_ampli.sym} 500 -200 0 0 {name=x0}
|
C {mos_power_ampli.sym} 500 -200 0 0 {name=x0}
|
||||||
C {lab_pin.sym} 350 -180 0 0 {name=p12 lab=VPP}
|
C {lab_pin.sym} 350 -180 0 0 {name=p12 lab=VPP}
|
||||||
C {lab_pin.sym} 350 -160 0 0 {name=p13 lab=VNN}
|
C {lab_pin.sym} 350 -160 0 0 {name=p13 lab=VNN}
|
||||||
C {res.sym} 240 -320 0 1 {name=R6 m=1 value=100k}
|
C {res.sym} 240 -350 0 1 {name=R6 m=1 value=100k}
|
||||||
C {lab_pin.sym} 240 -370 0 0 {name=p7 lab=VPP}
|
C {lab_pin.sym} 240 -400 0 0 {name=p7 lab=VPP}
|
||||||
C {res.sym} 260 -160 0 1 {name=R7 m=1 value=100k}
|
C {res.sym} 260 -160 0 1 {name=R7 m=1 value=100k}
|
||||||
C {lab_pin.sym} 260 -110 0 0 {name=p15 lab=VSS}
|
C {lab_pin.sym} 260 -110 0 0 {name=p15 lab=VSS}
|
||||||
C {lab_pin.sym} 510 -1120 0 0 {name=p20 lab=VSS}
|
C {lab_pin.sym} 510 -1120 0 0 {name=p20 lab=VSS}
|
||||||
|
|
@ -159,11 +165,11 @@ C {lab_pin.sym} 350 -660 0 0 {name=p1 lab=VSS}
|
||||||
C {res.sym} 550 -460 0 1 {name=R2 m=1 value='100k'}
|
C {res.sym} 550 -460 0 1 {name=R2 m=1 value='100k'}
|
||||||
C {res.sym} 550 -400 0 1 {name=R3 m=1 value="'100k/(gain-2)'"}
|
C {res.sym} 550 -400 0 1 {name=R3 m=1 value="'100k/(gain-2)'"}
|
||||||
C {vsource.sym} 880 -1190 0 0 {name=V3
|
C {vsource.sym} 880 -1190 0 0 {name=V3
|
||||||
xvalue="pulse -.1 .1 1m .1u .1u 10.1u 20u"
|
xvalue="dc 0 pulse -.1 .1 1m .1u .1u 10.1u 20u"
|
||||||
value="sin 0 1 frequ 1m"
|
value="dc 0 sin 0 1 frequ 1m"
|
||||||
}
|
}
|
||||||
C {res.sym} 240 -780 0 1 {name=R4 m=1 value=100k}
|
C {res.sym} 240 -810 0 1 {name=R4 m=1 value=100k}
|
||||||
C {lab_pin.sym} 240 -830 0 0 {name=p18 lab=VPP}
|
C {lab_pin.sym} 240 -860 0 0 {name=p18 lab=VPP}
|
||||||
C {res.sym} 260 -620 0 1 {name=R5 m=1 value=100k}
|
C {res.sym} 260 -620 0 1 {name=R5 m=1 value=100k}
|
||||||
C {lab_pin.sym} 260 -570 0 0 {name=p10 lab=VSS}
|
C {lab_pin.sym} 260 -570 0 0 {name=p10 lab=VSS}
|
||||||
C {res.sym} 400 -950 0 1 {name=R8 m=1 value=100k}
|
C {res.sym} 400 -950 0 1 {name=R8 m=1 value=100k}
|
||||||
|
|
@ -176,17 +182,15 @@ C {res.sym} 930 -1250 1 1 {name=R10 m=1 value=2}
|
||||||
C {lab_pin.sym} 400 -1000 0 0 {name=p24 lab=VPP}
|
C {lab_pin.sym} 400 -1000 0 0 {name=p24 lab=VPP}
|
||||||
C {res.sym} 400 -490 0 1 {name=R13 m=1 value=100k}
|
C {res.sym} 400 -490 0 1 {name=R13 m=1 value=100k}
|
||||||
C {lab_pin.sym} 400 -540 0 0 {name=p16 lab=VPP}
|
C {lab_pin.sym} 400 -540 0 0 {name=p16 lab=VPP}
|
||||||
C {vsource.sym} 880 -1130 0 0 {name=V4 value=0 xvalue="pwl 0 .1 1m .1 1.01m 0"
|
C {vsource.sym} 880 -1130 0 0 {name=Vin value=0 xvalue="pwl 0 .1 1m .1 1.01m 0"
|
||||||
}
|
}
|
||||||
C {lab_pin.sym} 350 -270 0 0 {name=p19 lab=FB}
|
C {lab_pin.sym} 350 -270 0 0 {name=p19 lab=FB}
|
||||||
C {lab_pin.sym} 350 -730 0 0 {name=p25 lab=FBN}
|
C {lab_pin.sym} 350 -730 0 0 {name=p25 lab=FBN}
|
||||||
C {title.sym} 160 -30 0 0 {name=l2 author="Stefan Schippers"}
|
C {title.sym} 160 -30 0 0 {name=l2 author="Stefan Schippers"}
|
||||||
C {lab_pin.sym} 880 -1250 0 0 {name=p27 lab=IN_INT}
|
C {lab_pin.sym} 880 -1250 0 0 {name=p27 lab=IN_INT}
|
||||||
C {ammeter.sym} 340 -1250 3 0 {name=vcurrvpp net_name=true current=0.5636}
|
C {ammeter.sym} 340 -1250 3 0 {name=vcurrvpp net_name=true current=0.54}
|
||||||
C {spice_probe.sym} 790 -700 0 0 {name=p40 analysis=tran voltage=-0.1372}
|
C {ammeter.sym} 340 -1090 3 0 {name=vcurrvnn net_name=true current=-0.4526}
|
||||||
C {spice_probe.sym} 770 -240 0 0 {name=p29 analysis=tran voltage=-0.1372}
|
C {ammeter.sym} 340 -1170 3 0 {name=vcurrvss net_name=true current=-0.08742}
|
||||||
C {ammeter.sym} 340 -1090 3 0 {name=vcurrvnn net_name=true current=-0.5715}
|
|
||||||
C {ammeter.sym} 340 -1170 3 0 {name=vcurrvss net_name=true current=0.007914}
|
|
||||||
C {launcher.sym} 780 -120 0 0 {name=h2
|
C {launcher.sym} 780 -120 0 0 {name=h2
|
||||||
descr="Ctrl-Click
|
descr="Ctrl-Click
|
||||||
Clear all probes"
|
Clear all probes"
|
||||||
|
|
@ -213,6 +217,26 @@ tclcommand="
|
||||||
xschem redraw
|
xschem redraw
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
C {spice_probe.sym} 250 -220 0 0 {name=p30 analysis=tran voltage=21.07}
|
|
||||||
C {spice_probe.sym} 250 -680 0 0 {name=p33 analysis=tran voltage=21.07}
|
|
||||||
C {ngspice_probe.sym} 350 -810 0 1 {name=p55}
|
C {ngspice_probe.sym} 350 -810 0 1 {name=p55}
|
||||||
|
C {ngspice_probe.sym} 240 -1170 0 1 {name=p34}
|
||||||
|
C {capa.sym} 280 -1210 0 0 {name=C2 m=1 value="100u"}
|
||||||
|
C {ngspice_probe.sym} 160 -1250 0 1 {name=p35}
|
||||||
|
C {ngspice_probe.sym} 160 -1090 0 1 {name=p36}
|
||||||
|
C {ngspice_probe.sym} 380 -1170 0 0 {name=p37}
|
||||||
|
C {ngspice_probe.sym} 810 -700 0 1 {name=p29}
|
||||||
|
C {ngspice_probe.sym} 810 -240 0 1 {name=p38}
|
||||||
|
C {ngspice_probe.sym} 300 -680 0 1 {name=p33}
|
||||||
|
C {ngspice_probe.sym} 300 -220 0 1 {name=p30}
|
||||||
|
C {ngspice_probe.sym} 350 -320 0 1 {name=p39}
|
||||||
|
C {ngspice_get_expr.sym} 565 -455 0 0 {name=r18
|
||||||
|
node="[ngspice::get_current \{r2[i]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 575 -915 0 0 {name=r1
|
||||||
|
node="[ngspice::get_current \{r19[i]\}]"
|
||||||
|
descr = current
|
||||||
|
}
|
||||||
|
C {ngspice_get_expr.sym} 820 -510 2 0 {name=r29
|
||||||
|
node="[format %.4g [expr ([ngspice::get_voltage outm] - [ngspice::get_voltage outp]) * [ngspice::get_current \{r1[i]\}]]] W"
|
||||||
|
descr = power
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue