diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2017-01-07 09:51:38 +0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2017-01-07 09:51:38 +0700 |
commit | 3dd2325aa8572bbe0689a537101f138a0c7b8c87 (patch) | |
tree | 56b49c98b36a2cb078004411a029f344f1d16832 /src | |
parent | 460167ec747aed778bfc13f2040dd8a205169fa2 (diff) | |
download | abc-3dd2325aa8572bbe0689a537101f138a0c7b8c87.tar.gz abc-3dd2325aa8572bbe0689a537101f138a0c7b8c87.tar.bz2 abc-3dd2325aa8572bbe0689a537101f138a0c7b8c87.zip |
Adding an option to not add buffers to decouple COs driven by the same internal node.
Diffstat (limited to 'src')
-rw-r--r-- | src/base/abc/abcUtil.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/base/abc/abcUtil.c b/src/base/abc/abcUtil.c index f01ef07a..dd3a75b7 100644 --- a/src/base/abc/abcUtil.c +++ b/src/base/abc/abcUtil.c @@ -1077,6 +1077,7 @@ void Abc_NtkLogicMakeSimpleCosTest( Abc_Ntk_t * pNtk, int fDuplicate ) ***********************************************************************/ int Abc_NtkLogicMakeSimpleCos( Abc_Ntk_t * pNtk, int fDuplicate ) { + int fAddBuffers = 1; Vec_Ptr_t * vDrivers, * vCoTerms; Abc_Obj_t * pNode, * pDriver, * pDriverNew, * pFanin; int i, k, LevelMax, nTotal = 0; @@ -1191,6 +1192,12 @@ int Abc_NtkLogicMakeSimpleCos( Abc_Ntk_t * pNtk, int fDuplicate ) // collect COs that needs fixing by adding buffers or duplicating vCoTerms = Vec_PtrAlloc( 100 ); Abc_NtkIncrementTravId( pNtk ); + + // The following cases should be addressed only if the network is written + // into a BLIF file. Otherwise, it is possible to skip them: + // (1) if a CO points to a CI with a different name + // (2) if an internal node drives more than one CO + if ( fAddBuffers ) Abc_NtkForEachCo( pNtk, pNode, i ) { // if the driver is a CI and has different name, this is an error |