Jspice3
gencif.c File Reference
#include "cddefs.h"
#include <string.h>
Include dependency graph for gencif.c:

Go to the source code of this file.

Functions

static void out_path ()
 
void GenEnd (FILE *FileDesc)
 
void GenBeginSymbol (FILE *FileDesc, int SymbolNum, long A, long B)
 
void GenEndSymbol (FILE *FileDesc)
 
void GenBeginCall (FILE *FileDesc, int Number)
 
void GenEndCall (FILE *FileDesc)
 
void GenTranslation (FILE *FileDesc, long X, long Y)
 
void GenRotation (FILE *FileDesc, long X, long Y)
 
void GenMirrorX (FILE *FileDesc)
 
void GenMirrorY (FILE *FileDesc)
 
void GenPolygon (FILE *FileDesc, struct p *Path)
 
void GenPolygonOffset (FILE *FileDesc, struct p *Path, long X, long Y)
 
void GenWire (FILE *FileDesc, long Width, struct p *Path)
 
void GenWireOffset (FILE *FileDesc, long Width, struct p *Path, long X, long Y)
 
static void out_path (FILE *FileDesc, struct p *Path, char *buf, long X, long Y)
 
void GenBox (FILE *FileDesc, long Length, long Width, long X, long Y, int XDir, int YDir)
 
void GenLayer (FILE *FileDesc, char Technology, Mask)
 
void GenUserExtension (FILE *FileDesc, char Digit, char *Text)
 
void GenComment (FILE *FileDesc, char *Text)
 

Function Documentation

void GenBeginCall ( FILE *  FileDesc,
int  Number 
)

Definition at line 66 of file gencif.c.

69 {
70  fprintf(FileDesc,"C %d",Number);
71 }
void GenBeginSymbol ( FILE *  FileDesc,
int  SymbolNum,
long  A,
long  B 
)

Definition at line 50 of file gencif.c.

54 {
55  fprintf(FileDesc,"DS %d %ld %ld;\n",SymbolNum,A,B);
56 }
void GenBox ( FILE *  FileDesc,
long  Length,
long  Width,
long  X,
long  Y,
int  XDir,
int  YDir 
)

Definition at line 194 of file gencif.c.

199 {
200  fprintf(FileDesc,"B %ld %ld %ld %ld",Length,Width,X,Y);
201  if(XDir != 1 Or YDir != 0)
202  fprintf(FileDesc," %d %d",XDir,YDir);
203  fprintf(FileDesc,";\n");
204 }
#define Or
Definition: cdmacs.h:15
long X
Definition: actions.c:450
long Y
Definition: actions.c:450
void GenComment ( FILE *  FileDesc,
char *  Text 
)

Definition at line 247 of file gencif.c.

250 {
251  fprintf(FileDesc,"(%s);\n",Text);
252 }
void GenEnd ( FILE *  FileDesc)

Definition at line 43 of file gencif.c.

45 {
46  fprintf(FileDesc,"E\n");
47 }
void GenEndCall ( FILE *  FileDesc)

Definition at line 74 of file gencif.c.

76 {
77  fprintf(FileDesc,";\n");
78 }
void GenEndSymbol ( FILE *  FileDesc)

Definition at line 59 of file gencif.c.

61 {
62  fprintf(FileDesc,"DF;\n");
63 }
void GenLayer ( FILE *  FileDesc,
char  Technology,
Mask   
)

Definition at line 216 of file gencif.c.

219 {
220  if(Technology > ' '){
221  fprintf(FileDesc,"L %c",Technology);
222  if(Mask[0] > ' '){
223  fprintf(FileDesc,"%c",Mask[0]);
224  if(Mask[1] > ' '){
225  fprintf(FileDesc,"%c",Mask[1]);
226  if(Mask[2] > ' ')
227  fprintf(FileDesc,"%c",Mask[2]);
228  }
229  }
230  fprintf(FileDesc,";\n");
231  }
232 }
void GenMirrorX ( FILE *  FileDesc)

Definition at line 97 of file gencif.c.

99 {
100  fprintf(FileDesc," MX");
101 }
void GenMirrorY ( FILE *  FileDesc)

