// ************************************************************************** //
//                                                                            //
//    eses                   eses                                             //
//   eses                     eses                                            //
//  eses    eseses  esesese    eses   Embedded Systems Group                  //
//  ese    ese  ese ese         ese                                           //
//  ese    eseseses eseseses    ese   Department of Computer Science          //
//  eses   eses          ese   eses                                           //
//   eses   eseses  eseseses  eses    University of Kaiserslautern            //
//    eses                   eses                                             //
//                                                                            //
// ************************************************************************** //
// This is a test bench to verify module FullSubBCWord by checking all inputs.//
// ************************************************************************** //
    
package latex.QuartzLRM.Experiments.Arithmetic;
import examples.Algorithms.Arithmetic.RadixB.*;

macro B = 8;

module TestIntFullSub(nat{B} cout,nat{B} s,event rdy) {
    event nat{B} x,y,
    event nat{2} cin;
    for(i=0..B-1)
        for(j=0..B-1)
            for(k=0..1) {
                x = i;
                y = j;
                cin = k;
                IntFullSub(x,y,cin,cout,s);
                pause;
            }
    emit(rdy);
}
drivenby {
    await(rdy);
}