Electronic – What would make me choose Verilog or VHDL over schematic design on CPLDs or FPGAs

programmable-logicverilogvhdl

I have absolutely no background in programmable logic, I use mostly microcontrollers in my projects but recently I needed to work with video and the microcontroller is just too slow for what I needed so I started playing with CPLDs.

I was able to get good results with the CPLD only using schematic design but when searching for info on CPLDs I came across many examples using VHDL and Verilog. I am curious about what could make me want to define my device in one of these languages. What can they do that schematic design cannot? Are they used mostly for functions?

Until now I have only used CPLDs, do FPGAs designs benefit more than CPLDs from using these languages?

Best Answer

Schematic design is only useful when you're only tying together a few off-the-shelf modules (counters, adders, memory, etc). But implementing an actual algorithm (say, a cryptography hashing algorithm) is nearly impossible to do without an HDL (like VHDL or Verilog), since there's no way to describe a system at a behavioral level with schematic symbols.

Most projects are done in behavioral-style HDL because they're too complex to be synthesized by hand and drawn using logic primitives schematically.

CPLDs are generally used for glue logic and less used for processing, and generally logic is easy to implement schematically, so I think you're right when you suggest that FPGA-based designs benefit more from using an HDL.