Subversion Repositories Vertical

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 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);