diff options
Diffstat (limited to 'graphics/circuit_macros/examples/nsvg/dev/test.pic')
-rw-r--r-- | graphics/circuit_macros/examples/nsvg/dev/test.pic | 383 |
1 files changed, 383 insertions, 0 deletions
diff --git a/graphics/circuit_macros/examples/nsvg/dev/test.pic b/graphics/circuit_macros/examples/nsvg/dev/test.pic new file mode 100644 index 0000000000..d035baa113 --- /dev/null +++ b/graphics/circuit_macros/examples/nsvg/dev/test.pic @@ -0,0 +1,383 @@ +.PS +# ex08.m4 +# log_init Version 9.3: TikZ PGF m4 macro settings. + +# log_init begin + # gen_init Version 9.3: TikZ PGF m4 macro settings. + + + define rpoint__ { + rp_wid = last line.end.x-last line.start.x + rp_ht = last line.end.y-last line.start.y + rp_len = sqrt(abs((rp_wid)^2+(rp_ht)^2)); move to last line.start + rp_ang = atan2(rp_ht,rp_wid) } + + rtod_ = 57.295779513082323; dtor_ = 0.017453292519943295 + twopi_ = 6.2831853071795862; pi_ = (twopi_/2) + rp_ang = 0; right + + + linethick = 0.8 + arrowwid = 0.05*scale; arrowht = 0.1*scale + + + # gen_init end + + +# log_init end + + + + +# Input labels +C: (0,0); "\sf C " rjust at C +DE: C+(0,((linewid/10))*((2*3)*7/4)) +A0: DE+(0,((linewid/10))*(4*3/2)); "\sf A0 " rjust at A0 +A1: A0+(0,((linewid/10))*(4*3/2)); "\sf A1 " rjust at A1 +A2: A1+(0,((linewid/10))*(4*3/2)); "\sf A2 " rjust at A2 + move to (-0.2,0) # Lettering within the global object + +# Buffer strings + line right 3*(linewid/10)*5/2 from A2 + B1: [Tm: line from (((linewid/10))*(3.5),0) \ + to (0,((linewid/10))*(-4/2)) \ + then to (0,((linewid/10))*(4/2)) \ + then to (((linewid/10))*(3.5),0) + Tc: (((linewid/10))*(3.5/2),0) + NE: (((linewid/10))*(3.5/2),((linewid/10))*(4/4)) + SE: (((linewid/10))*(3.5/2),((linewid/10))*(-4/4)) + Out: (((linewid/10))*(3.5+(3/2)),0) + N_Out: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(3.5+((3/2)/2)),0) + In1: (0,0) + C: (((linewid/10))*(3.5/3),0) + + + + ]; line right 2*(linewid/10)*5/2 + T1: last line.c + B2: [Tm: line from (((linewid/10))*(3.5),0) \ + to (0,((linewid/10))*(-4/2)) \ + then to (0,((linewid/10))*(4/2)) \ + then to (((linewid/10))*(3.5),0) + Tc: (((linewid/10))*(3.5/2),0) + In1: (((linewid/10))*(-(3/2)),0) + N_In1: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(-((3/2)/2)),0) + NE: (((linewid/10))*(3.5/2),((linewid/10))*(4/4)) + SE: (((linewid/10))*(3.5/2),((linewid/10))*(-4/4)) + Out: (((linewid/10))*(3.5),0) + C: (((linewid/10))*(3.5/3),0) + + + + ] + line right 3*(linewid/10)*5/2 from A1 + B3: [Tm: line from (((linewid/10))*(3.5),0) \ + to (0,((linewid/10))*(-4/2)) \ + then to (0,((linewid/10))*(4/2)) \ + then to (((linewid/10))*(3.5),0) + Tc: (((linewid/10))*(3.5/2),0) + NE: (((linewid/10))*(3.5/2),((linewid/10))*(4/4)) + SE: (((linewid/10))*(3.5/2),((linewid/10))*(-4/4)) + Out: (((linewid/10))*(3.5+(3/2)),0) + N_Out: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(3.5+((3/2)/2)),0) + In1: (0,0) + C: (((linewid/10))*(3.5/3),0) + + + + ]; line right 2*(linewid/10)*5/2 + T2: last line.c + B4: [Tm: line from (((linewid/10))*(3.5),0) \ + to (0,((linewid/10))*(-4/2)) \ + then to (0,((linewid/10))*(4/2)) \ + then to (((linewid/10))*(3.5),0) + Tc: (((linewid/10))*(3.5/2),0) + In1: (((linewid/10))*(-(3/2)),0) + N_In1: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(-((3/2)/2)),0) + NE: (((linewid/10))*(3.5/2),((linewid/10))*(4/4)) + SE: (((linewid/10))*(3.5/2),((linewid/10))*(-4/4)) + Out: (((linewid/10))*(3.5),0) + C: (((linewid/10))*(3.5/3),0) + + + + ] + line right 3*(linewid/10)*5/2 from A0 + B5: [Tm: line from (((linewid/10))*(3.5),0) \ + to (0,((linewid/10))*(-4/2)) \ + then to (0,((linewid/10))*(4/2)) \ + then to (((linewid/10))*(3.5),0) + Tc: (((linewid/10))*(3.5/2),0) + NE: (((linewid/10))*(3.5/2),((linewid/10))*(4/4)) + SE: (((linewid/10))*(3.5/2),((linewid/10))*(-4/4)) + Out: (((linewid/10))*(3.5+(3/2)),0) + N_Out: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(3.5+((3/2)/2)),0) + In1: (0,0) + C: (((linewid/10))*(3.5/3),0) + + + + ]; line right 2*(linewid/10)*5/2 + T3: last line.c + B6: [Tm: line from (((linewid/10))*(3.5),0) \ + to (0,((linewid/10))*(-4/2)) \ + then to (0,((linewid/10))*(4/2)) \ + then to (((linewid/10))*(3.5),0) + Tc: (((linewid/10))*(3.5/2),0) + In1: (((linewid/10))*(-(3/2)),0) + N_In1: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(-((3/2)/2)),0) + NE: (((linewid/10))*(3.5/2),((linewid/10))*(4/4)) + SE: (((linewid/10))*(3.5/2),((linewid/10))*(-4/4)) + Out: (((linewid/10))*(3.5),0) + C: (((linewid/10))*(3.5/3),0) + + + + ] + + +B7: [Tm: line from (((linewid/10))*(3.5),0) \ + to (0,((linewid/10))*(-4/2)) \ + then to (0,((linewid/10))*(4/2)) \ + then to (((linewid/10))*(3.5),0) + Tc: (((linewid/10))*(3.5/2),0) + NE: (((linewid/10))*(3.5/2),((linewid/10))*(4/4)) + SE: (((linewid/10))*(3.5/2),((linewid/10))*(-4/4)) + Out: (((linewid/10))*(3.5),0) + In1: (0,0) + C: (((linewid/10))*(3.5/3),0) + + + + ] at (B1,C) + +G1: [ Bt: line from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (0,((linewid/10))*((2*3)/2)) chop 0 chop -(linethick *(scale/72)/2) + ArcB: arc cw to (0,((linewid/10))*(-(2*3)/2)) \ + with .c at (((linewid/10))*(0-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)),0) + Bb: line to (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) chop -(linethick *(scale/72)/2) chop 0 + ArcN: arc cw from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + ArcS: arc ccw from (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + NE: (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((60)*dtor_)))) + SE: (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((-60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((-60)*dtor_)))) + N_Out: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(0+7+((3/2)/2)),0) + Out: (((linewid/10))*(0+7+(3/2)),0) + In1: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*1))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*1))) + + In2: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*2))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*2))) + + + + C: (((linewid/10))*(0+7/2),0) + ] with .Out at (B1.Out,DE) +G2: [ Bt: line from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (0,((linewid/10))*((2*3)/2)) chop 0 chop -(linethick *(scale/72)/2) + ArcB: arc cw to (0,((linewid/10))*(-(2*3)/2)) \ + with .c at (((linewid/10))*(0-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)),0) + Bb: line to (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) chop -(linethick *(scale/72)/2) chop 0 + ArcN: arc cw from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + ArcS: arc ccw from (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + NE: (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((60)*dtor_)))) + SE: (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((-60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((-60)*dtor_)))) + N_Out: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(0+7+((3/2)/2)),0) + Out: (((linewid/10))*(0+7+(3/2)),0) + In1: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*1))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*1))) + + In2: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*2))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*2))) + + + + C: (((linewid/10))*(0+7/2),0) + ] at (B2+(((linewid/10))*(((3/2)/2)),0),G1-(0,((linewid/10))*((2*3)))) +G3: [ Bm: line from (((linewid/10))*(7-(2*3)/2),((linewid/10))*(-(2*3)/2)) \ + to (0,((linewid/10))*(-(2*3)/2)) \ + then to (0,((linewid/10))*((2*3)/2)) then \ + to (((linewid/10))*(7-(2*3)/2),((linewid/10))*((2*3)/2)) + Arc: arc cw rad (2*3)/2 \ + to Here+(0,((linewid/10))*(-(2*3))) \ + with .c at Here+(0,((linewid/10))*(-(2*3)/2)) + NE: (((linewid/10))*(7-(2*3)/2),0)+(((linewid/10))*(((2*3)/2)*(cos((45)*dtor_))),((linewid/10))*(((2*3)/2)*(sin((45)*dtor_)))) + SE: (((linewid/10))*(7-(2*3)/2),0)+(((linewid/10))*(((2*3)/2)*(cos((-45)*dtor_))),((linewid/10))*(((2*3)/2)*(sin((-45)*dtor_)))) + Out: (((linewid/10))*(7),0) + + In1: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-1))) + In2: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-2))) + In3: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-3))) + In4: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-4))) + + C: (((linewid/10))*(7/2),0) + ] with .In1 at (G2.Out+(9*(linewid/10)*5/2,0),A2) +G5: [ Bm: line from (((linewid/10))*(7-(2*3)/2),((linewid/10))*(-(2*3)/2)) \ + to (0,((linewid/10))*(-(2*3)/2)) \ + then to (0,((linewid/10))*((2*3)/2)) then \ + to (((linewid/10))*(7-(2*3)/2),((linewid/10))*((2*3)/2)) + Arc: arc cw rad (2*3)/2 \ + to Here+(0,((linewid/10))*(-(2*3))) \ + with .c at Here+(0,((linewid/10))*(-(2*3)/2)) + NE: (((linewid/10))*(7-(2*3)/2),0)+(((linewid/10))*(((2*3)/2)*(cos((45)*dtor_))),((linewid/10))*(((2*3)/2)*(sin((45)*dtor_)))) + SE: (((linewid/10))*(7-(2*3)/2),0)+(((linewid/10))*(((2*3)/2)*(cos((-45)*dtor_))),((linewid/10))*(((2*3)/2)*(sin((-45)*dtor_)))) + Out: (((linewid/10))*(7),0) + + In1: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-1))) + In2: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-2))) + In3: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-3))) + In4: (0,((linewid/10))*((2*3)/min(4,6-1)*((4+1)/2-4))) + + C: (((linewid/10))*(7/2),0) + ] with .In4 at (G3.In1,G2.Out) +G6: [ Bm: line from (((linewid/10))*(7-(2*3)/2),((linewid/10))*(-(2*3)/2)) \ + to (0,((linewid/10))*(-(2*3)/2)) \ + then to (0,((linewid/10))*((2*3)/2)) then \ + to (((linewid/10))*(7-(2*3)/2),((linewid/10))*((2*3)/2)) + Arc: arc cw rad (2*3)/2 \ + to Here+(0,((linewid/10))*(-(2*3))) \ + with .c at Here+(0,((linewid/10))*(-(2*3)/2)) + NE: (((linewid/10))*(7-(2*3)/2),0)+(((linewid/10))*(((2*3)/2)*(cos((45)*dtor_))),((linewid/10))*(((2*3)/2)*(sin((45)*dtor_)))) + SE: (((linewid/10))*(7-(2*3)/2),0)+(((linewid/10))*(((2*3)/2)*(cos((-45)*dtor_))),((linewid/10))*(((2*3)/2)*(sin((-45)*dtor_)))) + Out: (((linewid/10))*(7),0) + + In1: (0,((linewid/10))*((2*3)/min(2,6-1)*((2+1)/2-1))) + In2: (0,((linewid/10))*((2*3)/min(2,6-1)*((2+1)/2-2))) + + C: (((linewid/10))*(7/2),0) + ] at G5+(((linewid/10))*(7),((linewid/10))*((2*3)*3/4))+((linewid/10)*5/2*2,0) +G4: [ Bt: line from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (0,((linewid/10))*((2*3)/2)) chop 0 chop -(linethick *(scale/72)/2) + ArcB: arc cw to (0,((linewid/10))*(-(2*3)/2)) \ + with .c at (((linewid/10))*(0-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)),0) + Bb: line to (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) chop -(linethick *(scale/72)/2) chop 0 + ArcN: arc cw from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + ArcS: arc ccw from (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + NE: (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((60)*dtor_)))) + SE: (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((-60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((-60)*dtor_)))) + N_Out: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(0+7+((3/2)/2)),0) + Out: (((linewid/10))*(0+7+(3/2)),0) + In1: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*1))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*1))) + + In2: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*2))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*2))) + + + + C: (((linewid/10))*(0+7/2),0) + ] with .In1 at (G6.Out,G3)+(2*(linewid/10)*5/2,0) +G7: [ Bt: line from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (0,((linewid/10))*((2*3)/2)) chop 0 chop -(linethick *(scale/72)/2) + ArcB: arc cw to (0,((linewid/10))*(-(2*3)/2)) \ + with .c at (((linewid/10))*(0-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)),0) + Bb: line to (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) chop -(linethick *(scale/72)/2) chop 0 + ArcN: arc cw from (((linewid/10))*(0+7/3),((linewid/10))*((2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + ArcS: arc ccw from (((linewid/10))*(0+7/3),((linewid/10))*(-(2*3)/2)) \ + to (((linewid/10))*(0+7),0) \ + with .c at (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3)))) + NE: (((linewid/10))*(0+7/3),((linewid/10))*(-((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((60)*dtor_)))) + SE: (((linewid/10))*(0+7/3),((linewid/10))*(((7*2/3)^2-((2*3)/2)^2)/((2*3))))+(((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(cos((-60)*dtor_))),((linewid/10))*(((2*3)/2+((7*2/3)^2-((2*3)/2)^2)/((2*3)))*(sin((-60)*dtor_)))) + N_Out: circle diam (3/2)*(linewid/10) \ + at (((linewid/10))*(0+7+((3/2)/2)),0) + Out: (((linewid/10))*(0+7+(3/2)),0) + In1: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*1))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*1))) + + In2: (((linewid/10))*(-sqrt((7*(2*3)/((2*3)))^2-((2*3)/2)^2)+sqrt((7*(2*3)/((2*3)))^2-((2*3)/2/min(2,6-1)*(2+1-2*2))^2)),((linewid/10))*((2*3)/2/min(2,6-1)*(2+1-2*2))) + + + + C: (((linewid/10))*(0+7/2),0) + ] with .In2 at (G4.In2,G5.Out) + +# Output to other latches +TOL: (G2.Out,C)+(4*(linewid/10)*5/2,-4*(linewid/10)) + move to TOL+(3*(linewid/10)*5/2,-(linewid/10)*5/2/3) ; {move down 0.15} + "\sf {\sl To other latches}" below + +# Remaining input lines + line from G1.In1 to (DE,G1.In1); "\sf D " rjust + line from G1.In2 to (DE,G1.In2); "\sf E " rjust + [ circle rad (0.04*linewid) fill 0 ] with .c at G1.In2-((linewid/10)*5/2,0) + move to last [].c; line to (Here,G2.In2) then to G2.In2 + line from C to B7.In1 + +# Connect Bi, and connect to output bus + [ circle rad (0.04*linewid) fill 0 ] with .c at T1.c + move to last [].c ; line down (A2.y-A1.y)/2 + line to (TOL-(1*(linewid/10)*5/2,0),Here) ; arrow to (Here,TOL) + [ circle rad (0.04*linewid) fill 0 ] with .c at T2.c + move to last [].c ; line down (A2.y-A1.y)/2 + line to (TOL-(2*(linewid/10)*5/2,0),Here) ; arrow to (Here,TOL) + [ circle rad (0.04*linewid) fill 0 ] with .c at T3.c + move to last [].c ; line down (A2.y-A1.y)/2 + line to (TOL-(3*(linewid/10)*5/2,0),Here) ; arrow to (Here,TOL) + + +# G1 to G2 + [ circle rad (0.04*linewid) fill 0 ] with .c at (T1.c,G1) + move to last [].c; line to (Here,G2.In1) then to G2.In1 + +# Upper And inputs to output bus + line left 4*(linewid/10)*5/2 from G3.In1 + arrow to (Here,TOL) + line left 3*(linewid/10)*5/2 from G3.In2 + arrow to (Here,TOL) + line left 2*(linewid/10)*5/2 from G3.In3 + arrow to (Here,TOL) + line left 1*(linewid/10)*5/2 from G3.In4 + arrow to (Here,TOL) + + + line from B2.Out to (G3.In1,B2)-(4*(linewid/10)*5/2,0) ; [ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c + line from B4.Out to (G3.In2,B4)-(3*(linewid/10)*5/2,0) ; [ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c + line from B6.Out to (G3.In3,B6)-(2*(linewid/10)*5/2,0) ; [ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c + line from G1.Out to (G3.In4,G1)-((linewid/10)*5/2,0) ; [ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c + +# Lower And inputs + line left 4*(linewid/10)*5/2 from G5.In1 ; [ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c + line left 3*(linewid/10)*5/2 from G5.In2 ; [ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c + line left 2*(linewid/10)*5/2 from G5.In3 ; [ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c + line from G2.Out to G5.In4 ; [ circle rad (0.04*linewid) fill 0 ] with .c at (TOL,Here) + move to last [].c ; arrow to (Here,TOL) + +# Fix up G4, G6, G7 + line from G3.Out to G4.In1 + line right (linewid/10)*5/2 from G4.Out + {[ circle rad (0.04*linewid) fill 0 ] with .c at Here + move to last [].c; line right (linewid/10)*5/2 ; "\sf Q7" ljust; move right 0.2 } # letters in object + line down 2*(linewid/10)*5/2 then to G6.In1+(-(linewid/10)*5/2,(linewid/10)*5/2) + line to (Here,G6.In1) then to G6.In1 + line from G4.In2 to (G6.In1+(-(linewid/10)*5/2,0),G4.In2) + line down (linewid/10)*5/2 then to G7.Out+((linewid/10)*5/2,2*(linewid/10)*5/2) + line to (Here,G7) then to G7.Out + line from G6.Out right (linewid/10)*5/2 ; line to (Here,G7.In1) then to G7.In1 + line from G5.Out to G7.In2 + line left (linewid/10)*5/2 from G6.In2 ; arrow to (Here,TOL) + [ circle rad (0.04*linewid) fill 0 ] with .c at (Here,C) + move to last [].c ; line to B7.Out + +.PE |