summaryrefslogtreecommitdiffstats
path: root/src/aig
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2011-02-03 22:11:47 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2011-02-03 22:11:47 -0800
commite5fb4fe55000fe5256420975ddbe5de79095f3be (patch)
tree0778fdb5b680ccef8792f99960831c9da8ac0bf5 /src/aig
parente6f874477709536c246417583c60d386658dcc49 (diff)
downloadabc-e5fb4fe55000fe5256420975ddbe5de79095f3be.tar.gz
abc-e5fb4fe55000fe5256420975ddbe5de79095f3be.tar.bz2
abc-e5fb4fe55000fe5256420975ddbe5de79095f3be.zip
Added writing signal names in AIGER writer for GIA package.
Diffstat (limited to 'src/aig')
-rw-r--r--src/aig/gia/giaAiger.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/aig/gia/giaAiger.c b/src/aig/gia/giaAiger.c
index e201cbb9..07b81a86 100644
--- a/src/aig/gia/giaAiger.c
+++ b/src/aig/gia/giaAiger.c
@@ -887,6 +887,22 @@ void Gia_WriteAiger( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int
fwrite( pBuffer, 1, Pos, pFile );
ABC_FREE( pBuffer );
+ // write the symbol table
+ if ( p->vNamesIn && p->vNamesOut )
+ {
+ assert( Vec_PtrSize(p->vNamesIn) == Gia_ManCiNum(p) );
+ assert( Vec_PtrSize(p->vNamesOut) == Gia_ManCoNum(p) );
+ // write PIs
+ Gia_ManForEachPi( p, pObj, i )
+ fprintf( pFile, "i%d %s\n", i, Vec_PtrEntry(p->vNamesIn, i) );
+ // write latches
+ Gia_ManForEachRo( p, pObj, i )
+ fprintf( pFile, "l%d %s\n", i, Vec_PtrEntry(p->vNamesIn, Gia_ManPiNum(p) + i) );
+ // write POs
+ Gia_ManForEachPo( p, pObj, i )
+ fprintf( pFile, "o%d %s\n", i, Vec_PtrEntry(p->vNamesOut, i) );
+ }
+
// write the comment
fprintf( pFile, "c" );
// write equivalences