Introduction
In this section we will present the Verilog language, wich is a very popular hardware description language, in this tutorial we're going to learn sample by sample out Spartan3E starter kit.
Some words about Verilog
Verilog is a hardware description language (HDL) and differs from a normal language as C, or Pascal, because it has features to describe signal propagation, paralelism, and sensivity list, things that normal languages don't have. Verilog is also used to describe "test-benches" wich are test scripts used by some digital simulator to verify the hardware functionality.
Abstraction Levels
Verilog allows 3 different ways to write code:
- Behavior description (much a like a normal algorithm description)
- Register transfer level (Describes the circuit as a bunch of registers, adders, shifters, etc...)
- Gate Level (Description using normal logic gates)
First contact with Verilog
Let's describe a simple Flip-Flop D and test it in our starter kit, don't need to get to much attention to the syntax, this is just a simple sample to get the idea.

Look at the pins used...
- D (N17)
- CLK (L13)
- Q (C11)
- NQ (F11)
Verilog code
The video bellow show the process of creating a FFD