ENTITY serial2parallel IS
GENERIC (bps : INTEGER);
PORT (serial, received : IN BIT; dataready : BUFFER BIT;
overrun, frame_error : OUT BIT;
parallel_out : BUFFER BIT_VECTOR (7 DOWNTO 0));
END serial2parallel;
--
ARCHITECTURE waiting OF serial2parallel IS
BEGIN
collect : PROCESS
VARIABLE buff : BIT_VECTOR (7 DOWNTO 0);
CONSTANT half_bit : TIME := (1000000.0/REAL(bps))/2.0 * 1 US;
CONSTANT full_bit : TIME := (1000000.0/REAL(bps)) * 1 US;
BEGIN
--Look for Start, start collecting data
--If Stop not found, issue frame error
END PROCESS collect;
--
too_fast : PROCESS
BEGIN
-- While collecting, check for overrun
END PROCESS too_fast;
END waiting; |