Subversion Repositories Vertical

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * $Header: c:\\cygwin\\cvsroot/Vert03/vertlib/printout.h,v 1.1.1.1 2003/11/04 23:34:57 mjames Exp $
  3.  *
  4.  * $Log: printout.h,v $
  5.  * Revision 1.1.1.1  2003/11/04 23:34:57  mjames
  6.  * Imported into local repositrory
  7.  *
  8.  * Revision 1.10  2002/09/09 10:10:49  mjames
  9.  * Moved pin remapping function to pin ident editing function from
  10.  * sorting pin name routine.
  11.  *
  12.  * Revision 1.9  2002/08/06 12:52:27  mjames
  13.  * Merge in from latest version
  14.  *
  15.  * Revision 1.9  2002/04/10 14:29:10  mjames
  16.  * Moved setting debug level to cmdutil.c
  17.  *
  18.  * Amended print external command to list all net names on socket pins
  19.  * whether routed or not.
  20.  *
  21.  * Revision 1.8  2001/12/24 21:18:28  mjames
  22.  * Declare ensure_reservation externally
  23.  *
  24.  * Revision 1.7  2001/10/31 22:20:14  mjames
  25.  * Tidying up problematical comments caused by CVS
  26.  * 'intelligent' comment guessing
  27.  *
  28.  * Revision 1.6  2001/10/11 16:10:16  mjames
  29.  * Corrections to the SWAP command, and printout so that
  30.  * WRITE net now outputs all chips in the design so that their generics
  31.  * can be passed forward to the next phase.
  32.  *
  33.  * Revision 1.5  2001/07/09 15:38:55  mjames
  34.  * Placed the version string in an independent file to save time on building
  35.  * all of the variants of Vertical
  36.  *
  37.  * Revision 1.4  2001/06/06 12:10:18  mjames
  38.  * Move from HPUX
  39.  *
  40.  * Revision 1.3  2001/02/01 21:41:45  mjames
  41.  * Made the code begin to compile without TCL/TK
  42.  *
  43.  * Revision 1.2  2000/10/21 20:41:30  mjames
  44.  * Added the 'write flatten' command that only lists the wires
  45.  * created by making jumpered connections rather than listing
  46.  * the jumpers themselves
  47.  *
  48.  * Revision 1.1.1.1  2000/10/19 21:58:39  mjames
  49.  * Mike put it here
  50.  *
  51.  *
  52.  * Revision 1.42  2000/10/04  10:37:12  10:37:12  mjames (Mike James)
  53.  * Modified for Vertical2 : support COMPONENTS and SIGNALS
  54.  *
  55.  * Revision 1.42  2000/10/04  10:37:12  10:37:12  mjames (Mike James)
  56.  * Part of Release PSAVAT01
  57.  *
  58.  * Revision 1.41  2000/10/02  11:04:18  11:04:18  mjames (Mike James)
  59.  * new_vhdl
  60.  *
  61.  * Revision 1.40  2000/09/27  14:42:24  14:42:24  mjames (Mike James)
  62.  * Part of Release Sep_27_ST_2000
  63.  *
  64.  * Revision 1.39  2000/09/21  10:15:55  10:15:55  mjames (Mike James)
  65.  * Part of Release Sep21Alpha
  66.  *
  67.  * Revision 1.38  2000/09/21  09:47:29  09:47:29  mjames (Mike James)
  68.  * Added code to deal with pin equivalents
  69.  *
  70.  * Revision 1.37  2000/08/25  09:57:20  09:57:20  mjames (Mike James)
  71.  * Part of Release Aug25_alpha
  72.  *
  73.  * Revision 1.36  2000/08/16  08:57:36  08:57:36  mjames (Mike James)
  74.  * Part of Release CD01_Aug2000
  75.  *
  76.  * Revision 1.35  2000/08/14  14:45:16  14:45:16  mjames (Mike James)
  77.  * Part of Release Aug_14_2000
  78.  *
  79.  * Revision 1.34  2000/08/11  08:30:37  08:30:37  mjames (Mike James)
  80.  * Part of Release Aug_11_2000
  81.  *
  82.  * Revision 1.33  2000/08/09  10:31:53  10:31:53  mjames (Mike James)
  83.  * Part of Release Aug__9_2000
  84.  *
  85.  * Revision 1.32  2000/05/31  11:43:05  11:43:05  mjames (Mike James)
  86.  * Part of Release May_31_2000
  87.  *
  88.  * Revision 1.31  2000/05/08  17:01:43  17:01:43  mjames (Mike James)
  89.  * Part of Release May__8_2000
  90.  *
  91.  * Revision 1.30  2000/05/08  16:59:36  16:59:36  mjames (Mike James)
  92.  * Part of Release May__8_2000
  93.  *
  94.  * Revision 1.29  2000/05/08  16:57:13  16:57:13  mjames (Mike James)
  95.  * Part of Release May__8_2000
  96.  *
  97.  * Revision 1.28  2000/03/08  16:19:25  16:19:25  mjames (Mike James)
  98.  * New version including PC
  99.  *
  100.  * Revision 1.25  2000/01/20  15:58:53  15:58:53  mjames (Mike James)
  101.  * Part of Release R22
  102.  *
  103.  * Revision 1.24  99/12/22  11:15:34  11:15:34  mjames (Mike James)
  104.  * Part of Release Dec_22_1999
  105.  *
  106.  * Revision 1.23  99/11/23  13:53:46  13:53:46  mjames (Mike James)
  107.  * Added Verliog support and removed VHDL functions to a separate file
  108.  *
  109.  * Revision 1.21  98/07/14  13:25:55  13:25:55  mjames (Mike James)
  110.  * Altered device printout to meet new requirements
  111.  *
  112.  * Revision 1.20  98/06/15  14:19:17  14:19:17  mjames (Mike James)
  113.  * Added template printout functionality
  114.  *
  115.  * Revision 1.19  98/03/16  11:38:21  11:38:21  mjames (Mike James)
  116.  * Added generics to printout listings
  117.  *
  118.  * Revision 1.18  98/02/11  11:27:04  11:27:04  mjames (Mike James)
  119.  * Checked in for version 6.2a
  120.  *
  121.  * Revision 1.17  98/01/13  11:33:52  11:33:52  mjames (Mike James)
  122.  * Added the bility to use a VHDL template file
  123.  * containing $ENT$ and $ARCH$ in the position where one
  124.  * wants the entity and architecture to be given.
  125.  *
  126.  * Revision 1.16  97/04/23  08:44:43  08:44:43  mjames (Mike James)
  127.  * CHecked in for release rel23041997
  128.  *
  129.  * Revision 1.15  96/12/13  08:44:16  08:44:16  mjames (Mike James)
  130.  * Update to v5.1, added Write ID , exact routing
  131.  *
  132.  * Revision 1.14  96/07/19  14:38:58  14:38:58  mjames (Mike James)
  133.  * Update to give to PRL
  134.  *
  135.  * Revision 1.13  1996/07/12  15:52:12  mjames
  136.  * Sorted out things like Alias and Jumpers
  137.  * Work Correctly
  138.  * Print COrrectly
  139.  *
  140.  * Revision 1.12  96/06/04  11:58:20  11:58:20  mjames (Mike James)
  141.  * Added a lot of stuff to do with internal/external sockets,
  142.  * Net renaming. Net jumpering by node ID as well as net name
  143.  *
  144.  * Revision 1.11  96/05/29  11:01:38  11:01:38  mjames (Mike James)
  145.  * ,
  146.  *
  147.  * Revision 1.10  96/03/29  14:47:14  14:47:14  mjames (Mike James)
  148.  * Added VHDL netlist writing to the capabilities of ACFREAD
  149.  *
  150.  * Revision 1.9  96/03/18  13:51:24  13:51:24  mjames (Mike James)
  151.  * Real Revision 2.1
  152.  *
  153.  * Revision 1.6  96/02/13  09:13:37  09:13:37  mjames (Mike James)
  154.  * Updated to be version 2.0 with net joining
  155.  *
  156.  * Revision 1.5  96/02/09  10:51:04  10:51:04  mjames (Mike James)
  157.  * Added different behaviour for 'write id' and 'write name'
  158.  * 'write id' now writes all pins including unused ones
  159.  * 'write name' only writes used pins in the ACF file
  160.  *
  161.  *  .
  162.  *
  163.  *
  164.  * Revision 1.4  96/02/08  15:28:38  15:28:38  mjames (Mike James)
  165.  * First release
  166.  *
  167.  * Revision 1.3  96/02/07  16:01:39  16:01:39  mjames (Mike James)
  168.  * Added correct RCS header
  169.  *
  170.  * Revision 1.2  96/02/07  15:50:54  15:50:54  mjames (Mike James)
  171.  * Added RCS ident message
  172.  *
  173.  * Revision 1.1  96/01/10  13:15:16  13:15:16  mjames (Mike James)
  174.  * Initial revision
  175.  *  */
  176. /* control flags controlling printout options */
  177. #define PRINT_ALL           1
  178. #define PRINT_TYPE          2
  179. #define PRINT_USABLE        4 /* if net is routable print its identifier */
  180. #define PRINT_EXPAND_BUS    8 /* explode VHDL buses */
  181. #define PRINT_GENERIC      16 /* list generic values */
  182. #define PRINT_GROUP        32 /* print pin groups  */
  183. #define PRINT_ROUTE_FLAGS  64 /* printout routing group flags  */
  184. #define PRINT_AS_UNROUTED 128 /* printout pins as unrouted (Write fit)   */
  185. #define PRINT_EQUIVALENT_PINS 256 /* Print pins that are equivalent : used in
  186.                                     jumpering and pass through   */
  187. #define NO_PRINT_PINS    512  /* print no pin information whatsoever */
  188. #define PRINT_NET_NAMES 1024  /* print net name assignment on pins even if not routed here */
  189.  
  190. #define FLATTEN_JUMPERS  0
  191. #define PRESERVE_JUMPERS 1
  192.  
  193. extern char * check_null_str(char * s );
  194. extern void print_header(FILE * f,char * tool);
  195.  
  196. extern void print_VLOG_header(FILE * f,char * tool);
  197.  
  198. extern void list_database(FILE * f,int flatten_jumpers);
  199.  
  200. extern void list_components(FILE * f);
  201.  
  202. extern void list_devices(FILE * f,int listflags);
  203.  
  204. extern void list_extern_devices(FILE * f);
  205.  
  206. extern void list_extern_sockets(FILE * f);
  207.  
  208. extern void list_joined(FILE * f);
  209.  
  210. extern void print_device(FILE * f,socket_t * dev,int options);
  211.  
  212. extern void print_ACF_entity(FILE * f,char * entityname);
  213.  
  214. extern void print_pin_renames(FILE * f);
  215.  
  216. extern void produce_frb(FILE * f);
  217.  
  218. extern void list_jumper(FILE * f);
  219.  
  220. extern void list_alias(FILE * f);
  221.  
  222. extern void list_nets(FILE *f,net_t * cnet , int flatten_jumpers);
  223.  
  224. extern void  list_net_structure(FILE * f, net_t * cnet,net_t * root_net,int alias_depth,int flatten_jumpers);
  225.