From 0ea9929e65f1286e6aba4a27447af9bfe585ffca Mon Sep 17 00:00:00 2001 From: Carmine50 Date: Thu, 19 Dec 2024 14:22:26 +0100 Subject: [PATCH] [CEC][SimGen][Man new data struct] Added new variables in Gia_Man to save truth tables, MFFC infos and luts rankings for simgen. Modified also the function type to extract MFFC info --- src/aig/gia/gia.h | 7 +++++++ src/aig/gia/giaResub.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index bb9e7ad7a..015a1da22 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -249,6 +249,11 @@ struct Gia_Man_t_ int iFirstPoId; int iFirstAndObj; int iFirstPoObj; + Vec_Str_t * vTTISOPs; // truth tables from ISOP computation + Vec_Int_t * vTTLut; // truth tables from ISOP computation + Vec_Int_t * vMFFCsInfo; // MFFC information + Vec_Int_t * vMFFCsLuts; // MFFCs for each lut + Vec_Ptr_t * vLutsRankings; // LUTs rankings of inputs }; @@ -1843,6 +1848,8 @@ extern void Bnd_ManPrintStats(); // util extern Gia_Man_t* Bnd_ManCutBoundary( Gia_Man_t *p, Vec_Int_t* vEI, Vec_Int_t* vEO, Vec_Bit_t* vEI_phase, Vec_Bit_t* vEO_phase ); +extern int Gia_ObjCheckMffc( Gia_Man_t * p, Gia_Obj_t * pRoot, int Limit, Vec_Int_t * vNodes, Vec_Int_t * vLeaves, Vec_Int_t * vInners ); + ABC_NAMESPACE_HEADER_END diff --git a/src/aig/gia/giaResub.c b/src/aig/gia/giaResub.c index fc6fd7bf0..8ce2f3d33 100644 --- a/src/aig/gia/giaResub.c +++ b/src/aig/gia/giaResub.c @@ -68,7 +68,7 @@ int Gia_ObjCheckMffc_rec( Gia_Man_t * p,Gia_Obj_t * pObj, int Limit, Vec_Int_t * return 0; return 1; } -static inline int Gia_ObjCheckMffc( Gia_Man_t * p, Gia_Obj_t * pRoot, int Limit, Vec_Int_t * vNodes, Vec_Int_t * vLeaves, Vec_Int_t * vInners ) +inline int Gia_ObjCheckMffc( Gia_Man_t * p, Gia_Obj_t * pRoot, int Limit, Vec_Int_t * vNodes, Vec_Int_t * vLeaves, Vec_Int_t * vInners ) { int RetValue, iObj, i; Vec_IntClear( vNodes );