| Procedures (cont. 1) | ![]()  | 
ARCHITECTURE behavior OF adder IS
BEGIN
    PROCESS (enable, x, y)
    BEGIN
    add_bits3(x, y, enable, result, carry);
    END PROCESS;
END behavior; | With parameter passing, it is possible to further simplify the architecture | 
| The parameters must be compatible in terms of data flow and data type | PROCEDURE add_bits3 (SIGNAL a, b, en : IN BIT; SIGNAL temp_result, temp_carry : OUT BIT)  | 
 
 |  
 |  
 |  
 |  
 |  
 |  
 |  
 | ![]()  |