A half adder has 2 input and 2 output....
Input a and b values to be added
output s ( sum ) and c ( carry ) bits
This code creates input values for the input variables
It creates a "process" that sets the input values and waits 1 ns, then continues ...
We compile/analyze ha.vhdl and ha_tb.vhdl
we elaborate ha_tbl
then we run ha_tbl and output ha.vcd file
The VCD file contains a mapping of out variable names to internal symbols
and for each time period it contains the values of each variable/signal
we use gtkwave to display the wave form from ha.vcd