diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-11-09 21:17:44 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-11-09 21:17:44 -0800 |
commit | c6afb9db639b7ce0ac714e4e63e629b4c8bf1ac1 (patch) | |
tree | dbe61b94bc8596f650453ba1a7f727d6ae4cb71e /src/base/abci/abc.c | |
parent | 6cd66183e4304eb66805b8236642bf1f85cfa14f (diff) | |
download | abc-c6afb9db639b7ce0ac714e4e63e629b4c8bf1ac1.tar.gz abc-c6afb9db639b7ce0ac714e4e63e629b4c8bf1ac1.tar.bz2 abc-c6afb9db639b7ce0ac714e4e63e629b4c8bf1ac1.zip |
Equivalent fault detection code.
Diffstat (limited to 'src/base/abci/abc.c')
-rw-r--r-- | src/base/abci/abc.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 953a6c6a..b1c81cd5 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -7237,21 +7237,28 @@ usage: ***********************************************************************/ int Abc_CommandDetect( Abc_Frame_t * pAbc, int argc, char ** argv ) { - extern void Abc_NtkDetectClassesTest( Abc_Ntk_t * pNtk, int fSeq, int fVerbose ); + extern void Abc_NtkDetectClassesTest( Abc_Ntk_t * pNtk, int fSeq, int fVerbose, int fVeryVerbose ); + extern void Abc_NtkGenFaultList( Abc_Ntk_t * pNtk, char * pFileName ); Abc_Ntk_t * pNtk; - int c, fSeq = 0, fVerbose = 0; + int c, fGen = 0, fSeq = 0, fVerbose = 0, fVeryVerbose = 0; pNtk = Abc_FrameReadNtk(pAbc); Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "svh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "gsvwh" ) ) != EOF ) { switch ( c ) { + case 'g': + fGen ^= 1; + break; case 's': fSeq ^= 1; break; case 'v': fVerbose ^= 1; break; + case 'w': + fVeryVerbose ^= 1; + break; case 'h': goto usage; default: @@ -7268,14 +7275,22 @@ int Abc_CommandDetect( Abc_Frame_t * pAbc, int argc, char ** argv ) Abc_Print( -1, "Only applicable to a logic network.\n" ); return 1; } - Abc_NtkDetectClassesTest( pNtk, fSeq, fVerbose ); + if ( fGen ) + { + char * pFileName = Extra_FileNameGenericAppend(Abc_NtkSpec(pNtk), "_faults.txt"); + Abc_NtkGenFaultList( pNtk, pFileName ); + } + else + Abc_NtkDetectClassesTest( pNtk, fSeq, fVerbose, fVeryVerbose ); return 0; usage: - Abc_Print( -2, "usage: detect [-svh]\n" ); + Abc_Print( -2, "usage: detect [-gsvwh]\n" ); Abc_Print( -2, "\t detects properties of internal nodes\n" ); + Abc_Print( -2, "\t-g : toggle generating fault list for the given network [default = %s]\n", fGen? "yes": "no" ); Abc_Print( -2, "\t-s : toggle using sequential circuit information [default = %s]\n", fSeq? "yes": "no" ); Abc_Print( -2, "\t-v : toggle verbose printout [default = %s]\n", fVerbose? "yes": "no" ); + Abc_Print( -2, "\t-w : toggle printing equivalence classes [default = %s]\n", fVeryVerbose? "yes": "no" ); Abc_Print( -2, "\t-h : print the command usage\n"); return 1; } |