-- File Name :MAX16046.BSD
-- Created by :Maxim Integrated Products
-- Documentation :MAX16046/MAX16048, MAX16047/MAX16049 data sheet
--
--
--
-- BSDL Revision :1.0
--
-- Date created :2/21/08
-- Date modified
-- Device :MAX16046
-- Package :64-pin TQFP
--
--
-- IMPORTANT NOTICE
-- Maxim customers are advised to obtain the latest version of device
-- specifications before relying on any published information contained
-- herein. Maxim Integrated Products assumes no responsibility or liability
-- arising out of the application of any information described herein.
--
--
--
-- IMPORTANT NOTICE ABOUT THE REVISION
--
-- Maxim customers are advised to check the revision of the
-- device they will be using. All the codes for the device revisions are
-- herein this BSDL file.
--
-- The characters "/", "(", ")" and "*" have been removed from signal names for
-- compatibility with BSDL file format.
--
--
entity MAX16046 is
generic (PHYSICAL_PIN_MAP : string := "TQFP_64");
port (
MONx :linkage bit_vector(1 to 12);
RESET :linkage bit;
A0 :linkage bit;
SCL :linkage bit;
SDA :linkage bit;
TMS, TCK, TDI :in bit;
TDO :out bit;
GND :linkage bit_vector(1 to 2);
GPIOx :linkage bit_vector(1 to 6);
EN :linkage bit;
DACOUTx :linkage bit_vector(1 to 12);
ABP, DBP :linkage bit;
VCC :linkage bit;
EN_OUTx :linkage bit_vector(1 to 12)
);
use STD_1149_1_2001.all;
attribute COMPONENT_CONFORMANCE of MAX16046 : entity is "STD_1149_1_2001";
attribute PIN_MAP of MAX16046 : entity is PHYSICAL_PIN_MAP;
constant TQFP_64 : PIN_MAP_STRING :=
"MONx:(1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14),"&
"RESET:16, A0:17, SCL:18, SDA:19,"&
"TMS:20, TDI:21, TCK:22, TDO:23, EN:28,"&
"DACOUTx:(29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41),"&
"ABP:42, VCC:43, DBP:44, GND:(24, 45),"&
"GPIOx:(46, 47, 50, 51, 27, 26),"&
"EN_OUTx:(52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)";
attribute TAP_SCAN_CLOCK of TCK :signal is (1.00e6,BOTH);
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 INSTRUCTION_LENGTH of MAX16046 :entity is 5;
attribute INSTRUCTION_OPCODE of MAX16046 :entity is
"BYPASS (11111),"&
"IDCODE (00000),"&
"SAMPLE (00001),"& -- WARNING: UNIMPLEMENTED, DO NOT USE
"PRELOAD (00001),"& -- WARNING: UNIMPLEMENTED, DO NOT USE
"EXTEST (00010),"& -- WARNING: UNIMPLEMENTED, DO NOT USE
"USERCODE (00011),"&
"LOADADDR (00100),"&
"READ (00101),"&
"WRITE (00110),"&
"REBOOT (00111),"&
"SAVE (01000),"&
"SETEXTRAM (01001),"&
"RSTEXTRAM (01010),"&
"SETEEPADD (01011),"&
"RSTEEPADD (01100),"&
"RESERVED1 (10000),"&
"RESERVED2 (10001)";
attribute INSTRUCTION_CAPTURE of MAX16046 :entity is "X0001";
-- ^ Bit 4=BUSY (1 if device is busy)
attribute INSTRUCTION_PRIVATE of MAX16046 :entity is "REBOOT, SAVE, SETEXTRAM, RSTEXTRAM,"&
"SETEEPADD, RSTEEPADD, RESERVED1, RESERVED2";
-- REBOOT, SAVE, SETEXTRAM, RSTEXTRAM, SETEEPADD, and RSTEEPADD are available for customer use, but
-- they are classified as private because they do not access a particular test data register.
attribute IDCODE_REGISTER of MAX16046 :entity is
"0000"& -- Version
"0000000000000001"& -- Device ID
"00011001011"& -- Manufacturer ID
"1"; -- Mandatory bit
attribute USERCODE_REGISTER of MAX16046 :entity is
"00000000000000000"& -- Unused
"XXXXXXX"& -- I2C Slave address
"XXXXXXXX"; -- Register r61h[7:0] contents
attribute REGISTER_ACCESS of MAX16046 :entity is
"MEMADDR[8] (LOADADDR), "&
"MEMREAD[8] (READ), "&
"MEMWRITE[8] (WRITE)"; -- Data shifted out is status byte: Bit 0= 1 if EEPROM is busy), Bit 1= 1 if address invalid.
-- The MAX16046 does not implement boundary scan registers.
attribute BOUNDARY_LENGTH of MAX16046 :entity is 1;
attribute BOUNDARY_REGISTER of MAX16046 :entity is "0 (BC_1, *, internal,X)";
end MAX16046;