Digital Signal Processing Reference
In-Depth Information
WHEN
"10" => state <= Ain;
WHEN
"11" => state <= Ain;
-- Default case is always required
WHEN
OTHERS
=> state <= ABout;
END
CASE
;
WHEN
Ain =>
CASE
Sensor24
IS
WHEN
"00" => state <= Ain;
WHEN
"01" => state <= ABout;
WHEN
"10" => state <= Bstop;
WHEN
"11" => state <= ABout;
WHEN
OTHERS
=> state <= ABout;
END
CASE
;
WHEN
Bin =>
CASE
Sensor13
IS
WHEN
"00" => state <= Bin;
WHEN
"01" => state <= ABout;
WHEN
"10" => state <= Astop;
WHEN
"11" => state <= About;
WHEN
OTHERS
=> state <= ABout;
END
CASE
;
WHEN
Astop =>
IF
Sensor3 = '1'
THEN
state <= Ain;
ELSE
state <= Astop;
END
IF
;
WHEN
Bstop =>
IF
Sensor4 = '1'
THEN
state <= Bin;
ELSE
state <= Bstop;
END
IF
;
END
CASE
;
END
IF
;
END
PROCESS
;
-- combine sensor bits for case statements above
-- "&" operator combines bits
sensor12 <= sensor1 & sensor2;
sensor13 <= sensor1 & sensor3;
sensor24 <= sensor2 & sensor4;
-- These outputs do not depend on the state
Switch3 <= '0';