ADDER4_sync.nsl


/* ************************************************************ */
declare ADDER4_sync {

    input       A_in[4] ;           // Add value input. Port-A
    input       B_in[4] ;           // Add value input. Port-B
    output      Q_out[4] ;          // Add result out

    func_in     exec( A_in, B_in ) ;// Add function execution request with parameter.
    func_out    done( Q_out ) ;     // Add function complete acknowledge with parameter.

}

/* ************************************************************ */
// Declare module
module ADDER4_sync {
    reg         reg_Q[4] = 4'b0000 ;// Declare register with initial value.

    proc_name   adder_finish(reg_Q) ;

/* ************************************************************ */
// Internal operation signals
//  {
//      Q_out   = reg_Q ;
//  }

/* ************************************************************ */
// Pallarel equation

/* ************************************************************ */
// Function independent equation
    func    exec {
        reg_Q := A_in + B_in ;
        adder_finish() ;
    }

    proc    adder_finish {
        done(reg_Q) ;
        finish ;
    }

}
/* ************************************************************ */
PAGE TOP