Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ll-xn!ames!oliveb!prs From: prs@oliveb.UUCP (Philip Stephens) Newsgroups: sci.electronics,rec.music.synth Subject: Re: DCO's revisited - an inquiry into hardware implementation Message-ID: <1867@oliveb.UUCP> Date: Tue, 7-Jul-87 21:56:47 EDT Article-I.D.: oliveb.1867 Posted: Tue Jul 7 21:56:47 1987 Date-Received: Fri, 10-Jul-87 07:13:09 EDT References: <235@cogent.UUCP.> <22755@sun.uucp> Reply-To: prs@oliven.UUCP (Philip Stephens) Distribution: world Organization: Olivetti ATC; Cupertino, Ca Lines: 47 Keywords: now for the real work... Xref: mnetor sci.electronics:908 rec.music.synth:1039 In article <22755@sun.uucp> cmcmanis@sun.UUCP (Chuck McManis) writes: >In article <235@cogent.UUCP.> mark@cogent.UUCP (Mark Steven Jeghers) writes: >.> >.>I recently posted an article discussing the design of a totally digital >.>oscillator for use in a musical synthesizer. It was posted in the >.>The key part of the DCO is the adder-latch feedback loop. Theoretically, >.>of them (so their carry-bits can be connected together). The propogation >.>delays for the carry bits add up to a large amount. The bottom line is >.>this: the adder gets REAL slow due to the required rippling of so many >.>carry bits. > >The secret (one of them) is to use an adder with carry 'look ahead' so >that each adder only adds one gate delay to the loop. The second secret >is to use smaller wave tables. A DCO built with a 256 byte lookup table >needs a clock rate of 5.12 Mhz to generate a 20Khz tone. Since 20K Lookahead, yes... or use a DSP chip with a 32 bit accumulator. BTW, I meant to reply to same article as this one did, that there are now MMI PALs with 10 ns thruput, called 'D-PALS'. Eight outputs, with 8, 6, 4, or none registered. As for speed, you need about 40 Khz reguardless of currently selected tone; vary the amount that gets added to the wrap-around pointer each 25 microseconds. No need to go into Mhz, let alone Ghz, except for doing 8 or 16 voices at once using the same RAM; whether same address space or not, need seperate accumulators or swap in and out... much higher bandwidth requirement, but less than 2 orders of magnitude above 40 Khz, ie less than 4 Mhz -- quite a low-tech frequency. I happen to have borrowed documentation on the TI DSP chip TMS320C25, which has 100 nS instruction time, 40 or 32 Mhz clock, 32 bit ALU and accumulator, 544 'words' of onboard ram (16 bits each)... I haven't actually worked with it, but I think it's adequate (I borrowed the info for looking at doing my own effects onboard; I think I'll need seperate DSP for that if use one for sound-table indexing, as the 'effects' will need multiplication as well as addition). I'm sure other DSP chips and plain vanilla CPU's with 32 bit addition will do for this indexing chore, although some might not have processing power left over for MIDI management... any experts want to comment??? - Phil prs@oliveb.UUCP (Phil Stephens) or: (hplabs,ihnp4,sun,allegra)oliveb!oliven!prs Mail welcome, but I'm too lazy to always answer 8-} 8-} Work phone: 408 996 3867 x2224 (approx 10a-6p PST/PDT)