


I'd recommend finding a good textbook on verilog and one on basic digital logic and skimming those as a supplement to what's being thrown about here so you can get an idea of what kind of circuits you're going to be synthesizing.

Instead, you make a couple of counters, you increment one on every clock cycle for the delay, and when that rolls over you increment the other for the number of blinks you want. and the wires that interconnect them.įor example, if you want to blink an LED 10 times, you don't use a for loop and a call to delay like you would in arduino. The HDL that you write describes logic gates, flip flops, adders, multiplexers, RAMs, etc.
#XILINX VERILOG TUTORIAL FOR BEGINNERS SOFTWARE#
It is not executed or interpreted like software on a CPU, instead it is converted to a digital schematic called a net list through a process called synthesis, and then placed and routed onto the target device. It describes the function and interconnection of digital logic components. HDL is a hardware description language, not a programming language. "You must unlearn what you have learned." Do not approach writing HDL with the same mindset you use when programming, otherwise you will write beautiful HDL that will simulate just fine but either will not be synthesizable or will perform poorly in hardware. One thing that needs to be mentioned: writing HDL for FPGAs is totally different from writing software for a CPU.
