summaryrefslogtreecommitdiffstats
path: root/src/base/cba/cbaCom.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/cba/cbaCom.c')
-rw-r--r--src/base/cba/cbaCom.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/base/cba/cbaCom.c b/src/base/cba/cbaCom.c
index 73c479d5..9229d876 100644
--- a/src/base/cba/cbaCom.c
+++ b/src/base/cba/cbaCom.c
@@ -172,7 +172,7 @@ int Cba_CommandRead( Abc_Frame_t * pAbc, int argc, char ** argv )
if ( (pFile = fopen( pFileName, "r" )) == NULL )
{
Abc_Print( 1, "Cannot open input file \"%s\". ", pFileName );
- if ( (pFileName = Extra_FileGetSimilarName( pFileName, ".v", ".blif", NULL, NULL, NULL )) )
+ if ( (pFileName = Extra_FileGetSimilarName( pFileName, ".v", ".blif", ".smt", ".cba", NULL )) )
Abc_Print( 1, "Did you mean \"%s\"?", pFileName );
Abc_Print( 1, "\n" );
return 0;
@@ -207,6 +207,17 @@ int Cba_CommandRead( Abc_Frame_t * pAbc, int argc, char ** argv )
p = Prs_ManBuildCba( pFileName, vDes );
Prs_ManVecFree( vDes );
}
+ else if ( !strcmp( Extra_FileNameExtension(pFileName), "smt" ) )
+ {
+ vDes = Prs_ManReadSmt( pFileName );
+ if ( vDes && Vec_PtrSize(vDes) )
+ p = Prs_ManBuildCba( pFileName, vDes );
+ Prs_ManVecFree( vDes );
+ }
+ else if ( !strcmp( Extra_FileNameExtension(pFileName), "cba" ) )
+ {
+ p = Cba_ManReadCba( pFileName );
+ }
else assert( 0 );
Cba_AbcUpdateMan( pAbc, p );
return 0;
@@ -268,6 +279,8 @@ int Cba_CommandWrite( Abc_Frame_t * pAbc, int argc, char ** argv )
Cba_ManWriteBlif( pFileName, p );
else if ( !strcmp( Extra_FileNameExtension(pFileName), "v" ) )
Cba_ManWriteVerilog( pFileName, p );
+ else if ( !strcmp( Extra_FileNameExtension(pFileName), "cba" ) )
+ Cba_ManWriteCba( pFileName, p );
else
{
printf( "Unrecognized output file extension.\n" );