Author Topic: FPGA's-Getting started-How?  (Read 8577 times)

0 Members and 1 Guest are viewing this topic.

Offline djsbTopic starter

  • Frequent Contributor
  • **
  • Posts: 941
  • Country: gb
FPGA's-Getting started-How?
« on: February 04, 2010, 01:44:27 pm »
Hi,
I have viewed the blog on FPGA's and it has piqued my interest.
How do I get started with them right from the beginning? I have some knowledge of digital electronics but would like to follow a well structured course with practical examples I can try out on a development board.
I've seen this book

http://www.elektor.com/products/cd-dvds/electronics/fpga-course.368274.lynkx

and I've had a read of the fpga4fun website (http://www.fpga4fun.com/). I need something that can help me learn the core fundamentals and maybe pick up some VHDL or other HDL along the way. I'm a big fan of William Kleitz and I have his latest Digital Electronics-A practical course book. However this book does not cover FPGA's only CPLD's and uses the discontinued Xilinx X95 board for it's examples.
Can anyone suggest an INEXPENSIVE starter kit that is popular with current textbooks?
Thanks.

David.
David
Hertfordshire, UK
University Electronics Technician, London, PIC16/18, CCS PCM C, Arduino UNO, NANO,ESP32, KiCad V8+, Altium Designer 21.4.1, Alibre Design Expert 28 & FreeCAD beginner. LPKF S103,S62 PCB router Operator, Electronics instructor. Credited KiCad French to English translator
 

Offline armandas

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
    • My projects
Re: FPGA's-Getting started-How?
« Reply #1 on: February 04, 2010, 03:06:24 pm »
I used "FPGA prototyping by VHDL examples: Spartan-3 version" by P. Chu. Good book for beginners.
 

Offline rossmoffett

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: FPGA's-Getting started-How?
« Reply #2 on: February 04, 2010, 05:08:14 pm »
I learned on a Spartan 3 and I can vouch for its effectiveness.  You can program in virtual discrete logic gates as if you were drawing a schematic, you can do state machine diagrams (kind of a block diagram of the order you want things to happen) or you can program any of several hardware descriptive languages.. you can also use any combination of the three methods.

My digital logic course started with some discrete boards, adders and such, and quickly moved to learning on the FPGA.  Our book was just a standard digital logic book, discussing truth tables, karnaugh maps, gates, memory, clocking, sequential vs. asynchronous logic and etc.  You don't necessarily need something that specifically teaches you FPGAs.. we had to look that stuff up through the help system.  I'm sure a book based around them helps though.  Our final project was to create an arcade machine with the FPGA as its brain, and the VGA output tied to a monitor.  Before that we took keyboard input and had to learn shift registers among other things.  It's just a fun device, I recommend it. 

I hope someone will chime in with their opinions of the Altera boards, I've never used one and I don't know what they're like.

To answer your desire for a structured method, you can find that many universities now offer their classes online, and publish notes and assignments.  MIT is one.  I know UC Berkeley does too.  On youtube you can find a lot of lectures, such as these:

https://www.youtube.com/view_play_list?p=BF3F9FDD3700668D&search_query=digital+logic+uc+berkeley&rclk=pti

There are two two digital logic series there.  MITs OpenCourseware page for digital logic is here:

http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-111Spring-2006/CourseHome/index.htm

Quote
6.111 is reputed to be one of the most demanding classes at MIT, exhausting many students' time and creativity. The course covers digital design topics such as digital logic, sequential building blocks, finite-state machines, FPGAs, timing and synchronization.

I guess it's that way at most universities!  Some nights I stayed in the lab through the night to the next afternoon.
ArcAttack - A group of musical Tesla coil performers with semi-regular blog updates.
 

Offline charliex

  • Frequent Contributor
  • **
  • Posts: 346
  • Country: 00
  • Car Hacker
Re: FPGA's-Getting started-How?
« Reply #3 on: February 04, 2010, 05:16:06 pm »
I used the spartan too, the digilent board, also the sparkfun board is nice and cheap, and the gadget factory butterfly is a nice setup. The fpga4fun saxo/pluto is also a very basic intro.

this site has a good intro
http://www.asic-world.com/verilog/index.html

