Ejemplo n.º 1
0
int main(void)
{ 
    if( test(-1) != 1 ) fail( __LINE__ );
    if( test(0) != 1 ) fail( __LINE__ );
    if( test(1) != 1 ) fail( __LINE__ );
    if( u_test(-1) != 1 ) fail( __LINE__ );
    if( u_test(0) != 1 ) fail( __LINE__ );
    if( u_test(1) != 1 ) fail( __LINE__ );
    if( a_test(-2) != 1 ) fail( __LINE__ );
    if( a_test(-1) != 1 ) fail( __LINE__ );
    if( a_test(0) != 1 ) fail( __LINE__ );
    if( b_test(INT_MIN+1) != 1 ) fail( __LINE__ );
    if( b_test(INT_MIN) != 1 ) fail( __LINE__ );
    if( b_test(INT_MAX) != 1 ) fail( __LINE__ );
    if( c_test(INT_MAX-1) != 1 ) fail( __LINE__ );
    if( c_test(INT_MAX) != 1 ) fail( __LINE__ );
    if( c_test(INT_MIN) != 1 ) fail( __LINE__ );
    if( d_test(INT_MAX-1) != 1 ) fail( __LINE__ );
    if( d_test(INT_MAX) != 1 ) fail( __LINE__ );
    if( d_test(2) != 1 ) fail( __LINE__ );
    if( e_test(INT_MIN+1) != 1 ) fail( __LINE__ );
    if( e_test(INT_MIN) != 1 ) fail( __LINE__ );
    if( e_test(INT_MAX) != 1 ) fail( __LINE__ );
    if( f_test(INT_MAX-1) != 1 ) fail( __LINE__ );
    if( f_test(INT_MAX) != 1 ) fail( __LINE__ );
    if( f_test(INT_MIN) != 1 ) fail( __LINE__ );
    _PASS;
} 
Ejemplo n.º 2
0
int sc_main(int argc, char** argv)
{
  sc_clock                clk("clk", 25, SC_NS, 0.5, 12.5, SC_NS, true);
  sc_signal<bool>         rst;

  sc_signal<sc_uint<16> > idata;
  sc_signal<sc_uint<4> > odata;
     

   adpcm u_ADPCM("ADPCM");
   test_adpcm u_test("test_ADPCM");

   //connect ADPCM to test module
   u_ADPCM.clk( clk );
   u_ADPCM.rst( rst );
   u_ADPCM.idata( idata );

   u_ADPCM.odata( odata );
 
  // connect to test bench
  u_test.clk( clk );
  u_test.rst( rst );
  u_test.idata( idata );

  u_test.odata( odata );

   sc_start();
    
	return 0;

};
Ejemplo n.º 3
0
int sc_main(int argc, char** argv)
{
  sc_clock                clk("clk", 25, SC_NS, 0.5, 12.5, SC_NS, true);
  sc_signal<bool>         rst;

  sc_signal<  bool >         input_ready;
  sc_signal< sc_int<16>  >   input_coef;
  sc_signal< sc_uint<6>  >   input_quant;

  sc_signal< bool >         output_start;
  sc_signal< sc_uint<8>  >  output_sample;
  sc_signal< sc_uint<3> >   output_row;
  sc_signal< sc_uint<3> >   output_col;


   idct u_IDCT("IDCT");
   test_idct u_test("test_IDCT");

   //connect IDCT to test module
   u_IDCT.clk( clk );
   u_IDCT.rst( rst );
 
  u_IDCT.input_ready( input_ready );
  u_IDCT.input_coef( input_coef );
  u_IDCT.input_quant( input_quant );

  u_IDCT.output_start( output_start );
  u_IDCT.output_sample( output_sample );
  u_IDCT.output_row( output_row );
  u_IDCT.output_col( output_col );
 
  // connect to testbench
   u_test.clk( clk );
   u_test.rst( rst );
 
  u_test.input_ready( input_ready );
  u_test.input_coef( input_coef );
  u_test.input_quant( input_quant );

  u_test.output_start( output_start );
  u_test.output_sample( output_sample );
  u_test.output_row( output_row );
  u_test.output_col( output_col );


#ifdef WAVE_DUMP
  // Trace files
  sc_trace_file* trace_file = sc_create_vcd_trace_file("trace_behav");

  // Top level signals
  sc_trace(trace_file, clk              , "clk");
  sc_trace(trace_file, rst              , "rst");
 
   sc_trace(trace_file, input_ready     , "input_ready"); 
   sc_trace(trace_file, input_coef      , "input_coef");
   sc_trace(trace_file, input_quant      , "input_quant");

   sc_trace(trace_file, output_start    , "output_start"); 
   sc_trace(trace_file, output_sample   , "output_sample");
   sc_trace(trace_file, output_row      , "output_row");
   sc_trace(trace_file, output_col      , "output_col");
 

#endif  // End WAVE_DUMP


  sc_start( 25, SC_NS );
  rst.write(0);

  sc_start( 25, SC_NS );
  rst.write(1);

  sc_start();

#ifdef WAVE_DUMP
   sc_close_vcd_trace_file(trace_file);
#endif

    return 0;

};
Ejemplo n.º 4
0
int sc_main(int argc, char** argv)
{
  sc_clock                clk("clk", 25, SC_NS, 0.5, 12.5, SC_NS, true);
  sc_signal<bool>         rst;

   sc_signal<bool> load_coeff;  
   sc_signal < sc_fixed<19,2,SC_RND,SC_SAT> > indata;

   sc_signal< sc_fixed<17,2,SC_RND,SC_SAT> > incoef1[TAPS_STAGE1] ;
   sc_signal< sc_fixed<17,2,SC_RND,SC_SAT> > incoef2[TAPS_STAGE2] ;
   sc_signal< sc_fixed<17,2,SC_RND,SC_SAT> > incoef3[TAPS_STAGE3] ;
   sc_signal< sc_fixed<17,2,SC_RND,SC_SAT> > incoef4[TAPS_STAGE4] ;
   sc_signal< sc_fixed<17,2,SC_RND,SC_SAT> > incoef5[TAPS_STAGE5] ;
 
   sc_signal < sc_fixed<19, 2, SC_RND, SC_SAT> > odata;

  int x;
  char name[10];


  decfilt u_DECIM("DECIMATION");
  test_decim u_test("test_DECIMATION");

  //connect decimation filter to testbench
  u_DECIM.clk( clk );
  u_DECIM.rst( rst );

  u_DECIM.load_coeff ( load_coeff );
  u_DECIM.indata ( indata );

  for(x=0; x < TAPS_STAGE1; x++){
    u_DECIM.incoef1[x]( incoef1[x] );
  }

  for(x=0; x < TAPS_STAGE2; x++){
    u_DECIM.incoef2[x]( incoef2[x] );
  }

  for(x=0; x < TAPS_STAGE3; x++){
    u_DECIM.incoef3[x]( incoef3[x] );
  }

  for(x=0; x < TAPS_STAGE4; x++){
    u_DECIM.incoef4[x]( incoef4[x] );
  }


  for(x=0; x < TAPS_STAGE5; x++){
    u_DECIM.incoef5[x]( incoef5[x] );
  }

  u_DECIM.odata( odata );



  // connect to testbench
  u_test.clk( clk );
  u_test.rst( rst );
  
  u_test.load_coeff ( load_coeff );
  u_test.indata ( indata );

  for(x=0; x < TAPS_STAGE1; x++){
    u_test.incoef1[x]( incoef1[x] );
  }

  for(x=0; x < TAPS_STAGE2; x++){
    u_test.incoef2[x]( incoef2[x] );
   }

  for(x=0; x < TAPS_STAGE3; x++){
    u_test.incoef3[x]( incoef3[x] );
  }

  for(x=0; x < TAPS_STAGE4; x++){
    u_test.incoef4[x]( incoef4[x] );
  }

  for(x=0; x < TAPS_STAGE5; x++){
    u_test.incoef5[x]( incoef5[x] );
  }

  u_test.odata( odata );


  sc_start();
    return 0;

};
Ejemplo n.º 5
0
int main(int argc, char **argv)
{
  URL foo("http://*****:*****@example.com:8080/special/test.html?foo=bar&bar=baz#anchor");
  u_test(foo, "http", "example.com", "8080", "/special/test.html", "me:pa$$word", "foo=bar&bar=baz", "anchor");
  foo.load("mailto:[email protected]");
  u_test(foo, "mailto", "", "25", "*****@*****.**");
  foo.load("user:[email protected]");
  u_test(foo, "http", "best.com", "80", "", "user:pass");
  foo.load("user:[email protected]:9090");
  u_test(foo, "http", "best.com", "9090", "", "user:pass");
  foo.load("zarf");
  u_test(foo, "http", "zarf", "80");
  foo.load("zarf@intranet");
  u_test(foo, "http", "intranet", "80", "", "zarf");
  foo.load("http://www.vixen.com");
  u_test(foo, "http", "www.vixen.com", "80");
  foo.load("http://www.vixen.com/quickie.html");
  u_test(foo, "http", "www.vixen.com", "80", "/quickie.html");
  foo.load("http://www/quickie.html");
  u_test(foo, "http", "www", "80", "/quickie.html");
  foo.load("file:///home/mrs");
  u_test(foo, "file", "", "", "/home/mrs");
  foo.load("ftp://[email protected]/pub/00README.TXT");
  u_test(foo, "ftp", "vixen.com", "21", "/pub/00README.TXT", "mrs");
  foo.load("http://www.example.com:8080");
  u_test(foo, "http", "www.example.com", "8080");
  foo.load("/quickie.cgi");
  u_test(foo, "http", "", "80", "/quickie.cgi");

  foo.load("http://*****:*****@example.com:8080/special/test.html?foo=bar&bar=baz#anchor");
  foo.dump();

  return 0;
}