Question

I'm a student in the faculty of Electronic Engineering and we've studied VHDL basics last year and I want to improve my experience in this field and the field of digital design, I want to be an expert in this field. How can I do this? I searched the web a lot and didn't find any thing. Any help please. Thank you a lot.

Was it helpful?

Solution

One of the hardest thing for a beginner in digital design field, specifically in the field of Programmable Logic Devices, is recognizing that you are describing circuits with a higher level programming language. Even though the language may support many exotic constructs, only a subset of those constructs describe circuits which are actually implementable on the hardware that you are interested in targeting.

So how do you understand this better? (your question)

My Suggestions:

  • Most important: Hobby projects with (or without) a demo board. Having hardware can make it fun, but you do a lot even before you hit hardware. You will be doing a lot of "re-inventing the wheel" here, simply for the sake of learning. Don't be afraid to implement a UART for the 1 millionth time in an FPGA; you will learn.
  • As your work on your hobby projects, spend time to figure out how the things that you are describing in VHDL relate to the actual hardware of the device you are targeting. For example, once your synthesize your design, study the RTL and/or technology views to see how it was actually implemented. Is it what you expected?
  • Read/reference resources, such as a textbook, oriented towards VHDL for synthesis or VHDL targeting PLDs. There is a lot of instructional information out there about VHDL, but only a part of it is applicable to the world of "real world implementation." I would also recommend that you look into VHDL 2008 information as VHDL 2008 brought some great new features to the table, making VHDL a little less painful in some circumstances.
  • Read forums/newsgroups on the subject such as comp.arch.fpga. The most interesting discussions I find there are ones regarding "best practice." It's a good opportunity to break out of the ideas found in textbooks and lecture halls.

Some ideas for hobby projects:

  • 7 segment display interface
  • LCD interface
  • UART
  • Keypad interface
  • 4 function calculator
  • Interfacing to sensors (e.g. temperature)

OTHER TIPS

Look at the fpga4fun.com verilog projects and convert them to vhdl and get them working. Or just write them in vhdl from scratch. A uart is a great project to learn with as mentioned above.

Make your own simple cpu (microcontroller). Start with the four function calulator mentioned by Josh and extend it to a simple cpu.

Or add extra functions to one of the existing soft cpu cores like zpuino (arduino clone)

A lot of books are aimed at university subjects

reasonable free book free range fpga http://www.freerangefactory.org/site/pmwiki.php/Main/Books

not a bad one FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version

Get a board. Design and implement projects.Start simple and build up. Don't try and go to complex straight away.

Digilentinc have some cheap ones or the avnet usb dongle board that takes digilentinc pmod expansion addons for $80

The gadget factories Papilio platform looks reasonable and appears to have a good lot of lessons and support behind it (spartan 3 or spartan 6 chips from xilinx) papilio.cc

from gadget factory papillio + addon boards(wings) http://www.kickstarter.com/projects/13588168/retrocade-synth-one-chiptune-board-to-rule-them-al

For altera the terasic boards look good

A couple of my favourite fpga books (not intro books) FPGA-based Prototyping Methodology Manual: Best Practices in Design-for-Prototyping 100 Power Tips for FPGA Designers

Sorry had to cut the links out as a new user.

Practice makes perfect. Here are some ideas for projects to work on: (Sorted by difficulty)

  • half adder
  • Full adder
  • 4 bit ripple adder/subtractor
  • Carry Look Ahead Adder
  • ALU including operations like Add/Subtract signed/unsigned, AND, OR, NOR, Shift Left/Right Logic/Arithmetic, ...
  • Implementation of state machines.
  • 7 segment counter and always refer to VHDL reference manual.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top