mirror of https://github.com/YosysHQ/abc.git
Bug fix.
This commit is contained in:
parent
8573cb98f6
commit
b60994e143
|
|
@ -693,10 +693,15 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fGiaSi
|
||||||
// read flop classes
|
// read flop classes
|
||||||
else if ( *pCur == 'f' )
|
else if ( *pCur == 'f' )
|
||||||
{
|
{
|
||||||
|
int i, nRegs;
|
||||||
pCur++;
|
pCur++;
|
||||||
assert( Gia_AigerReadInt(pCur) == 4*Gia_ManRegNum(pNew) ); pCur += 4;
|
pCurTemp = pCur + Gia_AigerReadInt(pCur) + 4; pCur += 4;
|
||||||
pNew->vFlopClasses = Vec_IntStart( Gia_ManRegNum(pNew) );
|
nRegs = Gia_AigerReadInt(pCur); pCur += 4;
|
||||||
memcpy( Vec_IntArray(pNew->vFlopClasses), pCur, (size_t)4*Gia_ManRegNum(pNew) ); pCur += 4*Gia_ManRegNum(pNew);
|
//nRegs = (pCurTemp - pCur)/4;
|
||||||
|
pNew->vFlopClasses = Vec_IntAlloc( nRegs );
|
||||||
|
for ( i = 0; i < nRegs; i++ )
|
||||||
|
Vec_IntPush( pNew->vFlopClasses, Gia_AigerReadInt(pCur) ), pCur += 4;
|
||||||
|
assert( pCur == pCurTemp );
|
||||||
if ( fVerbose ) printf( "Finished reading extension \"f\".\n" );
|
if ( fVerbose ) printf( "Finished reading extension \"f\".\n" );
|
||||||
}
|
}
|
||||||
// read gate classes
|
// read gate classes
|
||||||
|
|
@ -1577,10 +1582,13 @@ void Gia_AigerWriteS( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, in
|
||||||
// write flop classes
|
// write flop classes
|
||||||
if ( p->vFlopClasses )
|
if ( p->vFlopClasses )
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
fprintf( pFile, "f" );
|
fprintf( pFile, "f" );
|
||||||
Gia_FileWriteBufferSize( pFile, 4*Gia_ManRegNum(p) );
|
Gia_FileWriteBufferSize( pFile, 4*(Vec_IntSize(p->vFlopClasses)+1) );
|
||||||
assert( Vec_IntSize(p->vFlopClasses) == Gia_ManRegNum(p) );
|
Gia_FileWriteBufferSize( pFile, Vec_IntSize(p->vFlopClasses) );
|
||||||
fwrite( Vec_IntArray(p->vFlopClasses), 1, 4*Gia_ManRegNum(p), pFile );
|
for ( i = 0; i < Vec_IntSize(p->vFlopClasses); i++ )
|
||||||
|
Gia_FileWriteBufferSize( pFile, Vec_IntEntry(p->vFlopClasses, i) );
|
||||||
|
if ( fVerbose ) printf( "Finished writing extension \"f\".\n" );
|
||||||
}
|
}
|
||||||
// write gate classes
|
// write gate classes
|
||||||
if ( p->vGateClasses )
|
if ( p->vGateClasses )
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue