BSDL Files Library for JTAG

The only free public library that contains thousands of BSDL (Boundary Scan Description Language) models to use with BScan/JTAG tools

BSDL model: ADSP_BF50x

----------------------------------------------
-- BSDL for ADSP_BF506F LQFP_PACKAGE
-- 120-Lead LQFP Package
-- Revision 0.1 (March 21, 2012)
----------------------------------------------
-- NOTE:
--  Due to TWI functionality, drivers for pins SDA and SCL 
--  are open-drain and therefore can only tri-state or drive 0.  Loading 
--  the output cells with 1 will result in the driver tri-stating.  Please keep 
--  the following in mind:
--    -  When configuring O/D pins as outputs, internal cells 
--          115(SDA) and 118(SCL) must always be 
--          loaded with 1
--    -  When configuring O/D pins as inputs, output2 cells 114(SDA) and 
--          117(SCL) must be loaded with 1
--
----------------------------------------------
entity ADSP_BF50x is
	generic (PHYSICAL_PIN_MAP : string:="LQFP_PACKAGE");
   
       port (
             SCL:	  inout	  bit;
             SDA:	  inout	  bit;
             PG14:	  inout   bit;
             PG15:        inout	  bit;
             PG12:        inout   bit;
             PG13:	  inout	  bit;
	     PG11:    	  inout	  bit;
             PG10:	  inout	  bit;
             PG9:	  inout	  bit;
             PG8:	  inout	  bit;
             PG7:	  inout	  bit;
             PG6:	  inout	  bit;
             PG5:	  inout	  bit;
             PG4:	  inout	  bit;
             PG3:	  inout	  bit;
             PG2:	  inout	  bit;
             PG1:	  inout	  bit;
             PG0:	  inout	  bit;
             PF15:	  inout	  bit;
             PF14:	  inout   bit;             
             PF13:	  inout	  bit;
             PF12:	  inout	  bit;
             PF11:	  inout	  bit;
             PF10:	  inout	  bit;
             RESET:	  in	  bit;
             NMI:	  in	  bit;
             PF9:	  inout	  bit;
             PF8:	  inout	  bit;
             PF7:	  inout	  bit;
             PF6:	  inout	  bit;
             PF5:	  inout	  bit;
             PF4:	  inout	  bit;
             PF3:	  inout	  bit;
             PF2:	  inout	  bit;
             EXTCLK:	  out	  bit;
             PF1:	  inout	  bit;
             PF0:	  inout	  bit;
             PH1:	  inout	  bit;
             PH2:	  inout	  bit;
             PH0:	  inout	  bit;
             BMODE0:	  in	  bit;
             BMODE1:	  in	  bit;
             BMODE2:	  in	  bit;
             EMU:	  linkage bit;
             TRST:	  in	  bit;
	     TMS:	  in	  bit;
             TCK:	  in	  bit;
             TDI:	  in	  bit;
             PG:          linkage bit;
             DGND:        linkage bit_vector(0 to 1);
             DVDD:        linkage bit;
             AGND:        linkage bit_vector(0 to 5);
             AVDD:        linkage bit;
             REF_SELECT:  linkage bit;
             DCAPA:       linkage bit;
             DCAPB:       linkage bit;
             VA1:         linkage bit;
             VA2:         linkage bit;              
             VA3:         linkage bit;
             VA4:         linkage bit;
             VA5:         linkage bit;
             VA6:         linkage bit;
             VB1:         linkage bit;
             VB2:         linkage bit;
             VB3:         linkage bit;
             VB4:         linkage bit;
             VB5:         linkage bit;
             VB6:         linkage bit;
             VDRIVE:      linkage bit;
             RNGE:       linkage bit;
             SGL:         linkage bit;
             A0:          linkage bit;
             A1:          linkage bit;
             A2:          linkage bit;
             CS:          linkage bit;
             ADSCLK:      linkage bit;
             DOUTA:       linkage bit;
             DOUTB:       linkage bit;
             EXT_WAKE:	  linkage bit; 
             VDDFLASH:	  linkage bit_vector(0 to 2);
             CLKIN:	  linkage bit;
             XTAL:        linkage bit;
             GND:         linkage bit_vector(0 to 3);
             VDDEXT:	  linkage bit_vector(0 to 15);
             VDDINT:	  linkage bit_vector(0 to 6);
             TDO:	  out     bit);

             use STD_1149_1_1994.all;

	attribute COMPONENT_CONFORMANCE of ADSP_BF50x: entity is "STD_1149_1_1990";
	attribute PIN_MAP of ADSP_BF50x: entity is PHYSICAL_PIN_MAP;

        constant LQFP_PACKAGE: PIN_MAP_STRING:=
		"NMI:		11," &
		"TRST:		37," &
		"TMS:		35," &
		"BMODE0:	58," &
		"BMODE1:	57," &
		"TCK:		34," &
		"BMODE2:	56," &
		"TDI:		33," &
		"PH0:		113," &
		"PH1:		115," &
		"PH2:		114," &
		"PF10:		14," &
		"PF11:		16," &
		"PF12:		18," &
		"PF13:		19," &
		"PF14:		21," &
		"PF15:		22," &
		"PG0:		27," &
		"PG1:		28," &
		"PG2:		29," &
		"PG3:		31," &
		"PG4:		32," &
		"PG5:		38," &
		"PG6:		39," &
		"PG7:		40," &
		"PG8:		43," &
		"PG9:		44," &
		"SCL:		55," &
		"SDA:		54," &
		"PG10:		45," &
		"PG11:		46," &
		"PG12:		47," &
		"PG13:		48," &
		"PG14:		49," &
		"PF0:		118," &
		"PG15:		50," &
		"PF1:		119," &
		"PF2:		2," &
		"PF3:		4," &
		"PF4:		3," &
		"PF5:		5," &
		"PF6:		7," &
		"PF7:		8," &
		"PF8:		9," &
		"PF9:		10," &
		"EXTCLK:	120," &
		"TDO:		36," &
		"RESET:		12," &
                "PG:		71," &
                "DGND:          (74,104)," & 
                "DVDD:          107," &
                "AGND:          (73,78,79,82,93,99)," &
                "AVDD:          76," &
                "REF_SELECT:    75," &
                "DCAPA:         77," &
                "DCAPB:         94," &
                "VA1:           80," &
                "VA2:           81," & 
                "VA3:           83," &
                "VA4:           84," &
                "VA5:           85," &
                "VA6:           86," &
                "VB1:           92," &
                "VB2:           91," &
                "VB3:           90," &
                "VB4:           89," & 
                "VB5:           88," &  
                "VB6:           87," & 
                "VDRIVE:        106," & 
                "RNGE:          95," &
                "SGL:           96," &
                "A0:            100," &
                "A1:            98," &     
                "A2:            97," &
                "CS:            101," & 
                "ADSCLK:        102," &   
                "DOUTA:         105," & 
                "DOUTB:         103," &
                "EXT_WAKE:	70," &
		"EMU:		68," &
                "CLKIN:		110," &
                "XTAL:          111," &
		"VDDEXT:	(1,6,15,20,23,26,30,41,51,59,62,64,66,67,112,116)," &
                "VDDINT:	(24,42,52,53,61,65,117)," &
		"GND:		(13,17,108,109)," &
		"VDDFLASH:	(25,63,69)";

        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_RESET of TRST: signal is true;
	attribute TAP_SCAN_CLOCK of TCK: signal is (20.0e6, BOTH);

	attribute INSTRUCTION_LENGTH of ADSP_BF50x: entity is 5;

	-- Unspecified opcodes assigned to Bypass.
	attribute INSTRUCTION_OPCODE of ADSP_BF50x: entity is 
		"BYPASS         (11111)," &
		"EXTEST         (00000)," &
		"SAMPLE         (10000)," &
		"IDCODE         (00010)," &
                "PRIVATE        (01000, " &
                "                00100, " &
                "                10100, " &
                "                01100, " &
                "                01010, " &
                "                00110, " &
                "                10110, " &
                "                11110) " ;
                 
	attribute INSTRUCTION_CAPTURE of ADSP_BF50x: entity is "00001";
        attribute INSTRUCTION_PRIVATE of ADSP_BF50x: entity is "PRIVATE";
	attribute IDCODE_REGISTER   of ADSP_BF50x : entity is 
