P/NTRAN_HVIO/FAST support

This commit is contained in:
Naohiko Shimizu 2020-03-12 22:06:15 +09:00
parent d4a6f0f2ff
commit c0ee980480
11 changed files with 56 additions and 11 deletions

View File

@ -381,8 +381,13 @@ void GraalEditModify()
if ( IsRdsSegment( Rectangle ) ) if ( IsRdsSegment( Rectangle ) )
{ {
if ( ( ((phseg_list *)Pointer)->LAYER != NTRANS ) && if ( ( ((phseg_list *)Pointer)->LAYER != NTRANS ) &&
( ((phseg_list *)Pointer)->LAYER != PTRANS ) ) ( ((phseg_list *)Pointer)->LAYER != NTRANS_FAST ) &&
( ((phseg_list *)Pointer)->LAYER != NTRANS_HVIO ) &&
( ((phseg_list *)Pointer)->LAYER != PTRANS ) &&
( ((phseg_list *)Pointer)->LAYER != PTRANS_FAST ) &&
( ((phseg_list *)Pointer)->LAYER != PTRANS_HVIO )
)
{ {
GraalAcceptRectangle( Rectangle ); GraalAcceptRectangle( Rectangle );
GraalDisplayRectangle( Rectangle ); GraalDisplayRectangle( Rectangle );

View File

@ -199,12 +199,16 @@
{ "nosym", NOSYM }, { "nosym", NOSYM },
{ "ntie", NTIE }, { "ntie", NTIE },
{ "ntrans", NTRANS }, { "ntrans", NTRANS },
{ "ntrans_fast", NTRANS_FAST },
{ "ntrans_hvio", NTRANS_HVIO },
{ "nwell", NWELL }, { "nwell", NWELL },
{ "pdif", PDIF }, { "pdif", PDIF },
{ "poly", POLY }, { "poly", POLY },
{ "poly2", POLY2 }, { "poly2", POLY2 },
{ "ptie", PTIE }, { "ptie", PTIE },
{ "ptrans", PTRANS }, { "ptrans", PTRANS },
{ "ptrans_fast", PTRANS_FAST },
{ "ptrans_hvio", PTRANS_HVIO },
{ "pwell", PWELL }, { "pwell", PWELL },
{ "rds_abox", RDS_LAYER_ABOX }, { "rds_abox", RDS_LAYER_ABOX },
{ "rds_activ", RDS_LAYER_ACTIV }, { "rds_activ", RDS_LAYER_ACTIV },

View File

@ -111,10 +111,10 @@ static char *alc_decode[] = {
"NDIF", "NDIF",
"PDIF", "PDIF",
"NTRANS", "NTRANS",
"PTRANS",
"NTRANS_FAST", "NTRANS_FAST",
"PTRANS_FAST",
"NTRANS_HVIO", "NTRANS_HVIO",
"PTRANS",
"PTRANS_FAST",
"PTRANS_HVIO", "PTRANS_HVIO",
"POLY", "POLY",
"POLY2", "POLY2",

View File

@ -347,7 +347,11 @@ static char *TabNameLayer[] =
"DIFN", "DIFN",
"DIFP", "DIFP",
"NTRANS", "NTRANS",
"NTRANS_FAST",
"NTRANS_HVIO",
"PTRANS", "PTRANS",
"PTRANS_FAST",
"PTRANS_HVIO",
"POLY", "POLY",
"TPOLY", "TPOLY",
"POLY2", "POLY2",
@ -385,10 +389,10 @@ static char *TabNameLayer[] = {
"NDIF", "NDIF",
"PDIF", "PDIF",
"NTRANS", "NTRANS",
"PTRANS",
"NTRANS_FAST", "NTRANS_FAST",
"PTRANS_FAST",
"NTRANS_HVIO", "NTRANS_HVIO",
"PTRANS",
"PTRANS_FAST",
"PTRANS_HVIO", "PTRANS_HVIO",
"POLY", "POLY",
"POLY2", "POLY2",

View File

@ -53,7 +53,11 @@ static int Ext[LAST_LAYER + 1] = {
/* NDIF */ 1, /* NDIF */ 1,
/* PDIF */ 1, /* PDIF */ 1,
/* NTRANS */ 0, /* meant for N transistor grid */ /* NTRANS */ 0, /* meant for N transistor grid */
/* NTRANS_FAST */ 0, /* meant for N transistor grid */
/* NTRANS_HVIO */ 0, /* meant for N transistor grid */
/* PTRANS */ 0, /* meant for P transistor grid */ /* PTRANS */ 0, /* meant for P transistor grid */
/* PTRANS_FAST */ 0, /* meant for P transistor grid */
/* PTRANS_HVIO */ 0, /* meant for P transistor grid */
/* POLY */ 1, /* POLY */ 1,
/* ALU1 */ 1, /* ALU1 */ 1,
/* ALU2 */ 2, /* ALU2 */ 2,
@ -131,7 +135,11 @@ static char *mg_layer[] = {
/* NDIF */ "nn", /* NDIF */ "nn",
/* PDIF */ "pp", /* PDIF */ "pp",
/* NTRANS */ "NULL", /* NTRANS */ "NULL",
/* NTRANS_FAST */ "NULL",
/* NTRANS_HVIO */ "NULL",
/* PTRANS */ "NULL", /* PTRANS */ "NULL",
/* PTRANS_FAST */ "NULL",
/* PTRANS_HVIO */ "NULL",
/* POLY */ "ps", /* POLY */ "ps",
/* ALU1 */ "m1", /* ALU1 */ "m1",
/* ALU2 */ "m2", /* ALU2 */ "m2",
@ -333,7 +341,11 @@ register long Xcenter, Ycenter;
if (Ptr->TYPE == LEFT || Ptr->TYPE == RIGHT) { if (Ptr->TYPE == LEFT || Ptr->TYPE == RIGHT) {
switch (Ptr->LAYER) { switch (Ptr->LAYER) {
case NTRANS : case NTRANS :
case NTRANS_FAST :
case NTRANS_HVIO :
case PTRANS : case PTRANS :
case PTRANS_FAST :
case PTRANS_HVIO :
Xbl = Ptr->X1; Xbl = Ptr->X1;
Ybl = Ptr->Y1; Ybl = Ptr->Y1;
Xtr = Ptr->X2; Xtr = Ptr->X2;
@ -368,7 +380,11 @@ register long Xcenter, Ycenter;
} else { } else {
switch (Ptr->LAYER) { switch (Ptr->LAYER) {
case NTRANS : case NTRANS :
case NTRANS_FAST :
case NTRANS_HVIO :
case PTRANS : case PTRANS :
case PTRANS_FAST :
case PTRANS_HVIO :
Xbl = Ptr->X1; Xbl = Ptr->X1;
Ybl = Ptr->Y1; Ybl = Ptr->Y1;
Ytr = Ptr->Y2; Ytr = Ptr->Y2;

View File

@ -1037,10 +1037,10 @@ static const char *layername[LAST_LAYER + 2] = {
"NDIF", "NDIF",
"PDIF", "PDIF",
"NTRANS", "NTRANS",
"PTRANS",
"NTRANS_FAST", "NTRANS_FAST",
"PTRANS_FAST",
"NTRANS_HVIO", "NTRANS_HVIO",
"PTRANS",
"PTRANS_FAST",
"PTRANS_HVIO", "PTRANS_HVIO",
"POLY", "POLY",
"POLY2", "POLY2",

View File

@ -52,7 +52,11 @@ static int Extension[MAXLAYER] = {
/* NDIF */ 1, /* NDIF */ 1,
/* PDIF */ 1, /* PDIF */ 1,
/* NTRANS */ 0, /* meant for N transistor grid */ /* NTRANS */ 0, /* meant for N transistor grid */
/* NTRANS_FAST */ 0, /* meant for N transistor grid */
/* NTRANS_HVIO */ 0, /* meant for N transistor grid */
/* PTRANS */ 0, /* meant for P transistor grid */ /* PTRANS */ 0, /* meant for P transistor grid */
/* PTRANS_FAST */ 0, /* meant for P transistor grid */
/* PTRANS_HVIO */ 0, /* meant for P transistor grid */
/* POLY */ 1, /* POLY */ 1,
/* ALU1 */ 1, /* ALU1 */ 1,
/* ALU2 */ 2, /* ALU2 */ 2,

View File

@ -110,10 +110,10 @@ enum {
NDIF, NDIF,
PDIF, PDIF,
NTRANS, NTRANS,
PTRANS,
NTRANS_FAST, NTRANS_FAST,
PTRANS_FAST,
NTRANS_HVIO, NTRANS_HVIO,
PTRANS,
PTRANS_FAST,
PTRANS_HVIO, PTRANS_HVIO,
POLY, POLY,
POLY2, POLY2,

View File

@ -356,8 +356,16 @@ char *layername;
return PTIE; return PTIE;
else if (!strcmp(layername, "ntrans")) else if (!strcmp(layername, "ntrans"))
return NTRANS; return NTRANS;
else if (!strcmp(layername, "ntrans_hvio"))
return NTRANS_HVIO;
else if (!strcmp(layername, "ntrans_fast"))
return NTRANS_FAST;
else if (!strcmp(layername, "ptrans")) else if (!strcmp(layername, "ptrans"))
return PTRANS; return PTRANS;
else if (!strcmp(layername, "ptrans_hvio"))
return PTRANS_HVIO;
else if (!strcmp(layername, "ptrans_fast"))
return PTRANS_FAST;
else if (!strcmp(layername, "nwell")) else if (!strcmp(layername, "nwell"))
return NWELL; return NWELL;
else if (!strcmp(layername, "pwell")) else if (!strcmp(layername, "pwell"))

View File

@ -220,6 +220,8 @@ extern long MBK_X_GRID, MBK_Y_GRID, MBK_Y_SLICE, MBK_WIDTH_VSS, MBK_WIDTH_VDD,
{ "notreat", S2R_NOTREAT }, { "notreat", S2R_NOTREAT },
{ "ntie", NTIE }, { "ntie", NTIE },
{ "ntrans", NTRANS }, { "ntrans", NTRANS },
{ "ntrans_fast", NTRANS_FAST },
{ "ntrans_hvio", NTRANS_HVIO },
{ "null", S2R_NOTREAT }, { "null", S2R_NOTREAT },
{ "nwell", NWELL }, { "nwell", NWELL },
{ "pdif", PDIF }, { "pdif", PDIF },
@ -227,6 +229,8 @@ extern long MBK_X_GRID, MBK_Y_GRID, MBK_Y_SLICE, MBK_WIDTH_VSS, MBK_WIDTH_VDD,
{ "poly2", POLY2 }, { "poly2", POLY2 },
{ "ptie", PTIE }, { "ptie", PTIE },
{ "ptrans", PTRANS }, { "ptrans", PTRANS },
{ "ptrans_fast", PTRANS_FAST },
{ "ptrans_hvio", PTRANS_HVIO },
{ "pwell", PWELL }, { "pwell", PWELL },
{ "rcw", RDS_TRANS_RCW }, { "rcw", RDS_TRANS_RCW },
{ "rds_abox", RDS_LAYER_ABOX }, { "rds_abox", RDS_LAYER_ABOX },

View File

@ -31,7 +31,7 @@
# define RPR_MAX_RDS_UNIT 100000L # define RPR_MAX_RDS_UNIT 100000L
# define RPR_EPSILON ((double)0.001) # define RPR_EPSILON ((double)0.001)
# define RPR_MAX_BUFFER 512 # define RPR_MAX_BUFFER 512
# define RPR_MAX_KEYWORD 151 # define RPR_MAX_KEYWORD 155
# define MBK_MAX_WIRESETTING 30 # define MBK_MAX_WIRESETTING 30
# define RPR_SEPARATORS_STRING " \t\n" # define RPR_SEPARATORS_STRING " \t\n"