sumit_tuwien

Members
  • Content count

    84
  • Joined

  • Last visited

About sumit_tuwien

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location
    Hamburg, Germany

Recent Profile Visitors

288 profile views
  1. Actually not. I am trying to create my own custom data types which can be used in a module (for some particular reason) or channel or anywhere else. I want to benefit maximally from these data types by making them visible to tracing mechanism. The detail implementation of these datatypes has not been shown for confidentiality reasons. Regards, Sumit
  2. Hello Ameya, I tried earlier this way and it did not work. In fact I need to register this with any kind of tracing (for EDA vendor specific too). With your solution it does not work too.
  3. Hello All, I wrote a class as follows: # ifndef ALLESGUTE_H_ # define ALLESGUTE_H_ # include <cstdint> # include <systemc> template < typename T > class allesGute final : public sc_core::sc_object { private : T vData ; T someOtherVData ; public : explicit allesGute(const char* name_) : sc_core::sc_object { name_ } , vData { 0 } {} const char* kind() const override { return "allesGute" ; } // Helpers : T read() const { return vData ; } void write(const T& var_) { vData = var_ ; } ~allesGute() final = default ; allesGute(const allesGute& other) = delete ; allesGute& operator=(const allesGute& other) = delete ; allesGute(allesGute&& other) = delete ; allesGute&& operator=(allesGute&& other) = delete ; }; # endif How shall I register vData with tracing system ? Thanks in advance, Regards, Sumit
  4. Got you. Thanks, Sumit
  5. Hello All, For a class class mClass final : public sc_core::sc_module { public : sc_core::sc_in < T > thisInp ; }; I can use sc_core::sc_find_object("AllesKlar") to do a hierarchy traversing and can find out thisInp. How easy or how difficult to use sc_core::sc_find_object("AllesKlar") to find a custom defined class like as follows: class allesGute ; class mClass final : public sc_core::sc_module { public : allesGute < T > thisGute ; }; How do I register my custom object with systemc kernel ? Regards, Sumit
  6. Hello Torsten, Thanks a lot for the detailed explanation. Regards, Sumit
  7. Hello All, I want to understand usage of noexcept with SystemC. I read that using noexcept will provide me performance benefits! My doubt is how shall I label a member function noexcept, if it is using a SystemC or a library which throws. Following piece of code is self explanatory and needs assistance on correct usage of noexcept. # ifndef MYNOEXCEPTSCCLASS_H_ # define MYNOEXCEPTSCCLASS_H_ # include <systemc> # include <aLibraryThatThrows> template < typename Tinp , typename Tout > class myNoExceptSCClass : public sc_core::sc_module { private : static Tinp correctVersionForSure() { std::throw "Throwing for fun!" ; } void isThisCorrectVersion1() noexcept { sigOut.write(sigInp.read()); } void isThisCorrectVersion2() { sigOut.write(sigInp.read()); } void isThisCorrectVersion3() noexcept { sigOut.write(aLibraryThatThrows::functionThatThrows()); } void isThisCorrectVersion4() { sigOut.write(aLibraryThatThrows::functionThatThrows()); } public : sc_core::sc_in < Tinp > sigInp ; sc_core::sc_out < Tout > sigOut ; SC_HAS_PROCESS (myNoExceptSCClass) ; explicit myNoExceptSCClass (const sc_core::sc_module_name moduleName_) : sc_core::sc_module (moduleName_) , sigInp ("sigInp") , sigOut ("sigOut") { // Regular Stuffs } ~myNoExceptSCClass() final = default ; myNoExceptSCClass& operator=(const myNoExceptSCClass& other) = delete ; myNoExceptSCClass(const myNoExceptSCClass& other) = delete ; }; # endif Thanks in advance. Regards, Sumit
  8. I tried many examples and they worked . Can you compiled the files and tell me if they worked or not ? I compiled and ran it. It works. Can you do a test ? Can you please create the clk_sig in sc_main and stitch it into the test bench and see if it runs ? Regards, Sumit
  9. Hello, I also do not see any problem. Looks like an issue with environment setup. By the way did you enable c++11 flags ? Regards, Sumit
  10. Hello, I want to create a custom data type which needs to access sc_time_stamp() for some reason. Is there any elegant way to do this ? Regards, Sumit
  11. Dear Avik, We all respected elders would like to be extremely kind to you and recommend you to download latest SystemC LRM from accellera.org site for complete API list. Blessings, Sumit P.S :: Please take that as humor and get used to call us by our names.
  12. Hi Biplab, This is wrong! Each SC_METHOD will be written as follows : SC_METHOD(rxProcess_local); sensitive << reset << clock.pos() ; Also I would expect that the reset will be either posedge or negedge triggered, and hence it should look like : SC_METHOD(rxProcess_local); sensitive << reset.neg() << clock.pos() ; If you do not want the methods to be initialized at t=0 then it has to be : SC_METHOD(rxProcess_local); sensitive << reset.neg() << clock.pos() ; dont_initialize(); Regards, Sumit
  13. Hi Biplab, From SystemC 2.3.1 you can suspend/resume or enable/disable any process. Please check the latest LRM. Regards, Sumit
  14. Hi Biplab, Please consider using sc_core::sc_stop() from the place where you want to stop the simulation. Regards, Sumit
  15. Hello, Please replace all the caps defined as for example C1 = new sca_eln::sca_c("C1",1.0); with C1 = new sca_eln::sca_c("C1",1.0, sca_util::SCA_UNDEFINED); and then try again Regards, Sumit