Jump to content

sumit_tuwien

Members
  • Content count

    86
  • Joined

  • Last visited

  • Days Won

    5

sumit_tuwien last won the day on November 11 2013

sumit_tuwien had the most liked content!

About sumit_tuwien

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location
    Hamburg, Germany

Recent Profile Visitors

396 profile views
  1. Hello, I found that systemc fixed point outputs differ significantly when it is compared with Matlab fi of libfi outputs. I want to know that "is this know" or I am bringing out this topic for the first time. Note:: libfi matches closely with Matlab implementation. Regards, Sumit
  2. Hello, I found that systemc fixed point outputs differ significantly when it is compared with Matlab fi of libfi outputs. I want to know that "is this know" or I am bringing out this topic for the first time. Note:: libfi matches closely with Matlab implementation. Regards, Sumit
  3. Tracing for a class which inherits sc_object

    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
  4. Tracing for a class which inherits sc_object

    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.
  5. 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
  6. Traversing a custom object

    Got you. Thanks, Sumit
  7. Traversing a custom object

    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
  8. SystemC with noexcept (c++11)

    Hello Torsten, Thanks a lot for the detailed explanation. Regards, Sumit
  9. SystemC with noexcept (c++11)

    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
  10. problem with tb of fir filter

    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
  11. problem with tb of fir filter

    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
  12. 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
  13. Need API documentation of systemc 2.3

    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.
  14. All SC_METHOD() not running parallely

    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
  15. Hi Biplab, From SystemC 2.3.1 you can suspend/resume or enable/disable any process. Please check the latest LRM. Regards, Sumit
×