Estoy aprendiendo VHDL y escribí el código para Full Adder como:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity FA1 is
port (
A: in std_logic;
B: in std_logic;
Cin: in std_logic;
Cout: out std_logic;
Sum: out std_logic
);
end FA1;
architecture Behavioral of FA1 is
signal s1,c1,c2 : std_logic :='0';
begin
HA1: entity work.HA1 port map(A,B,c1,s1);
HA2: entity work.HA1 port map(s1,Cin,c2,Sum);
Cout = c1 OR c2;
end Behavioral;
Mi duda es que todas las sentencias se ejecutarán simultáneamente, ¿cómo se manejan las señales en la arquitectura de FA1? Por ejemplo, ¿cómo se coordinan los valores de s1 y c2 entre estas dos sentencias? En este ejemplo, es necesario que HA1 se ejecute antes que HA2. Entonces, ¿cómo se maneja esto sin usar el "proceso"?
También en la línea
Se hace referencia aHA1: entity work.HA1 port map(A,B,c1,s1);work como el directorio en el que estamos los archivos que se compilarán. Sin embargo, no pude encontrar ninguna carpeta llamada "trabajo" en el área de trabajo.