[hpsdr] openHPSDR at the forefront of SDR development

Scott Cowling scotty at tonks.com
Sat Aug 23 16:43:31 PDT 2014


I want to echo Joe's sentiments on FPGA development exactly.

In many respects, getting started in FPGA programming is *easier* than 
jumping into C++ programming. When you download the tools, the 
environment is all set up for you. You do not need to try to figure out 
which toolset to use, where to get it, how to configure it, etc. There 
are many excellent references and tutorials available for learning Verilog.

If you are already a hardware designer, it is even easier, since Verilog 
synthesis constructs generate hardware. You can start out with the 
simple constructs, then learn and use more "elegant" style as you go.

The absolute best way to start is by reading, understanding and 
modifying existing code examples. The SDRstick BeRadio FPGA design is a 
good starting place. Look in svn.sdrstick.com under 
"sdrstick-release/beradio/beradio-firmware/source". This is a commented, 
stand-alone AM radio design in Verilog. You can even get hardware to run 
it on if you like, but it is not necessary; there is benefit to gain 
just by studying the sample code.

There are small FPGA development kits for as little as $49 if you want 
to try your hand at writing a "Hello LED" program (the hardware 
equivalent of the beginning C programmer's "Hello World" program).

The two main things to remember are:
1. don't be afraid to jump right in
2. take it slowly and *have fun*

I have been programming FPGAs since the 1980s, and it is *still* fun!

73,
Scotty WA2DFI

On 2014-08-23 12:23, Joe Martin K5SO wrote:
> ***** High Performance Software Defined Radio Discussion List *****
>
>
>
> There are many such sources for information.  To learn the basics of the
> Verilog language, which is what we use to write the FPGA code designs,
> Kirk Weedman KD7IRS some years ago kindly put together a beginners
> course tailored to the HPSDR project.  The course is available for
> download on the HPSDR webpage below:
>
> http://verilog.openhpsdr.org
>
> However, in my experience the absolute best way to learn how to do this
> is by downloading Quartus II, installing it on your computer, and using
> it to examine an existing HPSDR firmware design.  By examing an actual
> firmware design that we are using today you can see how the various
> tasks are accomplished in the code.  We try to comment the code as much
> as is practical in order to help us remember what each section does but
> also to help newcomers understand what the code section is doing.
>
> You can spend lots of unnecessary time attending/viewing classes which
> will be giving you much info regarding Verilog syntax, etc, but you can
> also get the idea very quickly by examining an actual firmware design by
> using the Quartus II editor.  In addition, you’ll immediately be
> learning how to use the Quartus II tool.  In short, my view that the
> absolute best way to learn is to get your feet wet immediately with the
> tool that you will be using; i.e., Quartus II, to examine an existing
> firmware design.
>
> The primary issue to understand about FPGA code, in my view, is to
> realize from the start that each little section of code within the
> firmware design runs in parallel with every other section.  That is, the
> code execution is not “event driven” as it is in Windows programming nor
> is it strictly running lines of code sequentially as in some languages
> (except within each section of code in the firmare design).  Because of
> this it is actually easy to take one little section of code and examine
> it carefully to see what it is doing, how it is doing it, and what
> syntax is used to accomplish it.
>
> After you feel you understand a portion of it then you can make small
> changes to it, compile it, and see what effect your change(s) have on
> the performance of the firmware design by actually loading it into your
> HPSDR rigs’ FPGA.  Plus you immediately gain experience in how to do all
> that.  Sure, you’ll make mistakes!  But be assured that anything you do
> is recoverable; you can’t hurt the FPGA by misprogramming it.
>
> 73, Joe K5SO
>
> On Aug 23, 2014, at 12:46 PM, Neal Campbell wrote:
>
>> Are there any good beginner courses on the internet?
>>
>> 73
>>
>> Neal Campbell
>> Abroham Neal LLC
>>
>>
>>
>
>
>
> _______________________________________________
> HPSDR Discussion List
> To post msg: hpsdr at openhpsdr.org
> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
> HPSDR web page: http://openhpsdr.org
> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
>





 1408837411.0


More information about the Hpsdr mailing list