test05.cpp revision 12855:588919e0e4aa
1// test05.cpp - Concatenation test 2 3#include "systemc.h" 4#include "specialized_signals/scx_signal_int.h" 5#include "specialized_signals/scx_signal_signed.h" 6#include "specialized_signals/scx_signal_uint.h" 7#include "specialized_signals/scx_signal_unsigned.h" 8 9#define COMPARE( a, b ) \ 10{ \ 11 if ( a != b ) \ 12 { \ 13 cout << __FILE__ << "(" << __LINE__ << "): " << #a << " = " << \ 14 a << " " << #b << " = " << b << endl; \ 15 } \ 16} 17 18int sc_main( int argc, char* argv[] ) 19{ 20 sc_clock clock; 21 sc_bigint<8> sc_bigint_a; 22 sc_bigint<8> sc_bigint_b; 23 sc_biguint<8> sc_biguint_a; 24 sc_biguint<8> sc_biguint_b; 25 sc_int<8> sc_int_a; 26 sc_int<8> sc_int_b; 27 sc_uint<8> sc_uint_a; 28 sc_uint<8> sc_uint_b; 29 sc_signal<sc_bigint<8> > sig_sc_bigint_a; 30 sc_signal<sc_bigint<8> > sig_sc_bigint_b; 31 sc_signal<sc_biguint<8> > sig_sc_biguint_a; 32 sc_signal<sc_biguint<8> > sig_sc_biguint_b; 33 sc_signal<sc_int<8> > sig_sc_int_a; 34 sc_signal<sc_int<8> > sig_sc_int_b; 35 sc_signal<sc_uint<8> > sig_sc_uint_a; 36 sc_signal<sc_uint<8> > sig_sc_uint_b; 37 38 sc_bigint_a = "10101111"; 39 sc_biguint_a = "10101111"; 40 sc_int_a = "10101111"; 41 sc_uint_a = "10101111"; 42 43 ( sc_bigint_b, sc_biguint_b, sc_int_b, sc_uint_b ) = 44 ( sc_bigint_a, sc_biguint_a, sc_int_a, sc_uint_a ); 45 46 COMPARE( sc_bigint_a, sc_bigint_b ) 47 COMPARE( sc_biguint_a, sc_biguint_b ) 48 COMPARE( sc_int_a, sc_int_b ) 49 COMPARE( sc_uint_a, sc_uint_b ) 50 51 ( sig_sc_bigint_b, sig_sc_biguint_b, sig_sc_int_b, sig_sc_uint_b ) = 52 ( sc_bigint_a, sc_biguint_a, sc_int_a, sc_uint_a ); 53 54 sc_start(1, SC_NS); 55 COMPARE( sc_bigint_a, sig_sc_bigint_b ) 56 COMPARE( sc_biguint_a, sig_sc_biguint_b ) 57 COMPARE( sc_int_a, sig_sc_int_b ) 58 COMPARE( sc_uint_a, sig_sc_uint_b ) 59 60 sc_bigint_a = 128; 61 sc_biguint_a = 64; 62 sc_int_a = 128; 63 sc_uint_a = 64; 64 65 ( sc_bigint_b, sc_biguint_b, sc_int_b, sc_uint_b ) = 66 ( sc_int_a, sc_uint_a, sc_bigint_a, sc_biguint_a ); 67 68 COMPARE( sc_bigint_a, sc_bigint_b ) 69 COMPARE( sc_biguint_a, sc_biguint_b ) 70 COMPARE( sc_int_a, sc_int_b ) 71 COMPARE( sc_uint_a, sc_uint_b ) 72 73 sig_sc_bigint_a = 87; 74 sig_sc_biguint_a = 124; 75 sig_sc_int_a = 97; 76 sig_sc_uint_a = 72; 77 sc_start(1, SC_NS); 78 79 ( sig_sc_bigint_b, sig_sc_biguint_b, sig_sc_int_b, sig_sc_uint_b ) = 80 ( sig_sc_bigint_a, sig_sc_biguint_a, sig_sc_int_a, sig_sc_uint_a ); 81 sc_start(1, SC_NS); 82 COMPARE( sig_sc_bigint_a, sig_sc_bigint_b ) 83 COMPARE( sig_sc_biguint_a, sig_sc_biguint_b ) 84 COMPARE( sig_sc_int_a, sig_sc_int_b ) 85 COMPARE( sig_sc_uint_a, sig_sc_uint_b ) 86 87 COMPARE( 87, sig_sc_bigint_b ) 88 COMPARE( 124, sig_sc_biguint_b ) 89 COMPARE( 97, sig_sc_int_b ) 90 COMPARE( 72, sig_sc_uint_b ) 91 92 cerr << "Program completed" << endl; 93 return 0; 94} 95