Jump to content

Allen yang

Members
  • Posts

    22
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Allen yang's Achievements

Member

Member (1/2)

0

Reputation

  1. Thanks a lot @AmeyaVS @Eyck. I will try to use SC in the same OS.
  2. Hi, Everyone, I have download SC on github and compile install on el7 which runs well. I want to use formmer compile SC result and copy the sc.a and include to my new el8 OS. However, I get undefined error on new OS. ../include/systemc/sysc/datatypes/int/sc_uint_base.h:848: undefined referece to `sc_dt::sc_uint_base::to_string() const` Here's my quenction, can we reuse the compile result of other OS?
  3. My use-case is in `SC_METHOD` or `SC_(C)THREAD` if exception caught I can see the ori stack trace with c++ not rethrow or caught by `sc_report`. The stack trace isn't my exception. I don't want to use `catch throw` to get stack trace which I really need.
  4. Hi @AmeyaVS, When I try `vector::at` in `SC_METHOD` or `SC_(C)THREAD`, the stack can't be show. I try to rewrite `sc_except.cpp::sc_handle_exception`, it didn't work. Can you help me figure out this? Regards, Allen
  5. Hi @AmeyaVS, Thank you for your help. Do you mean that I should rewrite `sc_main_main.cpp` by myself fixing `catch(...) ...` code ? Can I just use code below? catch( ... ) { // don't translate other escaping exceptions }
  6. Hi Philipp, I met this problem two days ago. I use `catch throw` and find code bug. And I want to kown how to add catch blocks to sc_main and my our SystemC process?
  7. Nowadays, I use at function to access vector and it out of range. However, it didn't pause and the program shutdown only. #include <systemc> int sc_main(int args, char* argv[]) { std::vector<int> vec = {1, 2, 3}; int num1 = vec.at(1); int num2 = vec.at(10); return 0; } Here's the result: root@xxx:/home# SystemC 2.3.3-Accellera --- Jan 25 2024 15:41:45 Copyright (c) 1996-2018 by all Contributors, ALL RIGHTS RESERVED Error: (E549) uncaught exception: vector::_M_range_check: __n (which is 10) >= this->size() (which is 3) In file: ../../../src/sysc/kernel/sc_except.cpp:101 root@xxx:/home# I expected it will be like below, and the program will be crash and output coredump file. terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 10) >= this->size() (which is 3)
  8. Since there are many methods we can chose to build communication in SC, like TLM, sc_port, sc_signal, sc_fifo. My question is how to select a fitable communication method in our module. For my opinion, I will chose TLM between modules and sc_port, sc_signal, sc_fifo inside the module. Although TLM can also be used inside module. Please shared your opinion with chosing the suitable communication methods.Thanks!
  9. Thanks @David Black I use systemc-2.3.3 complied with c++17 which supports sp. However, I use TLM property set_data_ptr and found it can't use smart pointer as argument. Do we have plan to rewrite our sc source code to support sp as arguments?
  10. I read the source code a period of time. However I found that it din't use sp(smart pointer) in our source code. Is there any reason why we don't use sp in sc?
  11. OK. I have read the source code of systemc. And I found that ~tlm_generic_payload will call extension free.
  12. I really need your help when tlm_extension_base call free function to release the new memory. Thanks!
×
×
  • Create New...