# Getting Started with Altera CPLDs

I'm looking for recommendations regarding development kits for Altera CPLD prototyping but I'm afraid I'm not sure what to look for. The budget isn't too much - around $200. While I'm leaning towards Altera, suggestions regarding Xilinx are also appreciated. Though it does seem that Altera has better software than Xilinx. I'm thinking of programming the device in VHDL - would this be a good choice? Or is Verilog considered better? I think having an LCD on the kit is a must but 7-segment displays would be very fun to play around with as well. Though I'm not sure how easy would it be to get a "stand-alone" CPLD working. Summary: 1. What should I look for when buying a development board? Should I stick with Altera's offerings or look beyond? 2. Is there a specific board that's considered the best in its class? 3. Assuming I get comfortable with CPLDs how difficult would it be to get a basic CPLD working on one's own PCB? What would I need to ensure that the device can be programmed while still in the system (In system programming?) ## 3 Answers I wouldn't worry too much about what you choose, as there will be plenty to learn with even the simplest board. I would definitely consider the other options apart from Altera/Xilinx, there is not really any "best" option as they all have different strengths. Same with the VHDL/Verilog - I picked Verilog based on a bit of research (here is one, no doubt controversial link I based my decision on) but mostly it was just the need to pick one of them, you can waste so much time (well I can) worrying about these things. Saying that try and find one with good clear documentation, examples to follow and maybe a related forum or even a book based around it (e.g. Pong Chu's "Prototyping by Verilog Examples" based on the Digilent S3 board) Digilent seem to be one of the best for producing good quality dev boards that are well supported. An excellent way to learn is make your own dev board as Leon describes - I did a similar thing with an Actel (now Microsemi) ProASIC3 FPGA, and although it was certainly difficult with no prior knowledge I found it very rewarding and instructive, and the (simple) board worked fine in the end. Estimated cost was probably about$15 or so ($8 chip,$2 self-etched board, \$5 other stuff like oscillator made with hex inverter/crystal, LEDs etc)
It's probably just me but I usually try to avoid dev boards for learning purposes, rather as tools to use after you know the ins/out of the chips. Whatever works best for you is the key though, there are many ways to get to the same point.

Programming is commonly done via JTAG, and all the PLD vendors have their own programmers (you can try open source solutions but expect a rocky path) which attach to a header you place on the board.

• Thanks for the exhaustive response. I'm going into look into etching my board. Does JTAG support In System Programming? I think I'll get a USB Blaster cable. It's not too expensive and locally available. – Saad Sep 4 '11 at 21:19
• Yes, JTAG can be used to program your device, although the actual programming methods differ so one JTAG programmer cannot be used for all vendors (not easily anyway, I'm no expert on the exact details though) The USB blaster is Alteras ISP tool, so will work for programming (and debugging) their chips. – Oli Glaser Sep 4 '11 at 21:42

It's quite easy to design your own PCB for a CPLD. Here is the schematic and layout for one of mine that I designed a few years ago:

http://www.leonheller.com/CPLD/Proto(Page1).pdf

http://www.leonheller.com/CPLD/CPLD.png

These days I'd use a MAX V device, such as the 5M80Z, as they are much cheaper and easier to obtain than the older chips.

Low-cost USB Blaster clones are available on eBay, you need one of those for programming your CPLD.

Whether VHDL or Verilog is used is up to you, choose whichever you get on with best. Schematic entry is also supported by the Altera Quartus II software.

• Would you recommend Max V over Max II - for a beginner? Also, is schematic entry a good way to program these things? I remember reading while researching that Schematic Entry is not used that often as VHDL/Verilog are more flexible. – Saad Sep 5 '11 at 19:15
• MAX II would be easier to assemble, but they are getting difficult to obtain. Schematic entry is often used for top level designs, with modules written in VHDL or Verilog. – Leon Heller Sep 6 '11 at 21:52

CPLDs are great for a project, much more simple than FPGAs and cheaper. You can design your own Dev board easily by taking a look at some reference designs.

I've made an open source CPLD dev board based on an Altera MaxV CPLD, it's great and cheap, you can build it yourself easily or use it as a reference for your own design.

http://www.area0x33.com/blog/?page_id=218

Schematic entry is fine for simple modules, but when it comes to bigger more complex modules it's much more productive to use VHDL or Verilog. The good thing is that you can mix them all into the same project, for example start making simple modules by schematic entry and then start making other ones in VHDL, and some others in Verilog for example without problem.

Another great tool included with Quartus II from Altera (sure others will have something similar) is the simulation tools, so you can make and simulate completely your project and check how it performs without having to use the actual CPLD to check it.

## protected by Dave Tweed♦Aug 27 '15 at 18:25

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).