summaryrefslogtreecommitdiffstats
path: root/src/base/abci/abc.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-11-14 15:34:03 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-11-14 15:34:03 -0800
commit3dd08c7172511b8291074e605e5e235272557ad6 (patch)
tree0b070576593f542ef72f36b6b6da534a862fc41b /src/base/abci/abc.c
parenta34183790f64e829718c3918144af70e1398ab46 (diff)
downloadabc-3dd08c7172511b8291074e605e5e235272557ad6.tar.gz
abc-3dd08c7172511b8291074e605e5e235272557ad6.tar.bz2
abc-3dd08c7172511b8291074e605e5e235272557ad6.zip
Enabling AIGs with boxes for word-level and sequential designs.
Diffstat (limited to 'src/base/abci/abc.c')
-rw-r--r--src/base/abci/abc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index 051c1aae..e7bd2a6a 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -26474,7 +26474,16 @@ int Abc_CommandAbc9Strash( Abc_Frame_t * pAbc, int argc, char ** argv )
}
else if ( fCollapse && pAbc->pGia->pAigExtra )
{
- pTemp = Gia_ManDupCollapse( pAbc->pGia, pAbc->pGia->pAigExtra, NULL );
+ if ( Gia_ManIsSeqWithBoxes(pAbc->pGia) )
+ {
+ Gia_Man_t * pUnshuffled = Gia_ManDupUnshuffleInputs( pAbc->pGia );
+ Gia_ManTransferTiming( pUnshuffled, pAbc->pGia );
+ pTemp = Gia_ManDupCollapse( pUnshuffled, pUnshuffled->pAigExtra, NULL );
+ Gia_ManTransferTiming( pAbc->pGia, pUnshuffled );
+ Gia_ManStop( pUnshuffled );
+ }
+ else
+ pTemp = Gia_ManDupCollapse( pAbc->pGia, pAbc->pGia->pAigExtra, NULL );
if ( !Abc_FrameReadFlag("silentmode") )
printf( "Collapsed AIG with boxes and logic of the boxes.\n" );
}