
---------------- Created: 09/21/2004 by bingli ----------------------------
--CDNDFT          Standard
--BC_11496_ACSEL  AC_SelU
--BC_11496_ACTR   BC_4     (This matching needs to be further confirmed)
--BC_11496_OUT    AC_1
--BC_11496_BIDIR  AC_7    
--
--Modified History
--bingli 05/20/2008 Change the use statement from STD_1149_6_2003.all to STD_1149_1_2001.all
---------------------------------------------------------------------------

Package CDNDFT_1149_6_2003 is  -- Attribute definitions for AIO
use STD_1149_1_2001.all;  -- Refer to BSDL definitions

--constant AC_SelU : Cell_Info;   -- AC/DC selection U
constant BC_11496_ACSEL: Cell_Info; 
--For now, we consider ACTR is derived from BC_4 in the standard
constant BC_11496_ACTR: Cell_Info;
--constant AC_1    : Cell_Info;   -- Output cell derived from BC_1
constant BC_11496_OUT: Cell_Info; 
--constant AC_7    : Cell_Info;   -- Output cell derived from BC_7
constant BC_11496_BIDIR: Cell_Info;
constant BC_11496_OUT_NT: Cell_Info; 
constant BC_11496_OUT_TI: Cell_Info; 
constant BC_11496_OUT_TO: Cell_Info; 
constant BC_11496_OUT_TO_OO: Cell_Info; 
constant BC_11496_BIDIR_TI: Cell_Info;
constant BC_11496_BIDIR_TO: Cell_Info;
constant BC_11496_BIDIR_TO_OO: Cell_Info;

end CDNDFT_1149_6_2003;

Package Body CDNDFT_1149_6_2003 is
use STD_1149_1_2001.all;  -- Refer to BSDL definitions

constant BC_11496_ACSEL: Cell_Info:=
 ((INTERNAL, SAMPLE, UPD),
  (INTERNAL, INTEST, UPD),
  (INTERNAL, EXTEST, UPD));  -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN

--constant AC_SelU : Cell_Info:=   -- Captures 'UPD', the Update FF
-- ((INTERNAL, SAMPLE, UPD),
--  (INTERNAL, INTEST, UPD),
--  (INTERNAL, EXTEST, UPD));  -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN

constant BC_11496_ACTR: Cell_Info:=
  ((INPUT, EXTEST,  PI),        -- Intest on input not supported
   (INPUT, SAMPLE,  PI),
   (OBSERVE_ONLY, EXTEST, PI),
   (OBSERVE_ONLY, SAMPLE, PI),  -- Intest on observe_only not supported
   (CLOCK, EXTEST,  PI),   (INTERNAL, EXTEST,  PI),
   (CLOCK, SAMPLE,  PI),   (INTERNAL, SAMPLE,  PI),
   (CLOCK, INTEST,  PI),   (INTERNAL, INTEST,  PI) );


constant BC_11496_OUT: Cell_Info:=
 ((OUTPUT2, SAMPLE, PI),
  (OUTPUT2, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT2, INTEST, PI),
  (OUTPUT3, SAMPLE, PI),
  (OUTPUT3, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT3, INTEST, PI));

--constant AC_1 : Cell_Info:= -- Output cell derived from BC_1
-- ((OUTPUT2, SAMPLE, PI),
--  (OUTPUT2, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
--  (OUTPUT2, INTEST, PI),
--  (OUTPUT3, SAMPLE, PI),
--  (OUTPUT3, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
--  (OUTPUT3, INTEST, PI));

constant BC_11496_BIDIR: Cell_Info:=
 ((BIDIR_IN,  SAMPLE, PI),
  (BIDIR_IN,  EXTEST, PI),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_IN,  INTEST, UPD),
  (BIDIR_OUT, SAMPLE, PI),
  (BIDIR_OUT, EXTEST, PO),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_OUT, INTEST, PI));

--constant AC_7 : Cell_Info := -- BIDIR cell derived from BC_7
-- ((BIDIR_IN,  SAMPLE, PI),
--  (BIDIR_IN,  EXTEST, PI),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
--  (BIDIR_IN,  INTEST, UPD),
--  (BIDIR_OUT, SAMPLE, PI),
--  (BIDIR_OUT, EXTEST, PO),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
--  (BIDIR_OUT, INTEST, PI));

constant BC_11496_OUT_NT: Cell_Info:=
 ((OUTPUT2, SAMPLE, PI),
  (OUTPUT2, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT2, INTEST, PI),
  (OUTPUT3, SAMPLE, PI),
  (OUTPUT3, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT3, INTEST, PI));

constant BC_11496_OUT_TI: Cell_Info:=
 ((OUTPUT2, SAMPLE, PI),
  (OUTPUT2, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT2, INTEST, PI),
  (OUTPUT3, SAMPLE, PI),
  (OUTPUT3, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT3, INTEST, PI));

constant BC_11496_OUT_TO: Cell_Info:=
 ((OUTPUT2, SAMPLE, PI),
  (OUTPUT2, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT2, INTEST, PI),
  (OUTPUT3, SAMPLE, PI),
  (OUTPUT3, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT3, INTEST, PI));

constant BC_11496_OUT_TO_OO: Cell_Info:=
 ((OUTPUT2, SAMPLE, PI),
  (OUTPUT2, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT2, INTEST, PI),
  (OUTPUT3, SAMPLE, PI),
  (OUTPUT3, EXTEST, PI),     -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (OUTPUT3, INTEST, PI));

constant BC_11496_BIDIR_TI: Cell_Info:=
 ((BIDIR_IN,  SAMPLE, PI),
  (BIDIR_IN,  EXTEST, PI),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_IN,  INTEST, UPD),
  (BIDIR_OUT, SAMPLE, PI),
  (BIDIR_OUT, EXTEST, PO),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_OUT, INTEST, PI));

constant BC_11496_BIDIR_TO: Cell_Info:=
 ((BIDIR_IN,  SAMPLE, PI),
  (BIDIR_IN,  EXTEST, PI),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_IN,  INTEST, UPD),
  (BIDIR_OUT, SAMPLE, PI),
  (BIDIR_OUT, EXTEST, PO),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_OUT, INTEST, PI));

constant BC_11496_BIDIR_TO_OO: Cell_Info:=
 ((BIDIR_IN,  SAMPLE, PI),
  (BIDIR_IN,  EXTEST, PI),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_IN,  INTEST, UPD),
  (BIDIR_OUT, SAMPLE, PI),
  (BIDIR_OUT, EXTEST, PO),   -- EXTEST, EXTEST_PULSE, EXTEST_TRAIN
  (BIDIR_OUT, INTEST, PI));

end CDNDFT_1149_6_2003;

