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: ATMEGA16U4

------------------------------------------------------------------------	
-- A T M E L   A V R   M I C R O C O N T R O L L E R S                --	
------------------------------------------------------------------------	
-- BSDL file	
--         	
-- File Name:    	ATMEGA16U4.BSD
-- File Revision:	1.0
-- Date created: 	2009-02-05
-- Created by:   	Atmel Corporation
-- Support:      	avr@atmel.com
-- File Status:  	Released
--	
-- Device:       	ATMEGA16U4
--               	rev A
-- Package:      	64 pin TQFP (default)
--               	64 pin QFN
--               
--         
-- Visit http://www.atmel.com for a updated list of BSDL files.
--         
--
------------------------------------------------------------------------
-- Syntax and Semantics are checked against the IEEE 1149.1 standard. --
-- The logical functioning of the standard Boundary-Scan instructions --
-- and of the associated bypass, idcode and boundary-scan register    --
-- described in this BSDL file has been verified against its related  --
-- silicon by JTAG Technologies B.V.                                  --
------------------------------------------------------------------------
------------------------------------------------------------------------ 
--                       IMPORTANT NOTICE                             -- 
--                                                                    -- 
--   Copyright 2002 Atmel Corporation. All Rights Reserved.           -- 
--                                                                    -- 
--   Atmel assumes no responsibility or liability arising out         -- 
--   this application or use of any information described herein      -- 
--   except as expressly agreed to in writing by Atmel Corporation.   -- 
--                                                                    -- 
------------------------------------------------------------------------ 
--
-- Notes:
-- 1. The behavior of the Oscillator Boundary Scan cells are dependant 
--    on the Oscillator Fuse settings, and are therefore described as
--    "internal".
-- 2. The Boundary Scan cells for controlling the analog features ADC, 
--    Comparator and pin pull-ups are described as "internal".
--    Note that this feature is in addition to the (digital) cells on 
--    each pin. For information on accessing the pull-up function of the 
--    pins, please read the device data sheet.
--					

entity	ATMEGA16U4	is			

generic	(PHYSICAL_PIN_MAP : string := "	TQFP	")		;

port	(				
	RESET	:	in	bit	;
	VCC  	:	linkage	bit	;
	VCC1 	:	linkage	bit	;
	GND  	:	linkage	bit	;
	GND1 	:	linkage	bit	;
	GND2 	:	linkage	bit	;
	XTAL1	:	linkage	bit	;
	XTAL2	:	linkage	bit	;
	PB   	:	inout	bit_vector(0 to 7)	;
	PC	:	inout	bit_vector(6 to 7)	;
	PD   	:	inout	bit_vector(0 to 7)	;
	PE2	:	inout	bit	;
	PE6	:	inout	bit	;
	PF   	:	inout	bit_vector(0 to 1)	;
	TCK  	:	in	bit	;
	TMS  	:	in	bit	;
	TDO  	:	out	bit	;
	TDI  	:	in	bit	;
	VBUS	:	linkage	bit	;
	UCAP	:	linkage	bit	;
	UGND	:	linkage	bit	;
	DP	:	linkage	bit	;
	DM	:	linkage	bit	;
	UVCC	:	linkage	bit	;
	AREF 	:	linkage	bit	;
	AVCC	:	linkage	bit	;
	AVCC1	:	linkage	bit	;
	GND3	:	linkage	bit	
	);				

use	STD_1149_1_1994.all				;

attribute	COMPONENT_CONFORMANCE of	ATMEGA16U4	: entity is		
"	STD_1149_1_1993	";			

attribute	PIN_MAP of	ATMEGA16U4	: entity is	PHYSICAL_PIN_MAP	;
					
