
/*
 * $Id: template.h,v 1.1.1.1 2003/11/04 23:34:57 mjames Exp $
 *
 * $Log: template.h,v $
 * Revision 1.1.1.1  2003/11/04 23:34:57  mjames
 * Imported into local repositrory
 *
 * Revision 1.6  2001/12/24 21:16:00  mjames
 * Correction to declare all exported functions with correct names
 *
 * Revision 1.5  2001/10/31 22:20:18  mjames
 * Tidying up problematical comments caused by CVS
 * 'intelligent' comment guessing
 *
 * Revision 1.4  2001/10/22 10:45:45  mjames
 * Added template options to create and /or disconnect pins on
 * sockets according to flags passed in to the template core routine
 *
 * Revision 1.3  2001/06/22 11:08:07  mjames
 * Added a function to extract templates (common component types) from
 * ACF style netlists. This then permits Verilog printout to avoid duplication
 * of declaration ( problem before )
 *
 * Revision 1.2  2001/06/06 12:10:16  mjames
 * Move from HPUX
 *
 * Revision 1.1.1.1  2000/10/19 21:58:40  mjames
 * Mike put it here
 *
 *
 * Revision 1.21  2000/10/04  10:37:14  10:37:14  mjames (Mike James)
 * Modified for Vertical2 : support COMPONENTS and SIGNALS
 *
 * Revision 1.21  2000/10/04  10:37:14  10:37:14  mjames (Mike James)
 * Part of Release PSAVAT01
 *
 * Revision 1.20  2000/10/02  11:04:22  11:04:22  mjames (Mike James)
 * new_vhdl
 *
 * Revision 1.19  2000/09/27  14:42:29  14:42:29  mjames (Mike James)
 * Part of Release Sep_27_ST_2000
 *
 * Revision 1.18  2000/09/21  10:15:59  10:15:59  mjames (Mike James)
 * Part of Release Sep21Alpha
 *
 * Revision 1.17  2000/08/25  09:57:23  09:57:23  mjames (Mike James)
 * Part of Release Aug25_alpha
 *
 * Revision 1.16  2000/08/16  08:57:39  08:57:39  mjames (Mike James)
 * Part of Release CD01_Aug2000
 *
 * Revision 1.15  2000/08/14  14:45:18  14:45:18  mjames (Mike James)
 * Part of Release Aug_14_2000
 *
 * Revision 1.14  2000/08/11  08:30:39  08:30:39  mjames (Mike James)
 * Part of Release Aug_11_2000
 *
 * Revision 1.13  2000/08/09  10:31:56  10:31:56  mjames (Mike James)
 * Part of Release Aug__9_2000
 *
 * Revision 1.12  2000/05/31  11:43:09  11:43:09  mjames (Mike James)
 * Part of Release May_31_2000
 *
 * Revision 1.11  2000/05/08  17:01:46  17:01:46  mjames (Mike James)
 * Part of Release May__8_2000
 *
 * Revision 1.10  2000/05/08  16:59:39  16:59:39  mjames (Mike James)
 * Part of Release May__8_2000
 *
 * Revision 1.9  2000/05/08  16:57:15  16:57:15  mjames (Mike James)
 * Part of Release May__8_2000
 *
 * Revision 1.8  2000/03/08  16:19:35  16:19:35  mjames (Mike James)
 * New version including PC
 *
 * Revision 1.5  2000/01/20  15:58:57  15:58:57  mjames (Mike James)
 * Part of Release R22
 *
 * Revision 1.4  99/12/22  11:15:38  11:15:38  mjames (Mike James)
 * Part of Release Dec_22_1999
 *
 * Revision 1.3  98/06/15  14:21:02  14:21:02  mjames (Mike James)
 * Made tempaltes chip specific.
 *
 * Revision 1.2  98/02/11  11:27:31  11:27:31  mjames (Mike James)
 * Checked in for version 6.2a
 *
 * Revision 1.1  97/04/23  08:44:49  08:44:49  mjames (Mike James)
 * Initial revision
 *  */
/* something tidy to insert in the call if no special actions needed */
#define TEMPLATE_NO_OP 0
/* if the socket has pins that are not on the template, disconnect them */
#define TEMPLATE_DISCONNECT_PINS 1
/* if the socket lacks pins on the template then create them */
#define TEMPLATE_CREATE_MISSING_PINS 2

extern void template_ensure (char *chip_id_template, int options);

extern void template_list (void);

extern void template_list_pins (FILE *f);

void extract_templates (void);
