summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/circuit-macros/examples/MosfetElements.m4
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuit-macros/examples/MosfetElements.m4')
-rw-r--r--Master/texmf-dist/doc/latex/circuit-macros/examples/MosfetElements.m478
1 files changed, 78 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/MosfetElements.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/MosfetElements.m4
new file mode 100644
index 00000000000..b8786e20e8b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/MosfetElements.m4
@@ -0,0 +1,78 @@
+.PS
+# MosfetElements.m4
+cct_init
+s_init(MosfetElements)
+
+ linewid = linewid*1.5
+ linethick = 1.5
+
+define(`mfgrid',
+ `tr_xy_init(,m4_U,m4R)define(`m4R',)
+ ltt = linethick; linethick = 0.4
+ m4gdim = ifelse(`$1',,4,`($1)')
+ iflatex(`latexcommand(\color{lightgray})')
+ for x=-m4gdim to m4gdim do {
+ line color "lightgray" from tr_xy(x,0) to tr_xy(x,2*m4gdim)
+ if pmod(x,2)==0 then { sprintf("{\tiny %g}",x) at last line.start below }}
+ for y=0 to 2*m4gdim do {
+ line color "lightgray" from tr_xy(-m4gdim,y) to tr_xy(m4gdim,y)
+ if pmod(y,2)==0 then { sprintf("{\tiny %g}",y) at last line.start rjust }}
+ linethick = ltt
+ iflatex(`latexcommand(\color{black})')
+ Grid: box invis wid 2*m4gdim*m4_xyU ht 2*m4gdim*m4_xyU \
+ with .sw at tr_xy(-m4gdim,0)
+')
+define(`gridnext',`with .Grid.w at last [].Grid.e + (m4_xyU*2,0)')
+define(`gridbelow',`with .Grid.nw at `$1'.Grid.sw+(0,-linewid/2)')
+define(`Gmosfet',`mfgrid; Q: mosfet(,,`$1') with .S at Grid.sw + (2*m4_xyU,0)')
+
+R1: [ Gmosfet(B); "B" at Q.Bl ljust ]
+ [ Gmosfet(D); "D" at Q.Dl ljust ] gridnext
+ [ Gmosfet(E); "E" at Q.Channel below ] gridnext
+ [ Gmosfet(F); "F" at Q.Channel below ] gridnext
+ [ Gmosfet(G); "G" at Q.Gl ljust ] gridnext
+ [ Gmosfet(H); "H" at Q.Hl ljust ] gridnext
+ [ Gmosfet(L); "L" at Q.Ll ] gridnext
+ [ Gmosfet(M); "M" at Q.Glh below ] gridnext
+
+R2:[ Gmosfet(uM); "uM" at Q.Gl ] gridbelow(R1)
+ [ Gmosfet(dM); "dM" at Q.Gl ] gridnext
+ [ Gmosfet(Pz); "Pz" at Grid.s ] gridnext
+ [ Gmosfet(Q); "Q" at Q.Ql above ] gridnext
+ [ Gmosfet(R); "R" at Q.Rl below ] gridnext
+ [ Gmosfet(S); "S" at Q.Sl ljust ] gridnext
+ [ Gmosfet(dT); "dT" at Q.Tl below ] gridnext
+ [ Gmosfet(X); "X" at Q.Xh above ] gridnext
+
+R3:[ Gmosfet(uM1)
+ "uM1" at Grid.s above
+ "G0" at Q.G0 above
+ "G1" at Q.G1 above ] gridbelow(R2)
+ [ Gmosfet(dM1)
+ "G0" at Q.G0 above
+ "G1" at Q.G1 above
+ "dM1" at Grid.s above ] gridnext
+
+# [ Q: mosfet
+# {"S" at Q.S rjust}
+# {"D" at Q.D ljust}
+# {"G" at Q.G rjust}
+# s_box(``mosfet'') at Q.s below]
+#
+# [ Q: mosfet(,,DSELuBQ)
+# s_box(``mosfet(,,DSELuBQ)'') at Q.s below] with .n at last [].s + (0,-0.2)
+#
+# [ Q: mosfet(,,DSEMuBQ)
+# s_box(``mosfet(,,DSEMuBQ)'') at Q.s below] with .n at last [].s + (0,-0.2)
+#
+# [ Q: mosfet(,,DSEdMuBQ)
+# s_box(``mosfet(,,DSEdMuBQ)'') at Q.s below] with .n at last [].s + (0,-0.2)
+#
+# [ Q: mosfet(right dimen_,,DSELuBQN)
+# {"S" at Q.S rjust}
+# {"D" at Q.D ljust}
+# {"G" at Q.G rjust}
+# s_box(``mosfet(right dimen\_,,DSELuBQN)'') at Q.s below] \
+# with .n at last [].s + (0,-0.2)
+
+.PE