GreenConfig FAQ

GreenConfig Frequently asked Questions

Please add questions here!!


Problem: Simulation reports "getting failed"

Solution:

  • Does the parameter (already) exist?
  • Is it already an explicit parameter?
  • Is the name correct? Do not use the C variable name but the hierarchical instance name of the parameter.


Problem: I am trying to get a Config API from a not-sc_module.

myfile.cpp:27: error: no matching function for call to `gs::cnf::GCnf_Api_t<gs::cnf::gs_param_base, gs::cnf::GCnf_private_Api, gs::cnf::gs_param>::getApiInstance(my_class_not_being_sc_module*)' /myfiles/greencontrol/gcnf/apis/GCnf_Api/GCnf_Api_t.h:152: note: candidates are: static gs::cnf::cnf_api* gs::cnf::GCnf_Api_t<gs_param_base_T, GCnf_private_Api_TMPL, gs_param_T>::getApiInstance(sc_core::sc_module*) [with gs_param_base_T = gs::cnf::gs_param_base, GCnf_private_Api_TMPL = gs::cnf::GCnf_private_Api, gs_param_T = gs::cnf::gs_param]

Solution:

  • call getApiInstance(NULL) instead.
    • Beware that you will get the default API and not any special (or private) API


Problem: Compile error with SystemC 2.1 /cad/tools/boost/boost/type_traits/is_integral.hpp:60: error: ‘ulong_long_type’ is not a member of ‘boost’

Solution:

  • You need to include #include <boost/config.hpp> before including SystemC 2.1! GreenControl does this automatically, do it manually if you include SystemC by yourself or any other framework includes it.