Help: SDR, DSP, FPGAs and Gnuradio

Hello!

I’m trying to reprogram the FPGA of an SDR board in order to also include DSP blocks and not only mixers (for up/down conversion) and pre-amplifiers. My goal is for the FPGA to run similar stuff to what gnuradio does (so, DSP blocks), but without requiring an external host CPU.

For that, I was planning to start with myHDL to convert python into VHDL. However I have some questions:

  1. Are the gnuradio functions compatible with myHDL conversion? As anyone ever played with it? Or does anyone know about open source projects or tutorials related to DSP in python that I can convert with myHDL? A starting point of some kind? I could program everything alone, but I would like some inspiration from optimized code.

  2. A little bit off, but does anyone have the pros and cons of myHDL vs HDL Coder? I was looking for it and I couldn’t find it.

Thanks,
João

You should have no problem inserting MyHDL generated code into the gnuradio logic path. (I have done this once for an Ettus board)

The price, for one? Matlab & SimuLink are $$$$, MyHDL comes free.

Thank you so much for your quick reply.

I’m not if I understood correctly, but I don’t want to insert myHDL code into the gnuradio logic path. In fact I don’t want to use the host CPU whatsoever. I want to implement DSP blocks inside the FPGA, I just thought about gnuradio due to the possibility of converting part of it throught myHDL.

Can you share some of your work? I understand if you can’t.

Thanks,
João

@Franco
MyHDL is a high level HDL language.
If the MyHDL code you write describes DSPs, then you’ll get DSPs implemented in your FPGA.
DSP is a generic term form which can mean many things.
I guess that, in the context of Gnuradio, a DSP is a very complex computational block.
The first question is : Are the FPGA resources large enough to implement the DSP blocks ?

Nicolas

@DrPi My FPGAs have 40K LEs (Altera Cyclone IV E). I believe they are big enough
to implement some FFTs and some other blocks while still controlling some
stuff on the board where they are into. Am I mistaken?

Thanks for your reply,
João