Jump to content

Carmichael

Members
  • Content Count

    8
  • Joined

  • Last visited

  1. Thank you so much for your help. I have downloaded the LRM. Regards, Wayne
  2. Hi, I have some questions on systemC syntax. 1. sc_event_queue. I found a lot of examples for sc_event_queue on some systemC coursewares (even threads on this forum), like below, SC_MODULE(somemod){ sc_event_queue eq; ... void process1(){ while(true){ ... wait(eq); // here got a message: cannot convert from 'sc_core::sc_event_queue' to 'const sc_core::sc_event' , ... } } void process2(){ while(true){ ... eq.notify(5,SC_NS); eq.notify(8,SC_NS);
  3. I also use vs2013 for simulation. Here is a tutorial for systemC installation at vs2010 shown below (also works at vs2013). If you see 'sprintf may be unsafe', you can use _CRT_SECURE_NO_WARNINGS.
  4. Really thanks for your help! It's pretty helpful. Regards, Wayne
  5. Thanks a lot for your reply, Alan. Actually, I also thought the order of declaration of processes in a constructor should not be significant. But the example shown above makes me confused. Someone told me that the order is the key, which is reverse order of definitions in the constructor. Then I did some simulations about this by vista 3.1.2 and found that it seems right. You mean this code is actually not a good example for the use of sc_semaphore and we should code without this non-deterministic factor, right? Thanks, Wayne
  6. I think I've figured out what the problem is. The order of processes defined in SC_CTOR is really important which is reverse order of definitions in SC_CTOR.
  7. Hi everyone, Recently, I am studying systemc and have a problem on semaphore channel. Actually, I found an example of semaphore channel on asic world (http://www.asic-world.com/systemc/channels3.html). This example provides 3 processes (SC_CTHREAD): bus_semaphore(), do_read() and do_write(). like below, ------------------------------------------------------------------------------------------------------- #include <systemc.h> SC_MODULE (sc_semaphore_example) { sc_in<bool> clock; sc_semaphore bus; int cnt; void bus_semaphore() { while (true) { wait(); cout << "@" <
×
×
  • Create New...