Jump to content

MING1116

Members
  • Posts

    1
  • Joined

  • Last visited

MING1116's Achievements

Member

Member (1/2)

0

Reputation

  1. Hi, Recently in my design, I used the datatype "sc_biguint",since the simulation speed is slower than before. So, I found that I can modify the SC_MAX_NBTIS for faster speed. ./systemc-2.3.3/include/sysc/kernel/sc_constants.h // Maximum number of bits for arbitrary precision arithmetic. If // defined, the arithmetic becomes faster. If not defined, the // arithmetic becomes slower and the precision becomes infinite. It // is a good idea to define this constant as a multiple of // BITS_PER_DIGIT, which is defined in numeric_bit/sc_nbdefs.h. //#define SC_MAX_NBITS 510 // 17 * BITS_PER_DIGIT #define SC_MAX_NBITS 510 // 17 * BITS_PER_DIGIT But, after I define the SC_MAX_NBITS, compilation has some error showed up as follow. In file included from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/int/sc_signed.h:103:0, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_proxy.h:66, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_bit_proxies.h:34, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_bv_base.h:58, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_lv_base.h:69, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_lv.h:51, from /usr/cad/systemc/systemc-2.3.3/include/sysc/communication/sc_signal_rv.h:33, from /usr/cad/systemc/systemc-2.3.3/include/systemc:93, from /usr/cad/systemc/systemc-2.3.3/include/systemc.h:219, /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/int/sc_unsigned.h: In member function ‘sc_dt::sc_digit* sc_dt::sc_unsigned::get_raw() const’: /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/int/sc_unsigned.h:1081:37: error: invalid conversion from ‘const sc_digit* {aka const unsigned int*}’ to ‘sc_dt::sc_digit* {aka unsigned int*}’ [-fpermissive] sc_digit* get_raw() const { return digit; } ^~~~~ In file included from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_proxy.h:66:0, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_bit_proxies.h:34, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_bv_base.h:58, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_lv_base.h:69, from /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/bit/sc_lv.h:51, from /usr/cad/systemc/systemc-2.3.3/include/sysc/communication/sc_signal_rv.h:33, from /usr/cad/systemc/systemc-2.3.3/include/systemc:93, from /usr/cad/systemc/systemc-2.3.3/include/systemc.h:219, /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/int/sc_signed.h: In member function ‘sc_dt::sc_digit* sc_dt::sc_signed::get_raw() const’: /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/int/sc_signed.h:1177:11: error: invalid conversion from ‘const sc_digit* {aka const unsigned int*}’ to ‘sc_dt::sc_digit* {aka unsigned int*}’ [-fpermissive] { return digit; } ^~~~~ In file included from /usr/cad/systemc/systemc-2.3.3/include/systemc:106:0, from /usr/cad/systemc/systemc-2.3.3/include/systemc.h:219, /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/misc/sc_concatref.h: In member function ‘const sc_dt::sc_unsigned& sc_dt::sc_concatref::value() const’: /usr/cad/systemc/systemc-2.3.3/include/sysc/datatypes/misc/sc_concatref.h:258:52: error: incompatible types in assignment of ‘sc_dt::sc_digit* {aka unsigned int*}’ to ‘sc_dt::sc_digit [35] {aka unsigned int [35]}’ sizeof(sc_digit)*result_p->ndigits ); Is there any other setting I should modify, or any solution for this problem? Thank you. Note: GCC version = 7.3.1 Systemc version = 2.3.3
×
×
  • Create New...