Index: trunk/util/boxsym-rnd/generator.awk =================================================================== --- trunk/util/boxsym-rnd/generator.awk (revision 4874) +++ trunk/util/boxsym-rnd/generator.awk (revision 4875) @@ -35,8 +35,12 @@ function count_pin_txtbrd(loc, pin, TXTBRD, pname,len) { - pname = pin - sub(".*::", "", pname) + if (PIN[pin, "label"] == "") { + pname = pin + sub(".*::", "", pname) + } + else + pname = PIN[pin, "label"] len = length(pname) if (PIN[pin, "dir"] != "") len++; @@ -69,7 +73,7 @@ return cnt } -function draw_pin(pin, ST, slotidx, SLT ,x2,y2,pname,pnum,pindecor,intdecor) +function draw_pin(pin, ST, slotidx, SLT ,x2,y2,pname,pnum,pindecor,intdecor,label2) { x2 = ST["x"] * pin_grid y2 = ST["y"] * pin_grid @@ -100,8 +104,10 @@ else if (PIN[pin, "dir"] == "out") intdecor = "outtri" - dbg("draw_pin(): pname=" pname " dir=" ST["pdir"] " at " x2 ";" y2) - sym_term(SYM, x2, y2, ST["pdir"], pnum, pname, pindecor, intdecor) + label2=PIN[pin, "label"]; + +# dbg("draw_pin(): pname=" pname " dir=" ST["pdir"] " at " x2 ";" y2) + sym_term(SYM, x2, y2, ST["pdir"], pnum, pname, pindecor, intdecor, label2) } # draw pins of a given slot:loc, with first pin touching the box at x0;y0 Index: trunk/util/boxsym-rnd/parser.awk =================================================================== --- trunk/util/boxsym-rnd/parser.awk (revision 4874) +++ trunk/util/boxsym-rnd/parser.awk (revision 4875) @@ -73,7 +73,7 @@ print "Invalid end - expected slot end in line", NR > stderr exit 1 } - if (($1 == "num") || ($1 == "loc") || ($1 == "dir")) { + if (($1 == "num") || ($1 == "loc") || ($1 == "dir") || ($1 == "label")) { if (PIN[pin, $1] != "") { print "ERROR: multiple definitions of " pin "/" $1 " in line " NR > "/dev/stderr" exit 1