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; }
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; };
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; };
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; };
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; }