--Select your silicon revision
"0000" &			-- Version: Revision 0.0
--"0001" &			-- Version: Revision 0.1
--"0010" &			-- Version: Revision 0.2
"0010100000000000" & -- Part Number
"00001100101" &		-- ADI Manufacturing Code
"1";				-- Required Bit


	attribute BOUNDARY_LENGTH of ADSP_BF50x: entity is 119;

	attribute BOUNDARY_REGISTER of ADSP_BF50x: entity is
		--num cell port function safe [ccell disval rslt]
                " 0 (BC_2, BMODE2, input, X), " &
		" 1 (BC_2, BMODE1, input, X), " &
		" 2 (BC_2, BMODE0, input, X), " &
                " 3 (BC_2, PH0, input, X), " &
		" 4 (BC_1, PH0, output3, X, 5, 0, Z), " &
		" 5 (BC_1, *, control, 0), " &
                " 6 (BC_2, PH2, input, X), " &
		" 7 (BC_1, PH2, output3, X, 8, 0, Z), " &
		" 8 (BC_1, *, control, 0), " &
                " 9 (BC_2, PH1, input, X), " &
		" 10 (BC_1, PH1, output3, X, 11, 0, Z), " &
		" 11 (BC_1, *, control, 0), " &
                " 12 (BC_2, PF0, input, X), " &
		" 13 (BC_1, PF0, output3, X, 14, 0, Z), " &
		" 14 (BC_1, *, control, 0), " &
                " 15 (BC_2, PF1, input, X), " &
		" 16 (BC_1, PF1, output3, X, 17, 0, Z), " &
		" 17 (BC_1, *, control, 0), " &
                " 18 (BC_1, EXTCLK, output3, X, 19, 0, Z), " &
                " 19 (BC_1, *, control, 0), " &
                " 20 (BC_2, PF2, input, X), " &
		" 21 (BC_1, PF2, output3, X, 22, 0, Z), " &
		" 22 (BC_1, *, control, 0), " &
                " 23 (BC_2, PF3, input, X), " &
		" 24 (BC_1, PF3, output3, X, 25, 0, Z), " &
		" 25 (BC_1, *, control, 0), " &
                " 26 (BC_2, PF4, input, X), " &
		" 27 (BC_1, PF4, output3, X, 28, 0, Z), " &
		" 28 (BC_1, *, control, 0), " &
                " 29 (BC_2, PF5, input, X), " &
		" 30 (BC_1, PF5, output3, X, 31, 0, Z), " &
		" 31 (BC_1, *, control, 0), " &
                " 32 (BC_2, PF6, input, X), " &
		" 33 (BC_1, PF6, output3, X, 34, 0, Z), " &
		" 34 (BC_1, *, control, 0), " &
                " 35 (BC_2, PF7, input, X), " &
		" 36 (BC_1, PF7, output3, X, 37, 0, Z), " &
		" 37 (BC_1, *, control, 0), " &
                " 38 (BC_2, PF8, input, X), " &
		" 39 (BC_1, PF8, output3, X, 40, 0, Z), " &
		" 40 (BC_1, *, control, 0), " &
                " 41 (BC_2, PF9, input, X), " &
		" 42 (BC_1, PF9, output3, X, 43, 0, Z), " &
		" 43 (BC_1, *, control, 0), " &
                " 44 (BC_2, NMI, input, X), " &
                " 45 (BC_2, RESET, input, X), " &
                " 46 (BC_2, *, internal, 0), " &
                " 47 (BC_2, PF10, input, X), " &
		" 48 (BC_1, PF10, output3, X, 49, 0, Z), " &
		" 49 (BC_1, *, control, 0), " &
                " 50 (BC_2, PF11, input, X), " &
		" 51 (BC_1, PF11, output3, X, 52, 0, Z), " &
		" 52 (BC_1, *, control, 0), " &
                " 53 (BC_2, PF12, input, X), " &
		" 54 (BC_1, PF12, output3, X, 55, 0, Z), " &
		" 55 (BC_1, *, control, 0), " &
                " 56 (BC_2, PF13, input, X), " &
		" 57 (BC_1, PF13, output3, X, 58, 0, Z), " &
		" 58 (BC_1, *, control, 0), " &
                " 59 (BC_2, PF14, input, X), " &
		" 60 (BC_1, PF14, output3, X, 61, 0, Z), " &
		" 61 (BC_1, *, control, 0), " &
                " 62 (BC_2, PF15, input, X), " &
		" 63 (BC_1, PF15, output3, X, 64, 0, Z), " &
		" 64 (BC_1, *, control, 0), " &
                " 65 (BC_2, PG0, input, X), " &
		" 66 (BC_1, PG0, output3, X, 67, 0, Z), " &
		" 67 (BC_1, *, control, 0), " &
                " 68 (BC_2, PG1, input, X), " &
		" 69 (BC_1, PG1, output3, X, 70, 0, Z), " &
		" 70 (BC_1, *, control, 0), " &
                " 71 (BC_2, PG2, input, X), " &
		" 72 (BC_1, PG2, output3, X, 73, 0, Z), " &
		" 73 (BC_1, *, control, 0), " &
                " 74 (BC_2, PG3, input, X), " &
		" 75 (BC_1, PG3, output3, X, 76, 0, Z), " &
		" 76 (BC_1, *, control, 0), " &
                " 77 (BC_2, PG4, input, X), " &
		" 78 (BC_1, PG4, output3, X, 79, 0, Z), " &
		" 79 (BC_1, *, control, 0), " &
                " 80 (BC_2, PG5, input, X), " &
		" 81 (BC_1, PG5, output3, X, 82, 0, Z), " &
		" 82 (BC_1, *, control, 0), " &
                " 83 (BC_2, PG6, input, X), " &
		" 84 (BC_1, PG6, output3, X, 85, 0, Z), " &
		" 85 (BC_1, *, control, 0), " &
                " 86 (BC_2, PG7, input, X), " &
		" 87 (BC_1, PG7, output3, X, 88, 0, Z), " &
		" 88 (BC_1, *, control, 0), " &
                " 89 (BC_2, PG8, input, X), " &
		" 90 (BC_1, PG8, output3, X, 91, 0, Z), " &
		" 91 (BC_1, *, control, 0), " &
                " 92 (BC_2, PG9, input, X), " &
		" 93 (BC_1, PG9, output3, X, 94, 0, Z), " &
		" 94 (BC_1, *, control, 0), " &
                " 95 (BC_2, PG10, input, X), " &
		" 96 (BC_1, PG10, output3, X, 97, 0, Z), " &
		" 97 (BC_1, *, control, 0), " &
                " 98 (BC_2, PG11, input, X), " &
		" 99 (BC_1, PG11, output3, X, 100, 0, Z), " &
		" 100 (BC_1, *, control, 0), " &
                " 101 (BC_2, PG13, input, X), " &
		" 102 (BC_1, PG13, output3, X, 103, 0, Z), " &
		" 103 (BC_1, *, control, 0), " &
                " 104 (BC_2, PG12, input, X), " &
		" 105 (BC_1, PG12, output3, X, 106, 0, Z), " &
		" 106 (BC_1, *, control, 0), " &
                " 107 (BC_2, PG15, input, X), " &
		" 108 (BC_1, PG15, output3, X, 109, 0, Z), " &
		" 109 (BC_1, *, control, 0), " &
                " 110 (BC_2, PG14, input, X), " &
		" 111 (BC_1, PG14, output3, X, 112, 0, Z), " &
		" 112 (BC_1, *, control, 0), " &
                " 113 (BC_2, SDA, input, X), " &
		" 114 (BC_1, SDA, output2, 1, 114, 1, Weak1), " &
		" 115 (BC_1, *, internal, 1), " &
                " 116 (BC_2, SCL, input, X), " &
		" 117 (BC_1, SCL, output2, 1, 117, 1, Weak1), " &
		" 118 (BC_1, *, internal, 1)";

end ADSP_BF50x;