From 424b66e6714b282a76073d7809bdbb240f4dda06 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Mon, 29 Jun 2020 13:02:27 +0200 Subject: [PATCH] Added new GCell configurations to handle Libre-SOC test_issuer. * New: In Anabatic::NetBuilder, some GCells configurations of Libre-SOC "test_issuer" (soclayout/experiments9) did have more METAL1 terminals than was though possible. Just added more entries in the connexity table for bigger numbers of METAL1. No new configuration was added, used the already existing ones. --- anabatic/src/NetBuilder.cpp | 11 +++++++++-- anabatic/src/anabatic/NetBuilder.h | 7 +++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/anabatic/src/NetBuilder.cpp b/anabatic/src/NetBuilder.cpp index 197adda1..5a02f52e 100644 --- a/anabatic/src/NetBuilder.cpp +++ b/anabatic/src/NetBuilder.cpp @@ -581,7 +581,9 @@ namespace Anabatic { case Conn_1G_2M1: case Conn_1G_3M1: case Conn_1G_4M1: - case Conn_1G_5M1: _do_1G_xM1(); break; + case Conn_1G_5M1: + case Conn_1G_6M1: + case Conn_1G_7M1: _do_1G_xM1(); break; // End 1G_xM1 cascaded cases. case Conn_1G_1M2: @@ -601,18 +603,23 @@ namespace Anabatic { case Conn_2G_3M1: case Conn_2G_4M1: case Conn_2G_5M1: + case Conn_2G_6M1: case Conn_3G_1M1: if (_do_xG_1M1()) break; case Conn_3G_2M1: case Conn_3G_3M1: case Conn_3G_4M1: case Conn_3G_5M1: + case Conn_3G_6M1: case Conn_3G_2M3: case Conn_3G_3M3: case Conn_3G_4M3: case Conn_4G_1M1: if (_do_xG_1M1()) break; case Conn_4G_2M1: case Conn_4G_3M1: - case Conn_4G_4M1: _do_xG_xM1_xM3(); break; + case Conn_4G_4M1: + case Conn_4G_5M1: + case Conn_4G_6M1: + case Conn_4G_7M1: _do_xG_xM1_xM3(); break; // End xG_xM1_xM3 cascaded cases. case Conn_4G_1M2: if (_do_4G_1M2()) break; diff --git a/anabatic/src/anabatic/NetBuilder.h b/anabatic/src/anabatic/NetBuilder.h index 73ad112e..e1797a6c 100644 --- a/anabatic/src/anabatic/NetBuilder.h +++ b/anabatic/src/anabatic/NetBuilder.h @@ -260,6 +260,8 @@ namespace Anabatic { , Conn_1G_3M1 = CONNEXITY_VALUE( 1, 3, 0, 0, 0 , 0 ) , Conn_1G_4M1 = CONNEXITY_VALUE( 1, 4, 0, 0, 0 , 0 ) , Conn_1G_5M1 = CONNEXITY_VALUE( 1, 5, 0, 0, 0 , 0 ) + , Conn_1G_6M1 = CONNEXITY_VALUE( 1, 6, 0, 0, 0 , 0 ) + , Conn_1G_7M1 = CONNEXITY_VALUE( 1, 7, 0, 0, 0 , 0 ) , Conn_1G_1M2 = CONNEXITY_VALUE( 1, 0, 1, 0, 0 , 0 ) , Conn_1G_2M2 = CONNEXITY_VALUE( 1, 0, 2, 0, 0 , 0 ) , Conn_1G_3M2 = CONNEXITY_VALUE( 1, 0, 3, 0, 0 , 0 ) @@ -276,6 +278,7 @@ namespace Anabatic { , Conn_2G_3M1 = CONNEXITY_VALUE( 2, 3, 0, 0, 0 , 0 ) , Conn_2G_4M1 = CONNEXITY_VALUE( 2, 4, 0, 0, 0 , 0 ) , Conn_2G_5M1 = CONNEXITY_VALUE( 2, 5, 0, 0, 0 , 0 ) + , Conn_2G_6M1 = CONNEXITY_VALUE( 2, 6, 0, 0, 0 , 0 ) , Conn_2G_1M2 = CONNEXITY_VALUE( 2, 0, 1, 0, 0 , 0 ) , Conn_2G_2M2 = CONNEXITY_VALUE( 2, 0, 2, 0, 0 , 0 ) , Conn_2G_3M2 = CONNEXITY_VALUE( 2, 0, 3, 0, 0 , 0 ) @@ -291,6 +294,7 @@ namespace Anabatic { , Conn_3G_3M1 = CONNEXITY_VALUE( 3, 3, 0, 0, 0 , 0 ) , Conn_3G_4M1 = CONNEXITY_VALUE( 3, 4, 0, 0, 0 , 0 ) , Conn_3G_5M1 = CONNEXITY_VALUE( 3, 5, 0, 0, 0 , 0 ) + , Conn_3G_6M1 = CONNEXITY_VALUE( 3, 6, 0, 0, 0 , 0 ) , Conn_3G_1M2 = CONNEXITY_VALUE( 3, 0, 1, 0, 0 , 0 ) , Conn_3G_2M2 = CONNEXITY_VALUE( 3, 0, 2, 0, 0 , 0 ) , Conn_3G_1M3 = CONNEXITY_VALUE( 3, 0, 0, 1, 0 , 0 ) @@ -302,6 +306,9 @@ namespace Anabatic { , Conn_4G_2M1 = CONNEXITY_VALUE( 4, 2, 0, 0, 0 , 0 ) , Conn_4G_3M1 = CONNEXITY_VALUE( 4, 3, 0, 0, 0 , 0 ) , Conn_4G_4M1 = CONNEXITY_VALUE( 4, 4, 0, 0, 0 , 0 ) + , Conn_4G_5M1 = CONNEXITY_VALUE( 4, 5, 0, 0, 0 , 0 ) + , Conn_4G_6M1 = CONNEXITY_VALUE( 4, 6, 0, 0, 0 , 0 ) + , Conn_4G_7M1 = CONNEXITY_VALUE( 4, 7, 0, 0, 0 , 0 ) , Conn_4G_1M2 = CONNEXITY_VALUE( 4, 0, 1, 0, 0 , 0 ) , Conn_4G_1M3 = CONNEXITY_VALUE( 4, 0, 0, 1, 0 , 0 ) , Conn_1G_1Pad = CONNEXITY_VALUE( 1, 0, 0, 0, 1 , 0 )