Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


AmeyaVS last won the day on November 19

AmeyaVS had the most liked content!


About AmeyaVS

  • Rank
    Advanced Member
  • Birthday 02/28/1989

Contact Methods

  • Skype

Profile Information

  • Gender
    Not Telling
  • Location

Recent Profile Visitors

1,384 profile views
  1. AmeyaVS

    Scope of SC_HAS_PROCESS

    Hello @Hook, The "systemc.h" header file actually include the "systemc" header, if you look at the source. Note: Reproduced below a section of the systemc.h header from SystemC release 2.3.3 202 using std::memset; 203 using std::strerror; 204 using std::strlen; 205 206 // deprecated strstream support 207 #if defined( SC_INCLUDE_STRSTREAM ) 208 #include <strstream> 209 210 using std::strstream; 211 using std::strstreambuf; 212 using std::istrstream; 213 using std::ostrstream; 214 215 #endif // SC_INCLUDE_STRSTREAM 216 217 // INCLUDE SYSTEMC DEFINITIONS for sc_dt AND sc_core NAMESPACES: 218 219 #include "systemc" 220 221 // USINGS FOR THE sc_dt NAMESPACE: 222 223 using sc_dt::SC_BIN; 224 using sc_dt::SC_BIN_SM; 225 using sc_dt::SC_BIN_US; But it also exports the symbols from the SystemC sc_core and sc_dt namespace in the global scope(as evident from the above snippet). You can find relevant discussion here: https://stackoverflow.com/questions/10269012/global-scope-vs-global-namespace https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice It is generally considered a bad C++ coding guideline to export everything in the global scope. Hope it helps. Regards, Ameya Vikram Singh
  2. AmeyaVS

    What is SystemC library special in?

    Hello @Elvis Shera, The G++ Compiler 7.3.0 by default enables C++14, and your SystemC library is build using C++14 standard. You can change the line in your CMakeLists.txt to be: set(CMAKE_CXX_STANDARD 14) # enable C++14 standard and it should work now. Hope this helps. Regards, Ameya Vikram Singh
  3. AmeyaVS

    What is SystemC library special in?

    Hello @Elvis Shera, It seems your SystemC library has been build with different C++ standard flag. Can you post the output of following commands?: # Compiler version you are using g++ -v # Library Properties: nm -C $SYSTEMC_HOME/lib-linux64/libsystemc.so | grep api_version Regards, Ameya Vikram Singh
  4. AmeyaVS

    What is SystemC library special in?

    Hello @Elvis Shera, It seems the following line seems suspicious: The compiler flag -c is only required by gcc to create object files from translation units. Here's a quote from gcc documentation: For example, the -c option says not to run the linker. Then the output consists of object files output by the assembler. Try removing the option -c and try again. CMake would already handle the scenario internally. Hope this helps. Regards, Ameya Vikram Singh
  5. AmeyaVS

    What is SystemC library special in?

    Hello @Elvis Shera, Can you post the CMakeLists.txt you have for your example? It would be easier to suggest a solution. But If you want to take a look at minimal example of using CMake throughout for SystemC library, as well as building models you can have a look here: https://github.com/AmeyaVS/SystemC_ramblings/tree/master/src/01_SystemCTest Though to be honest it has been sometime since I have updated these, but basic concept are same. Hope it helps. Regards, Ameya Vikram Singh
  6. Hello @kallooran, Try setting the environment variable LD_LIBRARY_PATH as mentioned below: export LD_LIBRARY_PATH=$SYSTEMC_HOME/lib-linux64 # or this if the library containing the libsystemc.so is under $SYSTEMC_HOME/lib # export LD_LIBRARY_PATH=$SYSTEMC_HOME/lib Also what is the command line used to build the project? (Example as mentioned below) # e.g.: # Compilation $ g++ -Wall -g -I$SYSTEMC_HOME/include -c main.cpp # Linking $ g++ main.o -L$SYSTEMC_HOME/lib-linux64 -o sim -lsystemc Hope it helps. Regards, Ameya Vikram Singh
  7. Hello @kallooran, Can you post the command line you are using to build your models with? Also, if possible share the following environment variable also: echo $SYSTEMC_HOME echo $LD_LIBRARY_PATH Currently with the title above is not enough to provide an educated guess about the environment you are using. Regards, Ameya Vikram Singh
  8. Hello @kallooran, What version of SystemC library are you using? This issue has been fixed in the release of SystemC-2.3.2. You can find the latest release of SystemC-2.3.3 here: http://accellera.org/downloads/standards/systemc Hope it helps. Regards, Ameya Vikram Singh
  9. AmeyaVS

    Sensitive List

    Hello @Aaron Yang, The sc_fixed is a datatype, which is evident from the error message you are getting: sc_dt::sc_fixed<16, 2> ^ | This denotes the sc_fixed is from the sc_datatype namespace. As @Roman Popov has mentioned in his answer you cannot make the process sensitive to a non-channel variable. Changing the line: sc_vector<sc_fixed<din_size, din_int>> in_val{"in_val", din_num_samples}; To: sc_vector<sc_signal<sc_fixed<din_size, din_int> > > in_val{"in_val", din_num_samples}; // or this // since it is not clear where the fir_main thread exists. sc_vector<sc_in<sc_fixed<din_size, din_int> > > in_val{"in_val", din_num_samples}; //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // For this you will need to bind it with sc_vector of sc_signals of the datatype // sc_fixed< > type at the parent level module. At the core of the implementation the SystemC sensitive only takes in only sc_events. As for the overload it is better to create a utility header for development purposes which you can include in your project for development purposes. Better not to disturb the systemc.h header file inadvertently making it unusable due to bad edits. Hope this helps. Regards, Ameya Vikram Singh
  10. AmeyaVS

    Behavioral XOR Gate with Delay

    Hello @re1418ma, You can look at this example: http://forums.accellera.org/topic/5678-clock-to-q-propagation-delay/?do=findComment&comment=13657 Or this one which shows how to add delay in full adder: http://forums.accellera.org/topic/5715-delaying-simulated-execution/?do=findComment&comment=13844 Hope it helps. Regards, Ameya Vikram Singh
  11. AmeyaVS

    Behavioral XOR Gate with Delay

    Hello @re1418ma, This has been already discussed before here: http://forums.accellera.org/topic/5715-delaying-simulated-execution/ Hope it helps and if you have further questions please feel to ask. Regards, Ameya Vikram Singh
  12. Hello @Philipp A Hartmann, It seems to be an issue with this test scenario.(systemc/1666-2011-compliance/living_dead_bug) I tried running the regression test suite on another system and except for this test, all the other tests passes. Regards, Ameya Vikram Singh
  13. Hello @Philipp A Hartmann, I have probably seen this behavior in other regression tests also. But currently I do not recall all of them, this one was the first one to deadlock. I will try to run the regression test-suite with individual tests and post the results whenever I get a chance. Thanks and Regards, Ameya Vikram Singh
  14. Hello @Philipp A Hartmann, Thank you for your reply. Unfortunately even after applying the changes the issue still persists. In-case you need more inputs do let me know. Thanks and Regards, Ameya Vikram Singh
  15. Hello @Roman Popov, It seems the issue is consistent with multiple different Linux OS with recent versions of GLIBC. From what I could figure out was the internal implementation for pthread mutex and condition variables have been updated. I will try to find the discussion on the same, but for now I think it would be better if someone from working group could also provide some insight into the issue. Regards, Ameya Vikram Singh