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

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
I am not experienced in this, but I would say I would be hard to
optimize more.
Maybe you should look at DFT circuits, implementing very similar things.
There you might find some hints, but beware of patents (if you care about
them).
If you don't need optimal result, maybe you should use some aproximates.

Marko


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