-- File Name :MAX16070.BSD
-- Created by :Maxim Integrated Products
-- Documentation :MAX16070/MAX16071 data sheet
--
--
--
-- BSDL Revision :1.0
--
-- Date created :9/29/2009
-- Date modified :12/1/2009
-- Device :MAX16070
-- Package :40-pin TQFN
--
--
-- 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
-- here in this BSDL file.
--
-- The characters "/", "(", ")" and "*" have been removed from signal names for
-- compatibility with BSDL file format.
--
--
entity MAX16070 is
generic (PHYSICAL_PIN_MAP : string := "TQFN_40");
port (
MONx :linkage bit_vector(1 to 12);
CSP, CSM :linkage bit;
RESET :linkage bit;
TMS, TDI, TCK :in bit;
TDO :out bit;
SDA, A0, SCL :linkage bit;
GND :linkage bit_vector(1 to 2);
GPIOx :linkage bit_vector(1 to 8);
NC :linkage bit_vector(1 to 4);
EN :linkage bit;
DBP, VCC, ABP :linkage bit
);
use STD_1149_1_2001.all;
attribute COMPONENT_CONFORMANCE of MAX16070 : entity is "STD_1149_1_2001";
attribute PIN_MAP of MAX16070 : entity is PHYSICAL_PIN_MAP;
constant TQFN_40 : PIN_MAP_STRING :=
"MONx:(40, 1, 2, 3, 4, 5, 34, 35, 36, 37, 38, 39),"&
"CSP:6, CSM:7, RESET:8, TMS:9, TDI:10, TCK:11, TDO:12, SDA:13, A0:14, SCL:15,"&
"GND:(16, 33),"&
"GPIOx:(19, 20, 21, 22, 23, 24, 17, 18),"&
"NC:(25, 26, 27, 29),"&
"EN:28, DBP:30, VCC:31, ABP:32";
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 MAX16070 :entity is 5;
attribute INSTRUCTION_OPCODE of MAX16070 :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),"&
"SETFLSHADD (01001),"&
"RSTFLSHADD (01010),"&
"SETUSRFLSH (01011),"&
"RSTUSRFLSH (01100)";
attribute INSTRUCTION_CAPTURE of MAX16070 :entity is "X0001";
-- ^ Bit 4=BUSY (1 if device is busy)
attribute INSTRUCTION_PRIVATE of MAX16070 :entity is "REBOOT, SAVE, SETFLSHADD, RSTFLSHADD, SETUSRFLSH, RSTUSRFLSH";
-- REBOOT and SAVE 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 MAX16070 :entity is
"XXXX"& -- Version for any revision
--"0001"& -- Version for rev 1
"1000000000000101"& -- Device ID
"00011001011"& -- Manufacturer ID
"1"; -- Mandatory bit
attribute USERCODE_REGISTER of MAX16070 :entity is
"00000000000000000"& -- Unused
"XXXXXXX"& -- I2C Slave address
"XXXXXXXX"; -- Register r8Ah[7:0] contents
attribute REGISTER_ACCESS of MAX16070 :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 MAX16070 does not implement boundary scan registers.
attribute BOUNDARY_LENGTH of MAX16070 :entity is 1;
attribute BOUNDARY_REGISTER of MAX16070 :entity is "0 (BC_1, *, internal,X)";
end MAX16070;