summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4')
-rw-r--r--Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m459
1 files changed, 59 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4
new file mode 100644
index 00000000000..ec89a62bb02
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4
@@ -0,0 +1,59 @@
+.PS
+# Logic.m4
+log_init(svg_font(sans-serif,11bp__))
+xgap = 0.5
+[ dmov = 0.4
+{ {AND_gate ; "`AND_gate'" ljust at last [].w + (xgap,0)}
+ move down dmov; right_
+ {OR_gate ; "`OR_gate'" ljust at last [].w + (xgap,0)}
+ move down dmov; right_
+ {BUFFER_gate ; "`BUFFER_gate'" ljust at last [].w + (xgap,0)}
+ move down dmov; right_
+ {XOR_gate ; "`XOR_gate'" ljust at last [].w + (xgap,0)}
+ }
+
+xgap = 0.65
+ move right_ 2
+{ { NAND_gate ; "`NAND_gate'" ljust at last [].w + (xgap,0) }
+ move down dmov; right_
+ { Gate: NOR_gate(3)
+ "`NOR_gate(3)'" ljust at last [].w + (xgap,0)
+ thinlines_
+ spline <- from Gate.Out right arrowht*2.0 \
+ then up 0.15 then right 0.05
+ "`Out'" ljust
+ spline <- from Gate.N_Out down arrowht*2.0 \
+ then right 0.1+arrowht*1.5+NOT_rad down 0.15-arrowht*2.0
+ "`N_Out'" ljust
+ for_(1,3,1,
+ `arrow <- left 0.2 down 0.05 from Gate.In`'m4x
+ "In`'m4x" rjust at Here+(0,(2-m4x)*0.02)')
+ }
+ thicklines_
+ move down dmov; right_
+ { NOT_gate ; "`NOT_gate'" ljust at last [].w + (xgap,0) }
+ move down dmov; right_
+ { NXOR_gate ; "`NXOR_gate'" ljust at last [].w + (xgap,0) }
+}
+ move right_ 2
+{ {B: NAND_gate(,B) ; "`NAND_gate(,B)'" ljust at B.w + (xgap,0)}
+ { line invis right 1.8 from last [].se then down 1}
+ move down dmov; right_
+ move left N_diam*L_unit; right_
+ {NOR_gate(3,NB) ; "`NOR_gate(3,NB)'" ljust at (B.w,last []) + (xgap,0) }
+ move down dmov; right_
+ {BOX_gate(PN,N,,,=1)
+ "`BOX_gate(PN,N,,,=1)'" ljust at (B.w,last []) + (xgap,0)
+ line left 0.15 from last [].In1
+ line left 0.15-NOT_rad*2 from last [].In2
+ line right 0.15 from last [].Out }
+ move down dmov; move right_ N_diam*L_unit
+ {BOX_gate(PP,N,,,=)
+ "`BOX_gate(PP,N,,,=)'" ljust at (B.w,last []) + (xgap,0)
+ line left 0.15 from last [].In1
+ line left 0.15 from last [].In2
+ line right 0.15 from last [].Out }
+}
+]
+ command "</g>" # end font
+.PE