removed redundant skip_dir(...) (use get_cell(..., 0) ), fix a couple of glitches in postscript export (filled polygons with self-coincident edgs, fix filled arc pies (missing point)
This commit is contained in:
parent
3e320b56d2
commit
d9d66c1c90
|
|
@ -1215,12 +1215,12 @@ const char *get_sym_name(int inst, int ext)
|
|||
sch = get_tok_value(xctx->inst[inst].prop_ptr, "schematic", 0);
|
||||
if(xctx->tok_size) { /* token exists */
|
||||
if(ext) sym = get_cell_w_ext(add_ext(rel_sym_path(sch), ".sym"), 0);
|
||||
else sym = skip_dir(add_ext(rel_sym_path(sch), ".sym"));
|
||||
else sym = get_cell(add_ext(rel_sym_path(sch), ".sym"), 0);
|
||||
}
|
||||
else if(ext) {
|
||||
sym = get_cell_w_ext(tcl_hook2(xctx->inst[inst].name), 0);
|
||||
} else {
|
||||
sym = skip_dir(tcl_hook2(xctx->inst[inst].name));
|
||||
sym = get_cell(tcl_hook2(xctx->inst[inst].name), 0);
|
||||
}
|
||||
dbg(1, "get_sym_name(): inst=%d, ext=%d, returning sym=%s\n", inst, ext, sym);
|
||||
return sym;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ static void sig_handler(int s){
|
|||
|
||||
if(xctx->undo_type == 0 ) { /* on disk undo */
|
||||
my_snprintf(emergency_prefix, S(emergency_prefix), "xschem_emergencysave_%s_",
|
||||
skip_dir(xctx->sch[xctx->currsch]));
|
||||
get_cell(xctx->sch[xctx->currsch], 0));
|
||||
if( !(emergency_dir = create_tmpdir(emergency_prefix)) ) {
|
||||
fprintf(errfp, "xinit(): problems creating emergency save dir\n");
|
||||
tcleval("exit");
|
||||
|
|
@ -54,7 +54,7 @@ static void sig_handler(int s){
|
|||
|
||||
|
||||
fprintf(errfp, "\nFATAL: signal %d\n", s);
|
||||
fprintf(errfp, "while editing: %s\n", skip_dir(xctx->sch[xctx->currsch]));
|
||||
fprintf(errfp, "while editing: %s\n", get_cell(xctx->sch[xctx->currsch], 0));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -380,7 +380,8 @@ static void set_ps_colors(unsigned int pixel)
|
|||
static void ps_xdrawarc(int layer, int fillarc, double x, double y, double r, double a, double b)
|
||||
{
|
||||
if(xctx->fill_pattern && xctx->fill_type[layer] && fillarc)
|
||||
fprintf(fd, "%g %g %g %g %g A %g %g LT C F S\n", x, y, r, -a, -a-b, x, y);
|
||||
fprintf(fd, "%g %g MT %g %g %g %g %g A %g %g LT C F S\n",
|
||||
x, y, x, y, r, -a, -a-b, x, y);
|
||||
else
|
||||
fprintf(fd, "%g %g %g %g %g A S\n", x, y, r, -a, -a-b);
|
||||
|
||||
|
|
@ -436,7 +437,7 @@ static void ps_drawpolygon(int c, int what, double *x, double *y, int points, in
|
|||
else fprintf(fd, "%g %g LT\n", xx, yy);
|
||||
}
|
||||
if(xctx->fill_pattern && xctx->fill_type[c] && poly_fill) {
|
||||
fprintf(fd, "C F S\n");
|
||||
fprintf(fd, "GS C F GR S\n");
|
||||
} else {
|
||||
fprintf(fd, "S\n");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
tcleval(f);
|
||||
my_strncpy(f, tclresult(), S(f));
|
||||
} else {
|
||||
my_snprintf(f, S(f), "%s/%s.raw", tclgetvar("netlist_dir"), skip_dir(xctx->sch[xctx->currsch]));
|
||||
my_snprintf(f, S(f), "%s/%s.raw", tclgetvar("netlist_dir"), get_cell(xctx->sch[xctx->currsch], 0));
|
||||
}
|
||||
tclsetvar("rawfile_loaded", "0");
|
||||
free_rawfile(1);
|
||||
|
|
@ -906,19 +906,19 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
if(argc > 3 && !strcmp(argv[3], "fallback")) {
|
||||
char f[PATH_MAX];
|
||||
if(xctx->netlist_type == CAD_SPICE_NETLIST) {
|
||||
my_snprintf(f, S(f), "%s.spice", skip_dir(xctx->current_name));
|
||||
my_snprintf(f, S(f), "%s.spice", get_cell(xctx->current_name, 0));
|
||||
}
|
||||
else if(xctx->netlist_type == CAD_VHDL_NETLIST) {
|
||||
my_snprintf(f, S(f), "%s.vhdl", skip_dir(xctx->current_name));
|
||||
my_snprintf(f, S(f), "%s.vhdl", get_cell(xctx->current_name, 0));
|
||||
}
|
||||
else if(xctx->netlist_type == CAD_VERILOG_NETLIST) {
|
||||
my_snprintf(f, S(f), "%s.v", skip_dir(xctx->current_name));
|
||||
my_snprintf(f, S(f), "%s.v", get_cell(xctx->current_name, 0));
|
||||
}
|
||||
else if(xctx->netlist_type == CAD_TEDAX_NETLIST) {
|
||||
my_snprintf(f, S(f), "%s.tdx", skip_dir(xctx->current_name));
|
||||
my_snprintf(f, S(f), "%s.tdx", get_cell(xctx->current_name, 0));
|
||||
}
|
||||
else {
|
||||
my_snprintf(f, S(f), "%s.unknown", skip_dir(xctx->current_name));
|
||||
my_snprintf(f, S(f), "%s.unknown", get_cell(xctx->current_name, 0));
|
||||
}
|
||||
if(xctx->netlist_name[0] == '\0') {
|
||||
Tcl_SetResult(interp, f, TCL_VOLATILE);
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ void hier_psprint(char **res, int what) /* netlister driver */
|
|||
my_strcat(_ALLOC_ID_, res, xctx->sch[xctx->currsch]);
|
||||
my_strcat(_ALLOC_ID_, res, "}\n");
|
||||
}
|
||||
dbg(1,"--> %s\n", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
dbg(1,"--> %s\n", get_cell(xctx->sch[xctx->currsch], 0) );
|
||||
unselect_all(1);
|
||||
remove_symbols(); /* ensure all unused symbols purged before descending hierarchy */
|
||||
/* reload data without popping undo stack, this populates embedded symbols if any */
|
||||
|
|
@ -101,7 +101,7 @@ void hier_psprint(char **res, int what) /* netlister driver */
|
|||
my_strcat(_ALLOC_ID_, res, xctx->sch[xctx->currsch]);
|
||||
my_strcat(_ALLOC_ID_, res, "}\n");
|
||||
}
|
||||
dbg(1,"--> %s\n", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
dbg(1,"--> %s\n", get_cell(xctx->sch[xctx->currsch], 0) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -258,7 +258,7 @@ int global_spice_netlist(int global) /* netlister driver */
|
|||
}
|
||||
xctx->netlist_count=0;
|
||||
my_snprintf(netl_filename, S(netl_filename), "%s/.%s_%d",
|
||||
tclgetvar("netlist_dir"), skip_dir(xctx->sch[xctx->currsch]), getpid());
|
||||
tclgetvar("netlist_dir"), get_cell(xctx->sch[xctx->currsch], 0), getpid());
|
||||
dbg(1, "global_spice_netlist(): opening %s for writing\n",netl_filename);
|
||||
fd=fopen(netl_filename, "w");
|
||||
if(fd==NULL) {
|
||||
|
|
@ -270,7 +270,7 @@ int global_spice_netlist(int global) /* netlister driver */
|
|||
if(xctx->netlist_name[0]) {
|
||||
my_snprintf(cellname, S(cellname), "%s", get_cell_w_ext(xctx->netlist_name, 0));
|
||||
} else {
|
||||
my_snprintf(cellname, S(cellname), "%s.spice", skip_dir(xctx->sch[xctx->currsch]));
|
||||
my_snprintf(cellname, S(cellname), "%s.spice", get_cell(xctx->sch[xctx->currsch], 0));
|
||||
}
|
||||
|
||||
first = 0;
|
||||
|
|
@ -305,7 +305,7 @@ int global_spice_netlist(int global) /* netlister driver */
|
|||
}
|
||||
top_sub = tclgetboolvar("lvs_netlist");
|
||||
if(!top_sub) fprintf(fd,"**");
|
||||
fprintf(fd,".subckt %s", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
fprintf(fd,".subckt %s", get_cell(xctx->sch[xctx->currsch], 0));
|
||||
|
||||
/* print top subckt ipin/opins */
|
||||
for(i=0;i<xctx->instances; ++i) {
|
||||
|
|
@ -548,10 +548,10 @@ int spice_block_netlist(FILE *fd, int i)
|
|||
dbg(1, "spice_block_netlist(): filename=%s\n", filename);
|
||||
if(split_f) {
|
||||
my_snprintf(netl_filename, S(netl_filename), "%s/.%s_%d",
|
||||
tclgetvar("netlist_dir"), skip_dir(name), getpid());
|
||||
tclgetvar("netlist_dir"), get_cell(name, 0), getpid());
|
||||
dbg(1, "spice_block_netlist(): split_files: netl_filename=%s\n", netl_filename);
|
||||
fd=fopen(netl_filename, "w");
|
||||
my_snprintf(cellname, S(cellname), "%s.spice", skip_dir(name));
|
||||
my_snprintf(cellname, S(cellname), "%s.spice", get_cell(name, 0));
|
||||
}
|
||||
fprintf(fd, "\n* expanding symbol: %s # of pins=%d\n", name,xctx->sym[i].rects[PINLAYER] );
|
||||
if(xctx->sym[i].base_name) fprintf(fd, "** sym_path: %s\n", abs_sym_path(xctx->sym[i].base_name, ""));
|
||||
|
|
@ -560,7 +560,7 @@ int spice_block_netlist(FILE *fd, int i)
|
|||
if(sym_def[0]) {
|
||||
fprintf(fd, "%s\n", sym_def);
|
||||
} else {
|
||||
const char *s = sanitize(skip_dir(name));
|
||||
const char *s = sanitize(get_cell(name, 0));
|
||||
fprintf(fd, "** sch_path: %s\n", sanitized_abs_sym_path(filename, ""));
|
||||
fprintf(fd, ".subckt %s ", s);
|
||||
print_spice_subckt_nodes(fd, i);
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ static int tedax_block_netlist(FILE *fd, int i)
|
|||
else fprintf(fd, "## sym_path: %s\n", sanitized_abs_sym_path(xctx->sym[i].name, ""));
|
||||
fprintf(fd, "## sch_path: %s\n", sanitized_abs_sym_path(filename, ""));
|
||||
|
||||
fprintf(fd, "begin netlist v1 %s\n",sanitize(skip_dir(xctx->sym[i].name)));
|
||||
fprintf(fd, "begin netlist v1 %s\n",sanitize(get_cell(xctx->sym[i].name, 0)));
|
||||
print_tedax_subckt(fd, i);
|
||||
|
||||
my_strdup(_ALLOC_ID_, &extra, get_tok_value(xctx->sym[i].prop_ptr,"extra",0) );
|
||||
|
|
@ -147,7 +147,7 @@ int global_tedax_netlist(int global) /* netlister driver */
|
|||
}
|
||||
xctx->netlist_count=0;
|
||||
my_snprintf(netl_filename, S(netl_filename), "%s/.%s_%d",
|
||||
tclgetvar("netlist_dir"), skip_dir(xctx->sch[xctx->currsch]), getpid());
|
||||
tclgetvar("netlist_dir"), get_cell(xctx->sch[xctx->currsch], 0), getpid());
|
||||
fd=fopen(netl_filename, "w");
|
||||
if(fd==NULL){
|
||||
dbg(0, "global_tedax_netlist(): problems opening netlist file\n");
|
||||
|
|
@ -158,7 +158,7 @@ int global_tedax_netlist(int global) /* netlister driver */
|
|||
if(xctx->netlist_name[0]) {
|
||||
my_snprintf(cellname, S(cellname), "%s", get_cell_w_ext(xctx->netlist_name, 0));
|
||||
} else {
|
||||
my_snprintf(cellname, S(cellname), "%s.tdx", skip_dir(xctx->sch[xctx->currsch]));
|
||||
my_snprintf(cellname, S(cellname), "%s.tdx", get_cell(xctx->sch[xctx->currsch], 0));
|
||||
}
|
||||
|
||||
/* netlist_options */
|
||||
|
|
@ -170,7 +170,7 @@ int global_tedax_netlist(int global) /* netlister driver */
|
|||
}
|
||||
|
||||
dbg(1, "global_tedax_netlist(): opening %s for writing\n",netl_filename);
|
||||
fprintf(fd,"tEDAx v1\nbegin netlist v1 %s\n", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
fprintf(fd,"tEDAx v1\nbegin netlist v1 %s\n", get_cell( xctx->sch[xctx->currsch], 0) );
|
||||
|
||||
tedax_netlist(fd, 0);
|
||||
xctx->netlist_count++;
|
||||
|
|
|
|||
12
src/token.c
12
src/token.c
|
|
@ -1154,18 +1154,13 @@ const char *get_trailing_path(const char *str, int no_of_dir, int skip_ext)
|
|||
return s+(dir_pos<len ? dir_pos+1 : 0);
|
||||
}
|
||||
|
||||
/* skip also extension */
|
||||
const char *skip_dir(const char *str)
|
||||
{
|
||||
return get_trailing_path(str, 0, 1);
|
||||
}
|
||||
|
||||
/* no extension */
|
||||
const char *get_cell(const char *str, int no_of_dir)
|
||||
{
|
||||
return get_trailing_path(str, no_of_dir, 1);
|
||||
}
|
||||
|
||||
/* keep extension */
|
||||
const char *get_cell_w_ext(const char *str, int no_of_dir)
|
||||
{
|
||||
return get_trailing_path(str, no_of_dir, 0);
|
||||
|
|
@ -1384,7 +1379,7 @@ void print_generic(FILE *fd, char *ent_or_comp, int symbol)
|
|||
my_strdup(_ALLOC_ID_, &generic_type, get_tok_value(xctx->sym[symbol].prop_ptr,"generic_type",0));
|
||||
dbg(2, "print_generic(): symbol=%d template=%s \n", symbol, template);
|
||||
|
||||
fprintf(fd, "%s %s ",ent_or_comp, sanitize(skip_dir(xctx->sym[symbol].name)));
|
||||
fprintf(fd, "%s %s ",ent_or_comp, sanitize(get_cell(xctx->sym[symbol].name, 0)));
|
||||
if(!strcmp(ent_or_comp,"entity"))
|
||||
fprintf(fd, "is\n");
|
||||
else
|
||||
|
|
@ -1603,7 +1598,8 @@ void print_spice_subckt_nodes(FILE *fd, int symbol)
|
|||
dbg(1, "print_spice_subckt(): format1=%s\n", format1);
|
||||
|
||||
/* can not do this, since @symname is used as a token later in format parser */
|
||||
/* my_strdup(_ALLOC_ID_, &format1, str_replace(format1, "@symname", skip_dir(xctx->sym[symbol].name), '\\')); */
|
||||
/* my_strdup(_ALLOC_ID_, &format1,
|
||||
* str_replace(format1, "@symname", get_cell(xctx->sym[symbol].name, 0), '\\')); */
|
||||
|
||||
if(format1 && strstr(format1, "tcleval(") == format1) {
|
||||
tclres = tcl_hook2(format1);
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ int global_verilog_netlist(int global) /* netlister driver */
|
|||
/* to be printed before any entity declarations */
|
||||
|
||||
my_snprintf(netl_filename, S(netl_filename), "%s/.%s_%d",
|
||||
tclgetvar("netlist_dir"), skip_dir(xctx->sch[xctx->currsch]),getpid());
|
||||
tclgetvar("netlist_dir"), get_cell(xctx->sch[xctx->currsch], 0),getpid());
|
||||
fd=fopen(netl_filename, "w");
|
||||
if(fd==NULL){
|
||||
dbg(0, "global_verilog_netlist(): problems opening netlist file\n");
|
||||
|
|
@ -114,7 +114,7 @@ int global_verilog_netlist(int global) /* netlister driver */
|
|||
if(xctx->netlist_name[0]) {
|
||||
my_snprintf(cellname, S(cellname), "%s", get_cell_w_ext(xctx->netlist_name, 0));
|
||||
} else {
|
||||
my_snprintf(cellname, S(cellname), "%s.v", skip_dir(xctx->sch[xctx->currsch]));
|
||||
my_snprintf(cellname, S(cellname), "%s.v", get_cell(xctx->sch[xctx->currsch], 0));
|
||||
}
|
||||
|
||||
dbg(1, "global_verilog_netlist(): opening %s for writing\n",netl_filename);
|
||||
|
|
@ -145,7 +145,7 @@ int global_verilog_netlist(int global) /* netlister driver */
|
|||
|
||||
|
||||
dbg(1, "global_verilog_netlist(): printing top level entity\n");
|
||||
fprintf(fd,"module %s (\n", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
fprintf(fd,"module %s (\n", get_cell( xctx->sch[xctx->currsch], 0) );
|
||||
/* flush data structures (remove unused symbols) */
|
||||
unselect_all(1);
|
||||
remove_symbols(); /* removed 25122002, readded 04112003 */
|
||||
|
|
@ -447,10 +447,10 @@ int verilog_block_netlist(FILE *fd, int i)
|
|||
|
||||
if(split_f) {
|
||||
my_snprintf(netl_filename, S(netl_filename), "%s/.%s_%d",
|
||||
tclgetvar("netlist_dir"), skip_dir(name), getpid());
|
||||
tclgetvar("netlist_dir"), get_cell(name, 0), getpid());
|
||||
dbg(1, "global_vhdl_netlist(): split_files: netl_filename=%s\n", netl_filename);
|
||||
fd=fopen(netl_filename, "w");
|
||||
my_snprintf(cellname, S(cellname), "%s.v", skip_dir(name));
|
||||
my_snprintf(cellname, S(cellname), "%s.v", get_cell(name, 0));
|
||||
|
||||
}
|
||||
dbg(1, "verilog_block_netlist(): expanding %s\n", name);
|
||||
|
|
@ -492,9 +492,9 @@ int verilog_block_netlist(FILE *fd, int i)
|
|||
get_tok_value(xctx->sym[i].prop_ptr, "verilogprefix", 0));
|
||||
if(verilogprefix) {
|
||||
my_strdup(_ALLOC_ID_, &symname, verilogprefix);
|
||||
my_strcat(_ALLOC_ID_, &symname, skip_dir(xctx->sym[i].name));
|
||||
my_strcat(_ALLOC_ID_, &symname, get_cell(xctx->sym[i].name, 0));
|
||||
} else {
|
||||
my_strdup(_ALLOC_ID_, &symname, skip_dir(xctx->sym[i].name));
|
||||
my_strdup(_ALLOC_ID_, &symname, get_cell(xctx->sym[i].name, 0));
|
||||
}
|
||||
my_free(_ALLOC_ID_, &verilogprefix);
|
||||
|
||||
|
|
@ -571,7 +571,7 @@ int verilog_block_netlist(FILE *fd, int i)
|
|||
fprintf(fd, " wire %s ;\n", extra_token);
|
||||
}
|
||||
}
|
||||
dbg(1, "verilog_block_netlist(): netlisting %s\n", skip_dir( xctx->sch[xctx->currsch]));
|
||||
dbg(1, "verilog_block_netlist(): netlisting %s\n", get_cell( xctx->sch[xctx->currsch], 0));
|
||||
err |= verilog_netlist(fd, verilog_stop);
|
||||
fprintf(fd,"---- begin user architecture code\n");
|
||||
for(l=0;l<xctx->instances; ++l) {
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ int global_vhdl_netlist(int global) /* netlister driver */
|
|||
xctx->netlist_count=0;
|
||||
str_hash_init(&subckt_table, HASHSIZE);
|
||||
my_snprintf(netl_filename, S(netl_filename), "%s/.%s_%d",
|
||||
tclgetvar("netlist_dir"), skip_dir(xctx->sch[xctx->currsch]), getpid());
|
||||
tclgetvar("netlist_dir"), get_cell(xctx->sch[xctx->currsch], 0), getpid());
|
||||
fd=fopen(netl_filename, "w");
|
||||
|
||||
if(fd==NULL){
|
||||
|
|
@ -155,7 +155,7 @@ int global_vhdl_netlist(int global) /* netlister driver */
|
|||
if(xctx->netlist_name[0]) {
|
||||
my_snprintf(cellname, S(cellname), "%s", get_cell_w_ext(xctx->netlist_name, 0));
|
||||
} else {
|
||||
my_snprintf(cellname, S(cellname), "%s.vhdl", skip_dir(xctx->sch[xctx->currsch]));
|
||||
my_snprintf(cellname, S(cellname), "%s.vhdl", get_cell(xctx->sch[xctx->currsch], 0));
|
||||
}
|
||||
|
||||
dbg(1, "global_vhdl_netlist(): opening %s for writing\n",netl_filename);
|
||||
|
|
@ -199,7 +199,7 @@ int global_vhdl_netlist(int global) /* netlister driver */
|
|||
dbg(1, "global_vhdl_netlist(): printing top level entity\n");
|
||||
|
||||
/* 20071015 already done in print_generic() */
|
||||
/* fprintf(fd," --- entity %s is\n", skip_dir( xctx->sch[xctx->currsch]) ); */
|
||||
/* fprintf(fd," --- entity %s is\n", get_cell( xctx->sch[xctx->currsch], 0) ); */
|
||||
/* 20071015 end */
|
||||
|
||||
/* flush data structures (remove unused symbols) */
|
||||
|
|
@ -216,7 +216,7 @@ int global_vhdl_netlist(int global) /* netlister driver */
|
|||
print_generic(fd,"entity", xctx->symbols-1); /* added print top level params */
|
||||
remove_symbol(xctx->symbols - 1);
|
||||
} else {
|
||||
fprintf(fd,"entity %s is\n", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
fprintf(fd,"entity %s is\n", get_cell( xctx->sch[xctx->currsch], 0) );
|
||||
}
|
||||
/* 20071009 end */
|
||||
|
||||
|
|
@ -329,10 +329,10 @@ int global_vhdl_netlist(int global) /* netlister driver */
|
|||
}
|
||||
}
|
||||
|
||||
fprintf(fd,"end %s ;\n\n", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
fprintf(fd,"end %s ;\n\n", get_cell( xctx->sch[xctx->currsch], 0) );
|
||||
fprintf(fd,"architecture arch_%s of %s is\n\n",
|
||||
sanitize(skip_dir( xctx->sch[xctx->currsch])),
|
||||
sanitize(skip_dir( xctx->sch[xctx->currsch])));
|
||||
sanitize(get_cell( xctx->sch[xctx->currsch], 0)),
|
||||
sanitize(get_cell( xctx->sch[xctx->currsch], 0)));
|
||||
|
||||
dbg(1, "global_vhdl_netlist(): printing top level used components\n");
|
||||
/* print all components */
|
||||
|
|
@ -413,7 +413,7 @@ int global_vhdl_netlist(int global) /* netlister driver */
|
|||
if(xctx->schvhdlprop && xctx->schvhdlprop[0]) {
|
||||
fprintf(fd, "%s\n", xctx->schvhdlprop);
|
||||
}
|
||||
fprintf(fd, "end arch_%s ;\n\n", skip_dir( xctx->sch[xctx->currsch]) );
|
||||
fprintf(fd, "end arch_%s ;\n\n", get_cell( xctx->sch[xctx->currsch], 0) );
|
||||
|
||||
if(split_f) {
|
||||
int save;
|
||||
|
|
@ -542,10 +542,10 @@ int vhdl_block_netlist(FILE *fd, int i)
|
|||
|
||||
if(split_f) {
|
||||
my_snprintf(netl_filename, S(netl_filename), "%s/.%s_%d",
|
||||
tclgetvar("netlist_dir"), skip_dir(xctx->sym[i].name), getpid());
|
||||
tclgetvar("netlist_dir"), get_cell(xctx->sym[i].name, 0), getpid());
|
||||
dbg(1, "vhdl_block_netlist(): split_files: netl_filename=%s\n", netl_filename);
|
||||
fd=fopen(netl_filename, "w");
|
||||
my_snprintf(cellname, S(cellname), "%s.vhdl", skip_dir(xctx->sym[i].name) );
|
||||
my_snprintf(cellname, S(cellname), "%s.vhdl", get_cell(xctx->sym[i].name, 0) );
|
||||
}
|
||||
|
||||
dbg(1, "vhdl_block_netlist(): expanding %s\n", xctx->sym[i].name);
|
||||
|
|
@ -633,13 +633,13 @@ int vhdl_block_netlist(FILE *fd, int i)
|
|||
if(xctx->inst[l].prop_ptr) fprintf(fd, "%s\n", xctx->inst[l].prop_ptr);
|
||||
}
|
||||
}
|
||||
fprintf(fd,"end %s ;\n\n", sanitize(skip_dir(xctx->sym[i].name)) );
|
||||
fprintf(fd,"end %s ;\n\n", sanitize(get_cell(xctx->sym[i].name, 0)) );
|
||||
|
||||
dbg(1, "vhdl_block_netlist(): architecture\n");
|
||||
fprintf(fd,"architecture arch_%s of %s is\n\n",
|
||||
sanitize(skip_dir(xctx->sym[i].name)),
|
||||
sanitize(skip_dir(xctx->sym[i].name)) );
|
||||
/* skip_dir( xctx->sch[xctx->currsch]), skip_dir( xctx->sch[xctx->currsch])); */
|
||||
sanitize(get_cell(xctx->sym[i].name, 0)),
|
||||
sanitize(get_cell(xctx->sym[i].name, 0)) );
|
||||
/* get_cell( xctx->sch[xctx->currsch], 0), get_cell( xctx->sch[xctx->currsch], 0)); */
|
||||
/* load current schematic to print used components */
|
||||
|
||||
dbg(1, "vhdl_block_netlist(): used components\n");
|
||||
|
|
@ -706,7 +706,7 @@ int vhdl_block_netlist(FILE *fd, int i)
|
|||
get_additional_symbols(0);
|
||||
} /* if(!vhdl_stop) */
|
||||
my_free(_ALLOC_ID_, &abs_path);
|
||||
dbg(1, "vhdl_block_netlist(): netlisting %s\n", skip_dir( xctx->sch[xctx->currsch]));
|
||||
dbg(1, "vhdl_block_netlist(): netlisting %s\n", get_cell( xctx->sch[xctx->currsch], 0));
|
||||
err |= vhdl_netlist(fd, vhdl_stop);
|
||||
fprintf(fd,"//// begin user architecture code\n");
|
||||
|
||||
|
|
@ -726,7 +726,7 @@ int vhdl_block_netlist(FILE *fd, int i)
|
|||
}
|
||||
|
||||
if(xctx->schvhdlprop && xctx->schvhdlprop[0]) fprintf(fd, "%s\n", xctx->schvhdlprop);
|
||||
fprintf(fd, "end arch_%s ;\n\n", sanitize(skip_dir(xctx->sym[i].name)) );
|
||||
fprintf(fd, "end arch_%s ;\n\n", sanitize(get_cell(xctx->sym[i].name, 0)) );
|
||||
my_free(_ALLOC_ID_, &sig_type);
|
||||
my_free(_ALLOC_ID_, &port_value);
|
||||
my_free(_ALLOC_ID_, &type);
|
||||
|
|
|
|||
|
|
@ -1152,7 +1152,6 @@ extern void svg_embedded_graph(FILE *fd, xRect *r, double rx1, double ry1, doubl
|
|||
extern void set_viewport_size(int w, int h, double lw);
|
||||
extern void print_image();
|
||||
extern const char *get_trailing_path(const char *str, int no_of_dir, int skip_ext);
|
||||
extern const char *skip_dir(const char *str);
|
||||
extern const char *get_cell(const char *str, int no_of_dir);
|
||||
extern const char *get_cell_w_ext(const char *str, int no_of_dir);
|
||||
extern const char *rel_sym_path(const char *s);
|
||||
|
|
|
|||
Loading…
Reference in New Issue