Hi Franco,

Thanks for this. I don't *think* such a block exists in the library, though
I could be wrong. One thing high on the agenda is to reorganize the
libraries in mlib_devel to make it easier to add blocks in without git
conflicts.
Hopefully we (cough, Brian) will get round to this soon[ish]. Then that
would be a great time to add this block.

In any case, thanks for sharing.

Jack

On Mon, 29 Oct 2018 at 14:43 Franco <francocuro...@gmail.com> wrote:

> Hi CAPER community,
>
> No, this is no a question about CASPER blocks, instead I wanted to share
> my own design of an efficient complex multiplication block using Xilinx
> DSP48E1. It is efficient in the sense that it only uses 3 DSP blocks,
> instead of 4 (as it's done in the CASPER library). This is achieved using
> the formula from "Understanding Digital Signal Processing ed. 2" book, page
> 487, where it shows a procedure to do complex multiplications using only 3
> real multipliers. The block have some caveats:
>
> - It only works in ROACH2 (or any FPGA that has DSP48E1 blocks)
> - The maximum bitwidths for the inputs are a=18, b=18 (instead of a=18,
> b=25 from cmult_dsp48e)
> - It doesn't support conjugation
> - it has 2 extra delays to sync the input signals.
>
> Aside from that, the block is functionally equivalent to cmult_dsp48e, I
> simulated it for 100 random complex number and the results are the same. I
> attached an image of the block if you want to see how it's implemented, or
> you can steal the block from my fork of mlib_devel (cmult_dsp48e1 block):
>
> https://github.com/FrancoCalan/mlib_devel/blob/roach2/calan_library/calan_lib.slx
>
> I think the block is very useful for models with high demand of complex
> multiplications (beamformer, interferometry), in fact the idea came from
> the implementation of a beamformer in ROACH2 once I run out of DSP blocks.
>
> Cheers,
>
> Franco Curotto
>
> PD: I apologize in advance if this type of block is already implemented in
> the CASPER library, but I couldn't find it there, not in the roach2 branch
> anyways.
>
> --
> You received this message because you are subscribed to the Google Groups "
> casper@lists.berkeley.edu" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to casper+unsubscr...@lists.berkeley.edu.
> To post to this group, send email to casper@lists.berkeley.edu.
>

-- 
You received this message because you are subscribed to the Google Groups 
"casper@lists.berkeley.edu" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to casper+unsubscr...@lists.berkeley.edu.
To post to this group, send email to casper@lists.berkeley.edu.

Reply via email to