diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-07-21 17:55:44 +0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-07-21 17:55:44 +0700 |
commit | 9a2a0f2912e296e866ba220dce6ccf25018cf29b (patch) | |
tree | 54ea0dae7c4d13a67db0a7b509e738d1e50acb17 /src/aig/ssw/sswSim.c | |
parent | 515835579ede817bcab09ee67b32ff4f7acaae32 (diff) | |
download | abc-9a2a0f2912e296e866ba220dce6ccf25018cf29b.tar.gz abc-9a2a0f2912e296e866ba220dce6ccf25018cf29b.tar.bz2 abc-9a2a0f2912e296e866ba220dce6ccf25018cf29b.zip |
Changes to enable smarter simulation.
Diffstat (limited to 'src/aig/ssw/sswSim.c')
-rw-r--r-- | src/aig/ssw/sswSim.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/aig/ssw/sswSim.c b/src/aig/ssw/sswSim.c index 37fc16af..daee24ec 100644 --- a/src/aig/ssw/sswSim.c +++ b/src/aig/ssw/sswSim.c @@ -928,11 +928,11 @@ void Ssw_SmlInitialize( Ssw_Sml_t * p, int fInit ) void Ssw_SmlInitializeSpecial( Ssw_Sml_t * p, Vec_Int_t * vInit ) { Aig_Obj_t * pObj; - int Entry, i, k, nRegs; + int Entry, i, nRegs; nRegs = Aig_ManRegNum(p->pAig); assert( nRegs > 0 ); assert( nRegs <= Aig_ManPiNum(p->pAig) ); - assert( Vec_IntSize(vInit) == nRegs * p->nFrames ); + assert( Vec_IntSize(vInit) == nRegs * p->nWordsFrame ); // assign random info for primary inputs Saig_ManForEachPi( p->pAig, pObj, i ) Ssw_SmlAssignRandom( p, pObj ); @@ -982,8 +982,12 @@ int Ssw_SmlCheckNonConstOutputs( Ssw_Sml_t * p ) Aig_Obj_t * pObj; int i; Saig_ManForEachPo( p->pAig, pObj, i ) + { + if ( p->pAig->nConstrs && i >= Saig_ManPoNum(p->pAig) - p->pAig->nConstrs ) + return 0; if ( !Ssw_SmlNodeIsZero(p, pObj) ) return 1; + } return 0; } |