From 441cb714750d630f3b8511ce747975c6d0a03eaa Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Tue, 30 Jun 2020 10:00:29 +0200 Subject: [PATCH] * New: In Anabatic::NetBuilder, to tackle once and for all the GCell configurations for Libre-SOC manage up to 9 METAL1 terminals in 1G to 4G configurations. --- anabatic/src/NetBuilder.cpp | 14 ++++++++++++-- anabatic/src/anabatic/NetBuilder.h | 10 ++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/anabatic/src/NetBuilder.cpp b/anabatic/src/NetBuilder.cpp index 5a02f52e..a7a4144f 100644 --- a/anabatic/src/NetBuilder.cpp +++ b/anabatic/src/NetBuilder.cpp @@ -583,7 +583,9 @@ namespace Anabatic { case Conn_1G_4M1: case Conn_1G_5M1: case Conn_1G_6M1: - case Conn_1G_7M1: _do_1G_xM1(); break; + case Conn_1G_7M1: + case Conn_1G_8M1: + case Conn_1G_9M1: _do_1G_xM1(); break; // End 1G_xM1 cascaded cases. case Conn_1G_1M2: @@ -604,12 +606,18 @@ namespace Anabatic { case Conn_2G_4M1: case Conn_2G_5M1: case Conn_2G_6M1: + case Conn_2G_7M1: + case Conn_2G_8M1: + case Conn_2G_9M1: 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_7M1: + case Conn_3G_8M1: + case Conn_3G_9M1: case Conn_3G_2M3: case Conn_3G_3M3: case Conn_3G_4M3: @@ -619,7 +627,9 @@ namespace Anabatic { case Conn_4G_4M1: case Conn_4G_5M1: case Conn_4G_6M1: - case Conn_4G_7M1: _do_xG_xM1_xM3(); break; + case Conn_4G_7M1: + case Conn_4G_8M1: + case Conn_4G_9M1: _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 e1797a6c..2acbb7c9 100644 --- a/anabatic/src/anabatic/NetBuilder.h +++ b/anabatic/src/anabatic/NetBuilder.h @@ -262,6 +262,8 @@ namespace Anabatic { , 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_8M1 = CONNEXITY_VALUE( 1, 8, 0, 0, 0 , 0 ) + , Conn_1G_9M1 = CONNEXITY_VALUE( 1, 9, 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 ) @@ -279,6 +281,9 @@ namespace Anabatic { , 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_7M1 = CONNEXITY_VALUE( 2, 7, 0, 0, 0 , 0 ) + , Conn_2G_8M1 = CONNEXITY_VALUE( 2, 8, 0, 0, 0 , 0 ) + , Conn_2G_9M1 = CONNEXITY_VALUE( 2, 9, 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 ) @@ -295,6 +300,9 @@ namespace Anabatic { , 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_7M1 = CONNEXITY_VALUE( 3, 7, 0, 0, 0 , 0 ) + , Conn_3G_8M1 = CONNEXITY_VALUE( 3, 8, 0, 0, 0 , 0 ) + , Conn_3G_9M1 = CONNEXITY_VALUE( 3, 9, 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 ) @@ -309,6 +317,8 @@ namespace Anabatic { , 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_8M1 = CONNEXITY_VALUE( 4, 8, 0, 0, 0 , 0 ) + , Conn_4G_9M1 = CONNEXITY_VALUE( 4, 9, 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 )