Hardware design languages (HDL) like VHDL and Verilog have significant benefits over high-level sythesis of hardware from C/C++ or graphical drag-and-drop interfaces.
HDLs do not execute sequentially, which means that every statement outside of certain constructs will execute almost at once.
There is not currently a open source synthesis tool, but they are license free. Typically you pay for specific IP. There are both license free and open source IDEs.
Simulation is nearly as important at synthesis.
--if ... then
...
elsif
...
end if;
entity, which includes the
definition of its interface to other circuits, which consists of signals
that may be in, out or inout and
a data type (e.g. std_logic)entity is referred to as a
architectureport can be associated with a signalstd_logic_vector allows you to bundle signals
to or
downtodownto is big-endian, while to is
little-endianlibrary IEEE; use IEEE.std_logic_1164.all; allows 9
different signal values including 0, 1,
U, X, Z W,
L, H, -bit can only be 0 or 1use IEEE.numeric_std.all; imports a library for
unsigned type and various arithmetic operatorsbegin keyword, and are
assigned using <=process construct, and are
assigned using :=architecture circuit_1 of <entity-name> is
signal sig_1 : std_logic;
begin
process (a,b,c)
variable var_1 : integer;
begin
port_f <= not (port_a and port_b and port_c);
sig_1 <= port_a;
var_1 := 34;
end process;
end circuit_1;
process construct provides sequential execution of
statements, but the process itself is concurrent