From 70c42b729298584cfb18577f205f644dfb254f9e Mon Sep 17 00:00:00 2001 From: Franz Reichl Date: Thu, 21 May 2026 11:58:13 +0200 Subject: [PATCH] Add option for lut optimisation --- src/base/abci/abc.c | 2 +- src/opt/eslim/eSLIM.cpp | 10 ++++------ src/opt/eslim/eslimCirMan.cpp | 1 + 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 543eb5f5cc..20b9a6cf11 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -61036,7 +61036,7 @@ int Abc_CommandAbc9elSLIM( Abc_Frame_t * pAbc, int argc, char ** argv ) { seteSLIMParams(¶ms); Extra_UtilGetoptReset(); params.subcircuit_max_size = 4; - while ( ( c = Extra_UtilGetopt( argc, argv, "CDGIPRSTVWXZfhist" ) ) != EOF ) { + while ( ( c = Extra_UtilGetopt( argc, argv, "CDGIPRSTVWXZcfhist" ) ) != EOF ) { switch ( c ) { case 'C': if ( globalUtilOptind >= argc ) diff --git a/src/opt/eslim/eSLIM.cpp b/src/opt/eslim/eSLIM.cpp index 6705515686..764c822e1c 100644 --- a/src/opt/eslim/eSLIM.cpp +++ b/src/opt/eslim/eSLIM.cpp @@ -603,6 +603,10 @@ Circuitrepresentation* runeSLIM(Circuitrepresentation * cir, const eSLIM_ParamSt Gia_Man_t* applyeSLIM(Gia_Man_t * pGia, const eSLIM_ParamStruct* params) { + if (Gia_ManHasDangling(pGia)) { + std::cout << "Warning: Circuit must not contain dangling nodes.\n"; + return pGia; + } return runeSLIM(pGia, params); } @@ -610,12 +614,6 @@ Abc_Ntk_t* applyelSLIM(Abc_Ntk_t * ntk, const eSLIM_ParamStruct* params) { return runeSLIM(ntk, params); } -Abc_Ntk_t* applyetSLIM(Abc_Ntk_t * ntk, const eSLIM_ParamStruct* params) { - return runeSLIM(ntk, params); -} - - - diff --git a/src/opt/eslim/eslimCirMan.cpp b/src/opt/eslim/eslimCirMan.cpp index 38e1635cd1..5f9c5007d9 100644 --- a/src/opt/eslim/eslimCirMan.cpp +++ b/src/opt/eslim/eslimCirMan.cpp @@ -79,6 +79,7 @@ namespace eSLIM { } eSLIMCirMan::eSLIMCirMan(Gia_Man_t * pGia) : eSLIMCirMan(Gia_ManObjNum(pGia)) { + assert (!Gia_ManHasDangling(pGia)); Gia_ManConst0(pGia)->Value = 0; Gia_Obj_t * pObj; int i;