Newbie : Please give me an idea about programming an FPGA

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View

Hi everyone,

I am new to the FPGA, and would like to know more about how we can
program an FPGA to do a complex task.

Please suggest the steps or any website relevant to this which aids in
studying.

Thanks to all in advance


Re: Newbie : Please give me an idea about programming an FPGA

Quoted text here. Click to load it

1. If you haven't done so already, learn a design language (VHDL and Verilog
come to mind).
2. If you haven't done so already, learn how to use a simulator for the
above chosen language.
3. If you haven't done so already, learn how to use a synthesis tool which
turns code written in the above chosen language into a file that you'll
download into the FPGA.
4. Code up your 'complex task' in the above chosen language.
5a. Simulate the code to make sure that it is functioning how you want it
to.
5b. Run the code through the synthesis tool every now and then just to make
sure that the code you are writing and debugging is synthesizable.
6. Once simulation is nearly complete, run it through the synthesis tool to
get timing numbers.  If they are not acceptable go back to step 4 and
rewrite it in such a way that the timing performance numbers have been met.
7. Keep going back to step 4 until the simulation says that you've
implemented what you intended....only then can you continue on to #8.
8. Synthesize the code one last time to produce the bitstream to load into
the FPGA.
9. Load the bitstream into the FPGA which is presumably on a board that has
the necessary input and output connections to meet the needs of your
'complex task'.
10. If the end result doesn't work as intended, debug to find out why.  Then
beef up your simulation testbench to catch this type of problem.  Verify in
simulation that you can recreate the problem.  Go back to step #4 and figure
out what the fix is.

KJ



Re: Newbie : Please give me an idea about programming an FPGA
What a lesson, that's a good one!
But I think you missed step 11:

11. make your 'complex task' working with something else's 'complex
task' and if not...let's step back to #4 alltogether!!

Al

KJ wrote:
Quoted text here. Click to load it

--
Alessandro Basili
CERN, PH/UGC
We've slightly trimmed the long signature. Click to see the full one.
Re: Newbie : Please give me an idea about programming an FPGA


Quoted text here. Click to load it

I meant someone else's 'complex task'!!

--
Alessandro Basili
CERN, PH/UGC
We've slightly trimmed the long signature. Click to see the full one.
Re: Newbie : Please give me an idea about programming an FPGA

Both Xilinx (http://www.xilinx.com ) and Altera (http://www.altera.com )
offer 'web-pack' versions of their commercial software. If you haven't
already, pick a vendor and down load the free version and work through
the tutorials.

Derek

snipped-for-privacy@gmail.com wrote:
Quoted text here. Click to load it


Re: Newbie : Please give me an idea about programming an FPGA

Quoted text here. Click to load it

You should probably start by realizing that "programming" the FPGA is
actually digital logic design.  I hate the word "program" when it is
associated with FPGA design because it leads folks to think that
developing an FPGA application is similar to developing a computer
program.  It is not, and if you attempt to treat it as if it was, you
will have a difficult time getting your design working reliably.

With that in mind, the first step is to try to envision the logic
circuit that would accomplish your desired task, then use whatever tools
you are most comfortable with to capture that design, simulate it and
then synthesize it to the FPGA hardware.  The FPGA vendors for the most
part have free or low cost tools to do all of that for smaller FPGAs.

Re: Newbie : Please give me an idea about programming an FPGA
Quoted text here. Click to load it

As noted, FPGAs realise hardware in a programmable way [although one
might say processors do that, merely one step at a time ;)]

That said, some decent resources on hardware would help. If you have not
used a schematic capture tool, get one and use it. KiCad is free and
works well. You'll learn about netlists and all those other fun things
in the hardware world, to say nothing of connecting basic functions
together to do something interesting.

For HDL languages in books, there are a lot of resources, but I like HDL
Chip design by Douglas J. Smith 0-9651934-3-8. Covers both Verilog and
VHDL in a neutral way, and an excellent book for a beginner. Of course,
as always, google is your friend.

As to the thread about 'debug someone else's complex design' - that was
actually the way I started in FPGAs :)

Cheers

PeteS

Re: Newbie : Please give me an idea about programming an FPGA
Some useful links for getting started in FPGAs off our webpage
http://www.enterpoint.co.uk/techitips/techitips_useful_things.html .
Also look at the parent page for TechiTips as there may be a couple of
other items there that might be of interest although most things on
that page are more advanced.

John Adair
Enterpoint Ltd.

snipped-for-privacy@gmail.com wrote:
Quoted text here. Click to load it


Site Timeline