constant	TQFP	:	PIN_MAP_STRING:=		
"	RESET	:	13	, "	&
"	VCC  	:	14	, "	&
"	VCC1 	:	34	, "	&
"	GND  	:	15	, "	&
"	GND1 	:	35	, "	&
"	GND2 	:	43	, "	&
"	XTAL1	:	17	, "	&
"	XTAL2	:	16	, "	&
"	PB   	:	(8,9,10,11,28,29,30,12)	, "	&
"	PC   	:	(31,32)	, "	&
"	PD   	:	(18,19,20,21,25,22,26,27)	, "	&
"	PE2	:	33	, "	&
"	PE6	:	1	, "	&
"	PF   	:	(41,40)	, "	&
"	TCK  	:	39	, "	&
"	TMS  	:	38	, "	&
"	TDO  	:	37	, "	&
"	TDI  	:	36	, "	&
"	VBUS	:	7	, "	&
"	UCAP	:	6	, "	&
"	UGND	:	5	, "	&
"	DP	:	4	, "	&
"	DM	:	3	, "	&
"	UVCC	:	2	, "	&
"	AREF 	:	42	, "	&
"	AVCC 	:	44	, "	&
"	AVCC1	:	24	, "	&
"	GND3	:	23	"	;

constant	QFN	:	PIN_MAP_STRING:=		
"	RESET	:	13	, "	&
"	VCC  	:	14	, "	&
"	VCC1 	:	34	, "	&
"	GND  	:	15	, "	&
"	GND1 	:	35	, "	&
"	GND2 	:	43	, "	&
"	XTAL1	:	17	, "	&
"	XTAL2	:	16	, "	&
"	PB   	:	(8,9,10,11,28,29,30,12)	, "	&
"	PC   	:	(31,32)	, "	&
"	PD   	:	(18,19,20,21,25,22,26,27)	, "	&
"	PE2	:	33	, "	&
"	PE6	:	1	, "	&
"	PF   	:	(41,40)	, "	&
"	TCK  	:	39	, "	&
"	TMS  	:	38	, "	&
"	TDO  	:	37	, "	&
"	TDI  	:	36	, "	&
"	VBUS	:	7	, "	&
"	UCAP	:	6	, "	&
"	UGND	:	5	, "	&
"	DP	:	4	, "	&	
"	DM	:	3	, "	&	
"	UVCC	:	2	, "	&	
"	AREF 	:	42	, "	&	
"	AVCC 	:	44	, "	&	
"	AVCC1	:	24	, "	&	
"	GND3	:	23	"	;	
						
attribute	TAP_SCAN_IN	of	TDI	: signal is	true	;
attribute	TAP_SCAN_OUT	of	TDO	: signal is	true	;
attribute	TAP_SCAN_MODE	of	TMS	: signal is	true	;
attribute	TAP_SCAN_CLOCK	of	TCK	: signal is	(8.0e6, BOTH)	;

attribute	INSTRUCTION_LENGTH	of	ATMEGA16U4	: entity is	4	;
						
attribute	INSTRUCTION_OPCODE	of	ATMEGA16U4	: entity is		
"	EXTEST   	(	0000	),"	&	
"	IDCODE   	(	0001	),"	&	
"	SAMPLE   	(	0010	),"	&	
"	PRIVATE0 	(	1000	),"	&	
"	PRIVATE1 	(	1001	),"	&	
"	PRIVATE2 	(	1010	),"	&	
"	PRIVATE3 	(	1011	),"	&	
"	AVR_RESET	(	1100	),"	&	
"	BYPASS   	(	1111	)"	;	

attribute	INSTRUCTION_CAPTURE	of	ATMEGA16U4	: entity is "	0001	";
						
attribute	INSTRUCTION_PRIVATE	of	ATMEGA16U4	: entity is		
"	PRIVATE0	,"	&			
"	PRIVATE1	,"	&			
"	PRIVATE2	,"	&			
"	PRIVATE3	"	;																			
																						
attribute	IDCODE_REGISTER	of	ATMEGA16U4	: entity is																		
	"0000"	&																--	0x0			
	"1001010010001000"	&																--	0x9488			
	"00000011111"	&																--	0x01F			
	"1"	;																				

