-- VHDL data flow description generated from `ms2rx_dp`
--		date : Thu Oct 30 18:18:22 1997


-- Entity Declaration

ENTITY ms2rx_dp IS
  GENERIC (
    CONSTANT area : NATURAL := 6120;	-- area
    CONSTANT transistors : NATURAL := 29;	-- transistors
    CONSTANT cin_di : NATURAL := 71;	-- cin_di
    CONSTANT cin_si : NATURAL := 73;	-- cin_si
    CONSTANT cin_se : NATURAL := 119;	-- cin_se
    CONSTANT cin_l : NATURAL := 74;	-- cin_l
    CONSTANT cin_c : NATURAL := 17;	-- cin_c
    CONSTANT thr_si_l : NATURAL := 0;	-- thr_si_l
    CONSTANT thf_si_l : NATURAL := 0;	-- thf_si_l
    CONSTANT tsr_si_l : NATURAL := 1393;	-- tsr_si_l
    CONSTANT tsf_si_l : NATURAL := 1167;	-- tsf_si_l
    CONSTANT thr_di_l : NATURAL := 0;	-- thr_di_l
    CONSTANT thf_di_l : NATURAL := 0;	-- thf_di_l
    CONSTANT tsr_di_l : NATURAL := 1393;	-- tsr_di_l
    CONSTANT tsf_di_l : NATURAL := 1167;	-- tsf_di_l
    CONSTANT thr_se_l : NATURAL := 0;	-- thr_se_l
    CONSTANT thf_se_l : NATURAL := 0;	-- thf_se_l
    CONSTANT tsr_se_l : NATURAL := 1740;	-- tsr_se_l
    CONSTANT tsf_se_l : NATURAL := 1343;	-- tsf_se_l
    CONSTANT tar_l_f : NATURAL := 1638;	-- tar_l_f
    CONSTANT taf_l_f : NATURAL := 2077;	-- taf_l_f
    CONSTANT rup_l_f : NATURAL := 1060;	-- rup_l_f
    CONSTANT rdown_l_f : NATURAL := 1020;	-- rdown_l_f
    CONSTANT tar_l_t : NATURAL := 898;	-- tar_l_t
    CONSTANT taf_l_t : NATURAL := 664;	-- taf_l_t
    CONSTANT rup_l_t : NATURAL := 1060;	-- rup_l_t
    CONSTANT rdown_l_t : NATURAL := 1550	-- rdown_l_t
  );
  PORT (
  di : in BIT;	-- di
  si : in BIT;	-- si
  se : in BIT;	-- se
  l : in BIT;	-- l
  c : in BIT;	-- c
  t : out BIT;	-- t
  f : out BIT;	-- f
  vdd : in BIT;	-- vdd
  vss : in BIT	-- vss
  );
END ms2rx_dp;


-- Architecture Declaration

ARCHITECTURE behaviour_data_flow OF ms2rx_dp IS
  SIGNAL dff_s : REG_BIT REGISTER;	-- dff_s

BEGIN
  label0 : BLOCK ((not (l) and not (l'STABLE)) = '1')
  BEGIN
    dff_s <= GUARDED ((not (di) and not (se)) or (not (si) and se));
  END BLOCK label0;
  label1 : BLOCK (c = '1')
  BEGIN
    dff_s <= GUARDED '1';
  END BLOCK label1;

f <= dff_s;

t <= not (dff_s);
END;
