[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [oc] complex division in Hardware



Sridhar,

Here's a book on Computer Arithmetic Algorithms which may be useful for your
task:

http://www.ecs.umass.edu/ece/koren/arith/

Regards,
Manoj

--------------------------------------------------
Manoj Viswambharan
Principle Engineer
Integrated Device Technologies
manoj.viswambharan@no-spam.idt.com
remove no-spam for real email address
I do not speak for IDT (they rarely speak for me).
--------------------------------------------------

-----Original Message-----
From: owner-cores@opencores.org [mailto:owner-cores@opencores.org]On
Behalf Of Johan Klockars
Sent: Tuesday, January 08, 2002 5:51 AM
To: cores@opencores.org
Subject: Re: [oc] complex division in Hardware


> I am implementing complex division in hardware. Is
> there any easy method to do that?

Do you need this to be done in a single (very long) cycle, or is
multi-cycle operation OK?

> As you know complex division can be done like this:
> a+bi      a+bi      c-di      (a+bi) * (c-di)
> ------ = ------- * ------- = --------------------
> c+di      c+di      c-di          c^2 + d^2

Equivalent to the following (unless I made some mistake):
tmp00 = c * c
tmp01 = d * d
tmp00 = tmp00 + tmp01
tmp00 = 1 / tmp00
tmp01 = a * c
tmp02 = b * d
tmp01 = tmp01 + tmp02
real = tmp01 * tmp00
tmp01 = a * d
tmp02 = b * c
tmp01 = tmp02 - tmp01
imag = tmp01 * tmp00

Possibly the output registers could be reused as temporaries too.

> But it takes lot of hardware if we directly implement

Obviously, both the multiplications and the division can be implemented
using an adder/subtractor if the capability to shift values is added.

That is, you can make do with a single adder/subtractor, a couple of
registers, a couple of multiplexers and a state machine.
For better performance, add a multiplier, divider, extra adder/subtractor,
etc.

--
  Chalmers University   | Why are these |  e-mail:   rand@cd.chalmers.se
     of Technology      |  .signatures  |            johank@omicron.se
                        | so hard to do |  WWW:      rand.thn.htu.se
   Gothenburg, Sweden   |     well?     |            (fVDI, MGIFv5, QLem)
--
To unsubscribe from cores mailing list please visit
http://www.opencores.org/mailinglists.shtml

--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml