Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-lcc!lll-tis!ptsfa!cogent!mark From: mark@cogent.UUCP (Captain Neptune) Newsgroups: sci.electronics,rec.music.synth Subject: DCO's revisited - an inquiry into hardware implementation Message-ID: <235@cogent.UUCP> Date: Mon, 6-Jul-87 00:42:35 EDT Article-I.D.: cogent.235 Posted: Mon Jul 6 00:42:35 1987 Date-Received: Mon, 6-Jul-87 06:49:12 EDT Reply-To: mark@cogent.UUCP (Mark Steven Jeghers) Distribution: world Organization: Cogent Software Solutions, Stockton, CA Lines: 56 Keywords: now for the real work... Xref: mnetor sci.electronics:898 rec.music.synth:1017 I recently posted an article discussing the design of a totally digital oscillator for use in a musical synthesizer. It was posted in the "rec.music.synth" group, I forget what the distribution was. If anyone did not receive it and wishes for a copy, email me. Anyway, in an attempt to actually work out the hardware implementation, I have run into a problem. The key part of the DCO is the adder-latch feedback loop. Theoretically, as my article described, you can run it at a clock rate of your choosing and use the number of bits of your choosing, in order to achieve the desired range and accuracy. The problem, however, is getting circuitry that will run fast enough. Specifically: The only binary adder that I can locate that is reasonably simple and readily available is the 7483 IC. For faster speed, the CMOS version, the 74HC283, is available (slightly different pinout, but same stuff). The 74HC283 is plenty fast, BUT it is only 4 bits wide. To handle a large number of bits (between 20 and 32), this means cascading a bunch 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. I see 3 possible solutions, and request feedback on them (or any other ideas): 1. Get a adder that handles more bits. An 8-bit adder IC would approximately double the speed of the overall adder. An adder that handled more than 8 bits would be even better. But where to find one????? 2. Use PALs. A PAL could be programmed to act as an adder that handles many more bits. An 8-bit adder could be made easily. Some PALs even have latched outputs, so the whole adder-latch loop could be burned into the PAL. The problem: which PAL is most suitable and where to get it programmed for less than an arm and a leg. 3. Use a Microprocesser Slice chip (an ALU, that is). The 7400 series has a cruddy 4-bit ALU, which is no better off. There is a place called Cypress Semiconductor (sp?) which makes 16-bit slices. Two of those cascaded would give you a damn-good 32-bit ALU. The problem: fitting it into a reasonably simple DCO design (probably require microcode to run the ALU) and availability (will they sell me less than lots of 1000?) Well, net? There you have it. What do YOU think is a good course of action? Like I said, email if you want to see the original article. It may clarify my questions for you. Thanks in advance. -- +----------------------------------------------------------------------------+ | Mark Steven Jeghers: the terrorist smuggling CIA weapons to Libya | | | | {ihnp4,cbosgd,lll-lcc,lll-crg}|{dual,ptsfa}!cogent!mark | | | | Standard Disclaimer: Contents may have settled during shipment. | +----------------------------------------------------------------------------+