Parrot BoxA Talking Peripheral for Alto, Apple, etc.Bufferholds newcoefficientsafter arrivalfrom hostuntilbeginning ofnext frameholds newcoefficientsinterpolator.Loadat frame.continuouslyLoad whendata arrivesfrom host;hold else.boundary;hold else.betweenexisting stateand newcoefficientsInterpolate.FOS(23)+TTL(1)FOS(23)+TTL(1)FOS(23)+TTL(1)[0][-1][-2][-3][ ] indicate word time delay relative to input of SynthFOS-b; oddFOS-b; evenFOS-a; odd.,interpolatesCoefficient PathPitchaccumulatespitch freq.overflowsscaleshigh bitsare signextensionsUKFOS(23)+TTL(1)Fos-a; 20FOS-a; 18sawtooth sotwo (or more)ScalerWRandomBitsTTLFlipFlopduring frame.Provides repet-itive input toFrameFramedXEROXFileProjectDesignerRevDatePagePARC01SpeechPascoParrot.Sil.Digital AudioDigital Audio24-bit Serial IntegersW>Control& TimingW.(TTL)Serial ROMGHAudioDAC.(TTL)To All Signal-Processing CircuitsiP/ii(Optional)12-bit parallel integersFsamp = 16 kHz implies Fclock = 8.448 MHz.Synth requires: 22 timeslots x 24 bits = 528 clocks/sample..to-SerialParallel-ParallelSerial-to-v/uvThree FOS channels for each of 10 coefficients, gain, pitch, and v/uvSmoothedBufferedRawRaw coefficients are loaded into buffer upon random arrival from host.Buffered coefficients are copied to Frame register upon receipt of "Frame" command.Smoothed coefficients from Interpolator drive Synth.Framed coefficients are low-pass-filtered by Interpolator with a time constant set by the "Frame" command.AReference>DataReadyAcknowledgeBus (8 bit)Parrot Conceptual Block DiagramLl:;To HostTo speakerPseudo-RandomNoise SourceSee ParOvw.Sil forinformation on interfacingGrrbX pbX* :W_$)Bf$ :BB $ :BB$A/BB$A/BB $8Bf$/W_$?WW_$H;Bf$?WBB $?WBB$A8H_$!VS!VtQ !VP !VO !VN !VM!VLf !VKJ )H_$0WQ 0WP 0WLf 0I0H.x@=@ttFI !VI !VH !VGf !VFI 0Gf 0FI @tP@tO@tN@tM @tGf =x@= tD0WD?DIXF:WF*FF,s#H7?B 0WB B :X$9 :Y $FxP :P@ttR :r_9tV$V$$$ V$9 9 9 ss ssd &H*  s s spsx tH :#r$:A$:A$e$rV$U! 0WO 0WN0WM0WpU9;tHp$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr9Ip90%: M$B$B$ @B$ H_$x@=,st+ 7+ ,s$$ @$$H$ A$e$rx;@= H$ H$<$@ V$6,$ 6 y$6 $ $Vt>V=f@-$x9 A$rH$  $$ $$ @$  Vt  @ $ <$ |9Ft>>*x;&WH$ $(t+(H(p:1sH$ %A$$&W$$.H$ &WA$1s$$9;H$ 1sA$9;9$9;k9$;tx<A$DXH$ <$$<$$ @F|FFtIXA$>p:/xDXA$$ $ $ $$9t s^$ t> < I p rxAY r-;<>><>><>><>>ParrotReferenceParrot OverviewParOvw.SilData (8-bit bus)>DataReadyAcknowledgeset the address register to the indicated addressMnemonicFormatMeaning/effectMSBLSBNoOpNo operation.LoadAddrFrameAddress 2n-1 represents the high-order 7 bits of what enters FOS-A during word time n.But a LoadData command into an odd address causes the high 7 bits presented, along with the low 7 bits previously loaded,into the Buffer.Copy coefficients from Buffer to Frame register, and*A LoadData command into an even address simply sticks the low 7 bits into a temporary register (not shown above),data1address010j11xxxx1x11Instruction SetRegister; then increment the Address Register.|??||?|??||??||?uiUItytyTYTYui......uiTYWhat host does:What Parrot does:InterfacingBus (8 bit)AcknowledgeDataReadyWhen Acknoledge is low and bus is stable, raises DataReady.When DataReady is high, reads data from bus.Raises Acknowledge and waits for DataReady to go low.Removes data (optional) and lowers Data Ready.Lowers Acknowledge.Places data on Bus and waits for Acknowledge to be low.Lowers Acknowledge and waits for DataReady to go high.Waits for Acknowledge to go high.70EnvironmentNote:data readyacknowledgeREADY'PICLKParrotVersatecSimilar to Versatec, except for timing.< VoicedV=0 => UnvoicedVoice/UnvoicedVPitch & FrameRate:Address 2n-2 represents the low-order 7 bits of what enters FOS-A during word time n (see ParFOS.Sil for explanation).6/23/81ss=0 => pitch synchronous; s=1 => fixed frame rate.set interpolation pole to z = 12^(j), and select:Ll:;Note on timing:Normally, "Acknowledge" is returned within a few microseconds ofDataReady, exceptthe next low-to-high transition in the MSB of either the Pitch NCO or theFrame NCO, depending on the state of the SyncMode bit s, which is setby the Frame command (see below).are for the information of the host, and not connected with handshaking circuits.Additional signals "Word-0" and "PitchMSB" and "FrameMSB"for the Frame command, which is deferred by Parrot until(reserved for future expansion)$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0<W $X5 $T$$|PAT$]AT$AT$9AV$:WU$AxO=AKCMCPZC;MC;O=:KJs c$_J$r _'@$ _'$ Vta X|$ X|@$X$r \$ VC$Q$r Q@$ Q$ V`g ]V VZ VY VT- VS K&$ K&@$KJ$r O$PJ VLf VM R_y$Um9$T9$xM|NVC$$S|U$xKZX`U$|\xZZb59$b9$_y$Y y$\9$[9$S|UZZ&U$xRDLU$|HxFYN49$N9$Ky$$O%[G:WNG %NXG%NXG -rUu p%: stX$xN!stVf sT $!1 v(Hs(H%:(Ht& & $ !  V z %4  r$e$e#$ #$#$s#$#$#$s#$#$# y$"s#$%^ V$!V!s $! $ $ $s $ $ $ $ y$"s!$" V$%$%$Vs%$%$ %$%$s%$%$% y$"sH$ V$!VVs]$]$Vs]$]$ ]$]$]$]$] y$"s$ V$s*:$t#.Vx)uV)ur)ur)u)u)u2% $/ $V4^$4^$]6$V8 $V8$]$)u$)u#)u#)u!)u!)u )u )u)u)uV; $4$94^$:)u1<V9$-5{$1 $)u2I$1 $V,V2I$9s5{$9$6$91<5{$-s|16<-Y-Y"s6<1 :x-5{$!V1<!V6$9"s9$#8$9#89$ vE(DsG t0 9 5 AI;(@-,(=5 <.(; C7(Bf6 ?!%!V%se .t:/u6 /5 7576/v777.t8':WUm$:|N:R_ $:P $:MstRsP$$? $e$V$5W $ yz$ y$- y$. y$0W y$2 y$3 y$+W y$ vd y$) y$( y$&W y$$ y$# y$!V y$t+ | 6tt+)$ Et| Gt+ F G  !V $# $$ $&W $( $) $ $+W $3 $2 $0W $. $- $ $ z$5W $ ]V$Ip $V $ $s|t+%*6t d* V$5W$z$$-$.$0W$2$3$+W$$)$($&W$$$#$!V$6t + 6t d v?Wpt%2%3$x;$t$$$$$H$(t3*:2@*:1 /u1*:t0I*:/E*:.e! ,,Q -I:318-. {U&f#XEROXFileProjectDesignerRevDatePagePARCSpeechPascoTitleAPresent StateNext StateIdleDataReadyBus.7Bus.6Bus.5AcknowledgeInputsOutputsxxxx10Idlexxxx0Idle100xxLoadLowLoadHighxx011(depend only on state)LoadHighLoadLowxxxxxxxxxxLoadAddr11xLoadAddrxxxxx011xx01111000110PSShiftxxxxx0011PSShiftPSShiftxxxx01010000001IncrAddrIncrAddr10xxx1110x10AcknowledgeAcknowledgeAcknowledgeAcknowledgeAcknowledgeIncrAddrParFSM.SilLoadAddr'IncrAddrFrameWord19xxxxxxxxxxxxxxxxxLoadJLoadJ01001Frame100xxxxxxxxxxxxxx1100xxFrameFrameAcknowledgexxxxxx010FrmLd00000000001WaitForFrameWaitForFrameWaitForFrameLS157Input SelectorQ3Q2Q1Q0TTTTD0RRRRRRRRB0D1B1D2B2D3B3SSBE'SCS'A8RA7A6A5A4A3A2A1A0Q7Q6Q5Q4Q3Q2Q1Q0RRRRRRRRTTTTTTTTSS472nCS'A4A3A2A1A0RRSRRRTTTTTTTTQ0Q1Q2Q3Q4Q5Q6Q7S288Output ROM32 x 8FrmLdIncrAddrLoadAddr'Q5Q4Q3Q2Q1Q0TTTTTTD5D4D3D2D1D0RRRRRRSSCKCL'LS174State MemoryNext-State ROM512 x 8........FSM.0FSM.1FSM.2FSM.3(LSB)(MSB)DataReadynnBitClkBus.7Bus.6Bus.5Addr.0Bit23Word19Addr.0Bit23100010011010101111001101000000010010001103nnMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMParrot control FSMWaitForShiftWaitForShiftWaitForShiftWaitForShift00000000000000000011001111LoadLowLoadHighLoadLowLoadHighBufLd00000000001LoadJ00000000010LoadJStartShiftStartShiftfrom ParHostBufLdAcknowledgeFrameTimeFrameTime'6/23/81x01MM$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0uI$@t?=f:=f3=f2=f)=f)Q+WQ-Q.Q0WQ.PJX@tPJ @tM / @t=f @t- @tKJ9ZIG9-IG:L-IG:9gIG9-J-G9-IG:(-IG:?W-IG:%:p tc. ]57Z$@7[$7F7E-7C7AI7?7=f7/7-7;-5WZ$]5W\9$5W-5W/5W=f5W?5WAI5WC5WE-5WF7I\$Z$9@t;-98I$96I$7IX:X:7I7I@t7I5:555W7I77I37I27I)7I)5355W55W3e33e)3e)1315W121712573e7523e@t5@t3e@t1 );-2;-3;-)92939:;-;-;- :Z$@ :[$"s[f :X :M :KJ :I :F :AI :=f :/ :;- :7I :5;- @t9 @tQ #H u&VtVVAV!z|Xt",O$$$ 9O$O$ ] |    t X ; t!d|XktV2|X$t"!|"t"","H"e" "!""&Wd&W&W&W&W&W&W!&W","O$$"O$ 9!|u!X!<!!!!!'''''t'X';'%X"O$'$ ]#t#%:$$|#%$>t<A<]<z<<<|;<t>;<<X<@t@@@@@@@<$>;|9;Ay$9;$8t9H;IG*-I$-1s-I$-8-I$-*x?-?/:?*=v-=v/:=v/:9-9*9/:;=-;=*;=*2Y-2Y/:2Y/:4-4*4/:6-6*6*'<-'</:'<*+-+/:+*)u-)u/:)u/:---*-/:0 -0 *0 1sH3H5H1sFY3FY5FY5A3A1sA5D 3D 1sD 1sM3M5M1sJ3J5J5O=3O=1sO=5Qv3Qv1sQv"$s$ 9ptF @tI @tF @tE- Z$`C$:XXM:M:FF=f:=f:;-;-7I:7I:55/:/KJ:I:KJI:AIAIU/sb`DD_;-57IX=fFIKJM/AI \;-/=fAIFIKJMX7I5D5] e ue DtDH $$]$y$](%$, 8\ ?Wp7t95W;-5W9,sx&.&Ng XEROXFileProjectDesignerRevDatePagePARCSpeechPascoAParrot-FOS ControlParFOS.SilFos-A/RandomTTL 1WDTTL 1WDTTL 1WDInputTTL 1WDInputInputInputInputInputInputInputInputInputInputInputInputv/uv bufferedv/uv rawPitch rawPitch bufferedPitch framed Pitch smoothedPhaserawrawrawrawrawrawrawrawrawrawrawk0Ak6k7k8k9k5k4k3k2k1Word TimeFos, Section A2120191817161514131211109876543210Data InputFunctionInput0123456789101112131415161718192021Word TimeOutputNameSourceData OutputNameDest.Dest.NameData OutputSourceNameOutputWord Time2120191817161514131211109876543210InputFunctionData Input0123456789101112131415161718192021Word TimeFos, Section BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-AFos-AFos-AFos-AFos-AFos-AFos-AFos-AFos-AFos-AFos-Ak6k7k8k9k5k4k3k2k1k0AAk0k1k2k3k4k5k9k8k7k6framed framed framed framed framed framed framed framed framed framed framed bufferedbufferedbufferedbufferedbufferedbufferedbufferedbufferedbufferedbufferedbufferedframed framed framed framed framed framed framed framed framed framed framed k6k7k8k9k5k4k3k2k1k0AFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BbufferedbufferedbufferedbufferedbufferedbufferedbufferedbufferedbufferedbufferedAk1k2k3k4k5k9k8k7k6k0bufferedGlottalTTL 1WD0123456789101112131415161718192021Word Timek6k7k8k9k5k4k3k2k1k0AsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-Bsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedsmoothedk0k1k2k3k4k5k9k8k7k6SynthSynthSynthSynthSynthSynthSynthSynthSynthSynthSynthsmoothedAFos-AFos-AFos-AFos-AFos-AFos-Av/uv bufferedTTL 1-Word DelayPhasePitch smoothedPitch framed Pitch bufferedGlottalWord TimeInput2120191817161514131211109876543210Data InputNameSourceDest.0123456789101112131415161718192021Word TimeOutputTTL FlipFlop takes v/uv framed from FOS-A during Word Time 7.SynthK-InputNameSourceGlottal InputSourceNameControl Bus InputControl Bus InputFlipFlopv/uv framedv/uv bufferedTTL 1WDPitch bufferedTTL 1WDFos-AOutputPitch framed TTL 1WDPitch smoothedTTL 1WDPhaseTTL 1WDFos-AFos-AFos-AFos-ASynthGlottalTTL 1WDBufferBufferBufferBufferBufferBufferBufferBufferBufferBufferBufferBufferBufferFrameFrameInterpolateNCOFrameInterpolateInterpolateFrameFrameInterpolateInterpolateFrameFrameInterpolateInterpolateFrameFrameInterpolateInterpolateFrameFrameInterpolateInterpolateFrameInterpolateFrame0251019202122201102201102201BufferFrameNCOSignal NameExplanation of FOS Control Bus Functions Referenced AboveControl BusHLLLLj0j1j2j3k0k1k2k3DIASFDSFADFASODDFDSO201HHHxxxLLLLLxxxxFrmLd'FrmLdHxxxxLxxxHHHFunctionLLDDiOLxHxxxxLLLLLxLHHNote: NCO could scale its own output, but we need separate scaler for RandomBits, so we use it for Phase-to-Glottal, too.LHxxHHHHxxxxxxxScale/4Scale/4LHLLxLLBit Time04ReferenceDDeOHHLHADeOLHJ0J1J2J3Interpolator divides its output by 2^7 = 128.HHHLInterpolate/128BufLd'BufLdFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BFos-BNCOInputBufferFRrawNBote: FR = FrameRateFRFRFRbufferedbufferedFos-AFos-ATTL 1WDbufferedFrameTimeParCont6/22/81$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0<%: tKJ -I{$zI{$zI{$zI{-$e-$c -$ VM VO VQ V] VZ VJ- VLf VN VP VS VT- VUJ VW VY V[ V^. V`gZ ]T- QO MKJLfJ-NPSYWUJ[^.`gJ-LfUJSPNWY[^.`gc rf9tJ-9KJ9Lf9M9N9O9P9Q9S9T-9UJ9VfWXYZ[]^._J`gad VI{$zcdVI{$z*:J-*:a*:`g*:_J*:^.*:]*:[*:Z*:Y*:X)W)Vf)UJ)T-)S)Q)P)O)N)M)Lf)KJ(c 'sI{$z(dc cd sc!c#CsCD CC(D's)A$z(C )+),,)-I).e)/)0)1)2)3)5)6,)7I*:8e*:9*::*:;*:<*:=*:?*:@-*:AI*:)DCV)A$zV)A$zD 3AI3@-3?3=3<3;3:3938e37I36,35333231303/3.e3-I3,,3+3)C B-$E-$)A-$)A$z)A$z-)A$z rF Vt,, V) V.e V0 V2 V9 V7I V5 V; V= V@- V+ V-I V/ V8e V6, V3 V1 V: V< V? VAI31/-I6,8e:<?AI+)@-=;97I5,,.e02V,,V)V.eV0V2V9V7IV5V;V=V@-V+V-IV/V6,V3V1V8eV:V<VAIV?AI?<6,8e:31/+-I31/-I6,8e:<?AI+#AI#?#<#6,#8e#:#3#1#/#+#-I`g^.[YSUJWPNLfLf`g^.[YWNPSUJJ-J-KJ#KJ3a3`g3_J3^.3]3[3Z3Y3X3W3Vf3UJ3T-3S3Q3P3O3N3M3Lf3KJ3J-0c 8Q8O8M8KJ8T-8Vf8X8Z8]8_J8a9a9_J9]9Z9Q9T-9Vf9X9O9M9KJ0c $0e$0I{$0I{$zMI{$z6tI{$z>a>_J>]>Vf>X>Z>T->Q>O>KJ>M,,.e097I52;=@-@-=;97I5,,.e02#@-#=#;#5#7I#9#2#0#.e#)#,,))=)=,,=.e=0=2=;7; 8rF7t,,7.e70 727)1sC 2D9)9+9,,9-I9.e9/909192939596,7I8e9:;<=?@-AIA)A$z6t)A$z0)A$z0)A$0E$0B$8D 7C=CBCL)A$zIX)IXAIIX@-IX?IX=IX<IX;IX:IX9IX8eH7IH6,H5H3H2H1H0H/H.eH-IH,,H+GC F)A$zH;D=5Wrf8td8c>cBI$VEtd IXcC;crDrd#ZZ ] #]T-#T-B;BDQ #QO#OM#MB2B0B.eB,,B)C;aHar`gr^.r]r[rYrWrUJrT-rSrPrNrLfrJ-rZrQrO rMrAIr@- r= r?r:r9 r; r<r8er7I r5 r6,r1r0 r2 r3r/r.e r,, r-Ir) r+dUUUdUU : $V $% $$(! $ :+- $3/1s $= $;t?W9; $7C;D $KGH $!V9; r r"s9p LGL G 9LfG 9G G G G) G5W GA GLGLGtd 9 9d 9 9dV  d d  r  $ r $VV Vdd ###d#VVdVV&W#'s's'sd's :# ##d'sd's 's$p3t/V+/?W?W?W?Wd?W;t;td;t;t7;t?Wd;td?W  y7?W;t ;tKdK KKKKdKKGdGG DrKJGGdGGGC;C;Ipu t+33 /  3d/d/:/:d/:/: -33d33*V#`g#^.#[#UJ#W#Y#S#P#N#J-#LfrVf VXrXXXUuHtXVf77IX9;7I=7IB7I VVfVfVf #Vf?Wp Ng qXEROXFileProjectDesignerRevDatePagePARCSpeechPascoTitleAParrot Control & Timing SectionParCont.SilCKSCOETEPCL'TLD'TRSRRRRRB0B2B3H0H1H2H3TTTSB1LS163LS163CKSCOETEPCL'TLD'TRSRRRRRB0B2B3H0H1H2H3TTTSB1BitClkBitClkHighHigh................HighHighBitClkBitClkHighHighCKSCOETEPCL'TLD'TRSRRRRRB0B2B3H0H1H2H3TTTSB1LS163LS163CKSCOETEPCL'TLD'TRSRRRRRB0B2B3H0H1H2H3TTTSB1Counts 22 words/sampleTRHGiLS04High........Counts 24 bits/wordBit0CS'A4A3A2A1A0RRSRRRTTTTTTTTQ0Q1Q2Q3Q4Q5Q6Q7S288nWord0nS288CS'A4A3A2A1A0RRSRRRTTTTTTTTQ0Q1Q2Q3Q4Q5Q6Q7ABTRRiLS00Bit23bit.4bit.3bit.2bit.1bit.0word.4word.3word.2word.1word.0SSTTTTTTTTRRRRRRRRQ0Q1Q2Q3Q4Q5Q6Q7A0A1A2A3A4A5A6A7CS1'CS2'S471nnCBB.1CBB.0LS153S1S2STTRRRRRRRRRROYOXY3Y2Y1Y0X3X2X1X0SEY'EX'00011011FunctionNCO or ScaleInterpolateFrameBufferCBit.1CBit.0CBit.0CBit.1CBit.1CBit.0Bit Time0251019202122000011110011001101010101otherxxxSubsA.1SubsA.0word.0word.1word.2word.3word.4SubsB.1SubsB.0S1S2STTRRRRRRRRRROYOXY3Y2Y1Y0X3X2X1X0SEY'EX'LS153CBA.1CBA.0nnnnLowJBufLdBufLd'FrmLdFrmLd'ROMROMLowBufLdFrmLdFrmLdBufLdnnLS153S1S2STTRRRRRRRRRROYOXY3Y2Y1Y0X3X2X1X0SEY'EX'CBB.2CBB.2S1S2STTRRRRRRRRRROYOXY3Y2Y1Y0X3X2X1X0SEY'EX'LS153nnBufLd'FrmLd'BufLd'FrmLd'nnWord21............Bit22LS04TRHGiTRHGiLS04BufLdFrmLdBufLd'FrmLd'Bit Time Decoder32 x 832 x 8Word Time DecoderFOS Control ROM256 x 805bit.4bit.4Fos AFos BUsualCBA.1UsualCBB.2UsualCBA.2UsualCBA.0CB*.2CB*.1CB*.0For* in {A,B}.1.0Word7UsualCBB.1UsualCBB.0Subs*.* controls substitutions of variables forconstants on FOS control bus lines as follows:Subs*UsualUsualUsualFosASrc0FosASrc1Word19JSerialL;:lbit timequantized indication of the bit time as follows:To reduce the size of the FOS Control ROM, it is addressed bythe three lines bit.4, CBit.1, and CBit.0, which form a coarselyfrom ParHostl:;Lword timePSTimeShiftJShiftJ is true during bit times 3,6,11,20word time (5 bits) and, instead of bit ime (5 bits),to ParHostto ParHostsee note belowWord11Timing CountersFOS Control Bus Signal Generators6/23/81$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0u53R0WT0WU0WX!0WZZ0W[v1,t^1,\1,[f4^4]4\4[f6PVf$ 0VC$0VC$ @6P|[v6PZZ6PY>0a`$1R1,t]2`g2PJ2FI3|A4tO1 G1 H1,FI6P|H4tFI6P|Lv0WI!53A0WD0WE0WH0WJ=0WKZ1,tN1,Lf1,KJ4N4M4Lf4KJ6PFI$ 0F&$0F&$ @6P|KZ6PJ=6PI!0QC$1A1,tM2T$2D$6tP&$8P&$]5WD{y$5WD{$5WT$5WTy$/S/S|$3S$3C$/C_$/C6t[U$6tD-H/|[v/ZZ/Y>/X!/KZ/J=/I!/H9PJ$ +T@$VI{U$9T@$ H I! J= KZ X! Y> ZZ [vtTDR$9 C C_$C$S$ S|$ STy$T$D{$D{y$R_ y$rP&$]P&$Y@$ H_$ H_$@VIVXVX|$ VD$ VT$OFI|AtO ]G ]H FI|HtFI|Lv I!A D E H J= KZ tN Lf KJANAMALfAKJFI$  F&$ F&$ @|KZJ=I! QC$ 2A tM VPJ V`gOVf|Rt_ ]W ]Y  Vf|X!tVf|\ Y>R T U X! ZZ [v t^ \ [fA^A]A\A[fVf$  VC$ VC$ @|[vZZY> a`$ 2R t]-ub|@d@AA@9tD.R$.R_ $-H_y$*:Y$.X|$6tT*:I$+D$$A&$]6t|\6t[v6tZZ6tY>\[vZZY> ub tQAH@K&@LB@M_@N{@O?|I!?KZBD ?H?J=?LvDFYDGvDHDIDJDKDMDN!@PS|r$DH$ @PH_$@PH_$ @C;tQfC;PJC;O-C;NC;LC;KC;JC;IAR9P&$6tO $$6tM $$6tL $$6tK $$BF$B|BvDM_$GtN|BvVF$tRHAK&ALBAM_AN{AO|I!KZ3D HJ=LvlFYlGvlHlIlJlKlMlN!S|r$lH$ H_$H_$ @tQfPJO-NLKJIDJ $JtAI$$A&%$O V$MV$LV$KV$&W|Bv&WBv*:@&A&?)@*:D{$&tD$C_$ J-9D$D{$D{$AI$U#Ey$#AI$A&#%$J r$#I{ y$P&r$P&$ [U$PJO-NLK:PJ:O-:N:L:KO$P$ $ ]V $|u !"#%&'<u !"#%&'<V!$ 9V-%$]t*])e](H]',]&]$]#]"*)e(H',&$#"!!s,,9(@$9)@$9*@$9'@$9&z@$9%^@$9$A@$9#%@$s|e$:e$* $7t",7#%9$2:0-%0.e4|'5/55 0*0+ 0-Y0.u0/00020405 06<4;t2%4;8e0001020306,07I08e090z,,$5,,$0z; $1P|'4t,,1 ,,0z, $3u +333,s * + * ** tP O9(9)u d H +      d H +     dH+ dH+     t('9#H9$e9%9&9'$e#H(6$0]04|5;5X0;0X000000<0X0u4;t]4;!0000,0e0 0!0"0zd$5d$0z$A$1P|4td1 d0zA$2#H$d$$AV$%:$%^ r$58r$7852r$5"r$5r$724;|&4*$1s*$0&0X1s$4$4;X7u +:=6t=6t:W:W7+W2%$$+Wt2I+W1 $$+W1,+Wd+WA$$+W+W]$$)3B$&W $(9$(7$+#%$+ $+$)4^$&Wz $'s"$("s$?W($@*.$+-$$@t'$'#$F|XF$C;$BXDXt#HB]BFm|G;GXA;AXAAAAAA<AXAuFt]F!BBBB,BeB B!B"BBd$Gd$BB$A$C|EtdBdBBA$Gr$IXIX2G2r$B-%B.eFm|'G/G5 A*A+ A-YA.uA/A0A2A4A5 A6<Ft2%F8eB0B1B2B3B6,B7IB8eB9BB,,$G,,$BB; $C|'Et,,B,,BB, $DX:B|&C;*$F*$F&+'$*($@?W.$@t-$%: $$ 9$%:]$?W]$?W$$AV$@tA$@t$&z$<]$<A$<1 $<2%$YY3X3Y2X2Y1X1Y0X0TTSRRRRRRRRSS>=YY3X3Y2X2Y1X1Y0X0TTSRRRRRRRRSS>=Gr;tGr$Gr GrGrNGNXGNXGGr99p0u=| =$u9t(8B*^k$;t#H;t'8 8!8"8#8$8&8',8(H=| =$u;y$:$:]$@t+$V>;]$9;d$9;A$?Wd$>;A@$2 $2!& $*$ * V$]$2($5$e$r5%^9$5&z9$5'9$2(=%$UuO-5 < $!t%!s$&"9$&] r$+d++++sy$s+$"$3 $3$@ y$@ ]$@ sA$@ %)$-)$%:u2I*:+$%*$%t+s2%$3B$4^$5{ y$'su8st+!d &9$&y $1s$1s]$0WH$90W$$&AV$Ip5$A9$ VtY.AOAPAQASAT-AUJAVfAW 9Z&$ 9N$ 9 W UJ Vf T- S Q P O NN |T= S! R P O N M LvT=S!RPONMLv II 9M$M$ ]W r$V r$U r$T r$P& r$QC r$R_ r$S| r$tLfLB$$ Lf$|HLf$^ $(b!#t^. !V^ $UX UPJ UQf UR US UT UU UV ^. !Ve9$ 9e #e 9d$!Vd9$(|a(_!Vc9$ 9c$ 9td#d 9|ZZ%:p %:u5,sH+t",?A&F|>F@FCFE=>>>@=>AY>C?W>^$ y?W>^$F>$ V?WK$FD FAF?F=v?t?{CHCGfCFICE-CDCBCAC@F|FF;DXtJ-D?4>|E=C: A&t>B>Am|: ?tH_?F?{D{?{C_$B+W|@=+WBv+WD+WF$A?$AA$AC$AE=$@ $ y$@ $+W@-$ V$M_$+WE+WC+WAY+W? $tA&)J-)I)G)F)E)D)C)Bf+W|H+W=v)tK)@$A|>$AF(l;&zt@-(H@-&|;$tJ $H$F&$E HBf$ FBB$IC$ FC_$FD{$KD{$R_9;$S|:W$LE$ FE@$T;t$M;F$ FF]$U<$NXG$ FGy$V=$OtI$ FH $+WI{ $$5WI$ V+WH_ $4;H$ V+WGB$3Gf$ V+WF&$2FI$ V0E $ y+WE $+WC$/D$ V+WBy$.B$ V%uN @tLf#H",6tH$#|E=(>$"s>^@$&>$A<$=<@$C;<$+WJ $$F?{$IXt? +WLB9$-LB$]#N{ $#J$#J$F|F>;CA$$:W@ $$:Wt@-=<C_$$C:WA:WA$$%:Lf?JE:WDFA&$H@$H;|tF8k|6<777Y5 9$V9$]8 $; $=B/$7=B$7E $8C$8 N 9\ (`7 * d c %:0F:WE-6tAI$+WA& @$ 9b|$b !Vb|9$(|^#tb C1A1C;2C;4C;53C;6PC;7lC;8D|/D0D1D2D4D5 @t2@3@5@6,@7I@8e?|/?0?1?2?4?5 @P1$ D1$ r@P; r$Am-YC-Y@P1$At:D|5 D4D2D1D0?W5 ?W4?W2?W1?W0; $<3e$<3B$=t0=/$A0$C.$=.$=|+ 8+ 9;,<9;,<<+ 9t.e!($9!($0($@0.V$?WpD3B $Jtu2I Jtt3e 9bPiJ>XEROXFileProjectDesignerRevDatePagePARCSpeechPascoTitleAParrot Guts SchematicParGuts.SilY23'ZN1'ZN'FOSSectionX0'LSB0CB2CB1CB0LSB23TP1TP2LSB20LSB1RRRRRTTTTTTSSSubEzn1EznClkSSSSSRRRRTTN1N0LWTLsbSrcN4N3N2CommonFOSY23'ZN1'ZN'FOSSectionX0'LSB0CB2CB1CB0LSB23TP1TP2LSB20LSB1RRRRRTTTTTTSSBitClknnnHighMultiplexed 22 ways.Two words delay in FirstOrderSection.Set N=20 in VariReg30.SubGndSZInClkUKAddA'AddB'AddOutY10W0InW0OutLsbInLsbOutZOutSSRRRRTTTTTTTTSYNTHVddQHighTRLS273DQQDLS273TRCL'CKH7H6H5H4TTTTDBDASTTTTH3H2H1H0RRSLS164LS164CL'CKH7H6H5H4TTTTDBDASTTTTH3H2H1H0RRS..............CL'CKH7H6H5H4TTTTDBDASTTTTH3H2H1H0RRSLS164BitClkHigh.......n....CB0bCB1bCB2bCB0aCB1aCB2a..........BitClkVSubnVSubFosASrc1FosASrc0LS153nnS1S2STTRRRRRRRRRROYOXY3Y2Y1Y0X3X2X1X0SEY'EX'.......RandomBits..W'TYD7D6D5D4D3D2D1D0RRRRRRRRE'RRRTSS4S2S1LS151.VUV............LSB-Y10W0-Y10.....Bit0Word0word.0nFos-b takes input from fos-a during even words;from self during odd words.07#gu1a#gu2a#gu2b#gu2c#gu3b#gu3c#gu9a#gu8a#gu4a#gu5a#gu6a#gu7aBit0Bit0Out-Y10FosASrc1 00 00 11 01 11-word delayNewCoeffsNewCoeffs-- unused --RandomBits or FOS-A, depending on VUVSource:FOS-B........TakePhase'PhaseMSBVcc#gu10aE'CKQ5Q4Q3Q2Q1Q0TTTTTTD5D4D3D2D1D0RRRRRRSSLS378E'CKQ5Q4Q3Q2Q1Q0TTTTTTD5D4D3D2D1D0RRRRRRSSLS378LS378E'CKQ5Q4Q3Q2Q1Q0TTTTTTD5D4D3D2D1D0RRRRRRSS........TTL-1WD6/23/81to ParHostto ParHostTo ParOutParContfrom ParHostfrom ParNoisefromOldPhaseOldFrameFOS-AFOS-ALS157Q3Q2Q1Q0TTTTD0RRRRRRRRB0D1B1D2B2D3B3SSBE'SFrameMSBTRHGiBitClkBitClkLooks for rising edge on MSB from Pitch NCO or Frame NCO.SyncModefrom ParHostBit23ABTRRiLS00Word19LS00ABTRRiBit23TakeFrame'LS00ABTRRiTakeVUV'Word7Bit??BitClkFOS-AFOS-AiTRRRRABWord19Bit22to ParFSM......from ParContfrom ParContfrom ParContfrom ParContSignals to ParFSM when to start frame transfer.Word111-word delayFrameTime'LS20LS00$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0u1 <?WAY?W@=?W>?W<?W;?W:?W9?W8u5tAI7D7l|BR6 ]$7%$$6,$t7I(lUJ$U$U&$y(l|S!#S!$X|N$$U&r$$tW$uVf'sVf!V9$!F9$'sFI$FI$tGf(lE-$U$E $y(l|C#C$H_N$$E r$2ItN/^N2O2P2Q2S4;|O4;N4;M4;Lv/tVf/W/|I.Y $4;P4;R4;S!4;T=.M$ @.M$4;N$ 2tT-2UJ2Vf2W.A|T=.AS!2lI/tX8X;-N8BN;O;P;Q;S=|O=N=M=Lv7tVf7W8|I7Y $=P=R=S!=T=7M$ @7M$=N$ ;tT-;UJ;Vf;W7%|T=7%S!;PI4;T=4;S!4;R4;P4;O4;N4;M4;P&$5P&$5W$5V$>V$>W$>P&$=P&$=M=N=O=P=R=S!=T=DtNA&NDODPDQDSF|OFNFMFLv@tVf@WAm|I@tY $FPFRFS!FT=@tM$ @@tM$FN$ DtT-DUJDVfDW@ |T=@ S!D4IAtXAKJ$8KJ$/KJ$+K&$+KJ2Lf$;tLf$DXLf$2LB:$FLfF|T=FS!FRFPFOFNFMFP&$ Lv P$K&$T $a`D{$;-$U&$sAYAYsQvQvJ $tJ-Hr$Gr$ [C$IGWr$Y r$Z&$ZJY.X!|X!W!H!Gv!Vv!UZ!T=!FY!E=!D \_$4;8$908y$0t83$$37:$7|598y$:Wt898$9+WBB@$+WJ $KJ-$V,sC$$UJT- Lf =f$ 9|99 r=f$t?{@ |:  AY Gv$ >$yM_$ O|:  t> >y>^$LB$N{$$LB$ K&$; #$*:; $ @ $9|C9A9@9? AY9FY9E=tZ +|2+1 tY |Vv tZVWY Z&[C\_]|^V`C$ Q$rVQ$VQ$|[vZZY>X!WUTS tQ|QvPZO= W MtTS|R_ _J |Vvrt7^ $[$[$Y$\$Lf$ V_'$^ $yZ$9|T9S,sE $$*:N{$y(V$r.9$.$ V)e$r,<r-Yr.ur/r0 0 / .u -Y ,<?WCV$C;tD?WE V$CE-?WBBV$?W|<?W;?W:?W9?W8u7F&$]5H_$-W$-V$,stD,sE-A&@$?$9@-9|:uA/V@Ip t]XH#3$UJ$E-5@- rGf/:T-8T-AT-4\LfC;Bf uhgedcbre t] rud rb rc%h.t;- | < X ururXr<rV$U t r $5H#H-I-I./0124O|+ O,<O-YO.uO/O0Ht.eH/H0H1H2H3r|+ r,<r-Yr.ur/r0-%$ O-I$ r6r$(2(-%$t5Ol !"O|OOO<OXOuHt,HHHeH H!H"r|rrr<rXru$ O$ r%^r$2$t$e   2OO| WO tO O OOHt HHHHH+r| Wr tr r rr ]$ O $ rr$2 ]$r r rr    +WBB$7tJ-r $?Wpu  V C;Gf UJ[ Y Vf:$  &z $ $ 9$ $9$ H$:$ r 9$tr$ $sH r+ N  r$#,&W$&W]&W&W'|';'t'"t"O%$'$ 9"O$"O$ ]!|;!!!!!!!t"td"H"+""""#| #lt&W&3| (]U$($$$$$$s$$ s$$st+/:|++W+W. t y$$9 G$9 $y$ Gu#9$ $ $t u t 9@$z$$V|V 9 t+V|V 9Wt; W $$$ 9 @$t G + V +$U$ (V|'<V'< 9%&$u %*^$(%$ 9)A@$ t)e(H*(F$*:@9$+$9 *y$ + r. r.$ r$ r$ r7$$7$]R$=B|=9t99999/:]$0d$0A$3]$3z$3t3=$@tu !V|!V!V!Vt(;(u& d  Vf "/t2uZJ @tt :Wd+!NiJ~XEROXFileProjectDesignerRevDatePagePARCSpeechPascoTitleParNoise.SilNoise Source for ParrotANoise Source AlternativesWhite noise <-> Independent, Identically Distributed Samples.(1)Two special cases of interest are easy to implement and satisfy synth input requirements.Random bits, with N sign extensions.Uniform on +/- full scale/2^N."Uniform on [-T,T]" has same power as "constant T/sqrt(3)".To invert a twos complement constant, invert all bits left of (more significant than) rightmost one.Example: Random byte is U[-128,127]; random signs is 128/sqr(3) ~ 74.74 = 01001010-74 = 10110110(2)Some constant with random signs.Random bits to come from maximal length linear PN shift register.To avoid obvious repetition, epoch of shift register must be longer than longest unvoiced sound (~1/4 second).TTL ImplementationCL'CKH7H6H5H4TTTTDBDASTTTTH3H2H1H0RRSHighBitClkLS164CL'CKH7H6H5H4TTTTDBDASTTTTH3H2H1H0RRSHighBitClkDCFERRTLS86Low-true logic.LS164...DA and DB areinternally ANDedSign extensions will beprovided by FOS.Not very easy to implement in TTL.Choose method #1, for ease of implementation.LinearFeedback'TRHGiLS04CKSCOETEPCL'TLD'TRSRRRRRB0B2B3H0H1H2H3TTTSB1......InjectOne'RandomBitsBitClkHigh........HighLS163Watchdog timer..Suppose epoch of shift register is 32767 = 7 x 31 x 151, which is relatively prime to 528 = 16 x 3 x 11 bits per sample.Hence the sample epoch is 32767 samples, over 4 seconds at 8 kHz.Injects One (low)after 15 consecutiveZeroes (highs).LS04TRHGi08.5/19/81$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0u%:p <dtb=_aYV_$V^V[;VZdVYF X W]V] RAQfnp3dtH yH+HV|VVV  2t 2 |  A$VV;VXVt $$ @ $$VH$ td ]|t ]X  $ y$9t  $ yy$  Vd y!"#$V|!V VuVX 2t(H 2)e | *$V"V#V%V& $ @ $V$ t&',(H)e ]|& ]% H$ %y$ t%$H$ H $]$ 9$ $ r)$r r)U$|tu1 r.A$ Vt&V|V;V u) (((VtVf"T-:  | :9$ $st!O|<Ht+#%$A! |#Xlt! |'$u< !#X%&t)'&)('& !$ !z$!z$ @ |& % $u,$<t(V|V#V"V!V Vut.e ( V"9$  $$$@$$r$s$s$ $$s#]$s#$@$|#X$u%& :#X :$u :% :&V)U$$ 9s$9tH)+z$:+!u&V|tVXtPJxO-A!u%!$e!#H$t+'s|'#H'#(#(&''s+z$ :+zy$IpV|% r(y$ r $V r ]$"s ]$]?WpVy$V9$$@$NegOXEROXFileProjectDesignerRevDatePagePARCSpeechPascoAOld ValueNew Value.,DAC Settling Time (~4 us.)LSB01Typical Clock RatesSampleRateBitClockMHzBitTimens.8 kHz4.224 MHz237 ns.BitClock = 528*word rate.LSB*W0InputSSESE...^^^^^PPPPP12-bit DAC/iPiSDn.QSmnkKfFHGTransient GarbageStateDecode5-BitCounter>qBitClockDQqEnqClrEnSynch.303131InQ0Q1Q2Q11ShiftReg.COCounter idles in state 31 between samples; Sample/Hold is in Sample mode.2223^ Hold2124252612 bits to DAC272829OutputHoldOutputHoldCounterStateInputLPFImplementation ConceptParOC.SilBitClockUIuiY10-LSBY10-W0From Synth"SE" denotes sign extensions."S" denotes twos complement sign bit.Parrot Output SectionInput Y10-LSB with Y10-W0 clears counter and it starts counting.OutputHold is asserted during serial-to-parallel conversion and DAC settling time.Y10Serial Data from SynthY10 dataParrot Output ConcepthigThe least significant 6 bits of the data word are skipped; the next 12 are sent to the DAC; the high 6 are skipped.6 bits ignored6 bits ignored456237891011121314151617181920qQDShiftEnableEnableShiftDAC DataCounter stops when it gets to state 31 again.[4,15]09ReferenceWQ0Q1iP/iiiP/iiHighqBitClock5/27/81ABTRRiWInReg.ShiftS0S1InputFiltClkOutputState SequencesrepeatFilter Clock DividerqFilter Clock DividerSee Detail BelowFiltClk0101S0 S1 =Divide by1 140 130 01 01 10 11 00 1repeat1 1Cycle21 01 00 10 01 1repeatrepeatn/aQ0 Q1$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0<U\$r\$]r_'9$]$9K&$] VtK ,sK&$]-K ME9$,sH$9MH$9LxAY,sAY2tIrX|$]X|$X|$X|$:X|$X|$X|$X|$sX|$!VX|$#X|$%X|$(X|$7X|$*:X|$Y.T Tpt  99  9+^.]*Y.-Y.8Y.>;I{$%7r$%5{r$%3Br$'s|.u's-Y's,<%.r$*:x0 ,s/.-0,3+*:&,s'<.(X0)u3*+t3 #8$]; $$9^37|/7x+9|/84$5W3B$:x(X:1U$<1$<.$9<|*</)A@$,$&$%$%$8$A$8x)u'st7:W3Br$Jt2%$]Jt2%$K2I$9Jt4^$Kx,K)uM;*M;-L*L,D|0D0H;3B]$tK)(9%$9%$ &$9,$ r+ r)e )$ )A$x!fVXt!%^U$"y$"$s##x $e$!V8r$%,$ 9!V,$*:-$  :$A$!t,$x%t( & r*ITLT9X|$]T.X|$#7$7I$5$2#.e$!$ !V,$ ]!$!$ :"$!1,!0:VG Gr G GVVG$V$ $  $ UE$ 9& uCI8tT:WTX|$],sX|$]E$]ME$]:W45WX|$X|$T-$9T-$9T-$9T-$9T-$9:T-$9sT-$9T-$9T-$9T-$9!VT-$9#T-$9%T-$9(T-$9,sT-$9*:T-$9.T-$95WT-$97T-$99T-$9<T-$9>;T-$9@tT-$9BT-$9DT-$9GT-$9IXT-$9KT-$95TTATY.C;TEtTGT0W$e FI O$]Q$,sO$9UJT-X>4r$C;1$U>1$>1$yC;3B$@t3esrf%:p a`$a`$]c$a$9 a$9c$a`$]a`$ra`$a`$]c$a$9a$9c$a`$]a`$a`$a`$]c$ :a$9a$9c$a`$]a`$a`$a`$]c$a$9a$9sc$sa`$]Va`$a`$:a`$]:c$Va$9a$9c$a`$]a`$ :a`$!Va`$]!Vc$"sa$9$a$9#c$#a`$]"sa`$$a`$%a`$]%c$&a$9)a$9(c$(a`$]&a`$)a`$*:a`$]*:c$+Wa$9-a$9,sc$,sa`$]+Wa`$8a`$9a`$]9c$:a$98a$97c$7a`$]6ta`$5Wa`$]5Wc$6ta$9/a$9.c$.a`$]-a`$:a`$<a`$]<c$=a$9?Wa$9>;c$>;a`$]=a`$?Wa`$@ta`$]@tc$Aa$9Ca$9Bc$Ba`$]Aa`$Ca`$Da`$]Dc$Fa$9H;a$9Gc$Ga`$]Fa`$tba$9rc$ra`$]Ua`$Na`$Na$9Mc$Ma`$]La`$Jta`$Ka`$]Kc$La$9Jta$9IXc$IXa`$]H;a`@$x! r*^$r(H$9r(%$)$($t)(u+ :X:V%srhu uBf@,sI{$ AIRt;-uuHBd6t $ :W $ >; $ B $ F $ 0W $ 0W $0W$0WA$0Wz$C;t0dfPiJ -pVCCG1G6G5G4G3G2QQQQQQQOUT2OUT1BIAS-IN2-IN1+IN2+IN1TTTRRRRGHHGLM377#a27...LM377or LM37822K47K4.7K.47uf+250ufHPLAT30#e1aTRTRTRTRTRTRXEROXFileProjectDesignerRevDatePagePARCSpeechPascoTitleParOut.SilGndR10vR20v-15v+15vI1I2I3I4I5I6I7I8I9I10I11I12IOUTREFIGAINBOFFVOUTREFORRRRRRRRRRRRRRRRRRRTTTTDAC-HY12TTTS'/HRRRRRRRRRROFFS2OFFS1CASEGRD2GRD1HCAPIN+IN-Gndv+v-OUT..n.TR1 nf.nnAudio outputSectionRRTTTI2912PWRIVFROVFRIPWRO+PWRO-TT SectionCLKPDWNCLK0RRRControlI2912RRVccVbbGrdAGrdD..TRTRnSectionAudio InputRRVFXI-VFXI+I2912VFXOGSXTT....nnMSBTRHGiLS04For twoscomplementLS163CKSCOETEPCL'TLD'TRSRRRRRB0B2B3H0H1H2H3TTTSB1CL'TTTTRRRRTTTTCKDQ0DQ1DQ2DQ3DQ4DQ5DQ6DQ7TTQ0Q7RRSG1'G2'SSRISLISR'SL'LS299LS299CL'TTTTRRRRTTTTCKDQ0DQ1DQ2DQ3DQ4DQ5DQ6DQ7TTQ0Q7RRSG1'G2'SSRISLISR'SL'.....nnnnCKSCOETEPCL'TLD'TRSRRRRRB0B2B3H0H1H2H3TTTSB1LS163...HighLS04TRHGiTRLS273DQBitClkBitClkHigh....nnBitClkBitClkHighHighSee TTL9.SilTI Databook p. 7-437ABTRRiLSB-Y10W0-Y10From SynthLS00DACShiftEnableAParrot Output SchematicTo speakerHighnnHighQDLS273TR..W'TYD7D6D5D4D3D2D1D0RRRRRRRRE'RRRTSS4S2S1LS151nnHighOutputs High for counter in [4,15]..SN74LS299ModeLLHHLHLHHoldLoadSR'SL'10Out-Y10LS00ABTRRiTRLS273DQQDLS273TRPLATRRRRRRRRTTTTTTTTP1P16P2P3P4P5P6P7P8P15P14P13P12P11P10P9HighHigh..........As shown, FiltClk frequency is BitClk/2, which is 3% high compared to Nyquist.result is lower cutoff, but sin x/x compensation is screwed up.Watch duty cycle if you do.Can alter jumpers on platform as shown for /3 or /4.FiltClk-5VVcc-5V+15V+15V-15V-5V5/28/81n-15V+15V+10uf+10ufnTRVccHighTR1kDacOutSHOutShift Right (Down)Shift Left (Up)+/ 5v as shown.Hold Cap.DAC set up forS/H set up for noninvertingunity gain as shown.+/ 3.2 vFilter Input Swing680330K|;t]$;t$6t$$6tA$6t$6t$3tH5H>;H<H:H9;H7H>|m<m;Pm9m7m6Pm4m=tH==3333d@t|X@t@t2t222;3]$3] y$@t$ 3A V$88885t+@t]r$@t9$6tA$@8A$@9A$@;tA$@=A$@6t ] $8]$0d$ /$ @t|22t6tt+5Wu09$,s$<&z$B$ /&z$4;A$y(8&(d,s9$.$@BA$%]$%d$ IX]]$EtE tE;$$U7$$y;|"7%"7(%N$7$r$I4$UD$yI4D{DN$Dr$,Pd$U(A$y,P;';(N$(Ar$$d$U :A$y$;; :N$ :Ar$,PH$U($$y,P'(zN$($r$Gr;tGr$Gr GrGrNGNXGNXGGr99p0u%:p t056,$0$DDCBfAI@-?=<;:98e7I321$?$30$:/V$&/$]|AY@=? ><;:98u7Y6<5 4210/.u-Y&AY&;&0&-YF&V$ tBfB|<B;B2<t=:|2:4:5 :6<:7Y:8u:9:::;:<;tA$B4$ ;t4$;t5$ <t7I<8e<9<:<;<<<?<@-<6,@t@-@t6,??$U$:W|5 :W49;9]$9;5$9;6]$809;<%]$9;; ]$9;@]$9;; $y9;C_r$&4^9$)-$-$-$4^$s5{@$s,$s,$*:,$&?{$s24;$U/;$y49/^9/>N$/;r$0Wu<4;=B9$8>^y$V2%]$V2%$V79$s|/V1 ]$V0$+-=B]$-'Ot\(|b#_Z'X!#Z#\#^>#`w#a#td#b#a'd'c'b'a(\$ #l\_$#l\_$ @(|a(`w(_Z#lg|$$X!#tc d4^|146<8u 1< 3u 4 6 1$ y 1$1$ V >$7Y5 20 dt2;:98e7I6,53|: /t=fd2l |/ 8u-Y t11 2|-Y dt; d: @7 @6 9= 9O- dE|CE=GvI Bv D E H B$ y B$B$ V P&$HFYD A dtCLKJIHGfFIE-|KZ@=tNdC |@ I> tBB 2|> dtL dKJ @H @G8 $9 $; $<% $C$E$=f$V=B $>^ $>^$yF$G$?$V?{$@$@$yH@$J 9$A$VA$B$B$yK&y$LB r$:D$V:CU$VE ]$VE $ N{$N{$M$M_y$|4210/ =v VA$A$r=v ,< V0$0$r,<%tK&3|Gv',tUJ#M_#N{#K(|M'OtK(|R#N'Gv#J=#KZ#M#O#P#tT-#Q#P'T-'S'Q'P(K$ #lK$#lK$ @(|P(O(N#lV$$Gv#tS$U ^$ X$ W $*U$9)U$)a$)|_Z)`w)aM$tN.e1s|b-Ib-c-c0b)f`r$O $hr$_$8>^$3f$9=ZJ$U9;Z&$y=X!8X!9;]|N$9;Z&r$9t\9u[f<[f$[f$$J$Z&$&WZJ$9#Z&y$#tZJ9D9D{$!V[fO $r@-$ r@ $$ rGB$H_$$E rI{$ rI{$@VJ@$VJ-$V8$V9^@$ r8B$@ r8B$49t3e93B$#I{y$#I9F&$9FI9594$ uQ P|WW UZVvT= UZW$tZJXu[ VtY.(GfA$@A|Ct6B6r$C@B@r$8u",1s"$AA$y<"$$IX$KA$EtJt|I4d$UDA$yI4;D{;DN$DAr$B]$%A$rtbb 2`$U`$y 2|^y^d'N$`r$rb|r$ Vb|r$ ub)t?DX?ru-r,+W5/: +W69;29;1:" :# )e)eP&h.alGHICodec Line Filter105674121413981511...a...b...c31621SectionAudio InputRRVFXI-VFXI+I2912VFXOGSXTTAudio outputSectionRRTTTI2912PWRIVFROVFRIPWRO+PWRO-GndR10vR20v-15v+15vI1I2I3I4I5I6I7I8I9I10I11I12IOUTREFIGAINBOFFVOUTREFORRRRRRRRRRRRRRRRRRRTTTTDAC-HY12XEROXFileProjectDesignerRevDatePagePARCSpeechPascoAParLib.Sil(Sil.LB9)Sil Macros for ParrotSFYSubGndSZInClkUKAddA'AddB'AddOutY10W0InW0OutLsbInLsbOutZOutSSRRRRTTTTTTTTSYNTHVddQSectionSPAPSRightOutWrongInRightInHighExtendDriveSWSRRRRRRTTTQRSubEzn1EznClkSSSSSRRRRTTN1N0LWTLsbSrcN4N3N2CommonFOSY23'ZN1'ZN'FOSSectionX0'LSB0CB2CB1CB0LSB23TP1TP2LSB20LSB1RRRRRTTTTTTSSCDriveDTakeSSRRRRRRRRRRRRRRRRRRRRSPAPSCLoadSubCLKOE'B.15B.00B.01B.02B.03B.04B.05B.06B.07B.08B.09B.10B.11B.12B.13B.14CommonmTTTS'/HRRRRRRRRRROFFS2OFFS1CASEGRD2GRD1HCAPIN+IN-Gndv+v-OUTTT SectionCLKPDWNCLK0RRRControlI2912RRVccVbbGrdAGrdDMLS377Q7Q6Q5Q4Q3Q2Q1Q0D0D2D1D3D4D5D6D7CKEn'RRRRRRRRTTTTTTTTSSSSTTTTTTTTRRRRRRRRQ0Q1Q2Q3Q4Q5Q6Q7A0A1A2A3A4A5A6A7CS1'CS2'LS471KCS'A8RA7A6A5A4A3A2A1A0Q7Q6Q5Q4Q3Q2Q1Q0RRRRRRRRTTTTTTTTSS472512 x 8S472 (3-state prog)S473 (open-coll prog)Custom VLSIROMs & PROMs256 x 8S470 (open-coll prog)S471 (3-state prog)S270 (open-coll mask)S271 (3-state mask)Misc. TTL PartsAnalog PartsIntel 2912Datel SHM-IC-1Harris HA2425Sample-and-Hold11ReferenceVCCG1G6G5G4G3G2QQQQQQQOUT2OUT1BIAS-IN2-IN1+IN2+IN1TTTRRRRGHHGLM3776/9/81O-$$9;s8G5bX5WBZAu_J3|P3N!>P>O>N!@tS@tR@tQv@tO@tN!KOKN!:uY:MGM>|ZZ>[v4;ZZ4;[v6tu[f6t\ 5[f$5[C$=[C$5a$5W|[v5WZZ6tt]6t^8`g:W^:W]=|ZZ=[v6tuPJ 6tO-5O-$V5O $=O $y5W_$5W|P5WN!=P=O=N!8tU6tQf9Qf6tT-9T-9S8186,87I=1=E8E8D8C8Bf8AI8@-8?8=8<8;8:8988e858382=@-=571,$:71 V$?1 $]7|Bv7AY7@=7? 7>7<7;7:7978u77Y76<75 747271707/7.u?Bv?<?1?.u7GBV$9tCp$u/Gr90W<?WH;GGr>Gr;tGr$Gr GrGrNGNXGNXGGr99p0<%: &u paTttd 9d 2| t rd9] $d$ 9A$9A$ @ddH9+V9k|  tt  t  2| uB 9tDAIBf9C@-AIBfCD@-$9@ $9@ $@9F& $|AY@=? ><>? @=pD8tPST-Q2|KZKZ KZ KZ OKZMNOPPZO= tO rORSVOO O 9uR VtS9O$@9O$O$9U $V[[f [f9c $[f$9[C$9[C$ V`g 9u_Jt`ga]^._J9]VaV`g9^._J|^>]!\ZY^>]!\ZYXkW Wt7I6, |ku !"'<&%#(X)u*+0 /-,1245  t18e", ",5"3e2I1,0.-,+*)e(H',&$#9"$99$9",$",$ u08p->|'>&>8t(7|77 7!7"<7#X7$u7%7&7'8,$>$ 8$8$ 8t",8#H8$e8%8&8'8)8+8!=+=!<)Jt|OJtN!C;uO-C;tVC;TC;UB|SBQvBRC;uPJEttXBO $JtO $ BY$BO-$ B|OBN!C;tSC;QfGSGQfp8t6 ]-I ].e ]/ ]0 ]1 ]2 ]3 ]5V7$V+$ 952310/.e-I,++|10/.u-Y,<+ *!1!0!/!.u!-Y!,<!+ !*'< '<V+z$!+z$ ]!VE $ ]E $@O@!VC!VD!VE!VF!VH!VI!!VJ=!VKZ]C]D]E]F]H]I!]J=]KZE-$ 9QC$tNMLfKJJ-IGFNMLfKJJ-IGFVE-E-VpQtPJVpatUJVf:|S!tWXYZ[]^._JVXY.ZJ[f\]^a`$UJ$ 9:|\:Z:Y:X:W:Vv:UZ:T=!3[v!3ZZ!3Y>!3X!!3W!3U!3T!3SlPU&$!3U&$ ]t`g#w^#u]#[Vse :e #wN#uLf#KJ#J-#IVs<4e Au`g A&A% A'Ipu B$B ]$= $= $=y$=$:Wt<DC;A?>;EP|CA@P><:DXt DXDX:W d:W+:W :WG| GGX9^9^ ;9^9^9 $9  y$G +$ 9 V$> > >t>t