Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


AmeyaVS last won the day on February 8

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

834 profile views
  1. Does system C support matrix of unknown size

    Hello @Ganesan R, What are the possible values of m and n?(It seems to take default value of 0) For array of SystemC objects there is a construct available for such purposes: sc_vector. Try search here in the forums to find the necessary discussions. e.g.: http://forums.accellera.org/topic/5775-vector-of-modules-errors/?tab=comments#comment-14006 Hope it helps. Regards, Ameya Vikram Singh
  2. SystemC 2.3.2 installation error

    Hello @ANKUR SAINI, You can find a snippet of build script for SystemC library installation here: https://github.com/AmeyaVS/SystemC_ramblings/blob/master/resources/build.sh Note: You will need CMake and a C++11 enabled compiler for building the SystemC library with the script provided above. Let me know if it helps. Regards, Ameya Vikram Singh
  3. SystemC 2.3.2 Public Review Now Open

    Hello @shanh, What compiler version are you using? Can you share the build verbose logs? Best Regards, Ameya Vikram Singh
  4. SystemC 2.3.2 Public Review Now Open

    Hello @shanh, When you are linking your application/library to SystemC library you need to specify the C++ standard flags: // For G++ C++11 g++ -std=c++11 // For G++ C++14 g++ -std=c++14 You add these options to the build system configuration options for your application/library build. Regards, Ameya Vikram Singh
  5. SystemC CCI Build Issues

    Hello @Philipp A Hartmann, Following is my testing development environment: Platform: Cygwin 64-Bit GCC Version: 6.4.0-5 And I have attached the verbose logs for build. I tried your suggestions for wrapping the specialization of the cci_value_converter class with the CCI namespace in the ex16_User_Defined_Data_Type and it seems to fix the issue. Also for the ex07_Parameter_Information example the following patch fixes the issue currently on Cygwin 64-bit. diff --git a/examples/ex07_Parameter_Information/ex07_Parameter_Information.cpp b/examples/ex07_Parameter_Information/ex07_Parameter_Information.cpp index 1326be0..46fa307 100644 --- a/examples/ex07_Parameter_Information/ex07_Parameter_Information.cpp +++ b/examples/ex07_Parameter_Information/ex07_Parameter_Information.cpp @@ -106,7 +106,7 @@ int sc_main(int sc_argc, char* sc_argv[]) { ex07_observer observer_class("observer"); // Simulation time - sc_core::sc_start(30.0, sc_core::SC_NS); + ::sc_core::sc_start(30.0, sc_core::SC_NS); return EXIT_SUCCESS; } // End of sc_main diff --git a/examples/ex16_User_Defined_Data_Type/ex16_user_datatype.h b/examples/ex16_User_Defined_Data_Type/ex16_user_datatype.h index 471fe41..6ec2cc8 100644 --- a/examples/ex16_User_Defined_Data_Type/ex16_user_datatype.h +++ b/examples/ex16_User_Defined_Data_Type/ex16_user_datatype.h @@ -76,8 +76,9 @@ struct route_table_ut { }; // add support for cci_value and JSON (de)serialization +CCI_OPEN_NAMESPACE_ template<> -struct cci::cci_value_converter< route_table_ut > +struct cci_value_converter< route_table_ut > { typedef route_table_ut type; static bool pack( cci_value::reference dst, type const & src ) @@ -105,6 +106,7 @@ struct cci::cci_value_converter< route_table_ut > return false; } }; +CCI_CLOSE_NAMESPACE_ // Overload stream insertion operator of C++ std::ostream& operator <<(std::ostream& os, const route_table_ut& ud) You can also have a look into the verify logs after introducing these fixes. I will also try to build and test on other environments and provide other feedback for the CCI release. Thanks and Regards, Ameya Vikram Singh verifyVerboseLogs.tar.xz verifyFixedLogs.tar.xz Update: Only for the ex16_User_Defined_Data_Type I need to make changes on Linux 64-Bit with g++(5.4.0 C++11 enabled).
  6. Hi, I tried using the SystemC CCI draft release.(cci-0.9.0_pub_rev_20171219.tgz) Currently the following examples fail to compile: ex07_Parameter_Information ex16_User_Defined_Data_Type Please find the failure logs attached. I have also noticed that the CCI source contains systemc.h (src/cci_core/systemc.h)header file, from a cursory look it looks as if a wrapper around the header file (systemc) from SystemC library. Would it cause build issues when using SystemC CCI with legacy models which includes the systemc.h header file? Thanks and Regards, Ameya Vikram Singh verifyLogs.tar.xz
  7. thread resets and events

    Hello @fdoucet, What your are trying to do here in this specific scenario is known as dynamic sensitivity. Dynamic sensitivity replaces the default sensitivity of the registered SystemC process, once the event it triggered the default sensitivity would be restored for the corresponding process. Here is a reference to the discussion before in this forum: http://forums.accellera.org/topic/1210-static-and-dynamic-sensitivity/ Hope it helps Regards, Ameya Vikram Singh
  8. Executing Modules More than Once

    Hello @wasim6691, I totally agree with @David Black, Can you provide a minimal example of what your are trying to achieve? From your minimal description all I could figure out are the following scenarios: You are not generating enough transactions/events in your simulation models and the simulation is exiting with the error message: Stopping simulation due to starvation You are yourself stopping the simulation with a call to sc_stop() before the next iteration can begin. Post more details about the issue you are facing so that more community members can help you figure it out faster. Regards, Ameya Vikram Singh
  9. How to define constructor in cpp file?

    Hello @Ganesan R, Since it is usual C++ code. You just need to define it as in C++. For e.g.: #include "NAME.h" SC_HAS_PROCESS(NAME); NAME::NAME(sc_core::sc_module_name nm) //< Added sc_core namespace resolution. : sc_core::sc_module(nm) //< Added sc_core namespace resolution. {} ////////////////////////////// // Check below ///////////////////////////// NAME::~NAME() { // You Destructor body } Hope it helps. Regards, Ameya Vikram Singh
  10. Stack Size Overflow due to recursion

    Hi @wasim6691, Here is a small set of questions if you can provide some answers it would be helpful: Can you provide details about the development environment?(Linux/Windows) How are you setting up the stack size? Can you modify your code to use dynamically allocated array just for the sake of modelling? Regards, Ameya Vikram Singh
  11. Mingw Compile Issue

    Hello @Matthias Jung, Can you post the version of the g++ compiler? Also using the bash shell of the MinGW environment post the output of the following command: # Note provide the full path to SystemC static library nm -C <full_path_to_libsystemc.a> | grep sc_api_version Regards, Ameya Vikram Singh
  12. Mingw Compile Issue

    Hi @Matthias Jung, You should use cmake generator provided from MinGW package manager. In-case you are using the version from CMake official release then you would need to add the MinGW utilities to the system PATH environment variable. set MINGW_HOME=<PATH to MINGWROOT> set PATH=%PATH%:%MINGW_HOME%/bin # Check if you have make available on the cmd.exe make --version # Check if gcc/g++ is available on the cmd.exe gcc --version g++ --version # Configure CMake to use the make file generator on the configuer step in SystemC build directory. cmake -G "MinGW Makefiles" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. # or in-case the previous one doesn't work. cmake -G "MSYS Makefiles" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. Note: To find the list of supported generator from CMake you can use this command: cmake -G --help Update: Here is the official documentation on the CMake Makefile Generator: https://cmake.org/cmake/help/latest/generator/MinGW Makefiles.html#generator:MinGW Makefiles Regards, Ameya Vikram Singh
  13. Mingw Compile Issue

    Hello @Matthias Jung, It seems you are missing some of the compiler definition flags for the build: -DSC_BUILD ... etc. You can get the set of compiler flags for the SystemC library from the CMake generator(Only works with Makefile generator). # Using CMake to create compile_commands.json # SYSTEMC_SRC: SystemC source directory. cd $<SYSTEMC_SRC> # Create a build directory mkdir build cd build # Run CMake configuration for Make file generator. cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. Note: Also the quick thread library for user space thread support will not work on Windows since it is compatible only on Linux systems. Regards, Ameya Vikram Singh
  14. Errors in code

    Hello @Uzmeed, You are assigning multiple values in the PS_reg in the same delta cycle in SC_METHOD. It is better that you refer for SystemC LRM (refer: here) sections: 5.2.9, 5.2.10, 5.2.11 specifically to know about the differences in different processes in SystemC. Regards, Ameya Vikram Singh
  15. What is the type of cmd_t in cmd.h line 6? Regards, Ameya Vikram Singh