From c0ee9804809cffd99af59add3c2b6abcf33a92c3 Mon Sep 17 00:00:00 2001 From: Naohiko Shimizu Date: Thu, 12 Mar 2020 22:06:15 +0900 Subject: [PATCH] P/NTRAN_HVIO/FAST support --- alliance/src/graal/src/GME_modify.c | 9 +++++++-- alliance/src/graal/src/GSB_parse.c | 4 ++++ alliance/src/mbk/src/alc_driv_p.c | 4 ++-- alliance/src/mbk/src/alc_pars_p.c | 8 ++++++-- alliance/src/mbk/src/mbk2mg.c | 16 ++++++++++++++++ alliance/src/mbk/src/mbk_ph.c | 4 ++-- alliance/src/mbk/src/mg2mbk_y.y | 4 ++++ alliance/src/mbk/src/mph.h | 4 ++-- alliance/src/mbk/src/parse_vti_p.c | 8 ++++++++ alliance/src/rds/src/rprparse.c | 4 ++++ alliance/src/rds/src/rprparse.h | 2 +- 11 files changed, 56 insertions(+), 11 deletions(-) diff --git a/alliance/src/graal/src/GME_modify.c b/alliance/src/graal/src/GME_modify.c index 43d45f45..36e938ff 100644 --- a/alliance/src/graal/src/GME_modify.c +++ b/alliance/src/graal/src/GME_modify.c @@ -381,8 +381,13 @@ void GraalEditModify() if ( IsRdsSegment( Rectangle ) ) { - if ( ( ((phseg_list *)Pointer)->LAYER != NTRANS ) && - ( ((phseg_list *)Pointer)->LAYER != PTRANS ) ) + if ( ( ((phseg_list *)Pointer)->LAYER != NTRANS ) && + ( ((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 ); GraalDisplayRectangle( Rectangle ); diff --git a/alliance/src/graal/src/GSB_parse.c b/alliance/src/graal/src/GSB_parse.c index 98d21537..87aabd08 100644 --- a/alliance/src/graal/src/GSB_parse.c +++ b/alliance/src/graal/src/GSB_parse.c @@ -199,12 +199,16 @@ { "nosym", NOSYM }, { "ntie", NTIE }, { "ntrans", NTRANS }, + { "ntrans_fast", NTRANS_FAST }, + { "ntrans_hvio", NTRANS_HVIO }, { "nwell", NWELL }, { "pdif", PDIF }, { "poly", POLY }, { "poly2", POLY2 }, { "ptie", PTIE }, { "ptrans", PTRANS }, + { "ptrans_fast", PTRANS_FAST }, + { "ptrans_hvio", PTRANS_HVIO }, { "pwell", PWELL }, { "rds_abox", RDS_LAYER_ABOX }, { "rds_activ", RDS_LAYER_ACTIV }, diff --git a/alliance/src/mbk/src/alc_driv_p.c b/alliance/src/mbk/src/alc_driv_p.c index cb8a4785..b958bcc3 100644 --- a/alliance/src/mbk/src/alc_driv_p.c +++ b/alliance/src/mbk/src/alc_driv_p.c @@ -111,10 +111,10 @@ static char *alc_decode[] = { "NDIF", "PDIF", "NTRANS", - "PTRANS", "NTRANS_FAST", - "PTRANS_FAST", "NTRANS_HVIO", + "PTRANS", + "PTRANS_FAST", "PTRANS_HVIO", "POLY", "POLY2", diff --git a/alliance/src/mbk/src/alc_pars_p.c b/alliance/src/mbk/src/alc_pars_p.c index 742108c3..6bcd2dd7 100644 --- a/alliance/src/mbk/src/alc_pars_p.c +++ b/alliance/src/mbk/src/alc_pars_p.c @@ -347,7 +347,11 @@ static char *TabNameLayer[] = "DIFN", "DIFP", "NTRANS", + "NTRANS_FAST", + "NTRANS_HVIO", "PTRANS", + "PTRANS_FAST", + "PTRANS_HVIO", "POLY", "TPOLY", "POLY2", @@ -385,10 +389,10 @@ static char *TabNameLayer[] = { "NDIF", "PDIF", "NTRANS", - "PTRANS", "NTRANS_FAST", - "PTRANS_FAST", "NTRANS_HVIO", + "PTRANS", + "PTRANS_FAST", "PTRANS_HVIO", "POLY", "POLY2", diff --git a/alliance/src/mbk/src/mbk2mg.c b/alliance/src/mbk/src/mbk2mg.c index b0369ea9..dcf7aa8d 100644 --- a/alliance/src/mbk/src/mbk2mg.c +++ b/alliance/src/mbk/src/mbk2mg.c @@ -53,7 +53,11 @@ static int Ext[LAST_LAYER + 1] = { /* NDIF */ 1, /* PDIF */ 1, /* 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_FAST */ 0, /* meant for P transistor grid */ + /* PTRANS_HVIO */ 0, /* meant for P transistor grid */ /* POLY */ 1, /* ALU1 */ 1, /* ALU2 */ 2, @@ -131,7 +135,11 @@ static char *mg_layer[] = { /* NDIF */ "nn", /* PDIF */ "pp", /* NTRANS */ "NULL", + /* NTRANS_FAST */ "NULL", + /* NTRANS_HVIO */ "NULL", /* PTRANS */ "NULL", + /* PTRANS_FAST */ "NULL", + /* PTRANS_HVIO */ "NULL", /* POLY */ "ps", /* ALU1 */ "m1", /* ALU2 */ "m2", @@ -333,7 +341,11 @@ register long Xcenter, Ycenter; if (Ptr->TYPE == LEFT || Ptr->TYPE == RIGHT) { switch (Ptr->LAYER) { case NTRANS : + case NTRANS_FAST : + case NTRANS_HVIO : case PTRANS : + case PTRANS_FAST : + case PTRANS_HVIO : Xbl = Ptr->X1; Ybl = Ptr->Y1; Xtr = Ptr->X2; @@ -368,7 +380,11 @@ register long Xcenter, Ycenter; } else { switch (Ptr->LAYER) { case NTRANS : + case NTRANS_FAST : + case NTRANS_HVIO : case PTRANS : + case PTRANS_FAST : + case PTRANS_HVIO : Xbl = Ptr->X1; Ybl = Ptr->Y1; Ytr = Ptr->Y2; diff --git a/alliance/src/mbk/src/mbk_ph.c b/alliance/src/mbk/src/mbk_ph.c index f72c575d..b15d2f86 100644 --- a/alliance/src/mbk/src/mbk_ph.c +++ b/alliance/src/mbk/src/mbk_ph.c @@ -1037,10 +1037,10 @@ static const char *layername[LAST_LAYER + 2] = { "NDIF", "PDIF", "NTRANS", - "PTRANS", "NTRANS_FAST", - "PTRANS_FAST", "NTRANS_HVIO", + "PTRANS", + "PTRANS_FAST", "PTRANS_HVIO", "POLY", "POLY2", diff --git a/alliance/src/mbk/src/mg2mbk_y.y b/alliance/src/mbk/src/mg2mbk_y.y index d3fcd291..e36bd46c 100644 --- a/alliance/src/mbk/src/mg2mbk_y.y +++ b/alliance/src/mbk/src/mg2mbk_y.y @@ -52,7 +52,11 @@ static int Extension[MAXLAYER] = { /* NDIF */ 1, /* PDIF */ 1, /* 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_FAST */ 0, /* meant for P transistor grid */ + /* PTRANS_HVIO */ 0, /* meant for P transistor grid */ /* POLY */ 1, /* ALU1 */ 1, /* ALU2 */ 2, diff --git a/alliance/src/mbk/src/mph.h b/alliance/src/mbk/src/mph.h index c0ca6c7e..f2d30d70 100644 --- a/alliance/src/mbk/src/mph.h +++ b/alliance/src/mbk/src/mph.h @@ -110,10 +110,10 @@ enum { NDIF, PDIF, NTRANS, - PTRANS, NTRANS_FAST, - PTRANS_FAST, NTRANS_HVIO, + PTRANS, + PTRANS_FAST, PTRANS_HVIO, POLY, POLY2, diff --git a/alliance/src/mbk/src/parse_vti_p.c b/alliance/src/mbk/src/parse_vti_p.c index 4a8291f2..9e47baa1 100644 --- a/alliance/src/mbk/src/parse_vti_p.c +++ b/alliance/src/mbk/src/parse_vti_p.c @@ -356,8 +356,16 @@ char *layername; return PTIE; else if (!strcmp(layername, "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")) 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")) return NWELL; else if (!strcmp(layername, "pwell")) diff --git a/alliance/src/rds/src/rprparse.c b/alliance/src/rds/src/rprparse.c index da68e711..fa4357b3 100644 --- a/alliance/src/rds/src/rprparse.c +++ b/alliance/src/rds/src/rprparse.c @@ -220,6 +220,8 @@ extern long MBK_X_GRID, MBK_Y_GRID, MBK_Y_SLICE, MBK_WIDTH_VSS, MBK_WIDTH_VDD, { "notreat", S2R_NOTREAT }, { "ntie", NTIE }, { "ntrans", NTRANS }, + { "ntrans_fast", NTRANS_FAST }, + { "ntrans_hvio", NTRANS_HVIO }, { "null", S2R_NOTREAT }, { "nwell", NWELL }, { "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 }, { "ptie", PTIE }, { "ptrans", PTRANS }, + { "ptrans_fast", PTRANS_FAST }, + { "ptrans_hvio", PTRANS_HVIO }, { "pwell", PWELL }, { "rcw", RDS_TRANS_RCW }, { "rds_abox", RDS_LAYER_ABOX }, diff --git a/alliance/src/rds/src/rprparse.h b/alliance/src/rds/src/rprparse.h index dfb548e7..f1729a65 100644 --- a/alliance/src/rds/src/rprparse.h +++ b/alliance/src/rds/src/rprparse.h @@ -31,7 +31,7 @@ # define RPR_MAX_RDS_UNIT 100000L # define RPR_EPSILON ((double)0.001) # define RPR_MAX_BUFFER 512 -# define RPR_MAX_KEYWORD 151 +# define RPR_MAX_KEYWORD 155 # define MBK_MAX_WIRESETTING 30 # define RPR_SEPARATORS_STRING " \t\n"