-------------------------------------------------------------------------- -- Copyright National Semiconductor Corporation 2005 -- -- SCAN90004 4-channel LVDS Buffer/Repeater -- -- National Semiconductor Customer Service Center -- N. America (800) 272-9959 -- Europe Germany 49 (0) 69 9508 6208 -------------------------------------------------------------------------- -- -- Rev 2.0 18 Nov 2005 -- Modified AIO_Pin_Behavior attribute to include IN3p -- Rev 1.0 Initial Release May 12, 2005 -- -- For the most recent version of this BSDL, check at this website: -- http://www.national.com/appinfo/scan/0,3031,665,00.html -- -------------------------------------------------------------------------- entity Scan90004 is generic (PHYSICAL_PIN_MAP : string := "TQFP"); port (IN0p :in bit; IN0n :in bit; IN1p :in bit; IN1n :in bit; IN2p :in bit; IN2n :in bit; IN3p :in bit; IN3n :in bit; OUT0p :buffer bit; OUT0n :buffer bit; OUT1p :buffer bit; OUT1n :buffer bit; OUT2p :buffer bit; OUT2n :buffer bit; OUT3p :buffer bit; OUT3n :buffer bit; PWDNx :in bit; PEM0 :in bit; PEM1 :in bit; VSS :linkage bit_vector(0 to 9); VDD :linkage bit_vector(0 to 9); NC :linkage bit_vector(0 to 3); TDO :out bit; TDI :in bit; TMS :in bit; TCK :in bit; TRST :in bit); use STD_1149_1_2001.all; use STD_1149_6_2003.all; attribute COMPONENT_CONFORMANCE of Scan90004 : entity is "STD_1149_1_2001"; attribute PIN_MAP of Scan90004 : entity is PHYSICAL_PIN_MAP; -- constant LLP:PIN_MAP_STRING:= -- -- "IN0p: 9,"& -- "IN0n: 10,"& -- "IN1p: 11,"& -- "IN1n: 12,"& -- "IN2p: 13,"& -- "IN2n: 14,"& -- "IN3p: 15,"& -- "IN3n: 16,"& -- "OUT0p: 32,"& -- "OUT0n: 31,"& -- "OUT1p: 30,"& -- "OUT1n: 29,"& -- "OUT2p: 28,"& -- "OUT2n: 27,"& -- "OUT3p: 26,"& -- "OUT3n: 25,"& -- "PWDNx: 8,"& -- "PEM0: 1,"& -- "PEM1: 2,"& -- "VSS: (5,DAP),"& -- "VDD:(3,4,6,7,20 ),"& -- "TDO: 23,"& -- "TDI:22, TMS:19,"& -- "TCK:18, TRST:17"; constant TQFP:PIN_MAP_STRING:= "IN0p: 13,"& "IN0n: 14,"& "IN1p: 15,"& "IN1n: 16,"& "IN2p: 19,"& "IN2n: 20,"& "IN3p: 21,"& "IN3n: 22,"& "OUT0p: 48,"& "OUT0n: 47,"& "OUT1p: 46,"& "OUT1n: 45,"& "OUT2p: 42,"& "OUT2n: 41,"& "OUT3p: 40,"& "OUT3n: 39,"& "PWDNx: 12,"& "PEM0: 1,"& "PEM1: 2,"& "VSS:(8,9,17,18,23,24,37,38,43,44),"& "VDD:(3,4,5,7,10,11,28,29,32,33),"& "NC: (6,30,31, 36),"& "TDO: 35,"& "TDI:34, TMS:27,"& "TCK:26, TRST:25"; attribute PORT_GROUPING of Scan90004 : entity is "DIFFERENTIAL_VOLTAGE ((OUT3p, OUT3n),(OUT2p, OUT2n),(OUT1p, OUT1n),"& "(OUT0p, OUT0n), (IN3p, IN3n), (IN2p, IN2n), (IN1p, IN1n), (IN0p, IN0n))"; attribute TAP_SCAN_IN of TDI : signal is true; attribute TAP_SCAN_MODE of TMS : signal is true; attribute TAP_SCAN_OUT of TDO : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (25.0e6, BOTH); attribute TAP_SCAN_RESET of TRST : signal is true; attribute INSTRUCTION_LENGTH of Scan90004 : entity is 12; attribute INSTRUCTION_OPCODE of Scan90004 : entity is "EXTEST (000000010010),"& --012 "EXTEST_PULSE (000000010110),"& --016 "EXTEST_TRAIN (000000011110),"& --01E "BYPASS (111111111111),"& --FFF "IDCODE (000000000001),"& --001 "PRELOAD (000000010000),"& --010 "SAMPLE (000000010000),"& --010 "HIGHZ (000000100000),"& --020 "CLAMP (000001100000)"; --060 --"CTRL (000010000000),"& --080 --"SA_PRELOAD (000100000000),"& --100 --"SA (001100000000),"& --300 --"STATUS (010000000000)"; --400 attribute INSTRUCTION_CAPTURE of Scan90004 : entity is "XXXXXXXXXX01"; attribute IDCODE_REGISTER of Scan90004 : entity is "0001" & -- version "1101011000000001" & -- part number D601 "00000001111" & -- manufacturer's identity "1"; -- required by 1149.1 --attribute SA_REGISTER of Scan90004 : entity is -- "XXXXXXXXXXXXXX"; attribute REGISTER_ACCESS of Scan90004 : entity is "BOUNDARY (EXTEST, EXTEST_TRAIN, EXTEST_PULSE, SAMPLE, PRELOAD)," & "DEVICE_ID (IDCODE)," & "BYPASS (CLAMP, HIGHZ, BYPASS)" ; -- "SA_REGISTER (SA_PRELAOD, SA)"& -- "PRE_REGISTER (PRE)"; attribute BOUNDARY_LENGTH of Scan90004 : entity is 21; attribute BOUNDARY_REGISTER of Scan90004 : entity is -- num cell port function safe [ccell disval rslt] -- TDI "20 (BC_4, IN0p ,OBSERVE_ONLY , X)," & "19 (BC_4, IN0n ,OBSERVE_ONLY , X)," & "18 (BC_4, IN1p ,OBSERVE_ONLY , X)," & "17 (BC_4, IN1n ,OBSERVE_ONLY , X)," & "16 (BC_4, IN2p ,OBSERVE_ONLY , X)," & "15 (BC_4, IN2n ,OBSERVE_ONLY , X)," & "14 (BC_4, IN3p ,OBSERVE_ONLY , X)," & "13 (BC_4, IN3n ,OBSERVE_ONLY , X)," & "12 (AC_SELU, * ,INTERNAL , 0)," & "11 (AC_SELU, * ,INTERNAL , 0)," & "10 (AC_SELU, * ,INTERNAL , 0)," & "9 (AC_SELU, * ,INTERNAL , 0)," & "8 (AC_1, OUT0p ,OUTPUT2 , X)," & "7 (AC_1, OUT1p ,OUTPUT2 , X)," & "6 (AC_1, OUT2P ,OUTPUT2 , X)," & "5 (AC_1, OUT3P ,OUTPUT2 , X)," & "4 (BC_1, * ,INTERNAL , X)," & "3 (BC_1, * ,INTERNAL , X)," & "2 (BC_4, PWDNx ,OBSERVE_ONLY , X)," & "1 (BC_4, PEM0 ,OBSERVE_ONLY , X)," & "0 (BC_4, PEM1 ,OBSERVE_ONLY , X) " ; -- TDO attribute DESIGN_WARNING of Scan90004 : entity is "The Scan90004 has the following features ," & " StuckAt"& " .See comment at the end of the BSDL for register description."& " "& " Switching the LVDS outputs in and out of tri-state takes 2uS "& " from the time the HIHGZ command is asserted or deasserted."& " "& " The Scan90004 is intended for point-to-point applications only"& " Outputs will become active as soon as the State Machine leaves"& " the TestLogicReset state"& " "; attribute AIO_COMPONENT_CONFORMANCE of Scan90004 : entity is "STD_1149_6_2003"; attribute AIO_Pin_Behavior of Scan90004 : entity is "IN3p, IN2p, IN1p, IN0p : LP_time=10.0e-9 HP_time=1.0e-6;"& "OUT0p : AC_Select=12;"& "OUT1p : AC_Select=11;"& "OUT2p : AC_Select=10;"& "OUT3p : AC_Select=9"; end Scan90004; -- SA --TDI -- 15 Data Out0 -- 14 Ctrl Out0 -- 13 Data Out1 -- 12 Ctrl Out1 -- 11 Data Out2 -- 10 Ctrl Out2 -- 09 Data Out3 -- 08 Ctrl Out3 -- 07 Data LOSx -- 06 Ctrl LOSx -- 05 Data PWDNx -- 04 Ctrl PWDNx -- 03 Data PEM1 -- 02 Ctrl PEM1 -- 01 Data PEM0 -- 00 Ctrl PEM0 --TDO