-- SCANSTA112 using B1 for TAP signals -------------------------------------------------------------------------- -- Copyright National Semiconductor Corporation 2002 -- -- STA112 7-PORT ScanBridge -- -- National Semiconductor Customer Service Center -- N. America (800) 272-9959 -- Europe Germany p49 (0) 69 9508 6208 -------------------------------------------------------------------------- -- Rev 02 12/6/07 changed/corrected -- " Y1_B: (L8,J4) ,"& -- to " Y1_B: (K8,J4) ,"& -- Rev 01 Removed the use of the reserved word CONTROL. -- FROM: -- "CONTROL[8] (CNTRLSEL) ," & -- TO: -- "CONTROL_REG[8] (CONTROLSEL) ," & -- Rev 00 (intitial release February 6, 2003) -- -------------------------------------------------------------------------- entity scansta112 is generic (PHYSICAL_PIN_MAP : string := "UNDEFINED"); port (VCC: linkage bit_vector(9 downto 0); GND: linkage bit_vector(9 downto 0); A0_01: linkage bit; A0_B: linkage bit_vector(1 downto 0); A1_01: linkage bit; A1_B: linkage bit_vector(1 downto 0); ADD_MASK: in bit; LSP_SEL: in bit_vector(6 downto 0); MPSel_B1_B0: in bit; OE: in bit; RESET: linkage bit; S: in bit_vector(7 downto 0); SB_S: in bit; TCK: in bit; -- ("TCKB1" selected by MPsel = 1) TDI: in bit; TDO: out bit; TMS: in bit; TRST: in bit; TRIST: linkage bit; TCKB0: linkage bit; -- (As LSP0 in this BSDL - - MPsel = 1) TDIB0: linkage bit; TDOB0: linkage bit; TMSB0: linkage bit; TRSTB0: linkage bit; TRISTB0: linkage bit; TCKL: linkage bit_vector(6 downto 1); -- Local ports TDIL: linkage bit_vector(6 downto 1); TDOL: linkage bit_vector(6 downto 1); TMSL: linkage bit_vector(6 downto 1); TRSTL: linkage bit_vector(6 downto 1); TRISTL: linkage bit_vector(3 downto 1); TLR_TRST6: in bit; TLR_TRST: in bit; TRANS_EN: in bit; Y0_01: linkage bit; Y0_B: linkage bit_vector(1 downto 0); Y1_01: linkage bit; Y1_B: linkage bit_vector(1 downto 0) ); use STD_1149_1_1990.all; attribute PIN_MAP of scansta112 : entity is PHYSICAL_PIN_MAP; constant TQFP_PACKAGE:PIN_MAP_STRING:= " VCC: (93,83,73,63,53,43,33,23,13,3),"& " GND: (98,88,78,68,58,48,38,28,18,8),"& " A0_01: 66 ,"& " A0_B: (41,29) ,"& " A1_01: 64 ,"& " A1_B: (50,34) ,"& " ADD_MASK: 11 ,"& " LSP_SEL: (22,21,20,19,17,16,15) ,"& " MPSel_B1_B0: 24 ,"& " OE: 14 ,"& " RESET: 54 ,"& " S: (10,9,7,6,5,4,2,1) ,"& " SB_S: 25 ,"& " TRANS_EN: 12 ,"& " TLR_TRST6: 51 ,"& " TLR_TRST: 52 ,"& " Y0_01: 65 ,"& " Y0_B: (49,36) ,"& " Y1_01: 62 ,"& " Y1_B: (46,37) ,"& " TCKB0: 30 ,"& -- (B0 as LSP0) " TDIB0: 26 ,"& " TDOB0: 27 ,"& " TMSB0: 32 ,"& " TRSTB0: 31 ,"& " TRISTB0: 35 ,"& " TCKL: (99,92,86,80,71,59) ,"& -- local " TDIL: (95,91,82,75,67,55) ,"& " TDOL: (96,90,84,76,69,56) ,"& " TMSL: (97,89,85,77,70,57) ,"& " TRSTL: (100,94,87,79,72,60) ,"& " TRISTL: (81,74,61) ,"& " TCK: 42 ,"& -- TCK_B1 -- (MPsel = 1) " TDI: 39 ,"& " TDO: 40 ,"& " TMS: 45 ,"& " TRST: 44 ,"& " TRIST: 47 "; constant BGA_PACKAGE:PIN_MAP_STRING:= " VCC: (A4,A9,C9,F10,H8,K7,K2,H2,E1,C3),"& " GND: (B3,A6,C8,D10,J10,J8,K5,H3,G1,B1),"& " A0_01: F6 ,"& " A0_B: (F5,G5) ,"& " A1_01: E10 ,"& " A1_B: (G6,H5) ,"& " ADD_MASK: D1 ,"& " LSP_SEL: (G3,H1,G2,F3,F2,E5,E2) ,"& " MPSel_B1_B0: J1 ,"& " OE: F1 ,"& " RESET: F7 ,"& " S: (C1,E3,D3,D4,C2,E4,B2,A1) ,"& " SB_S: F4 ,"& " TLR_TRST6: K10 ,"& " TLR_TRST: J9 ,"& " TRANS_EN: D2 ,"& " Y0_01: F9 ,"& " Y0_B: (K9,K4) ,"& " Y1_01: G9 ,"& " Y1_B: (K8,J4) ,"& " TCKB0: J3 ,"& " TDIB0: K1 ,"& " TDOB0: J2 ,"& " TMSB0: H4 ,"& " TRSTB0: G4 ,"& " TRISTB0: K3 ,"& " TCKL: (A2,B5,A7,B8,C10,F8) ,"& -- local " TDIL: (B4,E6,C7,E7,E9,H9) ,"& " TDOL: (A3,B6,C6,A10,E8,G7) ,"& " TMSL: (C4,A5,A8,B9,D9,G8) ,"& " TRSTL: (D5,C5,B7,D6,D8,H10) ,"& " TRISTL: (D7,B10,G10) ,"& " TCK: J6 ,"& -- backplane " TDI: K6 ,"& " TDO: J5 ,"& " TMS: J7 ,"& " TRST: H6 ,"& " TRIST: H7 "; 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 scansta112 : entity is 8; attribute INSTRUCTION_OPCODE of scansta112 : entity is -- -- NOTE "BYPASS (11111111)," & -- FF "EXTEST (00000000)," & -- 00 "SAMPLE (10000001)," & -- 81 "IDCODE (10101010)," & -- AA "UNPARK (11100111)," & --1 -- E7 "PARKTLR (11000101)," & --1 -- C5 "PARKRTI (10000100)," & --1 -- 84 "PARKPAUSE (11000110)," & --1 -- C6 "GOTOWAIT (11000011)," & -- C3 "MODESEL0 (10001110)," & -- 8E "MODESEL1 (10000010)," & -- 82 "MODESEL2 (10000011)," & -- 83 "MCGRSEL (00000011)," & -- 03 "SOFTRESET (10001000)," & --1 -- 88 "LFSRSEL (11001001)," & -- C9 "LFSRON (00001100)," & --1 -- 0C "LFSROFF (10001101)," & --1 -- 8D "CNTRSEL (11001110)," & -- CE -- 32 bit TCK counter register "CNTRON (00001111)," & --1 -- 0F "CNTROFF (10010000)," & --1 -- 90 "SGPIO0 (10111000)," & -- B8 "SGPIO1 (10111001)," & -- B9 "SGPIO2 (10111010)," & -- BA "SGPIO3 (10111011)," & -- BB "SGPIO4 (10111100)," & -- BC "SGPIO5 (10111101)," & -- BD "SGPIO6 (10111110)," & -- BE "SGPIO7 (10111111)," & -- BF "CONTROLSEL (10000111)," & -- 87 "LSPSEL (10000110)," & -- 86 "DEFAULTBP (00000111)," & -- 07 -- PRIVATE, see Note 1 "TRANSPREN (10101000)," & -- A8 -- PRIVATE, see Note 2 "TRANSPR0 (10100000)," & -- A0 -- PRIVATE, see Note 2 "TRANSPR1 (10100001)," & -- A1 -- PRIVATE, see Note 2 "TRANSPR2 (10100010)," & -- A2 -- PRIVATE, see Note 2 "TRANSPR3 (10100011)," & -- A3 -- PRIVATE, see Note 2 "TRANSPR4 (10100100)," & -- A4 -- PRIVATE, see Note 2 "TRANSPR5 (10100101)," & -- A5 -- PRIVATE, see Note 2 "TRANSPR6 (10100110)," & -- A6 -- PRIVATE, see Note 2 "TRANSPR7 (10100111)"; -- A7 -- PRIVATE, see Note 2 -- NOTE 1 = When instruction "DEFAULTBP" has been given, and -- until a reset is given, the noted instructions will have: -- attribute REGISTER_ACCESS entity is -- "[1] (BYPASS) The purpose of -- this is to allow shorter scan chains. -- NOTE 2 = When instruction "TRANSPREN" or "TRANSPR#" has been -- given, the contents of the MODESEL register or TRANSPR# -- register will be used to select LSP(s) and insert them into -- the scan chain transparently. Once the instruction is -- active, the bridge is transparent, and thus no register is -- selected. This state will remain until a hard reset is -- given. It will not respond to 5 TMS high. attribute INSTRUCTION_CAPTURE of scansta112 : entity is "XXXXXX01"; -- the xxxxxx is the least significant 6 bits -- of the address switch setting, S5 to S0. attribute INSTRUCTION_PRIVATE of scansta112 : entity is "DEFAULTBP,"& "TRANSPREN,"& "TRANSPR0,"& "TRANSPR1,"& "TRANSPR2,"& "TRANSPR3,"& "TRANSPR4,"& "TRANSPR5,"& "TRANSPR6,"& "TRANSPR7"; attribute IDCODE_REGISTER of scansta112 : entity is -- 0FC2501F "0000" & -- Version "1111110000100101" & -- Part number "00000001111" & -- Manufacturer Identity "1"; -- Manditory LSB attribute REGISTER_ACCESS of scansta112 : entity is "IDCODE (UNPARK,PARKTLR,PARKRTI,PARKPAUSE,GOTOWAIT," & "SOFTRESET,LFSRON,LFSROFF,CNTRON,CNTROFF)," & "MODE0[8] (MODESEL0) ," & "MODE1[8] (MODESEL1) ," & "MODE2[8] (MODESEL2) ," & "MCGR[2] (MCGRSEL) ," & "LFSR[16] (LFSRSEL) ," & "CNTR[32] (CNTRSEL) ," & -- 32 bit TCK counter register "SGPIO0[8] (SGPIO0) ," & "SGPIO1[8] (SGPIO1) ," & "SGPIO2[8] (SGPIO2) ," & "SGPIO3[8] (SGPIO3) ," & "SGPIO4[8] (SGPIO4) ," & "SGPIO5[8] (SGPIO5) ," & "SGPIO6[8] (SGPIO6) ," & "SGPIO7[8] (SGPIO7) ," & "CONTROL_REG[8] (CONTROLSEL) ," & "LSPSEL[8] (LSPSEL) "; attribute BOUNDARY_CELLS of scansta112 : entity is "BC_4"; attribute BOUNDARY_LENGTH of scansta112 : entity is 22; attribute BOUNDARY_REGISTER of scansta112 : entity is -- num cell port function safe [ccell disval rslt] "0 (BC_4, S(0), input, X)," & -- closest to TDO "1 (BC_4, S(1), input, X)," & "2 (BC_4, S(2), input, X)," & "3 (BC_4, S(3), input, X)," & "4 (BC_4, S(4), input, X)," & "5 (BC_4, S(5), input, X)," & "6 (BC_4, S(6), input, X)," & "7 (BC_4, S(7), input, X)," & "8 (BC_4, OE, input, X)," & "9 (BC_4, LSP_SEL(0), input, X)," & "10 (BC_4, LSP_SEL(1), input, X)," & "11 (BC_4, LSP_SEL(2), input, X)," & "12 (BC_4, LSP_SEL(3), input, X)," & "13 (BC_4, LSP_SEL(4), input, X)," & "14 (BC_4, LSP_SEL(5), input, X)," & "15 (BC_4, LSP_SEL(6), input, X)," & "16 (BC_4, ADD_MASK, input, X)," & "17 (BC_4, TRANS_EN, input, X)," & "18 (BC_4, MPSel_B1_B0, input, X)," & "19 (BC_4, SB_S, input, X)," & "20 (BC_4, TLR_TRST, input, X)," & "21 (BC_4, TLR_TRST6, input, X)"; -- closest to TDI end scansta112;