Corrected an issue with the limited bitfield dedicated to port numbers;

this limited ports to 16384, which seemed reasonable at the time.
However, the sky130_sram_macro layouts connect power and ground in a
way that when coupled with "extract unique" can generate tens of
thousands of ports and overrun the bit field, showing that automation
can do the unexpected.  The solution was to split out the port number
from the label record as its own 32-bit value.
This commit is contained in:
Tim Edwards
2021-12-12 22:09:31 -05:00
parent 552d6de0f7
commit 43bb499bcf
25 changed files with 136 additions and 119 deletions
+2 -1
View File
@@ -434,6 +434,7 @@ typedef Label labelUE;
#define lue_offset lab_offset
#define lue_flags lab_flags
#define lue_text lab_text
#define lue_port lab_port
/*
* labelSize(n) is the size of a labelUE large enough to hold
@@ -556,7 +557,7 @@ dbUndoLabelForw(up)
lab = DBPutFontLabel(dbUndoLastCell, &up->lue_rect,
up->lue_font, up->lue_size, up->lue_rotate,
&up->lue_offset, up->lue_just, up->lue_text,
up->lue_type, up->lue_flags);
up->lue_type, up->lue_flags, up->lue_port);
DBWLabelChanged(dbUndoLastCell, lab, DBW_ALLWINDOWS);
/*