attribute	REGISTER_ACCESS	of	ATMEGA16U4	: entity is																		
"	BOUNDARY	(	AVR_RESET	)"	;																	

attribute	BOUNDARY_LENGTH	of	ATMEGA16U4	: entity is	89	;																
																						
attribute	BOUNDARY_REGISTER	of	ATMEGA16U4	: entity is																		
--	num		cell		port		func		safe		[ccell		dis		rslt]							
"	88	(	BC_7	,	PE6	,	bidir	,	X	,	87	,	0	,	Z	),"	&	--	88	PE6.Data	E	6
"	87	(	BC_1	,	*	,	control	,	0							),"	&	--	87	PE6.Control	E	
"	86	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	86	not needed cell		
"	85	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	85	not needed cell		
"	84	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	84	not needed cell		
"	83	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	83	not needed cell		
"	82	(	BC_7	,	PB(0)	,	bidir	,	X	,	81	,	0	,	Z	),"	&	--	82	PB0.Data	B	0
"	81	(	BC_1	,	*	,	control	,	0							),"	&	--	81	PB0.Control	B	
"	80	(	BC_7	,	PB(1)	,	bidir	,	X	,	79	,	0	,	Z	),"	&	--	80	PB1.Data	B	1
"	79	(	BC_1	,	*	,	control	,	0							),"	&	--	79	PB1.Control	B	
"	78	(	BC_7	,	PB(2)	,	bidir	,	X	,	77	,	0	,	Z	),"	&	--	78	PB2.Data	B	2
"	77	(	BC_1	,	*	,	control	,	0							),"	&	--	77	PB2.Control	B	
"	76	(	BC_7	,	PB(3)	,	bidir	,	X	,	75	,	0	,	Z	),"	&	--	76	PB3.Data	B	3
"	75	(	BC_1	,	*	,	control	,	0							),"	&	--	75	PB3.Control	B	
"	74	(	BC_7	,	PB(4)	,	bidir	,	X	,	73	,	0	,	Z	),"	&	--	74	PB4.Data	B	4
"	73	(	BC_1	,	*	,	control	,	0							),"	&	--	73	PB4.Control	B	
"	72	(	BC_7	,	PB(5)	,	bidir	,	X	,	71	,	0	,	Z	),"	&	--	72	PB5.Data	B	5
"	71	(	BC_1	,	*	,	control	,	0							),"	&	--	71	PB5.Control	B	
"	70	(	BC_7	,	PB(6)	,	bidir	,	X	,	69	,	0	,	Z	),"	&	--	70	PB6.Data	B	6
"	69	(	BC_1	,	*	,	control	,	0							),"	&	--	69	PB6.Control	B	
"	68	(	BC_7	,	PB(7)	,	bidir	,	X	,	67	,	0	,	Z	),"	&	--	68	PB7.Data	B	7
"	67	(	BC_1	,	*	,	control	,	0							),"	&	--	67	PB7.Control	B	
"	66	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	66	not needed cell		
"	65	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	65	not needed cell		
"	64	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	64	not needed cell		
"	63	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	63	not needed cell		
"	62	(	BC_4	,	RESET	,	observe_only	,	X							),"	&	--	62	RSTT		
"	61	(	BC_7	,	PD(0)	,	bidir	,	X	,	60	,	0	,	Z	),"	&	--	61	PD0.Data	D	0
"	60	(	BC_1	,	*	,	control	,	0							),"	&	--	60	PD0.Control	D	
"	59	(	BC_7	,	PD(1)	,	bidir	,	X	,	58	,	0	,	Z	),"	&	--	59	PD1.Data	D	1
"	58	(	BC_1	,	*	,	control	,	0							),"	&	--	58	PD1.Control	D	
"	57	(	BC_7	,	PD(2)	,	bidir	,	X	,	56	,	0	,	Z	),"	&	--	57	PD2.Data	D	2
"	56	(	BC_1	,	*	,	control	,	0							),"	&	--	56	PD2.Control	D	
"	55	(	BC_7	,	PD(3)	,	bidir	,	X	,	54	,	0	,	Z	),"	&	--	55	PD3.Data	D	3
"	54	(	BC_1	,	*	,	control	,	0							),"	&	--	54	PD3.Control	D	
"	53	(	BC_7	,	PD(4)	,	bidir	,	X	,	52	,	0	,	Z	),"	&	--	53	PD4.Data	D	4
"	52	(	BC_1	,	*	,	control	,	0							),"	&	--	52	PD4.Control	D	
"	51	(	BC_7	,	PD(5)	,	bidir	,	X	,	50	,	0	,	Z	),"	&	--	51	PD5.Data	D	5
"	50	(	BC_1	,	*	,	control	,	0							),"	&	--	50	PD5.Control	D	
"	49	(	BC_7	,	PD(6)	,	bidir	,	X	,	48	,	0	,	Z	),"	&	--	49	PD6.Data	D	6
"	48	(	BC_1	,	*	,	control	,	0							),"	&	--	48	PD6.Control	D	
"	47	(	BC_7	,	PD(7)	,	bidir	,	X	,	46	,	0	,	Z	),"	&	--	47	PD7.Data	D	7
"	46	(	BC_1	,	*	,	control	,	0							),"	&	--	46	PD7.Control	D	
"	45	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	45	not needed cell		
"	44	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	44	not needed cell		
"	43	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	43	not needed cell		
"	42	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	42	not needed cell		
"	41	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	41	not needed cell		
"	40	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	40	not needed cell		
"	39	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	39	not needed cell		
"	38	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	38	not needed cell		
"	37	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	37	not needed cell		
"	36	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	36	not needed cell		
"	35	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	35	not needed cell		
"	34	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	34	not needed cell		
"	33	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	33	not needed cell		
"	32	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	32	not needed cell		
"	31	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	31	not needed cell		
"	30	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	30	not needed cell		
"	29	(	BC_7	,	PC(6)	,	bidir	,	X	,	28	,	0	,	Z	),"	&	--	29	PC6.Data	C	6
"	28	(	BC_1	,	*	,	control	,	0							),"	&	--	28	PC6.Control	C	
"	27	(	BC_7	,	PC(7)	,	bidir	,	X	,	26	,	0	,	Z	),"	&	--	27	PC7.Data	C	7
"	26	(	BC_1	,	*	,	control	,	0							),"	&	--	26	PC7.Control	C	
"	25	(	BC_7	,	PE2	,	bidir	,	X	,	24	,	0	,	Z	),"	&	--	25	PE2.Data	E	2
"	24	(	BC_1	,	*	,	control	,	0							),"	&	--	24	PE2.Control	E	
"	23	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	23	not needed cell
"	22	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	22	not needed cell
"	21	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	21	not needed cell
"	20	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	20	not needed cell
"	19	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	19	not needed cell
"	18	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	18	not needed cell
"	17	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	17	not needed cell
"	16	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	16	not needed cell
"	15	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	15	not needed cell
"	14	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	14	not needed cell
"	13	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	13	not needed cell
"	12	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	12	not needed cell
"	11	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	11	not needed cell
"	10	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	10	not needed cell
"	9	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	9	not needed cell
"	8	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	8	not needed cell
"	7	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	7	not needed cell		
"	6	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	6	not needed cell		
"	5	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	5	not needed cell		
"	4	(	BC_4	,	PE6	,	observe_only	,	X							),"	&	--	4	not needed cell		
"	3	(	BC_7	,	PF(1)	,	bidir	,	X	,	2	,	0	,	Z	),"	&	--	3	PF1.Data	F	1
"	2	(	BC_1	,	*	,	control	,	0							),"	&	--	2	PF1.Control	F	
"	1	(	BC_7	,	PF(0)	,	bidir	,	X	,	0	,	0	,	Z	),"	&	--	1	PF0.Data	F	0
"	0	(	BC_1	,	*	,	control	,	0							)"	;	--	0	PF0.Control	F	

end	ATMEGA16U4	;