Jump to content

apfitch

Members
  • Posts

    613
  • Joined

  • Last visited

  • Days Won

    118

Everything posted by apfitch

  1. One other point - your final wait() is outside the while loop - look at Philipp's code closely, the wait() must be inside the while loop or it will not be used, regards Alan
  2. Hi PV, in the message Error: (E112) get interface failed: port is not bound: port 't1.m1.port_3' (sc_in) In file: ../../../../src/sysc/communication/sc_port.cpp:265 the path t1.m1.port_3 tells you exactly which port is not bound. t1 and m1 are names you created. port_3 is the default name for the 4th port you declared in the module that is instanced as m1, regards Alan
  3. Hi Muhammed, what are tINT, tACT, and tSTAB set to? Also what output do you get, and what output do you expect? regards Alan P.S. sc_set_default_time_unit is not necessary, and is (I think) deprecated.
  4. Hi Gurunath, the message is saying there is no overloaded sc_trace where the third argument is a *stringstream*. So something's wrong with using str.str(). Unfortunately I can't see what's wrong. Perhaps calling the stringstream str is confusing. Could you also try str.str().c_str()? Or calling str something like tempstr, and using tempstr.str()? Alan P.S. Just seen Philipp's reply! Follow his advice ...
  5. Hi Sumit, header guards won't necessarily help. They stop two header files being included sequentially - but if you have a function *body* in the header, and include that header in two independent files, you'll still get multiple definitions at link time. My guess is that Timmy is #including a gnoise.cpp. In that case the fix is to make a gnoise.h with the function prototype, with your header guards of course, and include the .h not the .cpp, regards Alan
  6. My suggestion would be to ask at http://www.ovpworld.org/forum/ regards Alan
  7. Regarding your E113 error, the message points to "top.loader_scheduler.loader_scheduler" - so search in that code for creation of primitive channels. Regarding your second issue, it's easiest to have all processes running all the time, and then delay the start of each processor model's processing I think - if I've understood what you want to do. I.e. have your MIPS models in some kind of idle loop until you want them to start. There isn't an easy way to restart simulation. You can however call sc_start multiple times, so perhaps you could do sc_start(1, SC_MS); // start processor 2 sc_start(1, SC_MS); //start processor 3 etc. As I say, your model sounds complicated to an outside! regards Alan
  8. Hi David, my guess (borrowing Philipp Hartman's crystal ball) is that Sumit is saying that the error message Info: /OSCI/SystemC: Simulation stopped by user should say Info: /ASI/SystemC: Simulation stopped by user regards Alan By the way, did you know this forum says you are a "newbie" :-) How rude... Does it say I'm a "newbie" as well ?
  9. Hi, the first thing to do is compile your code, and fix the errors. Then post the corrected code if it still doesn't function correctly. There's no point posting code won't even compile and run. If you can't figure out why it won't compile or run, then please post the resulting error messages. You might also find our simple tutorial helpful http://www.doulos.com/knowhow/systemc/tutorial/modules_and_processes/ regards Alan
×
×
  • Create New...