From 4d30a1e4f1edecff86d5066ce4653a370e59e5e1 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 30 Jan 2008 08:01:00 -0800 Subject: Version abc80130 --- demo.c | 181 ----------------------------------------------------------------- 1 file changed, 181 deletions(-) delete mode 100644 demo.c (limited to 'demo.c') 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 -#include - -//////////////////////////////////////////////////////////////////////// -/// 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; -} - -- cgit v1.2.3