Jump to content


  • Content Count

  • Joined

  • Last visited

  1. ecco

    Incomplete core dump

    I have a systemc model that is crashing (I instantiate several submodules, its hard to find exactly where the problem is just by looking at the code). The core is being dumped but it is "incomplete". There is enough space in the hard drive and there is no limit for the size of the core dump file. Nevertheless, an incomplete core dump is being generated which prevents me from finding out exactly where the application crashes. root@ubox:/home/ec/project1# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 128077 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 128077 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited root@ubox:/home/ec/project1# gdb main core GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: <http://bugs.launchpad.net/gdb-linaro/>... Reading symbols from /home/ec/project1/main...done. BFD: Warning: /home/ec/project1/core is truncated: expected core file size >= 5169152, found: 1114112. [New LWP 10943] Any ideas on how to solve this?
  2. Thanks for the answer, using the sc_vector did the trick But how can I use vectors when submodules require extra arguments in the constructor? They tried to cover it in 1666-2011, but they wouldn't be able to write a worst explanation even if they would have put a lot of effort on it. Really tough to understand with incomplete examples.
  3. I'll give a brief example of what I intend to to: Basically, N subblocks must be instantiated inside request_scheduler and N is a template parameter. The compiler is complaining about the code above. Is it possible to do that?
  4. Consider the following signal: sc_signal<sc_lv<size> > aux; Suppose "size" is something passed to the module through the use of template parametrization. How can I set the value of this guy to 0b0000....0000 or 0b1111....111 ? In VHDL there is the OTHERS keyword: aux <= (OTHERS => '1'); What about systemC? How can I achieve the same effect?
  5. ecco

    Enumeration tracing

    I'm trying to keep track of an enumeration... the code is pretty simple: When I run it tells me that enum tracing is deprecated... what is the current enum tracing method? mofo@mofobox:~/controller$ ./main SystemC 2.3.0-ASI --- Jun 13 2013 15:06:45 Copyright © 1996-2012 by all Contributors, ALL RIGHTS RESERVED Note: VCD trace timescale unit is set by user to 1.000000e-10 sec. Info: (I804) /IEEE_Std_1666/deprecated: tracing of enumerated literals is deprecated Info: (I804) /IEEE_Std_1666/deprecated: You can turn off warnings about IEEE 1666 deprecated features by placing this method call as the first statement in your sc_main() function: sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", SC_DO_NOTHING);
  6. ecco

    User defined systemc port

    Found the answer... http://www.doulos.com/knowhow/systemc/faq/
  7. Hello guys, I'd like to have an input port whose type is user defined. In the code below, I'm trying to use the user defined class mem_req_c as the input port type. SC_MODULE(req_buffer_m) { sc_in<bool > clk; sc_in<sc_logic > reset; sc_in<sc_logic > insert; sc_in<sc_logic > remove; sc_in<mem_req_c > din; // sc_out<mem_req_c > dout; Nevertheless, I get the following error when compiling: g++ -g -Wno-deprecated -Wall -I. -I.. -I/usr/share/systemc-2.3/include -c sc_main.cpp In file included from /usr/share/systemc-2.3/include/sysc/communication/sc_clock_ports.h:31:0, from /usr/share/systemc-2.3/include/systemc:79, from /usr/share/systemc-2.3/include/systemc.h:244, from sc_main.cpp:8: /usr/share/systemc-2.3/include/sysc/communication/sc_signal_ports.h: In member function ‘void sc_core::sc_in<DATA>::end_of_elaboration() [with T = mem_req_c]’: sc_main.cpp:56:1: instantiated from here /usr/share/systemc-2.3/include/sysc/communication/sc_signal_ports.h:304:6: error: no matching function for call to ‘sc_trace(sc_core::sc_trace_file*&, const mem_req_c&, std::string&)’ /usr/share/systemc-2.3/include/sysc/communication/sc_signal_ports.h:304:6: note: candidates are: /usr/share/systemc-2.3/include/sysc/tracing/sc_trace.h:195:1: note: void sc_core::sc_trace(sc_core::sc_trace_file*, const sc_dt::sc_bit&, const string&) /usr/share/systemc-2.3/include/sysc/tracing/sc_trace.h:195:1: note: no known conversion for argument 2 from ‘const mem_req_c’ to ‘const sc_dt::sc_bit&’ The error disappears if I declare that mem_req_c is a subclass of sc_logic... but I wonder why this is necessary. Any ideas?