Subversion Repositories Vertical

Rev

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