summaryrefslogtreecommitdiffstats
path: root/demo.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-01-30 08:01:00 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2008-01-30 08:01:00 -0800
commit4d30a1e4f1edecff86d5066ce4653a370e59e5e1 (patch)
tree366355938a4af0a92f848841ac65374f338d691b /demo.c
parent6537f941887b06e588d3acfc97b5fdf48875cc4e (diff)
downloadabc-4d30a1e4f1edecff86d5066ce4653a370e59e5e1.tar.gz
abc-4d30a1e4f1edecff86d5066ce4653a370e59e5e1.tar.bz2
abc-4d30a1e4f1edecff86d5066ce4653a370e59e5e1.zip
Version abc80130
Diffstat (limited to 'demo.c')
-rw-r--r--demo.c181
1 files changed, 0 insertions, 181 deletions
diff --git a/demo.c b/demo.c
deleted file mode 100644
index de162409..00000000
--- a/demo.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/**CFile****************************************************************
-
- FileName [demo.c]
-
- SystemName [ABC: Logic synthesis and verification system.]
-
- PackageName [ABC as a static library.]
-
- Synopsis [A demo program illustrating the use of ABC as a static library.]
-
- Author [Alan Mishchenko]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - June 20, 2005.]
-
- Revision [$Id: demo.c,v 1.00 2005/11/14 00:00:00 alanmi Exp $]
-
-***********************************************************************/
-
-#include <stdio.h>
-#include <time.h>
-
-////////////////////////////////////////////////////////////////////////
-/// DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-// procedures to start and stop the ABC framework
-// (should be called before and after the ABC procedures are called)
-extern void Abc_Start();
-extern void Abc_Stop();
-
-// procedures to get the ABC framework and execute commands in it
-extern void * Abc_FrameGetGlobalFrame();
-extern int Cmd_CommandExecute( void * pAbc, char * sCommand );
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/**Function*************************************************************
-
- Synopsis [The main() procedure.]
-
- Description [This procedure compiles into a stand-alone program for
- DAG-aware rewriting of the AIGs. A BLIF or PLA file to be considered
- for rewriting should be given as a command-line argument. Implementation
- of the rewriting is inspired by the paper: Per Bjesse, Arne Boralv,
- "DAG-aware circuit compression for formal verification", Proc. ICCAD 2004.]
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-int main( int argc, char * argv[] )
-{
- // parameters
- int fUseResyn2 = 0;
- int fPrintStats = 1;
- int fVerify = 1;
- // variables
- void * pAbc;
- char * pFileName;
- char Command[1000];
- int clkRead, clkResyn, clkVer, clk;
-
- //////////////////////////////////////////////////////////////////////////
- // get the input file name
- if ( argc != 2 )
- {
- printf( "Wrong number of command-line arguments.\n" );
- return 1;
- }
- pFileName = argv[1];
-
- //////////////////////////////////////////////////////////////////////////
- // start the ABC framework
- Abc_Start();
- pAbc = Abc_FrameGetGlobalFrame();
-
-clk = clock();
- //////////////////////////////////////////////////////////////////////////
- // read the file
- sprintf( Command, "read %s", pFileName );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
-
- //////////////////////////////////////////////////////////////////////////
- // balance
- sprintf( Command, "balance" );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
-clkRead = clock() - clk;
-
- //////////////////////////////////////////////////////////////////////////
- // print stats
- if ( fPrintStats )
- {
- sprintf( Command, "print_stats" );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
- }
-
-clk = clock();
- //////////////////////////////////////////////////////////////////////////
- // synthesize
- if ( fUseResyn2 )
- {
- sprintf( Command, "balance; rewrite -l; refactor -l; balance; rewrite -l; rewrite -lz; balance; refactor -lz; rewrite -lz; balance" );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
- }
- else
- {
- sprintf( Command, "balance; rewrite -l; rewrite -lz; balance; rewrite -lz; balance" );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
- }
-clkResyn = clock() - clk;
-
- //////////////////////////////////////////////////////////////////////////
- // print stats
- if ( fPrintStats )
- {
- sprintf( Command, "print_stats" );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
- }
-
- //////////////////////////////////////////////////////////////////////////
- // write the result in blif
- sprintf( Command, "write_blif result.blif" );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
-
- //////////////////////////////////////////////////////////////////////////
- // perform verification
-clk = clock();
- if ( fVerify )
- {
- sprintf( Command, "cec %s result.blif", pFileName );
- if ( Cmd_CommandExecute( pAbc, Command ) )
- {
- fprintf( stdout, "Cannot execute command \"%s\".\n", Command );
- return 1;
- }
- }
-clkVer = clock() - clk;
-
- printf( "Reading = %6.2f sec ", (float)(clkRead)/(float)(CLOCKS_PER_SEC) );
- printf( "Rewriting = %6.2f sec ", (float)(clkResyn)/(float)(CLOCKS_PER_SEC) );
- printf( "Verification = %6.2f sec\n", (float)(clkVer)/(float)(CLOCKS_PER_SEC) );
-
- //////////////////////////////////////////////////////////////////////////
- // stop the ABC framework
- Abc_Stop();
- return 0;
-}
-