Definition at line 104 of file gencif.c.

106 {
107  fprintf(FileDesc," MY");
108 }
void GenPolygon ( FILE *  FileDesc,
struct p Path 
)

Definition at line 111 of file gencif.c.

114 {
115  char buf[80];
116 
117  *buf = 'P';
118  *(buf+1) = '\0';
119  /*
120  out_path(FileDesc,Path,buf,0L,0L);
121  */
122 }
static char buf[MAXPROMPT]
Definition: arg.c:18
void GenPolygonOffset ( FILE *  FileDesc,
struct p Path,
long  X,
long  Y 
)

Definition at line 125 of file gencif.c.

129 {
130  char buf[80];
131 
132  *buf = 'P';
133  *(buf+1) = '\0';
134  /*
135  out_path(FileDesc,Path,buf,X,Y);
136  */
137 }
static char buf[MAXPROMPT]
Definition: arg.c:18
void GenRotation ( FILE *  FileDesc,
long  X,
long  Y 
)

Definition at line 89 of file gencif.c.

92 {
93  fprintf(FileDesc," R %ld %ld",X,Y);
94 }
long X
Definition: actions.c:450
long Y
Definition: actions.c:450
void GenTranslation ( FILE *  FileDesc,
long  X,
long  Y 
)

Definition at line 81 of file gencif.c.

84 {
85  fprintf(FileDesc," T %ld %ld",X,Y);
86 }
long X
Definition: actions.c:450
long Y
Definition: actions.c:450
void GenUserExtension ( FILE *  FileDesc,
char  Digit,
char *  Text 
)

Definition at line 235 of file gencif.c.

239 {
240  if(Text[0] >= '0' And Text[0] <= '9')
241  fprintf(FileDesc,"%c%s;\n",Digit,Text);
242  else
243  fprintf(FileDesc,"%c %s;\n",Digit,Text);
244 }
#define And
Definition: cdmacs.h:14
void GenWire ( FILE *  FileDesc,
long  Width,
struct p Path 
)

Definition at line 140 of file gencif.c.

144 {
145  char buf[80];
146 
147  sprintf(buf,"W %ld",Width);
148  out_path(FileDesc,Path,buf,0L,0L);
149 }
static char buf[MAXPROMPT]
Definition: arg.c:18
#define L
Definition: parse.c:442
static void out_path()
void GenWireOffset ( FILE *  FileDesc,
long  Width,
struct p Path,
long  X,
long  Y 
)

Definition at line 152 of file gencif.c.

156 {
157  char buf[80];
158 
159  sprintf(buf,"W %ld",Width);
160  out_path(FileDesc,Path,buf,X,Y);
161 }
static char buf[MAXPROMPT]
Definition: arg.c:18
long X
Definition: actions.c:450
static void out_path()
long Y
Definition: actions.c:450
static void out_path ( )
static
static void out_path ( FILE *  FileDesc,
struct p Path,
char *  buf,
long  X,
long  Y 
)
static

Definition at line 164 of file gencif.c.

169 {
170  struct p *Pair;
171  char buf1[80];
172  int len, len1;
173 
174  len = strlen(buf);
175  Pair = Path;
176  while(Pair != NULL){
177  sprintf(buf1," %ld %ld",Pair->pX-X,Pair->pY-Y);
178  len1 = strlen(buf1);
179  if (len+len1 < 79) {
180  strcat(buf,buf1);
181  len += len1;
182  }
183  else {
184  fprintf(FileDesc,"%s\n ",buf);
185  strcpy(buf,buf1);
186  len = len1+1;
187  }
188  Pair = Pair->pSucc;
189  }
190  fprintf(FileDesc,"%s;\n",buf);
191 }
static char buf[MAXPROMPT]
Definition: arg.c:18
char * strcpy()
Definition: cddefs.h:215
long pY
Definition: cddefs.h:216
long X
Definition: actions.c:450
#define NULL
Definition: spdefs.h:121
long pX
Definition: cddefs.h:216
struct p * pSucc
Definition: cddefs.h:217
long Y
Definition: actions.c:450