diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-12-08 14:10:41 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-12-08 14:10:41 -0800 |
commit | 1398de7c46d3b2f4e63a6b10965f1e9f4d62742c (patch) | |
tree | 91897fd6383960f6fb11322500756781250612b0 /src/aig/gia/giaAiger.c | |
parent | 3e2fad35748982c032ad30d8ccc6d5216213dff2 (diff) | |
download | abc-1398de7c46d3b2f4e63a6b10965f1e9f4d62742c.tar.gz abc-1398de7c46d3b2f4e63a6b10965f1e9f4d62742c.tar.bz2 abc-1398de7c46d3b2f4e63a6b10965f1e9f4d62742c.zip |
Integrating barrier buffers.
Diffstat (limited to 'src/aig/gia/giaAiger.c')
-rw-r--r-- | src/aig/gia/giaAiger.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/aig/gia/giaAiger.c b/src/aig/gia/giaAiger.c index 1f6ba03b..3bbecc7e 100644 --- a/src/aig/gia/giaAiger.c +++ b/src/aig/gia/giaAiger.c @@ -294,7 +294,12 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fSkipS iNode1 = Abc_LitNotCond( Vec_IntEntry(vNodes, uLit1 >> 1), uLit1 & 1 ); assert( Vec_IntSize(vNodes) == i + 1 + nInputs + nLatches ); if ( fSkipStrash ) - Vec_IntPush( vNodes, Gia_ManAppendAnd(pNew, iNode0, iNode1) ); + { + if ( iNode0 == iNode1 ) + Vec_IntPush( vNodes, Gia_ManAppendBuf(pNew, iNode0) ); + else + Vec_IntPush( vNodes, Gia_ManAppendAnd(pNew, iNode0, iNode1) ); + } else Vec_IntPush( vNodes, Gia_ManHashAnd(pNew, iNode0, iNode1) ); } @@ -1099,7 +1104,7 @@ void Gia_AigerWrite( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int uLit = Abc_Var2Lit( i, 0 ); uLit0 = Gia_ObjFaninLit0( pObj, i ); uLit1 = Gia_ObjFaninLit1( pObj, i ); - assert( uLit0 < uLit1 ); + assert( Gia_ManBufNum(p) || uLit0 < uLit1 ); Pos = Gia_AigerWriteUnsignedBuffer( pBuffer, Pos, uLit - uLit1 ); Pos = Gia_AigerWriteUnsignedBuffer( pBuffer, Pos, uLit1 - uLit0 ); if ( Pos > nBufferSize - 10 ) |