butterfly
http://www.gadgetfactory.net/gf/project/butterfly_main/
sparkfun
http://www.sparkfun.com/commerce/product_info.php?products_id=8595
digilent
http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD

the sparkfun gives you more signals, as does the butterfly , the digilent gives you more bang for the buck for stuff to screw around with.
« Last Edit: February 04, 2010, 06:14:18 pm by charliex »
 

Offline StephenOng

  • Newbie
  • Posts: 9
Re: FPGA's-Getting started-How?
« Reply #4 on: February 04, 2010, 09:30:11 pm »
I found that the material provided at this university: http://www.engr.sjsu.edu/crabill/, is very good. Lecture materials are good. The labs are very hands on and something you can do by yourself at home. The lab uses development board from digilent (http://www.digilentinc.com/) which is reasonably priced.

As for books, "VHDL for Logic Synthesis" by Andrew Rushton is very good It teaches you how to use VHDL to describe digital hardware. Most VHDL books teaches you just the language, this is not very good, it doesn't tell you which subset of the language and what constructs are useful for describing digital logic.
 

Offline Ferroto

  • Frequent Contributor
  • **
  • Posts: 289
  • Country: ca
Re: FPGA's-Getting started-How?
« Reply #5 on: February 05, 2010, 01:05:02 am »
Ya i'd like to see more about FPGA's. I know they don't retain there settings after powerdown but i do know that they load there settings from external memory when they boot up but do they automatically retrieve that information from the ROM or is a uC required to boot the FPGA. The thing is all the documentation and videos I've found jump right into the middle of it without going too extensively into the basics first. It was the same thing with uC's when i got started with them but i got a decent starter kit that was quite helpful from Microchip
 

Offline rossmoffett

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: FPGA's-Getting started-How?
« Reply #6 on: February 05, 2010, 02:32:14 am »
The Spartan-III resets on power down, but there is an option in the programming software to save to memory, which allows it to automatically stay programmed.  I imagine others are similar.  The Xilinx chip probably has some persistent memory in it to keep settings like that, there was no uC on my board that I recall.
ArcAttack - A group of musical Tesla coil performers with semi-regular blog updates.
 

Offline djsbTopic starter

  • Frequent Contributor
  • **
  • Posts: 941
  • Country: gb
Re: FPGA's-Getting started-How?
« Reply #7 on: February 06, 2010, 07:56:35 pm »
Hi,
Thanks for all your replies.
I'm thinking of buying an Altium Nanoboard 3000. Not sure which variant yet though. Only problem is the cost of the software after 12 months. Still wondering if it's worth the investment.

David.
David
Hertfordshire, UK
University Electronics Technician, London, PIC16/18, CCS PCM C, Arduino UNO, NANO,ESP32, KiCad V8+, Altium Designer 21.4.1, Alibre Design Expert 28 & FreeCAD beginner. LPKF S103,S62 PCB router Operator, Electronics instructor. Credited KiCad French to English translator
 

Offline jahonen

  • Super Contributor
  • ***
  • Posts: 1055
  • Country: fi
Re: FPGA's-Getting started-How?
« Reply #8 on: February 06, 2010, 08:42:44 pm »
I have always built my own hardware when working with FPGAs, and for quick test projects, I once made this board (some leftover space on one customer project panel ;)) . The board has Altera Cyclone II EP2C8 with configuration memory and 32 IO-pins routed to two pin headers. And most important, every IO-pin has ground pin next to it. With high-edge rate pins, it can really be a PITA if return current path is not near the actual signal.

At my work, there is quite general consensus about that Altera Quartus is somewhat more straightforward to use than Xilinx ISE. That might be one thing to consider.

I think that FPGAs are at end pretty simple compared to MCU's, after all it is just a logic chip. With MCU's, you'll need to figure out what chip designer has thought when (s)he created the chip, but with FPGA, you'll create your own "empire" from scratch, thus you actually know what there is. Hardware (logic) bugfixes are also easy.

I was very surprised how simple it was to make an experimental stereo three-way active filter (phase linear FIR) using FPGA internal multipliers. That particular filter requires something like 135 million sustained multiply-accumulate (24x32 bit) operations per second. It would have taken much longer if I have used a DSP processor. The purpose of the board was originally to test the Freescale's DSP56371, but I ended up coding the filter to the FPGA :) with VHDL.

Regards,
Janne
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf