zareie.ehsan Posted October 12, 2013 Report Posted October 12, 2013 I wanna take an 4digit integer value and make the equivalent BCD value. I try this code but it has an error at red line error: 'decimal' : no appropriate default constructor available it mean the class constructor? is the constructor of class decimal wrong? class decimal { public: sc_int<4> dec0; sc_int<4> dec1; sc_int<4> dec2; sc_int<4> dec3; decimal(sc_int<4> d0,sc_int<4> d1,sc_int<4> d2,sc_int<4> d3) { dec3=d3; dec2=d2; dec1=d1; dec0=d0; } SC_MODULE (seprate_digit) { sc_in <sc_int<16>> in; sc_in <bool> clk; sc_out <decimal> d; decimal dtmp; SC_CTOR (seprate_digit) { SC_METHOD(process3); sensitive << in; } void process3() { /// } }; Annossyenudge 1 Quote
maehne Posted October 15, 2013 Report Posted October 15, 2013 Your question is more C++ than SystemC-related. I suggest you to read a good introduction book to C++! Your class decimal is not default constructible, as you have defined a constructor, which takes 4 arguments. Either provide a also default destructor without any arguments or provide default values to all four of its current arguments. In your module seprate_digit, you should also initialize all member variables via the initializer list of the constructor to give names to the ports in, clk, and d as well as maybe initialize you dtmp. Philipp A Hartmann 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.