entity mmm is
port (
a,b: in bit;
c,d:out bit
);
end mmm;
architecture Behavioral of mmm is
-- option 1: "cBuf" declared as a signal
-- (not shown)
begin
process (a,b)
-- option2: "cBuf" declared as a variable
variable cBuf : bit;
begin
cBuf := a and b; -- evaluation and assignment cBuf is now (a and b)
c <= cBuf; -- evaluation. c will get the value cBuf. However the actual assignment occurs at the end of the process.
d <= cBuf or b; -- evaluation. d will get the value (cBuf and b). However the actual assignment occurs at the end of the process.
end process; -- assignment. at this point c is cBuf. d is now (cBuf and b)
end Behavioral;