diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2018-12-04 23:04:13 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2018-12-04 23:04:13 -0800 |
commit | 65b10c0327ce232ba999d51d00a52db53d52bea0 (patch) | |
tree | 72bc9d8f7a8a8455d1249a78159e59bc32b1f25b /src/base/wln/wlnNdr.c | |
parent | 163bba53e0a547dbed5e5bc5d2aa4a0d22435813 (diff) | |
download | abc-65b10c0327ce232ba999d51d00a52db53d52bea0.tar.gz abc-65b10c0327ce232ba999d51d00a52db53d52bea0.tar.bz2 abc-65b10c0327ce232ba999d51d00a52db53d52bea0.zip |
Experiments with retiming.
Diffstat (limited to 'src/base/wln/wlnNdr.c')
-rw-r--r-- | src/base/wln/wlnNdr.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/base/wln/wlnNdr.c b/src/base/wln/wlnNdr.c index c87100a2..5daee6a7 100644 --- a/src/base/wln/wlnNdr.c +++ b/src/base/wln/wlnNdr.c @@ -268,7 +268,8 @@ Wln_Ntk_t * Wln_NtkFromNdr( void * pData ) assert( i == Vec_PtrSize(vConstStrings) ); Vec_PtrFree( vConstStrings ); //Ndr_NtkPrintObjects( pNtk ); - //Wln_WriteVer( pNtk, "temp_ndr.v", 0, 0 ); + Wln_WriteVer( pNtk, "temp_ndr.v" ); + printf( "Dumped design \"%s\" into file \"temp_ndr.v\".\n", pNtk->pName ); // derive topological order pNtk = Wln_NtkDupDfs( pTemp = pNtk ); Wln_NtkFree( pTemp ); @@ -313,8 +314,18 @@ void Wln_NtkRetimeTest( char * pFileName ) Wln_Ntk_t * pNtk = Wln_NtkFromNdr( pData ); Ndr_Delete( pData ); if ( !Wln_NtkHasInstId(pNtk) ) + { + int iObj; printf( "The design has no delay information.\n" ); - else + Wln_NtkCleanInstId(pNtk); + Wln_NtkForEachObj( pNtk, iObj ) + if ( Wln_ObjIsFf(pNtk, iObj) ) + Wln_ObjSetInstId( pNtk, iObj, 1 ); + else if ( !Wln_ObjIsCio(pNtk, iObj) && Wln_ObjFaninNum(pNtk, iObj) > 0 ) + Wln_ObjSetInstId( pNtk, iObj, 10 ); + printf( "Assuming user-specified delays for internal nodes.\n" ); + } + //else { Vec_Int_t * vMoves = Wln_NtkRetime( pNtk ); Vec_IntPrint( vMoves ); |