Jump to content

Search the Community

Showing results for tags 'TLM'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Accellera Systems Initiative
    • Information
    • Announcements
    • In the News
  • SystemC
    • SystemC Language
    • SystemC AMS (Analog/Mixed-Signal)
    • SystemC TLM (Transaction-level Modeling)
    • SystemC Verification (UVM-SystemC, SCV)
    • SystemC CCI (Configuration, Control & Inspection)
    • SystemC Datatypes
  • UVM (Universal Verification Methodology)
    • UVM 2017 - Methodology and BCL Forum
    • UVM SystemVerilog Discussions
    • UVM Simulator Specific Issues
    • UVM Commercial Announcements
    • UVM (Pre-IEEE) Methodology and BCL Forum
    • UVM 1.2 Public Review
  • Portable Stimulus
    • Portable Stimulus Pre-Release Discussion
    • Portable Stimulus 1.0
  • IP-XACT
    • IP-XACT Discussion
  • IEEE 1735/IP Encryption
    • IEEE 1735/IP Encryption Discussion
  • OCP (Open Core Protocol)
  • UCIS (Unified Coverage Interoperability Standard)
  • Commercial Announcements
    • Announcements

Categories

  • SystemC
  • UVM
  • UCIS
  • IEEE 1735/IP Encryption

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Biography


Location


Interests


Occupation


Company

