Jump to content


  • Posts

  • Joined

  • Last visited

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

468 profile views

Tanja's Achievements

Advanced Member

Advanced Member (2/2)



  1. Tanja


    Hi Ralph, version 3 worked fine. Thank you vry much
  2. Hello, I am facing a similar problem. This is why i don't create a new thread. i hope this is fine with you. I am working on Windows 7, 64Bit operating system. I want to be able to call Matlab from my systemC TLM Model in Microsoft Visual Studio 2012. So I did the following settings: 1.- Set Path variable in Advanced System Settings-> environment variables: C:\Program Files\MATLAB\R2010a\bin\win64 (or the path where libeng.dll is located) 2.- In project properties of VisualStudio, link in Additional Include directories of C++->General:"C:\Program Files\MATLAB\R2010a\extern\include" 3.- In project properties, linker->general, Additional Library Directories: "C:\Program Files\MATLAB\R2010a\extern\lib\win64\microsoft" 4.- Add the following libraries in Linker->Additional Dependencies: libeng.lib libmx.lib 5.- Change the Active Solution Platform to x64 (Because my Matlab intallation is x64) Now i am getting the following error when I compile my code: error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' Datei: \systemc.lib(sc_time.obj) I was able to build and execute a simple c++ program calling MATLAB in MVS2012. So the problem must be coming from Systemc. Any ideas on how I can fix this? Thank you.
  3. Tanja


    1. I do not delete the allocated events! Should i? i need them till the end of the simulation 2. no assignment to the pointers 3. as same as i did for the first pointer
  4. Tanja


    Hi Ralph, 3. it had tried it already. it does't work. sc_event cannot acces the private member of sc_event! 1. I implemented it. it works for the first array. I added a second one, now i got an exception: one heap has been corrupted! The code stops by the fonction void free(pblock) What i am doing wrong? std::vector< sc_core::sc_event* > ev_vector ; for (int i = 1; i<=n; i++) { std::string str = std::to_string((unsigned long long)i); str = "event_nr" + str; ev_vector.push_back(new sc_core::sc_event(str.c_str())); } in P1: ev_vector.at(pos)->notify(); in P2: wait( *ev_vector.at(pos) ) Greetings
  5. Tanja


    Thanks Ralph. But the event lists won't help! I am looking for a way to generate a certain number of events depending on the number of modules i have. Let's assume, i have a top-module T1 with two modules: M1 with a thread process P1 and another one with a thread process P2. Process P2 is dynamically sensitive to an event ev1. P1 notify ev1 when it is executed. I want to instantiate another top-module T2 with the same modules and processes but here i need a different event as ev1. so Process P2 in T2 should wait for ev2 to be resumed. How can i achieved this without writing the same code twice? (P1 and P2 have to be in different modules) Thank you very much in advance!
  6. Tanja


    Hello, is there a way to create vectors of events (sc_event)?? Thank you
  7. Hello Alan, i'am using e2.notifiy() and there is only process P2 sensitive to that event ( dynamic sensitivity), but sometimes it misses that notification. Is it possible? Regards
  8. Hello Alan, 1. i need to use the immediate notification not the delta one. i want all three processes to be executed in the same delta cycle as the notifications happened and so on in each delta cycle until the quantum is reached. 2. i don't understand. Could you explain please? 3. yes i am using the quantum. Thank you
  9. Hello, i have 3 temporal decoupled processes P1, P2, P3, two events e2 and e3, which respectively belong to the dynamic sensitivity of P2 and P3. P1 / P2 performs the following actions - execute a transaction - e1.notify() / e2.notify() - wait(sc_zero_time) and P3 just generate a transactions P3 is always the first to synchronize. Then P2 and finally P1 follows. Is there a way to control the order in which this processes come back from synchronization? or Is there a way to ensure that the processes start running only after they are all back from synchronization?? because i have the following problem: Sometimes (in some quantums) P1 executes his transaction and notifies e1 before P2 is back from synchronization and P2 missed the notification of e2, which in turn causes that P3 is not executed after it got back from synchronization because e3 is never notifies. Thank you.
  10. Hi, i would like to draw the SysML diagramm of my implemented TL-Model. Which type of Diagramm should i use for representing: Components (Initiators, targets, interconnects) with the socket connections? : Block diagramm oder internal block diagramm? the behavior of a process: state machine diagramm? Are there any examples? Thank you so much for the help
  11. ok. My solution was to declare a member variable of type string, which i then initialize with the value of variable name (of type sc_module_name) in the conctructor of my module. std::string mod_name; mod_name = name;
  12. Hello, assume i have a module "mod" with the following constructor: mod(sc_module_name name, unsigned int id); How can i accessed the module name stored in the variable name to print it out? thanks.
  13. Hello, all of a sudden i can't build my projects in Microsoft Visual C++ 2010 anymore, even the examples 1>ManifestResourceCompile: 1> All outputs are up-to-date. 1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt 1> 1>Build FAILED. Any ideas about what happened? How can i solve this? i recently installed Microsoft Visual studio 2012. Could it have something to do with it? thank you!
  • Create New...