Just getting started in the world of Digital Circuits

Discussion in 'Embedded Systems and Microcontrollers' started by TigerLeep, Oct 20, 2011.

  1. TigerLeep

    Thread Starter New Member

    Oct 20, 2011
    I'm an experienced software developer (Assembly, C, C++, VB, C#, ...) and am just starting to get into the world of digital circuit design. I'm 210% fascinated by it and am learning at a very rapid pace. I wanted to start playing with breadboarding some simple circuits (adders, muliplexors, etc) using logic gate chips as a means of learning, but I know I will quickly outgrow simple breadboards. A friend suggested I look into FPGAs and so I did. They look like they may be the perfect "playground" for me to learn with, but there is an overwhelming amount of information to learn before I can decide which to get. So I guess I'm hoping for some beginners advice. Tips, suggestions, where to start, etc.

    I've looked at VHDL and Verilog syntax, and even though I have a strong C style background, I'm leaning more toward VHDL. It seems (to me at least) to be closer to "circuit design" than Verilog's "c" like syntax. I've only seen a few YouTube videos on both though, so it's a very un-educated assumption at this point. :)

    Money isn't TOO much of a concern (I'm ok with spending several hundred on an FPGA, but I'm not willing to spend thousands). I know I'd like something with a lot of (forgive me if I have any terminology wrong, still learning rapidly) logic units, and PROM would be nice so it could retain its programming without power. I don't really know what I want for inputs/output/ports/etc... When I was originally thinking of just breadboards and Radio Shack logic gates, I was probably going to use switches and LEDs. Now I see FPGAs with VGA and HDMI out and built-in character displays and USB and PCI ports and... As I said, quite overwhelming.

    Maybe it might help to know that my immediate long-term goal (was that an oxymoron?) is to make a CPU (strictly as a learning project). I've been doing a LOT of learning on the architecture of CPUS. I'm not talking about anything anywhere CLOSE to as complex as, say, an Intel I7. I'm talking 8-bit bus, simple adder, simple instruction set, probably only 1 accumulator... all as a learning process. Will probably expand on it as I learn and improve it over months/years once I get it made initially. The FPGA is the next step in that learning process, so I can start actually playing for real instead of in a simple Hardware Simulator (worked though the book The Elements of Computing Systems by Noam Nisan and Shimon Schocken... Unbelievably good book).

    I'll stop rambling now. I can't wait to hear what kind of feedback I get from the community here! :)
  2. BillO

    Distinguished Member

    Nov 24, 2008
    A development board based on Xilinx or Altera chips would be a starting point. They both offer free development environments.

    Go to eBay and search on FPGA development or CPLD development. You'll see hundreds of options starting at under $20.

    Of course, if money is no object, both of these companies offer their top of the line chip development environments in the $15K+ range!!! Some of these chips are more than the price of a small car.:)

    I have and Altera UP-2 board that has both an FPGA and a CPLD on it along with some switches, push buttons, LEDs and 7-segment displays. As well, all the chip pins are broken out to pin sockets. You can get this for about $100 if you look, but the chips are a little outdated.
  3. TigerLeep

    Thread Starter New Member

    Oct 20, 2011
    Thanks for the info. I finally made a decision today and ordered the Digilent Nexys3 (Spartan 6) board. Once I get it I will probably have LOTS questions. :D