Ashkan E. answered  03/29/20
Tutor
                    
        5
        (102)
            Expert in Logic Design: NoC Routers, Verilog/VHDL, Univ Teaching
- ":=" operator is used for assigning a value to a variable
 - "<=" operator is used for assigning a value to a signal
 
Here are some more differences between variables and signals.
Variables:
- They can be used inside sequential statements such as process
 - You cannot use them outside of process
 - Variables take the assignment values immediately
 
Signals:
- they can be used either inside or outside of sequential statements
 - You can read them out side of process, but it is important to remember that they can be assigned inside only one process (they can be assigned outside of process as well for implementing combinational circuits)
 - Signals take the assignment value at the end of current cycle if they are assigned inside process.