Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


AmeyaVS last won the day on March 26

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,044 profile views
  1. SystemC _ what is mean symbol "\" ??

    Hello @Hook, The \ character is an escape sequence in C/C++. Here is a reference https://en.m.wikipedia.org/wiki/Escape_sequences_in_C I would recommend that you brush up your skills on C++ before continuing further. I would recommend the book "The C++ Programming Language Book by Bjarne Stroustrup". Hope it helps. Regards, Ameya Vikram Singh
  2. wait in SC_CTOR()

    Hello @SystemCInDepth, The wait() call can only be used in SC_THREAD/SC_CTHREAD registered processes in SystemC library. You are trying to call wait even before the elaboration happens and you have started the simulation. It would be better if you could go through the book: SystemC from Ground Up by David Black to have a better understanding. Hope it helps. Regards, Ameya Vikram Singh
  3. define sc_main in VS 2017

    Hello @Aaron0127, The entry point for creating the simulation models and starting simulation is supposed to be implemented within sc_main function. This was done to support the EDA tools vendors to support extensive debugging capability with their tools. In the available open source implementation the main function is provided by the SystemC library itself. Only the sc_main function implementation has to be provided by you. Hope it helps. Regards, Ameya Vikram Singh
  4. Debugging SystemC Code in x64 Platform

    Hello @wasim6691, Did you build the SystemC library in debug mode and installed it? On Windows using MSVC you cannot mix and match the Debug and Release Build libraries together. You would need to configure SystemC library installation in Debug build to Debug your models. Regards, Ameya Vikram Singh
  5. thread resets and events

    Hello @fdoucet, Sorry for the late response. But the "WAIT_UNTIIL()" macro has been refactored to be "SC_WAIT_UNTIL()". You can find the reference to the changes in the "RELEASENOTES" of the SystemC 2.3.2 release: RELEASENOTES:388: - The non-standard macros WAIT, WAITN and WAIT_UNTIL have been RELEASENOTES:389: renamed to SC_WAIT, SC_WAITN, SC_WAIT_UNTIL. Hope it helps. Regards, Ameya Vikram Singh
  6. Debugging Multi threaded program in SystemC

    Hello @ANKUR SAINI, If you are on Linux/UNIX with the Accellera release of SystemC library with the GNU toolchain, you can use the following tutorials for reference: https://sourceware.org/gdb/onlinedocs/gdb/Threads.html https://stackoverflow.com/questions/1695268/multi-threaded-debugging-tutorial-for-gdb-and-c Due to the co-operative multi-tasking implementation of the SystemC library available from Accellera as @Roman Popov has mentioned, much of the debugging tasks are easier since all threads synchronize with the main library thread. Let me know if it helps. Regards, Ameya Vikram Singh

    Hello @wasim6691, With the current implementation of the SystemC library available on the Accellera website, once the simulation has been started using sc_start you cannot dynamically change the number of modules instantiated. I would once again refer the comment from @maehne, that you need to get your basics right for SystemC before continuing further on your project. Regards, Ameya Vikram Singh
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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).
  13. 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
  14. 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
  15. 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