Found 45 results

  1. Hi, I am trying to model large memories (>8 GB) on a virtual platform that I am working on. I don't think using the C++ 'new' operator to allocate the entire chunk is a good idea. Can someone suggest any methods they think or have used in the past to model such? My memory is going to be very sparse to start with and might start filling up only at a later time. Thanks,
  2. Hi, I wanted to know ,is it possible to trace waveforms in tlm.I tried for alternate ways as it was done in system c earlier also.But i wasnt successful in my attempts. One of the way i tried was by using the init_socket and targ_socket again in top which is completely wrong i guess.I cant reuse the tlm sockets again for my instantiated modules. int sc_main(int argc,char* argv[]) { initiator* init; target* targ; tlm_utils::simple_initiator_socket<initiator>i_top_socket; tlm_utils::simple_initiator_socket<target>t_top_socket; init = new initiator("init"); targ = new target("targ"); init->i_socket(i_top_socket); targ->t_socket(t_top_socket); sc_clock clk1("clk1", 10, SC_NS, 0.5); sc_clock clk2("i_t_clk", 20, SC_NS, 0.5); init->i_socket.bind(targ->t_socket); init->ext_i_clk(clk1); targ->int_t_clk(clk2); sc_trace_file* tf = sc_create_vcd_trace_file("b_transport"); sc_trace(tf, clk1, "ext_clk"); sc_trace(tf, clk2, "t_clk_internal"); sc_trace(tf, init->i_socket, "i_socket"); sc_trace(tf, targ->t_socket, "i_socket"); sc_start(200, SC_NS); sc_close_vcd_trace_file(tf); return 0; } The other way i tried was getting the arguments not matching error i.e arguments support sc_signal type and i am using tlm types.I kno that the compiler is telling the difference in arguments,but whats the alternate solution for this problem ? Can anyone please tellme where am i going wrong and how to trace the transaction exactly ? And Is it really possible to trace waveform in tlm ? Thanks & regards, Shubham
  3. Hi, I have declared and defined the clock in my example and able to generate and transport the transactions successfullly. As its is a blocking transport interface of tlm,so we are using wait statement. But what i observed here is, i am not able to control the triggering of process by using clocks for both the modules.Thiugh , i am able to controll the thread awakening by using delay statements. What if i want to use clocks to controll the trigger ,thats why i had put them in the sensitivity list. Please let me know,what would be my approach for the triggering by clocks.? do i need to look out for other interface method in tlm or should i go back to system c interface approach ? Please help me out with this. Thanks & regards, Shubham Ps:- I am attaching the code along with the block diagram below,please let me know the solution for it.The block diagram represents 2 blocks of initiator and target modules with clock supplied. Iam able to compile and run the code succesfully,if you get any error while compiling i might have done mistake while copying. initiator.h.txt main.cpp.txt target.h.txt initiator2.h.txt target2.h.txt top.h.txt
  4. Hi, I was having few questions regarding clock usage in tlm.These are as folllows:- 1.I wanted to know whether we can supply clock to initiator and target modules. 2.If it can be used ,then how to do we need need to connect to modules.Like instantiate clock in top module and how should we do port or named mapping ? If not,then why its not used ? Because i havent come across any examples in tlm which uses clocks. 3.If we are using blocking interface then using wait statement,just that data doesnot get overidden. And if its a case of nb_interface then we are using delay statements . My question here would be,can i create system clock input port and connect them ? I had tried but i had got a failed port mapping error message. Thanks & regards, Shubham
  5. Hi all, I have a systemC-tlm code that uses SC_THREAD( ) to implement parallel modules. I am working on latency analysis and hence included a few wait statements in each of the SC_THREAD functions. It was working fine for a long time, until yesterday. The SC_THREAD functions with wait(time, SC_NS) hang exactly at the wait statement. I tried debugging into the wait function, and found that the code throws an SC_REPORT_ERROR in wait( ) function in sc_wait.cpp. I am not sure if that error is caught, because I do not see any error in my console output. Does anyone have a clue on why I am seeing this behavior?
  6. Hi, I assume its a basic question . Can someone please help me understand the basic flow of initiator and target by using a blocking interface in a c++ way. I had read the tutorial on doulous ,but i dint get the required explnation from my side. I do know the concepts of c++,but implementation wise i am bit on the slower side. It would be great if someone could explain it here through step wise. Thanks in advance. Ps: just for reference i am putting up the code.initiator.h,target.h,top.h,main.cpp Regards, Shubham
  7. Hi, I was having few basic doubts regarding tlm,I am using system c again after few months. I wanted to know ,how exactly tlm is being used.I know the basics of system c and was approaching to start with tlm. I had googled to see few of tlm uses,but i was not able to catch up those points. I want to know under this scenario,like if i had modelled a system in system c and was having 5 files,design.cpp,producer.cpp,consumer.cpp,top.cpp,main.cpp .I would have used threads as function and called at particular time and would do the communicvation between modules.But what about tlm,as i had read in tlm we are having initiator and target and there are different types of interface connections which can be used for communication. But my question here would be,how and where would i put those 5 files when commuication mode being used is tlm.Do i need to model producer as initiator & vice versa & use any of the interface method of tlm or what !? Any help would be appreciated a lot. Thank you. Regards, Shubham
  8. Did anyone try to build extended routing architecture attaching one or more SimpleBusAT from systemc-2.3.3\examples\tlm to another SimpleBusAT ?(from https://www.accellera.org/downloads/standards/systemc) In the examples, SimpleBusAT will route initiator packets to another target. I wonder if SimpleBusAT could be another target and correspondingly route the packets further. Thanks, Dave
  9. Hi folks, i'm looking for a tool to visualize tlm logs. I found this here (impulse from toem http://toem.de) - looks quite promissing ! But i'm not sure how to generate the required scv text data. Is this a the standard fomrat in TLM ? How to generate ? Best Regards, Kai
  10. hi, I want to implement systemC TLM design that uses a simple bus to communicate between the two separate modules. I want to know how to use systemc built in simple bus. Please help me in this regard. Thanks in advance.
  11. hi, I am trying to simulate a TLM Design in systemc. On simulation I get following errors in sc_fifo.h files. C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_fifo.h:314:13: error: no match for 'operator<<' in 'os << *(((com*)((const sc_core::sc_fifo<com>*)this)->sc_core::sc_fifo<com>::m_buf) + ((unsigned int)(((unsigned int)i) * 20u)))' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_fifo.h:314:13: note: candidates are: c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:110:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:110:7: note: no known conversion for argument 1 from 'com' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&) {aka std::basic_ostream<char>& (*)(std::basic_ostream<char>&)}' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:119:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>, std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:119:7: note: no known conversion for argument 1 from 'com' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:129:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:129:7: note: no known conversion for argument 1 from 'com' to 'std::ios_base& (*)(std::ios_base&)' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:167:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:167:7: note: no known conversion for argument 1 from 'com' to 'long int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:171:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:171:7: note: no known conversion for argument 1 from 'com' to 'long unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:175:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:175:7: note: no known conversion for argument 1 from 'com' to 'bool' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:93:5: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char, _Traits = std::char_traits<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:93:5: note: no known conversion for argument 1 from 'com' to 'short int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:182:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:182:7: note: no known conversion for argument 1 from 'com' to 'short unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:107:5: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:107:5: note: no known conversion for argument 1 from 'com' to 'int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:193:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:193:7: note: no known conversion for argument 1 from 'com' to 'unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:202:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:202:7: note: no known conversion for argument 1 from 'com' to 'long long int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:206:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:206:7: note: no known conversion for argument 1 from 'com' to 'long long unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:211:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:211:7: note: no known conversion for argument 1 from 'com' to 'double' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:215:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:215:7: note: no known conversion for argument 1 from 'com' to 'float' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:223:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:223:7: note: no known conversion for argument 1 from 'com' to 'long double' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:227:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:227:7: note: no known conversion for argument 1 from 'com' to 'const void*' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:121:5: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:121:5: note: no known conversion for argument 1 from 'com' to 'std::basic_ostream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_reset.h:57:22: note: std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_reset_target&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_reset.h:57:22: note: no known conversion for argument 2 from 'com' to 'const sc_core::sc_reset_target&' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_time.h:324:1: note: std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_time&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_time.h:324:1: note: no known conversion for argument 2 from 'com' to 'const sc_core::sc_time&' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_signal.h:809:1: note: template<class T, sc_core::sc_writer_policy POL> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_signal<T, POL>&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_signal_ports.h:285:17: note: template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_in<T>&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_signal_ports.h:1110:17: note: template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_inout<T>&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_fifo.h:425:1: note: template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_fifo<T>&) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:528:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:523:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:510:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:323:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:493:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:473:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:468:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:462:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:456:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:451:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/basic_string.h:2693:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_fifo.h: In member function 'void sc_core::sc_fifo<T>::dump(std::ostream&) const [with T = com, std::ostream = std::basic_ostream<char>]': ../../../main.cc:19:1: instantiated from here C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_fifo.h:330:6: error: no match for 'operator<<' in 'std::operator<< [with _Traits = std::char_traits<char>]((* &(& std::operator<< [with _Traits = std::char_traits<char>]((* & os), ((const char*)"value[")))->std::basic_ostream<_CharT, _Traits>::operator<< [with _CharT = char, _Traits = std::char_traits<char>](i)), ((const char*)"] = ")) << *(((com*)((const sc_core::sc_fifo<com>*)this)->sc_core::sc_fifo<com>::m_buf) + ((unsigned int)(((unsigned int)i) * 20u)))' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_fifo.h:330:6: note: candidates are: c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:110:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:110:7: note: no known conversion for argument 1 from 'com' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&) {aka std::basic_ostream<char>& (*)(std::basic_ostream<char>&)}' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:119:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>, std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:119:7: note: no known conversion for argument 1 from 'com' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:129:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:129:7: note: no known conversion for argument 1 from 'com' to 'std::ios_base& (*)(std::ios_base&)' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:167:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:167:7: note: no known conversion for argument 1 from 'com' to 'long int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:171:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:171:7: note: no known conversion for argument 1 from 'com' to 'long unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:175:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:175:7: note: no known conversion for argument 1 from 'com' to 'bool' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:93:5: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char, _Traits = std::char_traits<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:93:5: note: no known conversion for argument 1 from 'com' to 'short int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:182:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:182:7: note: no known conversion for argument 1 from 'com' to 'short unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:107:5: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:107:5: note: no known conversion for argument 1 from 'com' to 'int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:193:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:193:7: note: no known conversion for argument 1 from 'com' to 'unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:202:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:202:7: note: no known conversion for argument 1 from 'com' to 'long long int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:206:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:206:7: note: no known conversion for argument 1 from 'com' to 'long long unsigned int' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:211:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:211:7: note: no known conversion for argument 1 from 'com' to 'double' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:215:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:215:7: note: no known conversion for argument 1 from 'com' to 'float' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:223:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:223:7: note: no known conversion for argument 1 from 'com' to 'long double' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:227:7: note: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:227:7: note: no known conversion for argument 1 from 'com' to 'const void*' c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:121:5: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:121:5: note: no known conversion for argument 1 from 'com' to 'std::basic_ostream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_reset.h:57:22: note: std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_reset_target&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_reset.h:57:22: note: no known conversion for argument 2 from 'com' to 'const sc_core::sc_reset_target&' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_time.h:324:1: note: std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_time&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/kernel/sc_time.h:324:1: note: no known conversion for argument 2 from 'com' to 'const sc_core::sc_time&' C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_signal.h:809:1: note: template<class T, sc_core::sc_writer_policy POL> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_signal<T, POL>&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_signal_ports.h:285:17: note: template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_in<T>&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_signal_ports.h:1110:17: note: template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_inout<T>&) C:/Xilinx/Vivado_HLS/2015.4/win64/tools/systemc/include/sysc/communication/sc_fifo.h:425:1: note: template<class T> std::ostream& sc_core::operator<<(std::ostream&, const sc_core::sc_fifo<T>&) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:528:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:523:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:510:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/ostream.tcc:323:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:493:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:473:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:468:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:462:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:456:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/ostream:451:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT) c:\xilinx\vivado_hls\2015.4\msys\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/basic_string.h:2693:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) make: *** [obj/main.o] Error 1
  12. hi, I want to implement systemC TLM design that uses a simple bus to communicate between the two separate modules. I want to know how to use systemc built in simple bus library. Please help me in this regard. Thanks in advance.
  13. I have to input data from sc_fifo interface and send it on the master of simple bus that will in return give it to simple bus slave Any idea how the simple_bus.h can be exploited I will be highly obliged for the valuable advice regards
  14. I am going to simulate the following code but getting the error I am newbie to systemc (in fact C) your valuable input will help me to understand the error arith.h arith_proc.cpp cmd.h result_proc.cpp write_result.cpp Simple_Bus_csim.log
  15. What is the correct way to handle transaction data pointer (set_data_ptr). If I free it right after b_transport I get an error since transaction handling isn't completes. Unlike tlm_extension it is not freed once transaction is completed. void rx_thread() { while(1) { uint8_t *buf = new uint8_t[ETH_MAC_PACKET_MAX_LEN]; tlm::tlm_generic_payload* pkt_trans = new tlm::tlm_generic_payload(); pkt_trans->set_command(tlm::TLM_WRITE_COMMAND); pkt_trans->set_data_length(ETH_MAC_PACKET_MAX_LEN); pkt_trans->set_data_ptr((unsigned char *)(buf)); phy2mac->b_transport(*pkt_trans, delay); // Note:not calling "delete [] buf;" here since this data is a part of generic payload now and // shouldn't be destroyed until transaction handling completes! Although b_transport() is // a synchronous call indeed, queue is filled with pointers to original structures rather then to their clones. } }
  16. Hi everyone, my initiator is writing to a specific register but I want to block the initiator if a certain bit of the target register is set (1). is there a way to do that?
  17. Folks, I have requirement to calculate bandwidth per socket. This means I need to count how many transactions were sent on a given socket, and also pass clock information. Are there any example of customizing socket where I can calculate these things and print of at the end of the simulations.
  18. Hello, I have two objects. One is a memory, and the second one is a generator. They are connected via a TLM socket. At the same time, both objects have a method that is sensitive on the clock. The method prepares data for write transactions and it should also pick-up data from reading transactions (and vice versa). It should also check the status of the transactions. I'd like to use a TLM socket for data passing instead of a pin-accurate model of memory interfaces. See the picture in the attachments. The issue is a synchronization because there is a clock (one source of events) and PEQ for sockets (second source of events). Is there any recommended/standard solution for this? For more detailed description of the issue, let's imagine the following scenario. Clock cycles a) Generator's clock cycle method issues a write request to the memory (data is not passed yet) b) The memory accepts the write request via the forward path, stores it to PEQ. a) Generator's clock cycle method prepared data and updates the payload for the write request (already in memory's PEQ). b) Generator's clock cycle method would like to check the status of the write (so it can mark the write transaction as finished ok or not). The memory should handle the write request in PEQ now and use the backward path to signalize a response to the generator. I don't know how to do this (is the standard PEQ capable of this? Should I write my own PEQ?). c) Generator's clock cycle method issues a read request to the memory. d) The memory accepts the read request via the forward path, stores it to PEQ. a) Generator's clock cycle method would like to check the status of the read request. The memory should handle the read request in PEQ now, update the payload with data, and use the backward path to signalize a response to the generator. I don't know how to do this (is the standard PEQ capable of this? Should I write my own PEQ?). b) If the response is ok, then generator's clock cycle method picks-up data and move on. ... Any help would be appreciated. Thanks and best regards. -- Zdenek
  19. Hello, I'm trying to develop a memory that supports custom bytes/words. In the usual case, the byte is 8bit and word has 4 bytes (assuming 32bit data-path). Now, in embedded, it's possible that the byte is 12bit and word has 2 bytes (24bit data-path). For 12/24 integers, I can use sc_uint<12> or sc_uint<24>. So, my question is: Is there any helper function that stores/loads a custom int into the generic payload? If not, are there any rules to follow? Thanks.
  20. Hi I have doubt about TLM Phase. Do i need use tlm phase in this specific order always (BEGIN_REQ,END_REQ,BEGIN_RESP and END_RESP)?? And if yes, what should be done when I send a BEGIN_REQ from the master side but get END_RESP from the slave side. (Should just stop the transaction??) Please help me out with this doubt
  21. I have array of target sockets. sc_vector<target_socket_type> m_target_socket; which are bind to tagged nonblocking forward function and here is declaration of the function sync_enum_type my_forward_function(int port_id,...) { m_peq.notify(trans, phase, t); return tlm::TLM_ACCEPTED; } registered callback for peq is peq_cb. Is there a way for my callback to to know port_id? I need to send END_REQ back on same port's backward path, but I need to know id. Thanks
  22. svinco

    sc_vector and TLM

    I need to create a TLM module (that here we will call top_level) containing an array of TLM target modules (defined by class reg). As a consequence, the top_level module should implement the tlm_bw interface, and contain an array of initiator sockets, each bound to a target socket of the reg modules. Is it possible to implement this hierarchy by using the sc_vector construct? Here is a snapshot of the code that I am trying to implement, to give a clearer idea: Top level #include "reg.h" class top_level : public sc_module , public virtual tlm::tlm_bw_transport_if<> { private: sc_time time; sc_vector<reg*> register_file; tlm::tlm_generic_payload reg_trans; public: sc_vector <tlm::tlm_initiator_socket<>*> initiator_socket; ... }; Target module: class reg : public sc_module , public virtual tlm::tlm_fw_transport_if<> { public: tlm::tlm_target_socket<> target_socket; virtual void b_transport(tlm::tlm_generic_payload& trans, sc_time& t); reg(sc_module_name name_); ... }; When trying to compile, the compiler returns this error: error: ISO C++ forbids declaration of ‘sc_vector’ with no type error: expected ‘;’ before ‘<’ token referring to both the instances of sc_vector, as if neither my class nor the initiator_socket class were recognized as datatypes... Best regards, S.
  23. Hi all. I'm testing some codes to better understanding tlm. In this moment I have a block with this variable : std::map <tlm::tlm_generic_payload*, unsigned int> queue; Basically a place when I store my transactions using trans pointer as key. This variable is accessed by 2 threads. On as input and one as output. Input is fast, output is slow. Threads Input wait until a location (I check my max size) is free and fill it. In system C I used sc_mutex to check lock and check it every X ns (wait(X,SC_NS)). In tlm I don't want to used fixed time but wait until a location is free. Is there a simple approach to do this or I need to use sc_mutex or similar to share variable among multiple process ? Thanks for every suggestion. I need it!
  24. Hi Accellera forum, I have an NoC Mesh that is using convenience tagged socket for its North, South, West, and East socket. Then I also have initiator socket and target socket, to connect this NoC node to the processor or memory or to any other peripherals in my SystemC-TLM platform. My question is can we implement more than one blocking transport function inside one SystemC module? Because the functionality of N,S,W,E socket are different with the target socket one. Several transaction are passed to the correct destination node, until at one point there is a transaction that has so big transaction.get_address( ) value (0xffffffe0) which leads to simulation error. It is clear that the transaction address can't be routed to any of the node because there isn't any address that large inside the platform architecture. I have test the application using processor - decoder - memory, and it works just fine. My best guess is that maybe my socket implementation is not correct 100%. Appreciate any suggestion and feedback. Thank you. Regards, Arya.
  25. Good day, I have a question regarding how to determine the appropriate delay value for the wait( ) function call. In the target b_transport callback, we can add delay to the simulation time by passing delay amount to the wait( ) function. In simulation that uses quantum and temporal decoupling that targets super fast instruction accurate simulation, the timing does not have to be very detail (loosely timed). With or without delay in the target callback function will not cause any functional inaccuracy and still we could produce the platform that can support firmware/software development. Still if we want to put a delay to the wait( ), how can we determine the appropriate delay value for the function parameter? Thank you. Regards, Arya.
×