--bsdl description for 100 pin FP SuMMIT-DXE Dave Stevenson 18may04 --modified to support Corelis compiler Dave Stevenson 14sep06 --(Corelis support for HSDL extentions has been discontinued) --modified INSTRUCTION_CAPTURE attribute by James Nagy 20sep06 entity SUMMIT is -- Generic Parameter generic (PHYSICAL_PIN_MAP : string := "dxe_100fp"); -- Logical Port Description port ( ALO : inout bit_vector ( 4 downto 0 ); AHI : out bit_vector ( 10 downto 0 ); ABZSTD : in bit; AUTOENZ : in bit; CSZ : in bit; D : inout bit_vector ( 15 downto 0 ); DMACKZ : out bit; DMAGZ : in bit; DMARZ : out bit; DTACKZ : in bit; LOCKZ : in bit; MRSTZ : in bit; MSEL0 : in bit; MSEL1 : in bit; MSGINTZ : out bit; RCSZ : out bit; RDRWZ : in bit; READYZ : out bit; ROMENZ : out bit; RRDZ : out bit; RTA : in bit_vector ( 4 downto 0 ); RTPTY : in bit; RWRZ : out bit; SSYSFZ : in bit; TCK : in bit; TCLK : in bit; TDI : in bit; TDO : out bit; TERACTZ : out bit; TMS : in bit; TRSTZ : in bit; CLK_24MHZ : in bit; YFINTZ : out bit; CHA : linkage bit; CHAZ : linkage bit; CHB : linkage bit; CHBZ : linkage bit; VDD : linkage bit_vector (1 to 6); VCC : linkage bit_vector (1 to 6); VEE : linkage bit_vector (1 to 4); VSS : linkage bit_vector (1 to 6); GND : linkage bit_vector (1 to 8)); -- Use Statements -- Corelis support change ----------------------------- Dave Stevenson 14sep06 -- modified to support Corelis compiler -- use STD_1149_1_1990.all; -- Get Std 1149.1-1990 attributes/definitions -- revised STD_1149_1_1990.all libraries to STD_1149_1_1994.all use STD_1149_1_1994.all; -- Get Std 1149.1-1994 attributes/definitions -- use HSDL_device.all; -- Get HSDL extensions for devices -- Device Description (optional) -- attribute DEVICE_DESCRIPTION of SUMMIT : entity is -- "SUMMIT - 1553 Interface Controller" & -- "(description)" & -- "(description)"; attribute COMPONENT_CONFORMANCE of SUMMIT : entity is "STD_1149_1_1994"; -- Corelis ----------------------------- -- Corelis support change ----------------------------- Dave Stevenson 14sep06 -- Package Pin Mapping attribute PIN_MAP of SUMMIT : entity is PHYSICAL_PIN_MAP; constant dxe_100fp : PIN_MAP_STRING := "ALO : (15,14,13,12,11)," & "AHI : (26,25,24,23,22,21,20,19,18,17,16), "& "ABZSTD : 70," & "AUTOENZ : 79," & "CHA : 32," & "CHAZ : 33," & "CHB : 42," & "CHBZ : 43," & "CSZ : 80," & "D : (97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82)," & "DMACKZ : 1," & "DMAGZ : 2," & "DMARZ : 3," & "DTACKZ : 4," & "LOCKZ : 69," & "MRSTZ : 73," & "MSEL0 : 71," & "MSEL1 : 72," & "MSGINTZ : 65," & "RCSZ : 8," & "RDRWZ : 81," & "READYZ : 64," & "ROMENZ : 78," & "RRDZ : 6," & "RTA : (59,58,57,56,55)," & "RTPTY : 54," & "RWRZ : 7," & "SSYSFZ : 75," & "TCK : 49," & "TCLK : 68," & "TDI : 51," & "TDO : 52," & "TERACTZ : 63," & "TMS : 50," & "TRSTZ : 53," & "CLK_24MHZ : 74," & "YFINTZ : 66," & "VCC : (30,35,36,39,40,45)," & "VDD : (9,60,62,76,99,100)," & "GND : (29,31,34,37,38,41,44,46)," & "VEE : (27,28,47,48)," & "VSS : (5,10,61,67,77,98)"; -- Scan Port Identification 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 ( 20.0e6, BOTH ); attribute TAP_SCAN_RESET of TRSTZ : signal is true; -- TAP Description attribute INSTRUCTION_LENGTH of SUMMIT : entity is 4; attribute INSTRUCTION_OPCODE of SUMMIT : entity is "BYPASS ( 1111 )," & "EXTEST ( 0000 )," & "SAMPLE ( 0010 )," & "INTEST ( 0001 )," & "RUNBIST ( 0111 )," & "IDCODE ( 0100 )," & "GL_TRI ( 0011 )"; -- Change last two digits of INSTRUCTION_CAPTURE attribute to meet current -- BSDL specification, James Nagy 20SEP06 attribute INSTRUCTION_CAPTURE of SUMMIT : entity is "XX01"; -- attribute INSTRUCTION_CAPTURE of SUMMIT : entity is "XXX1"; --attribute INSTRUCTION_DISABLE of SUMMIT : entity is ""; --attribute INSTRUCTION_GUARD of SUMMIT : entity is ""; attribute INSTRUCTION_NORMAL of SUMMIT : entity is "BYPASS, SAMPLE, IDCODE"; attribute INSTRUCTION_TEST of SUMMIT : entity is "EXTEST, INTEST, RUNBIST, GL_TRI"; -- attribute INSTRUCTION_DESCRIPTION of SUMMIT : entity is -- "BYPASS ('Select BYPASS register in normal mode.')," & -- "IDCODE ('Select ID register in normal mode.')," & -- "EXTEST ('Select Boundary-Scan register in test mode; " & -- "control device inputs and outputs using the " & -- "contents of the Boundary.')," & -- "SAMPLE ('Select Boundary-Scan register in normal mode; " & -- "sample device inputs and outputs into the " & -- "Boundary.')"; -- IDCODE Register Description attribute IDCODE_REGISTER of SUMMIT : entity is "0000" & -- 4-bit version "0000000001010100" & -- 16-bit part number "00000111000" & -- 11-bit manufacturer "1" ; -- mandatory LSB -- RUNBIST Register Description -- NOTE: please reference the SuMMIT JTAG operation spec before attempting -- to read this register. It requires the toggling of the 24MHZ input -- clock along with TCK to operate. -- attribute RUNBIST_REGISTER of SUMMIT : entity is -- "0" & -- up -- "0" & -- rom msw -- "0" & -- rom lsw -- "0" & -- cp1 -- "0" & -- cp2 -- "0" & -- chb wrap -- "0" ; -- cha wrap -- Registers of the Device attribute REGISTER_ACCESS of SUMMIT : entity is "BOUNDARY ( EXTEST, INTEST, SAMPLE, GL_TRI )," & "BYPASS ( BYPASS )," & "IDCODE ( IDCODE )," & "RUNBIST[7] ( RUNBIST )"; -- attribute REGISTER_DESCRIPTION of SUMMIT : entity is -- "BOUNDARY ('The Boundary-Scan register contains the cells " & -- "attached to the pins of the device.')," & -- "BYPASS ('The BYPASS register is a one-bit register that " & -- "loads a 1 in the Capture-DR state. It is used" & -- "speed scanning to the UUT when a device is" & -- "not used during a test.')"; -- Boundary Register Description attribute BOUNDARY_CELLS of SUMMIT : entity is "BC_1,BC_7"; attribute BOUNDARY_LENGTH of SUMMIT : entity is 123; attribute BOUNDARY_REGISTER of SUMMIT : entity is -- num cell port function safe [ control-cell disable-value rslt ] "122 (BC_1, *, control, 1)," & --DUMMY(PCK) "121 (BC_1, DMARZ, output3, 1, 0, 0, Z)," & "120 (BC_1, *, control, 1)," & --DUMMY(EXI31) "119 (BC_1, DMAGZ, input, 1)," & "118 (BC_1, *, control, 1)," & --DUMMY(EXI30) "117 (BC_1, DMACKZ, output2, 1)," & "116 (BC_1, MSGINTZ, output3, 1, 3, 0, Z)," & "115 (BC_1, *, control, 1)," & --DUMMY(EXI29) "114 (BC_1, YFINTZ, output3, 1, 2, 0, Z)," & "113 (BC_1, *, control, 1)," & --DUMMY(EXI28) "112 (BC_1, AUTOENZ, input, 1)," & "111 (BC_1, *, control, 1)," & --DUMMY(EXI27) "110 (BC_1, *, control, 1)," & --DUMMY(EXI26) "109 (BC_1, *, control, 1)," & --DUMMY(EXI25) "108 (BC_1, *, control, 1)," & --DUMMY(EXI24) "107 (BC_1, ROMENZ, output3, 1, 1, 0, Z)," & "106 (BC_1, CSZ, input, 1)," & "105 (BC_1, RDRWZ, input, 1)," & "104 (BC_1, AHI(10), output3, 1, 4, 0, Z)," & "103 (BC_1, *, control, 1)," & --DUMMY(EXI23) "102 (BC_1, AHI(9), output3, 1, 4, 0, Z)," & "101 (BC_1, *, control, 1)," & --DUMMY(EXI22) "100 (BC_1, AHI(8), output3, 1, 4, 0, Z)," & " 99 (BC_1, *, control, 1)," & --DUMMY(EXI21) " 98 (BC_1, AHI(7), output3, 1, 4, 0, Z)," & " 97 (BC_1, *, control, 1)," & --DUMMY(EXI20) " 96 (BC_1, AHI(6), output3, 1, 4, 0, Z)," & " 95 (BC_1, *, control, 1)," & --DUMMY(EXI19) " 94 (BC_1, AHI(5), output3, 1, 4, 0, Z)," & " 93 (BC_1, *, control, 1)," & --DUMMY(EXI18) " 92 (BC_1, AHI(4), output3, 1, 4, 0, Z)," & " 91 (BC_1, AHI(3), output3, 1, 4, 0, Z)," & " 90 (BC_1, *, control, 1)," & --DUMMY(EXI17) " 89 (BC_1, AHI(2), output3, 1, 4, 0, Z)," & " 88 (BC_1, *, control, 1)," & --DUMMY(EXI16) " 87 (BC_1, CLK_24MHZ, input, 1)," & " 86 (BC_1, *, control, 1)," & --DUMMY(EXI15) " 85 (BC_1, *, control, 1)," & --DUMMY(EXI14) " 84 (BC_1, AHI(1), output3, 1, 4, 0, Z)," & " 83 (BC_1, *, control, 1)," & --DUMMY(EXI13) " 82 (BC_1, AHI(0), output3, 1, 4, 0, Z)," & " 81 (BC_1, *, control, 1)," & --DUMMY(EXI12) " 80 (BC_7, ALO(4), bidir, 0, 4, 0, Z)," & " 79 (BC_7, ALO(3), bidir, 0, 4, 0, Z)," & " 78 (BC_1, *, control, 1)," & --DUMMY(EXI11) " 77 (BC_7, ALO(2), bidir, 0, 4, 0, Z)," & " 76 (BC_1, *, control, 1)," & --DUMMY(EXI10) " 75 (BC_7, ALO(1), bidir, 0, 4, 0, Z)," & " 74 (BC_1, *, control, 1)," & --DUMMY(EXI9) " 73 (BC_7, ALO(0), bidir, 0, 4, 0, Z)," & " 72 (BC_1, *, control, 1)," & --DUMMY(EXI8) " 71 (BC_1, RWRZ, output3, 1, 4, 0, Z)," & " 70 (BC_1, RRDZ, output3, 1, 4, 0, Z)," & " 69 (BC_1, RCSZ, output2, 1)," & " 68 (BC_1, *, control, 1)," & --DUMMY(EXI7) " 67 (BC_1, TCLK, input, 1)," & " 66 (BC_1, DTACKZ, input, 1)," & " 65 (BC_1, *, control, 1)," & --DUMMY(EXI6) " 64 (BC_7, D(15), bidir, 0, 5, 0, Z)," & " 63 (BC_1, *, control, 1)," & --DUMMY(EXI5) " 62 (BC_7, D(14), bidir, 0, 5, 0, Z)," & " 61 (BC_1, *, control, 1)," & --DUMMY(EXI4) " 60 (BC_7, D(13), bidir, 0, 5, 0, Z)," & " 59 (BC_7, D(12), bidir, 0, 5, 0, Z)," & " 58 (BC_7, D(11), bidir, 0, 5, 0, Z)," & " 57 (BC_1, *, control, 1)," & --DUMMY(EXI3) " 56 (BC_1, *, control, 1)," & --DUMMY(EXI2) " 55 (BC_7, D(10), bidir, 0, 5, 0, Z)," & " 54 (BC_1, *, control, 1)," & --DUMMY(EXI1) " 53 (BC_7, D(9), bidir, 0, 5, 0, Z)," & " 52 (BC_1, *, control, 1)," & --DUMMY(EXI0) " 51 (BC_7, D(8), bidir, 0, 5, 0, Z)," & " 50 (BC_1, *, control, 1)," & --DUMMY(EXISEL) " 49 (BC_7, D(7), bidir, 0, 5, 0, Z)," & " 48 (BC_7, D(6), bidir, 0, 5, 0, Z)," & " 47 (BC_7, D(5), bidir, 0, 5, 0, Z)," & " 46 (BC_7, D(4), bidir, 0, 5, 0, Z)," & " 45 (BC_7, D(3), bidir, 0, 5, 0, Z)," & " 44 (BC_7, D(2), bidir, 0, 5, 0, Z)," & " 43 (BC_7, D(1), bidir, 0, 5, 0, Z)," & " 42 (BC_7, D(0), bidir, 0, 5, 0, Z)," & -- make " 41 (BC_1, TIMERONAZ, output2, 1)," & -- all(41:32) " 40 (BC_1, TAZ, output2, 1)," & -- internal " 39 (BC_1, TA, output2, 1)," & -- signals " 38 (BC_1, RAZ, input, 1)," & -- from original " 37 (BC_1, RA, input, 1)," & -- SuMMIT-E " 36 (BC_1, TIMERONBZ, output2, 1)," & -- description " 35 (BC_1, TBZ, output2, 1)," & -- " 34 (BC_1, TB, output2, 1)," & -- " 33 (BC_1, RBZ, input, 1)," & -- " 32 (BC_1, RB, input, 1)," & -- --Note: It is possible to make CHA, CHAZ and CHB, CHBZ change states by setting the following -- internal transceiver (41:32) signals to their proper states. -- " 41 (BC_1, *, internal, X)," & --DXE internal signal " 40 (BC_1, *, internal, X)," & --DXE internal signal " 39 (BC_1, *, internal, X)," & --DXE internal signal " 38 (BC_1, *, internal, X)," & --DXE internal signal " 37 (BC_1, *, internal, X)," & --DXE internal signal " 36 (BC_1, *, internal, X)," & --DXE internal signal " 35 (BC_1, *, internal, X)," & --DXE internal signal " 34 (BC_1, *, internal, X)," & --DXE internal signal " 33 (BC_1, *, internal, X)," & --DXE internal signal " 32 (BC_1, *, internal, X)," & --DXE internal signal " 31 (BC_1, TERACTZ, output2, 1)," & " 30 (BC_1, READYZ, output2, 1)," & " 29 (BC_1, SSYSFZ, input, 1)," & " 28 (BC_1, RTA(4), input, 1)," & " 27 (BC_1, RTA(3), input, 1)," & " 26 (BC_1, *, control, 1)," & --DUMMY(PC11) " 25 (BC_1, RTA(2), input, 1)," & " 24 (BC_1, *, control, 1)," & --DUMMY(PC10) " 23 (BC_1, *, control, 1)," & --DUMMY(PC9) " 22 (BC_1, RTA(1), input, 1)," & " 21 (BC_1, *, control, 1)," & --DUMMY(PC8) " 20 (BC_1, RTA(0), input, 1)," & " 19 (BC_1, *, control, 1)," & --DUMMY(PC7) " 18 (BC_1, RTPTY, input, 1)," & " 17 (BC_1, LOCKZ, input, 1)," & " 16 (BC_1, ABZSTD, input, 1)," & " 15 (BC_1, *, control, 1)," & --DUMMY(PC6) " 14 (BC_1, *, control, 1)," & --DUMMY(PC5) " 13 (BC_1, *, control, 1)," & --DUMMY(PC4) " 12 (BC_1, MSEL1, input, 1)," & " 11 (BC_1, *, control, 1)," & --DUMMY(PC3) " 10 (BC_1, MSEL0, input, 1)," & " 9 (BC_1, *, control, 1)," & --DUMMY(PC2) " 8 (BC_1, MRSTZ, input, 1)," & " 7 (BC_1, *, control, 1)," & --DUMMY(PC1) " 6 (BC_1, *, control, 1)," & --DUMMY(PC0) " 5 (BC_1, *, control, 0)," & -- DATA ENABLE " 4 (BC_1, *, control, 0)," & -- ADDRESS ENABLE " 3 (BC_1, *, control, 0)," & -- MSGINTZ ENABLE " 2 (BC_1, *, control, 0)," & -- YF_INTZ ENABLE " 1 (BC_1, *, control, 0)," & -- ROMENZ ENABLE " 0 (BC_1, *, control, 0)"; -- DMARZ ENABLE -- -- Buses of the Device -- attribute BUS_COMPOSITION of SUMMIT : entity is -- -- bus[length] ( reg, reg[bit], reg[bit,bit], ... ) -- "B_DUMMY_PCK[1] ( BOUNDARY[122,122] )," & -- "B_DMARZ[1] ( BOUNDARY[121,121] )," & -- "B_DUMMY_EXI[32] ( BOUNDARY[120,120], BOUNDARY[118,118]," & -- " BOUNDARY[115,115], BOUNDARY[113,113]," & -- " BOUNDARY[111,108], BOUNDARY[103,103]," & -- " BOUNDARY[101,101], BOUNDARY[99,99]," & -- " BOUNDARY[97,97], BOUNDARY[95,95]," & -- " BOUNDARY[93,93], BOUNDARY[90,90]," & -- " BOUNDARY[88,88], BOUNDARY[86,86]," & -- " BOUNDARY[85,85], BOUNDARY[83,83]," & -- " BOUNDARY[81,81], BOUNDARY[78,78]," & -- " BOUNDARY[76,76], BOUNDARY[74,74]," & -- " BOUNDARY[72,72], BOUNDARY[68,68]," & -- " BOUNDARY[65,65], BOUNDARY[63,63]," & -- " BOUNDARY[61,61], BOUNDARY[57,57]," & -- " BOUNDARY[56,56], BOUNDARY[54,54]," & -- " BOUNDARY[52,52] )," & -- "B_DMAGZ[1] ( BOUNDARY[119,119] )," & -- "B_DMACKZ[1] ( BOUNDARY[117,117] )," & -- "B_MSGINTZ[1] ( BOUNDARY[116,116] )," & -- "B_YFINTZ[1] ( BOUNDARY[114,114] )," & -- "B_AUTOENZ[1] ( BOUNDARY[112,112] )," & -- "B_ROMENZ[1] ( BOUNDARY[107,107] )," & -- "B_CSZ[1] ( BOUNDARY[106,106] )," & -- "B_RDWRZ[1] ( BOUNDARY[105,105] )," & -- "B_A[16] ( BOUNDARY[104,104], BOUNDARY[102,102]," & -- " BOUNDARY[100,100], BOUNDARY[98,98]," & -- " BOUNDARY[96,96], BOUNDARY[94,94]," & -- " BOUNDARY[92,92], BOUNDARY[91,91]," & -- " BOUNDARY[89,89], BOUNDARY[84,84]," & -- " BOUNDARY[82,82], BOUNDARY[80,80]," & -- " BOUNDARY[79,79], BOUNDARY[77,77]," & -- " BOUNDARY[75,75], BOUNDARY[73,73] )," & -- "B_CLK_24MHZ[1] ( BOUNDARY[87,87] )," & -- "B_RWRZ[1] ( BOUNDARY[71,71] )," & -- "B_RRDZ[1] ( BOUNDARY[70,70] )," & -- "B_RCSZ[1] ( BOUNDARY[69,69] )," & -- "B_TCLK[1] ( BOUNDARY[67,67] )," & -- "B_DTACKZ[1] ( BOUNDARY[66,66] )," & -- "B_D[16] ( BOUNDARY[64,64], BOUNDARY[62,62]," & -- " BOUNDARY[60,60], BOUNDARY[59,59]," & -- " BOUNDARY[58,58], BOUNDARY[55,55]," & -- " BOUNDARY[53,53], BOUNDARY[51,51]," & -- " BOUNDARY[49,49], BOUNDARY[48,48]," & -- " BOUNDARY[47,47], BOUNDARY[46,46]," & -- " BOUNDARY[45,45], BOUNDARY[44,44]," & -- " BOUNDARY[43,43], BOUNDARY[42,42] )," & -- "B_DUMMY_EXISEL[1] ( BOUNDARY[50,50] )," & -- "B_TMRONAZ[1] ( BOUNDARY[41,41] )," & -- "B_TAZ[1] ( BOUNDARY[40,40] )," & -- "B_TA[1] ( BOUNDARY[39,39] )," & -- "B_RAZ[1] ( BOUNDARY[38,38] )," & -- "B_RA[1] ( BOUNDARY[37,37] )," & -- "B_TMRONBZ[1] ( BOUNDARY[36,36] )," & -- "B_TBZ[1] ( BOUNDARY[35,35] )," & -- "B_TB[1] ( BOUNDARY[34,34] )," & -- "B_RBZ[1] ( BOUNDARY[33,33] )," & -- "B_RB[1] ( BOUNDARY[32,32] )," & -- "B_TERACZ[1] ( BOUNDARY[31,31] )," & -- "B_READYZ[1] ( BOUNDARY[30,30] )," & -- "B_SSYSFZ[1] ( BOUNDARY[29,29] )," & -- "B_RTA[5] ( BOUNDARY[28,27], BOUNDARY[25,25]," & -- " BOUNDARY[22,22], BOUNDARY[20,20] )," & -- "B_DUMMY_PC[12] ( BOUNDARY[26,26], BOUNDARY[24,24]," & -- " BOUNDARY[23,23], BOUNDARY[21,21]," & -- " BOUNDARY[19,19], BOUNDARY[15,15]," & -- " BOUNDARY[14,14], BOUNDARY[13,13]," & -- " BOUNDARY[11,11], BOUNDARY[9,9]," & -- " BOUNDARY[7,7], BOUNDARY[6,6] )," & -- "B_RTPTY[1] ( BOUNDARY[18,18] )," & -- "B_LOCKZ[1] ( BOUNDARY[17,17] )," & -- "B_ABBSTD[1] ( BOUNDARY[16,16] )," & -- "B_MDSEL1[1] ( BOUNDARY[12,12] )," & -- "B_MDSEL0[1] ( BOUNDARY[10,10] )," & -- "B_MRSTZ[1] ( BOUNDARY[8,8] )," & -- "B_DATA_EN[1] ( BOUNDARY[5,5] )," & -- "B_ADDRESS_EN[1] ( BOUNDARY[4,4] )," & -- "B_MSGINTZ_EN[1] ( BOUNDARY[3,3] )," & -- "B_YF_INTZ_EN[1] ( BOUNDARY[2,2] )," & -- "B_ROMENZ_EN[1] ( BOUNDARY[1,1] )," & -- "B_DMARZ_EN[1] ( BOUNDARY[0,0] )"; -- end SUMMIT;