Xcircuit Templates
==========Start_Up===============
Type in =>
/sw/bin/xcircuit

Get the
following window

==========Add_A_Resistor===============
Select Library Button

window/Goto Library/Libary:analog2

left button select resistor
left button place

middle button is used to select an object and area drag
==========Change_Resistor_Value===============
middle button select an object

select parameter icon

==========Connect_A_Wire===============
select DrawWire
left button start
middle button end
right button undo

==========Label_A_Wire===============
Menu => Netlist/Make Pin

Select a net using middle select node

Type in name

==========Make_A_Netlist===============
Menu => Netlist/Write flattenedSpice

Netlist will be Stored as
Page 1.fspc in ~donsauer$

==========Save_As_A_File===============
Menu => File/Write
Xcircuit PS

The file is stored as a ps file in ~donsauer$)

==========Save_As_A_File===============
Files are read in as PS files.
Menu => File/Import Xcircuit PS

==========The_PostScript_File===============
%!PS-Adobe-3.0 EPSF-3.0
%%Title: first
%%Creator: XCircuit v3.4 rev26
%%CreationDate: Thu Feb 19 15:31:11 2009
%%Pages: 1
%%BoundingBox: 68 68 308 188
%%DocumentNeededResources: font Helvetica font Times-Roman font Symbol
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.3
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--7/13/05
(tim.edwards@multigig.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-present)
%
%%BeginResource: procset XCIRCproc 3.3 0
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict
exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop }
ifelse } forall
ndict definefont pop} def
/ul { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index
stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1
index
sub setlinewidth exch pop currentpoint 3 -1 roll add
moveto 0
rlineto stroke moveto } if } def
/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3
index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox
grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def
Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1
sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse }
for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse }
for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale
mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale
mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0
currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg /rotval exch def
/just exch def just 384 and 0 gt {/mshow {pop} def}
{/mshow {show}
def} ifelse just 16 and 0 gt {gsave rotval rotate 0
1 dtransform
gsave pagemat setmatrix idtransform exch grestore 1
0 dtransform
gsave pagemat setmatrix idtransform exch grestore
dup abs 1e-9 lt
{pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
grestore {-1 /rotval
rotval neg def /just just dup 3 and 1 ne {3 xor} if
def} {1} ifelse
exch -1e-9 lt {-1 /rotval rotval neg def /just just
dup 12 and
4 ne {12 xor} if def} {1} ifelse scale } if
/showflag 0 def
/fspc pspc def /Bline 0 def /Tabs 0 array def
/fscale 1.0 def
/kY 0 def gsave dup 1 add copy 0 exch 1 0 dtransform
exch atan rotate
{exch dup type /stringtype eq {true charpath
flattenpath} {dup type
/arraytype eq {exec} {12 string cvs true charpath
flattenpath} ifelse}
ifelse} repeat pop pathbbox grestore 3 -1 roll pop 3
1 roll just
1 and 0 gt {just 2 and 0 gt {exch pop neg fspc sub}
{exch sub 0.5
mul neg} ifelse} {pop neg fspc add} ifelse exch
Bline exch just 4
and 0 gt {just 8 and 0 gt {exch pop neg fspc sub}
{add 0.5 mul neg}
ifelse} {pop neg fspc add} ifelse rotval rotate Kn
currentpoint
translate /showflag 1 def /Bline 0 def /Tabs 0 array
def /fscale
1.0 def /kY 0 def {dup type /stringtype eq {mshow}
{dup type
/arraytype eq {exec} {12 string cvs mshow} ifelse}
ifelse} repeat
grestore } def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat }
ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate
0 0 moveto neg rotate dup scale cvx exec image
grestore } def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb }
bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin %
default params
dup type /dicttype ne {1 dict} if
begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce
3 array
astore def gsave sce translate 0 0 moveto neg rotate
dup abs scale
} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end} bind def
/hlevel 0 def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7
array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll
neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop
grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0
setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0
setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256
and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style
8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore}
def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat
setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1
roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 0 setlinejoin 6
setmiterlimit 0 0 0 scb cRedef } def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def
bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
/Polarized {
<</value (1.0) /units (p) /idx (?) /p_jst 20 /p_rot 0 /pkg
(AXIAL_400) >> begingate
1 1.00 0 -64 0 -6 2 polygon
1 1.00 0 64 0 6 2 polygon
1 1.00 -32 6 32 6 2 polygon
1 1.00 0 -80 74 66.00 114.00 xcarc
1.000 0.000 0.000 scb
(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
0.180 0.545 0.341 scb
mark units value ( %p1 %p2 ) idx (spice:C) {/Times-Roman cf} ctmk 4 0
1.00 -208
-160 infolabel
(sim:e %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
sce
mark (F) units {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 48 0
label
0.180 0.545 0.341 scb
mark idx (pcb:C) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
endgate
} def
/Resistor {
<</value (1.0) /units (k) /idx (?) /p_jst 20 /p_rot 0 /pkg
(AXIAL_400) >> begingate
1 1.00 0 64 0 36 2 polygon
1 1.00 0 -64 0 -36 2 polygon
1 1.00 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
1.000 0.000 0.000 scb
(1) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
(2) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
0.180 0.545 0.341 scb
mark units value ( %p1 %p2 ) idx (spice:R) {/Times-Roman cf} ctmk 4 0
1.00 -208
-160 infolabel
(sim:r %p1 %p2) {/Times-Roman cf} 2 4 0 1.00 -208 -208 infolabel
sce
mark (W) {/Symbol cf} units {hS} value {/Times-Roman cf} ctmk p_jst
p_rot 1.00
32 0 label
0.180 0.545 0.341 scb
mark idx (pcb:R) {/Times-Roman cf} ctmk 20 0 1.00 -208 -256 infolabel
endgate
} def
/gnd {
% trivial
begingate
1 1.00 0 0 0 -32 2 polygon
1 1.00 -32 -32 32 -32 2 polygon
1 1.00 -18 -46 18 -46 2 polygon
1 1.00 -4 -60 4 -60 2 polygon
0.933 0.604 0.000 scb
(GND) {/Times-Roman cf} 2 1 0 1.00 0 0 pinglobal
endgate
} def
/source {
% hidden
begingate
1 1.00 0 0 32 0.00 360.00 xcarc
1 1.00 0 32 0 64 2 polygon
1 1.00 0 -32 0 -64 2 polygon
endgate
} def
/Vsource {
<</value (5) /p_jst 20 /p_rot 0 >> begingate
1.00 0 0 0 source
(+) {/Symbol cf} 2 5 p_rot 1.00 0 18 label
(-) {/Symbol cf} 2 5 p_rot 1.00 0 -18 label
1.000 0.000 0.000 scb
(v.p) {/Times-Roman cf} 2 9 0 1.00 0 64 pinlabel
(v.m) {/Times-Roman cf} 2 13 0 1.00 0 -64 pinlabel
0.180 0.545 0.341 scb
mark value (spice:V%i %pv.p %pv.m ) {/Times-Roman cf} ctmk 20 0 1.00
-96 -160
infolabel
sce
mark (V) {hS} value {/Times-Roman cf} ctmk p_jst p_rot 1.00 48 0 label
endgate
} def
%%EndSetup
%%Page: 1 1
%%PageOrientation: Portrait
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 496 444 translate
1.00 0 160 -64 <</value (3.0) >> Polarized
1.00 0 -80 -64 Resistor
1.00 0 -128 -192 gnd
1 1.00 -128 -192 160 -192 160 -128 3 polygon
1 1.00 -80 -128 -80 -192 2 polygon
1 1.00 -80 0 -80 48 -272 48 -272 0 4 polygon
1 1.00 -80 48 160 48 160 0 160 -16 4 polygon
1 1.00 -128 -192 -272 -192 -272 -128 3 polygon
1.00 0 -272 -64 Vsource
1.000 0.000 0.000 scb
(vcc) {/Helvetica cf} 2 16 0 1.00 -128 48 pinlabel
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF