-------------------------------------------------------------------------------
-- Motorola PowerPC 604 (TM) Microprocessor Boundary Scan Description Language-
-------------------------------------------------------------------------------
-- Boundary Scan Description Language (IEEE 1149.1b) --
-- --
-- Device : MPC604 Revision 3 --
-- File Version : E --
-- File Name : MPC604.R3E --
-- File created : Jun. 26, 1996 --
-- Package type : CQFP, BGA --
-------------------------------------------------------------------------------
-- Revision History: --
-- A - Original version --
-- B - Cells for DH(15) moved from cell position 109 to 93, for DL(23) moved --
-- from cell position 72 to 65 --
-- - Changed the TCK clock frequency. --
-- C - Added BGA package information --
-- - New boundary cell definition (UC_OUT3) used on output pins --
-- - HRESET_L and CKSTP_IN_L are now compliance enable pins --
-- D - Improved the power and ground pin definitions --
-- E - The BGA pin numbers for DBG_L and DBDIS_L were switched. --
-- --
-- ************************************************************************* --
-- NOTE: This BSDL requires a user supplied VHDL package for the user --
-- defined cell type, UC_OUT3. The package is a separate file --
-- appended to the end of this file. Create two separate files for --
-- input to BSDL file readers. --
-- ************************************************************************* --
-- --
-- NOTE: Active low ports are designated with a "_L" suffix. --
-- --
-- NOTE: Lines commented by "--##" note statements that can be modified to --
-- support tools using earlier proposed draft versions of BSDL. --
-- --
-- NOTE: The MPC604 is not fully IEEE 1149.1 compliant. The state --
-- transistion of the TAP state machine between the Exit2-IR state --
-- to the Shift-IR state (TMS=0) causes the Instruction Shift Register --
-- to re-capture the "xxxxxx01" string and overwrite the last eight --
-- bits shifted into the part. The possible work-arounds include not --
-- exercising this path or not comparing the overwritten eight bits. --
-- --
-- Asserting HRESET_ and CKSTP_IN_ input pins can cause the system --
-- logic to interfere with the IEEE 1149.1 PRELOAD/SAMPLE instruction --
-- operation. An internally generated checkstop can cause the same --
-- non-compliant symptoms as asserting the CKSTP_IN_ pin. For full --
-- details of the non-compliant issues, please contact your sales --
-- office for the device Errata. --
-- --
-- As a workaround for the non-compliant issues, this BSDL file --
-- defines the HRESET_ and CKSTP_IN_ pins as compliance enable pins --
-- with a compliance pattern with the pins held high (unasserted). The --
-- input boundary cells originally associated with the two pins are --
-- defined as internal cells. HRESET_ and CKSTP_IN_ can be --
-- interconnect tested by comparing the boundary cell values for the --
-- two pins for a high during one normal Shift-DR scan out of EXTEST. --
-- Then, a special EXTEST Shift-DR scan out is required with HRESET_ --
-- and CKSTP_IN_ held low during the Capture-DR and the two cell --
-- values compared for a low with all other TDO scanned out values set --
-- to don't care. This work around is also non-compliant because --
-- HRESET_ and CKSTP_IN_ do not meet the definition for a standard --
-- compliance enable pin. However, the work around will enable SAMPLE/ --
-- PRELOAD and EXTEST to work as expected except in the case of an --
-- internally generated checkstop. Board level interconnection tests --
-- should function as expected. --
-- --
-- NOTE: For assistance with this file, contact your sales office. --
-- --
-------------------------------------------------------------------------------
-- --
--===========================================================================--
-- IMPORTANT NOTICE --
-- This information is provided on an AS IS basis and without warranty. --
-- IN NO EVENT SHALL MOTOROLA BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL --
-- DAMAGES ARISING FROM USE OF THIS INFORMATION. THIS DISCLAIMER OF --
-- WARRANTY EXTENDS TO THE USER OF THE INFORMATION, AND TO THEIR CUSTOMERS --
-- OR USERS OF PRODUCTS AND IS IN LIEU OF ALL WARRANTIES WHETHER EXPRESS, --
-- IMPLIED, OR STATUTORY, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY --
-- OR FITNESS FOR PARTICULAR PURPOSE. --
-- --
-- MOTOROLA does not represent or warrant that the information furnished --
-- hereunder is free of infringement of any third party patents, --
-- copyrights, trade secrets, or other intellectual property rights. --
-- MOTOROLA does not represent or warrant that the information is free of --
-- defect, or that it meets any particular standard, requirements or need --
-- of the user of the infomation or their customers. --
-- --
-- MOTOROLA reserves the right to change the information in this file --
-- without notice. The latest version of the file is available on the --
-- Motorola Freeware Data Services Bulletin Board system at (512)891-FREE --
-- (3733). Modem settings are 8-bit data, no parity, and one start and one --
-- stop bit. Asynchronous transmission rates to 9600 bits per second are --
-- supported. --
-- --
--===========================================================================--
entity mpc604 is
generic (PHYSICAL_PIN_MAP : string := "QFP");
-- PORT DESCRIPTION TERMS
-- in = input only
-- buffer = two-state output (0, 1)
-- inout = bidirectional
-- linkage = OTHER (vdd, vss, analog)
-- bit = single pin
-- bit_vector = group of pins with suffix 0 to n
port ( TCK: in bit;
TDI: in bit;
TDO: out bit;
TMS: in bit;
TRST_L: in bit;
LSSD_MODE_L: in bit;
L1_TSTCLK: in bit;
L2_TSTCLK: in bit;
HRESET_L: in bit;
CKSTP_IN_L: in bit;
ARRAY_WR: in bit;
DRVMOD: in bit_vector(0 to 1);
--## LSSD_MODE_L: linkage bit; --Uncomment these seven lines and
--## L1_TSTCLK: linkage bit; --comment the seven previous lines
--## L2_TSTCLK: linkage bit; --for use with tools that don't
--## ARRAY_WR: linkage bit; --handle compliance enable pins
--## HRESET_L: linkage bit; --
--## CKSTP_IN_L: linkage bit; --
--## DRVMOD: linkage bit_vector(0 to 1); --
L2_INT: in bit;
BR_L: buffer bit;
BG_L: in bit;
ABB_L: inout bit;
TS_L: inout bit;
XATS_L: inout bit;
A: inout bit_vector(0 to 31);
AP: inout bit_vector(0 to 3);
APE_L: out bit;
TT: inout bit_vector(0 to 4);
TC: out bit_vector(0 to 2);
TSIZ: inout bit_vector(0 to 2);
TBST_L: inout bit;
CI_L: out bit;
WT_L: out bit;
GBL_L: inout bit;
CSE: out bit_vector(0 to 1);
AACK_L: in bit;
ARTRY_L: inout bit;
SHD_L: inout bit;
DBG_L: in bit;
DBWO_L: in bit;
DBB_L: inout bit;
DH: inout bit_vector(0 to 31);
DL: inout bit_vector(0 to 31);
DP: inout bit_vector(0 to 7);
DPE_L: out bit;
DBDIS_L: in bit;
TA_L: in bit;
DRTRY_L: in bit;
TEA_L: in bit;
INT_L: in bit;
SRESET_L: in bit;
MCP_L: in bit;
SMI_L: in bit;
CKSTP_OUT_L: out bit;
RSRV_L: buffer bit;
SYSCLK: in bit;
CLK_OUT: buffer bit;
TBEN: in bit;
RUN: in bit;
HALTED: buffer bit;
PLL_CFG: in bit_vector(0 to 3);
-- The QFP package has 22 VDD, 22 GND, 45 OVDD, 43 OGND, and 1 AVDD pin.
VDD_qfp: linkage bit_vector(0 to 21);
GND_qfp: linkage bit_vector(0 to 21);
OVDD_qfp: linkage bit_vector(0 to 44);
OGND_qfp: linkage bit_vector(0 to 42);
-- The BGA package has 20 VDD, 40 GND, 19 OVDD, 1 AVDD, and 0 OGND pin.
VDD_bga: linkage bit_vector(0 to 19);
GND_bga: linkage bit_vector(0 to 39);
OVDD_bga: linkage bit_vector(0 to 18);
AVDD: linkage bit);
--## Some proposed BDSL versions require the 1990 version instead of 1994.
--## use STD_1149_1_1990.all;
use STD_1149_1_1994.all;
use USER_PACKAGE_MPC604.all;
--## Some proposed BSDL versions did not support "attribute
--## COMPONENT_CONFORMANCE". This statement may be need to be commented out
--## for some users.
attribute COMPONENT_CONFORMANCE of mpc604 : entity is "STD_1149_1_1993";
attribute PIN_MAP of mpc604 : entity is PHYSICAL_PIN_MAP;
constant QFP: PIN_MAP_STRING :=
-- CQFP PINOUT DIAGRAM
"A: (225,4,223,6,221,8,219,10,217,12,215,14,213,16,211,18, " &
"209,20,207,22,205,24,203,26,201,28,199,30,191,38,182,47), " &
"AACK_L: 36, " &
"ABB_L: 45, " &
"AP: (295,294,292,290), " &
"APE_L: 276, " &
"ARRAY_WR: 271, " &
"ARTRY_L: 42, " &
"AVDD: 260, " &
"BG_L: 35, " &
"BR_L: 278, " &
"CI_L: 304, " &
"CKSTP_IN_L: 266, " &
"CKSTP_OUT_L: 267, " &
"CLK_OUT: 280, " &
"CSE: (288,287), " &
"DBB_L: 184, " &
"DBDIS_L: 193, " &
"DBG_L: 34, " &
"DBWO_L: 32, " &
"DH: (147,145,143,142,140,138,126,124,122,121,119,117,115,114, " &
"112,110,108,107,105,103,101,100,98,96,94,93,91,89,87,86, " &
"84,82), " &
"DL: (180,178,176,174,172,170,168,166,164,162,160,158,156,154, " &
"152,150,148,136,135,133,131,129,128,65,67,69,71,73,75,77, " &
"79,81), "&
"DP: (49,51,53,55,57,59,61,63), "&
"DPE_L: 274, " &
"DRTRY_L: 197, " &
"DRVMOD: (301,300), " &
"GBL_L: 2, " &
"GND_qfp: (5,13,21,29,37,44,52,60,68,76,153,161,169,177,185,192, " &
"200,208,216,224,257,291), " &
"HALTED: 269, " &
"HRESET_L: 265, " &
"INT_L: 234, " &
"L1_TSTCLK: 255, " &
"L2_INT: 273, " &
"L2_TSTCLK: 254, " &
"LSSD_MODE_L: 256, " &
"MCP_L: 232, " &
"OGND_qfp: (3,11,19,27,39,46,54,62,70,78,85,90,95,99,104,109,113, " &
"118,123,127,132,137,141,146,151,159,167,175,183,190, " &
"202,210,218,226,235,240,247,268,275,279,284,289,296), " &
"OVDD_qfp: (7,15,23,31,43,50,58,66,74,80,83,88,92,97,102,106,111, " &
"116,120,125,130,134,139,144,149,155,163,171,179,186,198, " &
"206,214,222,230,237,244,249,272,277,282,286,293,298,303), " &
"PLL_CFG: (264,262,261,259), "&
"RSRV_L: 297, " &
"RUN: 270, " &
"SHD_L: 40, " &
"SMI_L: 233, " &
"SRESET_L: 236, " &
"SYSCLK: 263, " &
"TA_L: 195, " &
"TBEN: 299, " &
"TBST_L: 241, " &
"TC: (285,283,281), " &
"TCK: 252, " &
"TDI: 250, " &
"TDO: 248, " &
"TEA_L: 194, " &
"TMS: 251, " &
"TRST_L: 253, " &
"TS_L: 187, " &
"TSIZ: (246,245,243), " &
"TT: (239,238,231,229,227), " &
"WT_L: 302, " &
"VDD_qfp: (1,9,17,25,33,41,48,56,64,72,157,165,173,181,188, " &
"196,204,212,220,228,242,258), " &
"XATS_L: 189 ";
constant BGA: PIN_MAP_STRING :=
-- CBGA PINOUT DIAGRAM
"A: (C16,E04,D13,F02,D14,G01,D15,E02,D16,D04,E13,G02,E15,H01, " &
"E16,H02,F13,J01,F14,J02,F15,H03,F16,F04,G13,K01,G15,K02, " &
"H16,M01,J15,P01), " &
"AACK_L: L02, " &
"ABB_L: K04, " &
"AP: (C01,B04,B03,B02), " &
"APE_L: A04, " &
"ARRAY_WR: B07, " &
"ARTRY_L: J04, " &
"AVDD: A10, " &
"BG_L: L01, " &
"BR_L: B06, " &
"CI_L: E01, " &
"CKSTP_IN_L: D08, " &
"CKSTP_OUT_L: A06, " &
"CLK_OUT: D07, " &
"CSE: (B01,B05), " &
"DBB_L: J14, " &
"DBDIS_L: H15, " &
"DBG_L: N01, " &
"DBWO_L: G04, " &
"DH: (P14,T16,R15,T15,R13,R12,P11,N11,R11,T12,T11,R10,P09,N09, " &
"T10,R09,T09,P08,N08,R08,T08,N07,R07,T07,P06,N06,R06,T06, " &
"R05,N05,T05,T04), " &
"DL: (K13,K15,K16,L16,L15,L13,L14,M16,M15,M13,N16,N15,N13,N14, " &
"P16,P15,R16,R14,T14,N10,P13,N12,T13,P03,N03,N04,R03,T01, " &
"T02,P04,T03,R04), "&
"DP: (M02,L03,N02,L04,R01,P02,M04,R02), "&
"DPE_L: A05, " &
"DRTRY_L: G16, " &
"DRVMOD: (D05,C03), " &
"GBL_L: F01, " &
"GND_bga: (C05,C12,E03,E06,E08,E09,E11,E14,F05,F07,F10,F12, " &
"G06,G08,G09,G11,H05,H07,H10,H12,J05,J07,J10,J12,K06,K08, " &
"K09,K11,L05,L07,L10,L12,M03,M06,M08,M09,M11,M14,P05,P12), " &
"HALTED: B08, " &
"HRESET_L: A07, " &
"INT_L: B15, " &
"L1_TSTCLK: D11, " &
"L2_INT: D06, " &
"L2_TSTCLK: D12, " &
"LSSD_MODE_L: B10, " &
"MCP_L: C13, " &
"OVDD_bga: (C07,E05,E07,E10,E12,G03,G05,G12,G14,K03,K05,K12,K14, " &
"M05,M07,M10,M12,P07,P10), " &
"PLL_CFG: (A08,B09,A09,D09), "&
"RSRV_L: D01, " &
"RUN: C08, " &
"SHD_L: H04, " &
"SMI_L: A16, " &
"SRESET_L: B14, " &
"SYSCLK: C09, " &
"TA_L: H14, " &
"TBEN: C02, " &
"TBST_L: A14, " &
"TC: (A02,A03,C06), " &
"TCK: C11, " &
"TDI: A11, " &
"TDO: A12, " &
"TEA_L: H13, " &
"TMS: B11, " &
"TRST_L: C10, " &
"TS_L: J13, " &
"TSIZ: (A13,D10,B12), " &
"TT: (B13,A15,B16,C14,C15), " &
"WT_L: D02, " &
"VDD_bga: (F06,F08,F09,F11,G07,G10,H06,H08,H09,H11,J06,J08, " &
"J09,J11,K07,K10,L06,L08,L09,L11), " &
"XATS_L: J16 ";
-- Other Pin Maps here when documented
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 (62.5e6, BOTH);
attribute TAP_SCAN_RESET of TRST_L : signal is true;
--## Some proposed versions of BSDL used the "attribute COMPLIANCE_ENABLE"
--## statements. These statements may be uncommented if needed.
--## attribute COMPLIANCE_ENABLE of LSSD_MODE_L : signal is true;
--## attribute COMPLIANCE_ENABLE of L1_TSTCLK : signal is true;
--## attribute COMPLIANCE_ENABLE of L2_TSTCLK : signal is true;
--## attribute COMPLIANCE_ENABLE of ARRAY_WR : signal is true;
--## attribute COMPLIANCE_ENABLE of CKSTP_IN_L : signal is true;
--## attribute COMPLIANCE_ENABLE of HRESET_L : signal is true;
--## attribute COMPLIANCE_ENABLE of DRVMOD(0) : signal is true;
--## attribute COMPLIANCE_ENABLE of DRVMOD(1) : signal is true;
--## Some proposed versions of BSDL did not support "attribute
--## COMPLIANCE_PATTERNS". If you comment out this statement, then declare
--## LSSD_MODE_L, L1_TSTCLK, L2_TSTCLK, ARRAY_WR, CKSTP_IN_L, HRESET_L,
--## DRVMOD(0), and DRVMOD(1) to be linkage pins in the port list.
attribute COMPLIANCE_PATTERNS of mpc604: entity is
"(LSSD_MODE_L, L1_TSTCLK, L2_TSTCLK, ARRAY_WR, CKSTP_IN_L, HRESET_L, " &
" DRVMOD(0), DRVMOD(1))" &
"(11111111, 11111110, 11111101)";
attribute INSTRUCTION_LENGTH of mpc604 : entity is 8;
attribute INSTRUCTION_OPCODE of mpc604 : entity is
"EXTEST (00000000), "&
"SAMPLE (11000000), "&
"BYPASS (11111111), "&
"PRIVATE001 (00000001), PRIVATE002 (00000010), "&
"PRIVATE003 (00000011), PRIVATE004 (00000100), "&
"PRIVATE005 (00000101), PRIVATE006 (00000110), "&
"PRIVATE007 (00000111), PRIVATE008 (00001000), "&
"PRIVATE009 (00001001), PRIVATE010 (00001010), "&
"PRIVATE011 (00001011), PRIVATE012 (00001100), "&
"PRIVATE013 (00001101), PRIVATE014 (00001110), "&
"PRIVATE015 (00001111), PRIVATE016 (00010000), "&
"PRIVATE017 (00010001), PRIVATE018 (00010010), "&
"PRIVATE019 (00010011), PRIVATE020 (00010100), "&
"PRIVATE021 (00010101), PRIVATE022 (00010110), "&
"PRIVATE023 (00010111), PRIVATE024 (00011000), "&
"PRIVATE025 (00011001), PRIVATE026 (00011010), "&
"PRIVATE027 (00011011), PRIVATE028 (00011100), "&
"PRIVATE029 (00011101), PRIVATE030 (00011110), "&
"PRIVATE031 (00011111), PRIVATE032 (00100000), "&
"PRIVATE033 (00100001), PRIVATE034 (00100010), "&
"PRIVATE035 (00100011), PRIVATE036 (00100100), "&
"PRIVATE037 (00100101), PRIVATE038 (00100110), "&
"PRIVATE039 (00100111), PRIVATE040 (00101000), "&
"PRIVATE041 (00101001), PRIVATE042 (00101010), "&
"PRIVATE043 (00101011), PRIVATE044 (00101100), "&
"PRIVATE045 (00101101), PRIVATE046 (00101110), "&
"PRIVATE047 (00101111), PRIVATE048 (00110000), "&
"PRIVATE049 (00110001), PRIVATE050 (00110010), "&
"PRIVATE051 (00110011), PRIVATE052 (00110100), "&
"PRIVATE053 (00110101), PRIVATE054 (00110110), "&
"PRIVATE055 (00110111), PRIVATE056 (00111000), "&
"PRIVATE057 (00111001), PRIVATE058 (00111010), "&
"PRIVATE059 (00111011), PRIVATE060 (00111100), "&
"PRIVATE061 (00111101), PRIVATE062 (00111110), "&
"PRIVATE063 (00111111), PRIVATE064 (01000000), "&
"PRIVATE065 (01000001), PRIVATE066 (01000010), "&
"PRIVATE067 (01000011), PRIVATE068 (01000100), "&
"PRIVATE069 (01000101), PRIVATE070 (01000110), "&
"PRIVATE071 (01000111), PRIVATE072 (01001000), "&
"PRIVATE073 (01001001), PRIVATE074 (01001010), "&
"PRIVATE075 (01001011), PRIVATE076 (01001100), "&
"PRIVATE077 (01001101), PRIVATE078 (01001110), "&
"PRIVATE079 (01001111), PRIVATE080 (01010000), "&
"PRIVATE081 (01010001), PRIVATE082 (01010010), "&
"PRIVATE083 (01010011), PRIVATE084 (01010100), "&
"PRIVATE085 (01010101), PRIVATE086 (01010110), "&
"PRIVATE087 (01010111), PRIVATE088 (01011000), "&
"PRIVATE089 (01011001), PRIVATE090 (01011010), "&
"PRIVATE091 (01011011), PRIVATE092 (01011100), "&
"PRIVATE093 (01011101), PRIVATE094 (01011110), "&
"PRIVATE095 (01011111), PRIVATE096 (01100000), "&
"PRIVATE097 (01100001), PRIVATE098 (01100010), "&
"PRIVATE099 (01100011), PRIVATE100 (01100100), "&
"PRIVATE101 (01100101), PRIVATE102 (01100110), "&
"PRIVATE103 (01100111), PRIVATE104 (01101000), "&
"PRIVATE105 (01101001), PRIVATE106 (01101010), "&
"PRIVATE107 (01101011), PRIVATE108 (01101100), "&
"PRIVATE109 (01101101), PRIVATE110 (01101110), "&
"PRIVATE111 (01101111), PRIVATE112 (01110000), "&
"PRIVATE113 (01110001), PRIVATE114 (01110010), "&
"PRIVATE115 (01110011), PRIVATE116 (01110100), "&
"PRIVATE117 (01110101), PRIVATE118 (01110110), "&
"PRIVATE119 (01110111), PRIVATE120 (01111000), "&
"PRIVATE121 (01111001), PRIVATE122 (01111010), "&
"PRIVATE123 (01111011), PRIVATE124 (01111100), "&
"PRIVATE125 (01111101), PRIVATE126 (01111110), "&
"PRIVATE127 (01111111), PRIVATE128 (10000000), "&
"PRIVATE129 (10000001), PRIVATE130 (10000010), "&
"PRIVATE131 (10000011), PRIVATE132 (10000100), "&
"PRIVATE133 (10000101), PRIVATE134 (10000110), "&
"PRIVATE135 (10000111), PRIVATE136 (10001000), "&
"PRIVATE137 (10001001), PRIVATE138 (10001010), "&
"PRIVATE139 (10001011), PRIVATE140 (10001100), "&
"PRIVATE141 (10001101), PRIVATE142 (10001110), "&
"PRIVATE143 (10001111), PRIVATE144 (10010000), "&
"PRIVATE145 (10010001), PRIVATE146 (10010010), "&
"PRIVATE147 (10010011), PRIVATE148 (10010100), "&
"PRIVATE149 (10010101), PRIVATE150 (10010110), "&
"PRIVATE151 (10010111), PRIVATE152 (10011000), "&
"PRIVATE153 (10011001), PRIVATE154 (10011010), "&
"PRIVATE155 (10011011), PRIVATE156 (10011100), "&
"PRIVATE157 (10011101), PRIVATE158 (10011110), "&
"PRIVATE159 (10011111), PRIVATE160 (10100000), "&
"PRIVATE161 (10100001), PRIVATE162 (10100010), "&
"PRIVATE163 (10100011), PRIVATE164 (10100100), "&
"PRIVATE165 (10100101), PRIVATE166 (10100110), "&
"PRIVATE167 (10100111), PRIVATE168 (10101000), "&
"PRIVATE169 (10101001), PRIVATE170 (10101010), "&
"PRIVATE171 (10101011), PRIVATE172 (10101100), "&
"PRIVATE173 (10101101), PRIVATE174 (10101110), "&
"PRIVATE175 (10101111), PRIVATE176 (10110000), "&
"PRIVATE177 (10110001), PRIVATE178 (10110010), "&
"PRIVATE179 (10110011), PRIVATE180 (10110100), "&
"PRIVATE181 (10110101), PRIVATE182 (10110110), "&
"PRIVATE183 (10110111), PRIVATE184 (10111000), "&
"PRIVATE185 (10111001), PRIVATE186 (10111010), "&
"PRIVATE187 (10111011), PRIVATE188 (10111100), "&
"PRIVATE189 (10111101), PRIVATE190 (10111110), "&
"PRIVATE191 (10111111), "& -- SAMPLE (11000000)
"PRIVATE193 (11000001), PRIVATE194 (11000010), "&
"PRIVATE195 (11000011), PRIVATE196 (11000100), "&
"PRIVATE197 (11000101), PRIVATE198 (11000110), "&
"PRIVATE199 (11000111), PRIVATE200 (11001000), "&
"PRIVATE201 (11001001), PRIVATE202 (11001010), "&
"PRIVATE203 (11001011), PRIVATE204 (11001100), "&
"PRIVATE205 (11001101), PRIVATE206 (11001110), "&
"PRIVATE207 (11001111), PRIVATE208 (11010000), "&
"PRIVATE209 (11010001), PRIVATE210 (11010010), "&
"PRIVATE211 (11010011), PRIVATE212 (11010100), "&
"PRIVATE213 (11010101), PRIVATE214 (11010110), "&
"PRIVATE215 (11010111), PRIVATE216 (11011000), "&
"PRIVATE217 (11011001), PRIVATE218 (11011010), "&
"PRIVATE219 (11011011), PRIVATE220 (11011100), "&
"PRIVATE221 (11011101), PRIVATE222 (11011110), "&
"PRIVATE223 (11011111), PRIVATE224 (11100000), "&
"PRIVATE225 (11100001), PRIVATE226 (11100010), "&
"PRIVATE227 (11100011), PRIVATE228 (11100100), "&
"PRIVATE229 (11100101), PRIVATE230 (11100110), "&
"PRIVATE231 (11100111), PRIVATE232 (11101000), "&
"PRIVATE233 (11101001), PRIVATE234 (11101010), "&
"PRIVATE235 (11101011), PRIVATE236 (11101100), "&
"PRIVATE237 (11101101), PRIVATE238 (11101110), "&
"PRIVATE239 (11101111), PRIVATE240 (11110000), "&
"PRIVATE241 (11110001), PRIVATE242 (11110010), "&
"PRIVATE243 (11110011), PRIVATE244 (11110100), "&
"PRIVATE245 (11110101), PRIVATE246 (11110110), "&
"PRIVATE247 (11110111), PRIVATE248 (11111000), "&
"PRIVATE249 (11111001), PRIVATE250 (11111010), "&
"PRIVATE251 (11111011), PRIVATE252 (11111100), "&
"PRIVATE253 (11111101), PRIVATE254 (11111110)";
attribute INSTRUCTION_CAPTURE of mpc604 : entity is "xxxxxx01";
-- Use of some private opcodes can result in damage to the circuit,
-- board, or system.
attribute INSTRUCTION_PRIVATE of mpc604 : entity is
"PRIVATE001, PRIVATE002, PRIVATE003, PRIVATE004, "&
"PRIVATE005, PRIVATE006, PRIVATE007, PRIVATE008, "&
"PRIVATE009, PRIVATE010, PRIVATE011, PRIVATE012, "&
"PRIVATE013, PRIVATE014, PRIVATE015, PRIVATE016, "&
"PRIVATE017, PRIVATE018, PRIVATE019, PRIVATE020, "&
"PRIVATE021, PRIVATE022, PRIVATE023, PRIVATE024, "&
"PRIVATE025, PRIVATE026, PRIVATE027, PRIVATE028, "&
"PRIVATE029, PRIVATE030, PRIVATE031, PRIVATE032, "&
"PRIVATE033, PRIVATE034, PRIVATE035, PRIVATE036, "&
"PRIVATE037, PRIVATE038, PRIVATE039, PRIVATE040, "&
"PRIVATE041, PRIVATE042, PRIVATE043, PRIVATE044, "&
"PRIVATE045, PRIVATE046, PRIVATE047, PRIVATE048, "&
"PRIVATE049, PRIVATE050, PRIVATE051, PRIVATE052, "&
"PRIVATE053, PRIVATE054, PRIVATE055, PRIVATE056, "&
"PRIVATE057, PRIVATE058, PRIVATE059, PRIVATE060, "&
"PRIVATE061, PRIVATE062, PRIVATE063, PRIVATE064, "&
"PRIVATE065, PRIVATE066, PRIVATE067, PRIVATE068, "&
"PRIVATE069, PRIVATE070, PRIVATE071, PRIVATE072, "&
"PRIVATE073, PRIVATE074, PRIVATE075, PRIVATE076, "&
"PRIVATE077, PRIVATE078, PRIVATE079, PRIVATE080, "&
"PRIVATE081, PRIVATE082, PRIVATE083, PRIVATE084, "&
"PRIVATE085, PRIVATE086, PRIVATE087, PRIVATE088, "&
"PRIVATE089, PRIVATE090, PRIVATE091, PRIVATE092, "&
"PRIVATE093, PRIVATE094, PRIVATE095, PRIVATE096, "&
"PRIVATE097, PRIVATE098, PRIVATE099, PRIVATE100, "&
"PRIVATE101, PRIVATE102, PRIVATE103, PRIVATE104, "&
"PRIVATE105, PRIVATE106, PRIVATE107, PRIVATE108, "&
"PRIVATE109, PRIVATE110, PRIVATE111, PRIVATE112, "&
"PRIVATE113, PRIVATE114, PRIVATE115, PRIVATE116, "&
"PRIVATE117, PRIVATE118, PRIVATE119, PRIVATE120, "&
"PRIVATE121, PRIVATE122, PRIVATE123, PRIVATE124, "&
"PRIVATE125, PRIVATE126, PRIVATE127, PRIVATE128, "&
"PRIVATE129, PRIVATE130, PRIVATE131, PRIVATE132, "&
"PRIVATE133, PRIVATE134, PRIVATE135, PRIVATE136, "&
"PRIVATE137, PRIVATE138, PRIVATE139, PRIVATE140, "&
"PRIVATE141, PRIVATE142, PRIVATE143, PRIVATE144, "&
"PRIVATE145, PRIVATE146, PRIVATE147, PRIVATE148, "&
"PRIVATE149, PRIVATE150, PRIVATE151, PRIVATE152, "&
"PRIVATE153, PRIVATE154, PRIVATE155, PRIVATE156, "&
"PRIVATE157, PRIVATE158, PRIVATE159, PRIVATE160, "&
"PRIVATE161, PRIVATE162, PRIVATE163, PRIVATE164, "&
"PRIVATE165, PRIVATE166, PRIVATE167, PRIVATE168, "&
"PRIVATE169, PRIVATE170, PRIVATE171, PRIVATE172, "&
"PRIVATE173, PRIVATE174, PRIVATE175, PRIVATE176, "&
"PRIVATE177, PRIVATE178, PRIVATE179, PRIVATE180, "&
"PRIVATE181, PRIVATE182, PRIVATE183, PRIVATE184, "&
"PRIVATE185, PRIVATE186, PRIVATE187, PRIVATE188, "&
"PRIVATE189, PRIVATE190, PRIVATE191, "&
"PRIVATE193, PRIVATE194, PRIVATE195, PRIVATE196, "&
"PRIVATE197, PRIVATE198, PRIVATE199, PRIVATE200, "&
"PRIVATE201, PRIVATE202, PRIVATE203, PRIVATE204, "&
"PRIVATE205, PRIVATE206, PRIVATE207, PRIVATE208, "&
"PRIVATE209, PRIVATE210, PRIVATE211, PRIVATE212, "&
"PRIVATE213, PRIVATE214, PRIVATE215, PRIVATE216, "&
"PRIVATE217, PRIVATE218, PRIVATE219, PRIVATE220, "&
"PRIVATE221, PRIVATE222, PRIVATE223, PRIVATE224, "&
"PRIVATE225, PRIVATE226, PRIVATE227, PRIVATE228, "&
"PRIVATE229, PRIVATE230, PRIVATE231, PRIVATE232, "&
"PRIVATE233, PRIVATE234, PRIVATE235, PRIVATE236, "&
"PRIVATE237, PRIVATE238, PRIVATE239, PRIVATE240, "&
"PRIVATE241, PRIVATE242, PRIVATE243, PRIVATE244, "&
"PRIVATE245, PRIVATE246, PRIVATE247, PRIVATE248, "&
"PRIVATE249, PRIVATE250, PRIVATE251, PRIVATE252, "&
"PRIVATE253, PRIVATE254 ";
attribute REGISTER_ACCESS of mpc604 : entity is
"BYPASS (BYPASS)";
--## Some proposed versions of BSDL used the "attribute BOUNDARY_CELLS"
--## statement. This may be uncommented if needed.
--## attribute BOUNDARY_CELLS of mpc604 : entity is "BC_1, BC_2, BC_6, UC_OUT3";
attribute BOUNDARY_LENGTH of mpc604 : entity is 188;
attribute BOUNDARY_REGISTER of mpc604 : entity is
-- PORT DESCRIPTION TERMS
-- cell type: BC_6 bidirectional, BC_1 internal, BC_2 input & output2,
-- UC_OUT3 output3
-- port: port name with index if port description says bit_vector
-- function
-- input = input only
-- internal = internal cell
-- bidir = bidirectional
-- control = output control cell
-- output2 = two state output
-- output3 = three state output
-- safe = value in control cell to make input = 0 for bidir and controlr
-- ccell = controlling cell number for I/O direction
-- dsval = disabling (input) value
-- rslt = result if disabled (input = Z)
--tdo = first cell shifted out during ShiftDR
--num cell port function safe ccell dsval rslt
"0 (BC_1, *, internal, X), "&
"1 (BC_2, L2_INT, input, X), "&
"2 (BC_2, HALTED, output2, X), "&
"3 (BC_2, RUN, input, X), "&
"4 (BC_2, *, control, 0), "&
"5 (UC_OUT3, DPE_L, output3, X, 4, 0, Z), "&
"6 (BC_2, *, control, 0), "&
"7 (UC_OUT3, APE_L, output3, X, 6, 0, Z), "&
"8 (BC_2, BR_L, output2, X), "&
"9 (BC_2, CLK_OUT, output2, X), "&
"10 (UC_OUT3, TC(2), output3, 0, 18, 0, Z), "&
"11 (UC_OUT3, TC(1), output3, 0, 18, 0, Z), "&
"12 (UC_OUT3, TC(0), output3, 0, 18, 0, Z), "&
"13 (UC_OUT3, CSE(1), output3, 0, 18, 0, Z), "&
"14 (UC_OUT3, CSE(0), output3, 0, 18, 0, Z), "&
"15 (BC_6, AP(3), bidir, X, 18, 0, Z), "&
"16 (BC_6, AP(2), bidir, X, 18, 0, Z), "&
"17 (BC_6, AP(1), bidir, X, 18, 0, Z), "&
"18 (BC_2, *, control, 0), "&
"19 (BC_6, AP(0), bidir, X, 18, 0, Z), "&
"20 (BC_2, RSRV_L, output2, X), "&
"21 (BC_2, TBEN, input, X), "&
"22 (BC_1, *, internal, X), "&
"23 (BC_1, *, internal, X), "&
"24 (UC_OUT3, WT_L, output3, 0, 31, 0, Z), "&
"25 (UC_OUT3, CI_L, output3, 0, 31, 0, Z), "&
"26 (BC_6, GBL_L, bidir, X, 31, 0, Z), "&
"27 (BC_6, A(1), bidir, X, 31, 0, Z), "&
"28 (BC_6, A(3), bidir, X, 31, 0, Z), "&
"29 (BC_6, A(5), bidir, X, 31, 0, Z), "&
"30 (BC_6, A(7), bidir, X, 31, 0, Z), "&
"31 (BC_2, *, control, 0), "&
"32 (BC_6, A(9), bidir, X, 31, 0, Z), "&
"33 (BC_2, *, control, 0), "&
"34 (BC_6, A(11), bidir, X, 33, 0, Z), "&
"35 (BC_6, A(13), bidir, X, 33, 0, Z), "&
"36 (BC_6, A(15), bidir, X, 33, 0, Z), "&
"37 (BC_6, A(17), bidir, X, 33, 0, Z), "&
"38 (BC_6, A(19), bidir, X, 33, 0, Z), "&
"39 (BC_6, A(21), bidir, X, 33, 0, Z), "&
"40 (BC_6, A(23), bidir, X, 42, 0, Z), "&
"41 (BC_6, A(25), bidir, X, 42, 0, Z), "&
"42 (BC_2, *, control, 0), "&
"43 (BC_6, A(27), bidir, X, 42, 0, Z), "&
"44 (BC_2, DBWO_L, input, X), "&
"45 (BC_2, DBG_L, input, X), "&
"46 (BC_2, BG_L, input, X), "&
"47 (BC_2, AACK_L, input, X), "&
"48 (BC_6, A(29), bidir, X, 42, 0, Z), "&
"49 (BC_2, *, control, 0), "&
"50 (BC_6, SHD_L, bidir, X, 49, 0, Z), "&
"51 (BC_2, *, control, 0), "&
"52 (BC_6, ARTRY_L, bidir, X, 51, 0, Z), "&
"53 (BC_2, *, control, 0), "&
"54 (BC_6, ABB_L, bidir, X, 53, 0, Z), "&
"55 (BC_6, A(31), bidir, X, 42, 0, Z), "&
"56 (BC_6, DP(0), bidir, X, 59, 0, Z), "&
"57 (BC_6, DP(1), bidir, X, 59, 0, Z), "&
"58 (BC_6, DP(2), bidir, X, 59, 0, Z), "&
"59 (BC_2, *, control, 0), "&
"60 (BC_6, DP(3), bidir, X, 59, 0, Z), "&
"61 (BC_6, DP(4), bidir, X, 59, 0, Z), "&
"62 (BC_6, DP(5), bidir, X, 59, 0, Z), "&
"63 (BC_6, DP(6), bidir, X, 59, 0, Z), "&
"64 (BC_6, DP(7), bidir, X, 59, 0, Z), "&
"65 (BC_6, DL(23), bidir, X, 59, 0, Z), "&
"66 (BC_6, DL(24), bidir, X, 59, 0, Z), "&
"67 (BC_6, DL(25), bidir, X, 68, 0, Z), "&
"68 (BC_2, *, control, 0), "&
"69 (BC_6, DL(26), bidir, X, 68, 0, Z), "&
"70 (BC_6, DL(27), bidir, X, 68, 0, Z), "&
"71 (BC_6, DL(28), bidir, X, 68, 0, Z), "&
"72 (BC_6, DL(29), bidir, X, 68, 0, Z), "&
"73 (BC_6, DL(30), bidir, X, 68, 0, Z), "&
"74 (BC_6, DL(31), bidir, X, 75, 0, Z), "&
"75 (BC_2, *, control, 0), "&
"76 (BC_6, DH(31), bidir, X, 75, 0, Z), "&
"77 (BC_6, DH(30), bidir, X, 75, 0, Z), "&
"78 (BC_6, DH(29), bidir, X, 75, 0, Z), "&
"79 (BC_6, DH(28), bidir, X, 75, 0, Z), "&
"80 (BC_6, DH(27), bidir, X, 75, 0, Z), "&
"81 (BC_6, DH(26), bidir, X, 85, 0, Z), "&
"82 (BC_6, DH(25), bidir, X, 85, 0, Z), "&
"83 (BC_6, DH(24), bidir, X, 85, 0, Z), "&
"84 (BC_6, DH(23), bidir, X, 85, 0, Z), "&
"85 (BC_2, *, control, 0), "&
"86 (BC_6, DH(22), bidir, X, 85, 0, Z), "&
"87 (BC_6, DH(21), bidir, X, 85, 0, Z), "&
"88 (BC_6, DH(20), bidir, X, 85, 0, Z), "&
"89 (BC_6, DH(19), bidir, X, 85, 0, Z), "&
"90 (BC_6, DH(18), bidir, X, 85, 0, Z), "&
"91 (BC_6, DH(17), bidir, X, 85, 0, Z), "&
"92 (BC_6, DH(16), bidir, X, 85, 0, Z), "&
"93 (BC_6, DH(15), bidir, X, 85, 0, Z), "&
"94 (BC_6, DH(14), bidir, X, 95, 0, Z), "&
"95 (BC_2, *, control, 0), "&
"96 (BC_6, DH(13), bidir, X, 95, 0, Z), "&
"97 (BC_6, DH(12), bidir, X, 95, 0, Z), "&
"98 (BC_6, DH(11), bidir, X, 95, 0, Z), "&
"99 (BC_6, DH(10), bidir, X, 95, 0, Z), "&
"100 (BC_6, DH(9), bidir, X, 95, 0, Z), "&
"101 (BC_6, DH(8), bidir, X, 95, 0, Z), "&
"102 (BC_6, DH(7), bidir, X, 95, 0, Z), "&
"103 (BC_6, DH(6), bidir, X, 95, 0, Z), "&
"104 (BC_6, DL(22), bidir, X, 107, 0, Z), "&
"105 (BC_6, DL(21), bidir, X, 107, 0, Z), "&
"106 (BC_6, DL(20), bidir, X, 107, 0, Z), "&
"107 (BC_2, *, control, 0), "&
"108 (BC_6, DL(19), bidir, X, 107, 0, Z), "&
"109 (BC_6, DL(18), bidir, X, 107, 0, Z), "&
"110 (BC_6, DL(17), bidir, X, 107, 0, Z), "&
"111 (BC_6, DH(5), bidir, X, 107, 0, Z), "&
"112 (BC_6, DH(4), bidir, X, 107, 0, Z), "&
"113 (BC_6, DH(3), bidir, X, 107, 0, Z), "&
"114 (BC_6, DH(2), bidir, X, 116, 0, Z), "&
"115 (BC_6, DH(1), bidir, X, 116, 0, Z), "&
"116 (BC_2, *, control, 0), "&
"117 (BC_6, DH(0), bidir, X, 116, 0, Z), "&
"118 (BC_6, DL(16), bidir, X, 116, 0, Z), "&
"119 (BC_6, DL(15), bidir, X, 123, 0, Z), "&
"120 (BC_6, DL(14), bidir, X, 123, 0, Z), "&
"121 (BC_6, DL(13), bidir, X, 123, 0, Z), "&
"122 (BC_6, DL(12), bidir, X, 123, 0, Z), "&
"123 (BC_2, *, control, 0), "&
"124 (BC_6, DL(11), bidir, X, 123, 0, Z), "&
"125 (BC_6, DL(10), bidir, X, 132, 0, Z), "&
"126 (BC_6, DL(9), bidir, X, 132, 0, Z), "&
"127 (BC_6, DL(8), bidir, X, 132, 0, Z), "&
"128 (BC_6, DL(7), bidir, X, 132, 0, Z), "&
"129 (BC_6, DL(6), bidir, X, 132, 0, Z), "&
"130 (BC_6, DL(5), bidir, X, 132, 0, Z), "&
"131 (BC_6, DL(4), bidir, X, 132, 0, Z), "&
"132 (BC_2, *, control, 0), "&
"133 (BC_6, DL(3), bidir, X, 132, 0, Z), "&
"134 (BC_6, DL(2), bidir, X, 132, 0, Z), "&
"135 (BC_6, DL(1), bidir, X, 132, 0, Z), "&
"136 (BC_6, DL(0), bidir, X, 132, 0, Z), "&
"137 (BC_6, A(30), bidir, X, 149, 0, Z), "&
"138 (BC_2, *, control, 0), "&
"139 (BC_6, DBB_L, bidir, X, 138, 0, Z), "&
"140 (BC_2, *, control, 0), "&
"141 (BC_6, TS_L, bidir, X, 140, 0, Z), "&
"142 (BC_2, *, control, 0), "&
"143 (BC_6, XATS_L, bidir, X, 142, 0, Z), "&
"144 (BC_6, A(28), bidir, X, 149, 0, Z), "&
"145 (BC_2, DBDIS_L, input, X), "&
"146 (BC_2, TEA_L, input, X), "&
"147 (BC_2, TA_L, input, X), "&
"148 (BC_2, DRTRY_L, input, X), "&
"149 (BC_2, *, control, 0), "&
"150 (BC_6, A(26), bidir, X, 149, 0, Z), "&
"151 (BC_6, A(24), bidir, X, 149, 0, Z), "&
"152 (BC_6, A(22), bidir, X, 149, 0, Z), "&
"153 (BC_6, A(20), bidir, X, 159, 0, Z), "&
"154 (BC_6, A(18), bidir, X, 159, 0, Z), "&
"155 (BC_6, A(16), bidir, X, 159, 0, Z), "&
"156 (BC_6, A(14), bidir, X, 159, 0, Z), "&
"157 (BC_6, A(12), bidir, X, 159, 0, Z), "&
"158 (BC_6, A(10), bidir, X, 159, 0, Z), "&
"159 (BC_2, *, control, 0), "&
"160 (BC_6, A(8), bidir, X, 159, 0, Z), "&
"161 (BC_6, A(6), bidir, X, 159, 0, Z), "&
"162 (BC_6, A(4), bidir, X, 167, 0, Z), "&
"163 (BC_6, A(2), bidir, X, 167, 0, Z), "&
"164 (BC_6, A(0), bidir, X, 167, 0, Z), "&
"165 (BC_6, TT(4), bidir, X, 167, 0, Z), "&
"166 (BC_6, TT(3), bidir, X, 167, 0, Z), "&
"167 (BC_2, *, control, 0), "&
"168 (BC_6, TT(2), bidir, X, 167, 0, Z), "&
"169 (BC_2, MCP_L, input, X), "&
"170 (BC_2, SMI_L, input, X), "&
"171 (BC_2, INT_L, input, X), "&
"172 (BC_2, SRESET_L, input, X), "&
"173 (BC_6, TT(1), bidir, X, 178, 0, Z), "&
"174 (BC_6, TT(0), bidir, X, 178, 0, Z), "&
"175 (BC_6, TBST_L, bidir, X, 178, 0, Z), "&
"176 (BC_6, TSIZ(2), bidir, X, 178, 0, Z), "&
"177 (BC_6, TSIZ(1), bidir, X, 178, 0, Z), "&
"178 (BC_2, *, control, 0), "&
"179 (BC_6, TSIZ(0), bidir, X, 178, 0, Z), "&
"180 (BC_2, PLL_CFG(3), input, X), "&
"181 (BC_2, PLL_CFG(2), input, X), "&
"182 (BC_2, PLL_CFG(1), input, X), "&
"183 (BC_2, SYSCLK, input, X), "&
"184 (BC_2, PLL_CFG(0), input, X), "&
"185 (BC_1, *, internal, X), "&
"186 (BC_2, *, control, 0), "&
"187 (UC_OUT3, CKSTP_OUT_L, output3, X, 186, 0, Z) ";
-- tdi
end mpc604;
--===========================================================================--
-- Boundary Scan Description Language (IEEE 1149.1b) for User Package --
-- --
-- Device : MPC604 Revision 3 --
-- File Version : D --
-- File Name : USER_PACKAGE_MPC604.R3D --
-- File created : Dec. 27, 1995 --
-- Package type : CQFP --
-------------------------------------------------------------------------------
-- Revision History: --
-- A - Original version --
-- --
-- NOTE: This file contains the User Package Definition for the MPC604. --
-- This file is required to be associated with the BSDL file. For --
-- output3 pins (tri-state outputs), EXTEST captures the PAD, instead --
-- the more common UPDATE LATCH state. While this implementation is --
-- compliant, the cell requires a custom package. --
-- --
-- THIS FILE MUST ACCOMPANY THE MPC604.R3D BSDL FILE VERSION. --
-- --
-- NOTE: For assistance with this file, contact your sales office. --
-- --
--===========================================================================--
-- User defined package describing a cell for OUTPUT3
package USER_PACKAGE_MPC604 is
-- Boundary cell defered constants (defined in package body)
constant UC_OUT3 :CELL_INFO;
end USER_PACKAGE_MPC604; -- End of User Package
package body USER_PACKAGE_MPC604 is
constant UC_OUT3 : CELL_INFO :=
(
(OUTPUT3, EXTEST, PO),
(OUTPUT3, SAMPLE, PI) );
end USER_PACKAGE_MPC604; -- End of User Package Body