diff options
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.m4 | 59 |
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 |