Jump to content

vasu_c

Members
  • Content Count

    9
  • Joined

  • Last visited

About vasu_c

  • Rank
    Member

Recent Profile Visitors

109 profile views
  1. vasu_c

    tlm_fifo nb_peek

    Thank you so much Roman and Philipp. Appreciate the work around suggested. Please can I know which release would contain this fix ?
  2. vasu_c

    tlm_fifo nb_peek

    Hi, Thanks for the response. In lined is the test case that fails to compile. #include "tlm" #include "systemc.h" class slave : public sc_module { public: sc_port<tlm::tlm_fifo_get_if<int> > target_port; SC_HAS_PROCESS(slave); slave(sc_module_name nm) : sc_module(nm) { SC_THREAD(run); } void run() { for(int a = 0 ; a < 20 ; a++) { int b; target_port->nb_peek(b); std::cout << b << " "; } } }; Errors: test.cpp: In member function 'void slave::run()': test.cpp:17:17: error: request for member 'nb_peek' is ambiguous target_port->nb_peek(b); ^ In file included from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h:39:0, from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h:23, from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h:29, from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm:26, from test.cpp:1: systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_fifo_ifs.h:54:16: note: candidates are: bool tlm::tlm_fifo_debug_if<T>::nb_peek(T&, int) const [with T = int] virtual bool nb_peek( T & , int n ) const = 0; ^ In file included from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_fifo_ifs.h:28:0, from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h:39, from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h:23, from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h:29, from systemc/install/systemc-2.3.2/linux_x86_64/include/tlm:26, from test.cpp:1: systemc/install/systemc-2.3.2/linux_x86_64/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_core_ifs.h:116:16: note: bool tlm::tlm_nonblocking_peek_if<T>::nb_peek(T&) const [with T = int] virtual bool nb_peek( T &t ) const = 0;
  3. Hi, I am seeing a similar issue as mentioned in the thread below with the tlm package shipped with SystemC-2.3.2 and SystemC-2.3.1. https://workspace.accellera.org/Discussion_Forums/helpforum/archive/msg/msg?list_name=help_forum&monthdir=200802&msg=msg00013.html Are the suggestions made by Alan the only options to work around this issue ? Would this be fixed in the official tlm release ? Thanks in advance for the help/suggestions.
  4. Hi, With the writer policy set to SC_MANY_WRITERS, the following code in sc_signal.h ends up calling request_update() because policy_type::needs_update() always returns true for SC_MANY_WRITERS though there is no value change This is different from SystemC-2.3.1. Is this an intentional change ? I looked through the LRM but did not come across anything that mentions about this. 289 sc_signal_t<T,POL>::write( const T& value_ ) 290 { 291 // first write per eval phase: m_new_val == m_cur_val 292 bool value_changed = !( m_new_val == value_ ); 293 if ( !policy_type::check_write(this, value_changed) ) 294 return; 295 296 m_new_val = value_; 297 if( value_changed || policy_type::needs_update() ) { 298 request_update(); 299 } 300 } Thanks for all the help.
  5. Ameya, I was using "CentOS Linux release 7.4.1708 (AltArch)" for the aarch64 build. Here is the ABI specification for gcc-5.4.0 that I was using. #define __GXX_ABI_VERSION 1009 Thanks.
  6. Than you Joshua. I missed this update. Just applied the patch and it works fine. Appreciate the help.
  7. I had gcc-4.8.5 available on the ARM machine we are using. I could reproduce the crash with gcc-4.8.5 as well. Thanks in advance for any suggestions.
  8. Thanks for the quick response Philipp. Configuration options for the library: ../configure --prefix=/path/to/install --enable-debug --disable-silent-rules --disable-optimize The only warning that stands out is : libtool: compile: g++ -DSC_INCLUDE_FX -DSC_BUILD -I. -I../../../src/sysc -I../../../src -Wall -g -pthread -MT kernel/sc_thread_process.lo -MD -MP -MF kernel/.deps/sc_thread_process.Tpo -c ../../../src/sysc/kernel/sc_thread_process.cpp -fPIC -DPIC -o kernel/.libs/sc_thread_process.o ../../../src/sysc/kernel/sc_thread_process.cpp:107:34: warning: 'force_align_arg_pointer' attribute directive ignored [-Wattributes] void sc_thread_cor_fn( void* arg ) The other warning that I see is (i think i can safely ignore this) : libtool: link: warning: library `/u/prod/gnu/gcc/20180108/gcc-5.4.0-linux_aarch64/bin/../lib/gcc/aarch64-unknown-linux-gnu/5.4.0/../../../../lib64/libstdc++.la' was moved. The build log file for the library is greater than 0.49 Mb hence I am unable to attach it. Stack trace: Unfortunately there is nothing in the stack trace, but on single stepping through the instructions in "aarch64.s" 77 ldp d8, d9, [sp, #-160] <-- it is this line that eventually leads to thecrash 78 79 _qt_align: 80 qt_align: 81 ret gdb stack trace: SystemC 2.3.2-Accellera --- Apr 10 2018 11:05:10 Copyright (c) 1996-2017 by all Contributors, ALL RIGHTS RESERVED Program received signal SIGSEGV, Segmentation fault. 0x0000ffffffffe440 in ?? () (gdb) where #0 0x0000ffffffffe440 in ?? () #1 0x0000ffffffffe440 in ?? () I don't have gcc-4.5.0 built, but will try that as well. Thanks again for the response. Appreciate it. Regards.
  9. HI, I am seeing a crash with an aarch64 debug SystemC-2.3.2 build (built using gcc-5.4.0). The crash is somewhere in the quickthreads code. Would appreciate any help resolving this. Below is the test case I am using with gcc-5.4.0 #include "systemc.h" SC_MODULE(top) { void thread() { cout << "thread executing ..." << endl; } SC_CTOR(top) { SC_THREAD(thread); } }; int sc_main(int argc, char** argv) { top t1("t1"); sc_start(10, SC_NS); return 0; } Thanks
×