diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4')
-rw-r--r-- | Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 new file mode 100644 index 00000000000..2f9659ee42f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 @@ -0,0 +1,25 @@ +.PS +# Decoder.m4 +log_init(svg_font(sans-serif,11bp__)) + + define(`nlines',3) # OK for nlines from 1 to approximately 4 + + define(`ndata',`eval(2**nlines-1)') + for_(0,nlines-1,1, + `{right_; A`'m4x: dot(at rsvec_(0,m4x*AND_ht)) + "svg_it(A`'svg_sub(m4x))" wid 0.2 at last [].w rjust}') + + for_(0,ndata,1, + `define(`m4y',m4x) down_ + G`'m4y: AND_gate(nlines) \ + at A0+svec_(AND_ht*3/2,(m4y+1/2)*AND_ht*3/2) + line down linewid/3; dot; "svg_it(D`'svg_sub(m4y))" at last [].s below + for_(0,nlines-1,1, + `ifelse(eval(m4y/2**m4x%2),0, + `up_; NOT_circle with .s at',`move to') G`'m4y.In`'eval(nlines-m4x) + line to (Here,A`'m4x) ifelse(m4y,ndata,`then to A`'m4x',`; dot') + ') + ') + + command "</g>" # end font +.PE |