Jump to content


  • Content Count

  • Joined

  • Last visited

About arhdr_sc

  • Rank

Recent Profile Visitors

452 profile views
  1. Hello, I am using SystemC 2.3.0. I am wondering how I can profile the SystemC library. I found we can use options like "--enable-debug" and "--disable-optimize" for debugging and optimization, respectively, but I was unable to find such an option to enable profiling. I need to use gprof and pass "-pg" options when building SystemC. Any help is greatly appreciated! Thank you in advance.
  2. Hi Philipp, ========== Section 1: ========== About using the MinGW compiler, I noticed that I should change my code as I used sockets for communication with another program. So, for Windows I need to rewrite my code using Windows socket API, which I prefer not to do for now. ========== Section 2: ========== About rethinking my modeling approach for a large number of threads, I have some ideas but it needs checkpointing the threads (saving and restoring threads' context and swap the threads in when they are needed to execute), which I believe the primitives are not provided by SystemC. I hav
  3. Hi Philipp, I tried the SystemC installation with Pthread implementation, however, I got the following error message: "ERROR - could not create thread", which I believe is issued by sc_cor_pkg_pthread::create(). Also, I cannot use SC_METHODs as there is communication between threads using wait(). I am trying to switch to a 64-bit OS. However, it will take some time, as I need to re-install my whole system and application software to the new OS to be able to continue developing my project under the new system. BTW, I noticed a note by you from previous posts (see below) saying "Secondly
  4. Hello, Philipp, thank you very much for your reply. I tried sc_spawn_options you mentioned, however, I got the following error: assertion "m_stack_size > ( 2 * pagesize )" failed: file "../../../../src/sysc/kernel/sc_cor_qt.cpp", line 76, function: virtual void sc_core::sc_cor_qt::stack_protect(bool) When I set the stack size to 0x10000 and 327680 >> 2, I get the above error message (SC_DEFAULT_STACK_SIZE is 327680 for my case). I need much less than this stack size, say, 0x1000 is enough I guess. I looked at the sc_cor_qt::stack_protect() method. I noticed a comme
  5. Hello All, I need to spawn a large number of threads for my simulation using sc_spwan(). My threads are very small piece of code. When I have 16384 threads the simulation stops by issuing the following message in iteration 5504 of the loop invoking sc_spawn(): Error: (E549) uncaught exception: std::bad_alloc In file: ../../../../src/sysc/kernel/sc_except.cpp:98 I know this happens due to stack size, but I don't know how much memory is used by each thread. Q1) Is there a way to get the size of stack for each thread? Is there a method/function like get_stack_size()? Q2) How can I us
  6. Hell All, I posted a question entitled "Determining source of events using global fifo" on Sep 9, 2013. Surprisingly, I have not got a reply for this post so far. What is wrong with this post? Any idea? Can anyone see my post? Thanks, Alireza
  7. Hello All, I have a question about determining the source of event for a module (module_a) connected to multiple modules (module_b1, module_b2, and module_b3) through sc_fifos (sf_b1_to_a, sf_b2_to_a, and sf_b3_to_a). module_a has a process that processes both clocked and non-clocked events. I use clk.posedge() to determine the source of clocked and non-clocked events. The process in module_a is made sensitive to clk.pos(), sf_b1_to_a.data_written(), sf_b2_to_a.data_written(), and sf_b3_to_a.data_written(). The problem is when the module_a process is triggered due to one of the non-clocked
  • Create New...