1 / 12

TLM 2.0 AT with Optional Extension System Example

TLM 2.0 AT with Optional Extension System Example. Jack Donovan, Anna Keist, Charles Wilson ESLX, Inc. June 2008. AT with Optional Extension Example. The Goal is to Illustrate: Application of TLM 2.0 in a real system Use of an optional extension Option of the non-blocking style

havyn
Download Presentation

TLM 2.0 AT with Optional Extension System Example

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TLM 2.0 AT with Optional ExtensionSystem Example Jack Donovan, Anna Keist, Charles Wilson ESLX, Inc. June 2008

  2. AT with Optional Extension Example • The Goal is to Illustrate: • Application of TLM 2.0 in a real system • Use of an optional extension • Option of the non-blocking style • This style has been previously referred to as "4 phase" • Most complex version of non-blocking/AT style • Possible Applications: • Architectural Verification • Software Verification • Early Performance Validation

  3. Example Block Diagram Router (SimpleBusAT) Initiator Module (initiator_top) Initiator Module (initiator_top) Target Module (at_4_phase_target) Target Module (at_4_phase_target) This extension carries a string containing the initiators ‘ID’ Generic Payload Initiator ID Extension TLM 2 GP

  4. How to run this example (Linux) • SetSYSTEMC_HOME andTLM_HOME • cd examples/tlm/at_extension_optional/build-unix • make clean • make • make run

  5. How to run this example (MSVC) • Open a explorer window onexamples/tlm/at_extension_optional/build-windows • Launch at_extension_optional.sln • Select ‘Property Manager’ from the ‘View’ menu • Under ‘at_extension_optional > Debug | Win32’ select ‘systemc’ • Select ‘Properties’ from the ‘View’ menu • Select ‘User Macros’ under ‘Common Properties’ • Update the ‘SYSTEMC’ and ‘TLM’ entries and apply • Build and run

  6. Expected Output (expected.log) … Info: select_initiator.cpp: 47 ns - send_end_rsp_method Initiator: 101 starting send-end-response method Initiator: 101 nb_transport_fw (GP, END_RESP, 0 s) Info: select_initiator.cpp: 47 ns - send_end_rsp_method Initiator: 101 COMPLETED (GP, END_RESP, 0 s) Info: at_target_4_phase.cpp: 47 ns - nb_transport_fw Target: 201 extension data: 'Initiator ID: 101' Info: select_initiator.cpp: 47 ns - initiator_thread Initiator: 101 starting new transaction Initiator: 101 nb_transport_fw (GP, BEGIN_REQ, 0 s) Info: select_initiator.cpp: 47 ns - initiator_thread Initiator: 101 ACCEPTED (GP, BEGIN_REQ, 0 s) Initiator: 101 transaction waiting end-request on backward-path Info: at_target_4_phase.cpp: 47 ns - nb_transport_fw Target: 201 extension data: 'Initiator ID: 101' … Initiator ID: 101

  7. Initiator Module tlm_initiator_socket tlm_target_socket sc_export sc_port Initiator Module (initiator_top) extension data populated here Traffic Generator Module (traffic_generator) Request Queue (sc_fifo) Response Queue (sc_fifo) top_initiator_socket TLM Interface Module (select_initiator)

  8. TLM Interface Module tlm_initiator_socket tlm_target_socket sc_export TLM Interface Module (select_initiator) request_in_port nb_transport_fw initiator_thread enable_next_request_event waiting_bw_path_map Initiator_socket nb_transport_bw response_out_port send_end_rsp_PEQ nb_transport_fw send_end_rsp_method sc_port

  9. Target Module tlm_initiator_socket tlm_target_socket sc_export sc_port Target Module (at_4_phase_target) extension data extracted here nb_transport_fw memory_socket end_request_PEQ memory end_request_method response_PEQ nb_transport_bw end_resp_rcvd_event begin_response_method

  10. Router Component Router Model (SimpleBusAT<2,2>) initiator sockets (2) target sockets (2) tlm_initiator_socket tlm_target_socket sc_export sc_port

  11. Expected Timing (1 of 2) select_initiator (enable_targeting_tracking=true) SimpleBusAT nb_transport_fw(GP, BEGIN_REQ, SC_ZERO_TIME) TLM_ACCEPTED (GP, X, T1) …………….. nb_transport_bw(GP, END_REQ, SC_ZERO_TIME) TLM_ACCEPTED (GP, X, T2) …………….. nb_transport_bw(GP, BEGIN_RESP, SC_ZERO_TIME) TLM_ACCEPTED (GP, X, T3) …………….. nb_transport_fw(GP, END_RESP, SC_ZERO_TIME) TLM_COMPLETED (GP, X, T4)

  12. Expected Timing (2 of 2) at_4_phase_target SimpleBusAT nb_transport_fw(GP, BEGIN_REQ, SC_ZERO_TIME) TLM_ACCEPTED (GP, X, T1) …………….. nb_transport_bw(GP, END_REQ, SC_ZERO_TIME) TLM_ACCEPTED (GP, X, T2) …………….. nb_transport_bw(GP, BEGIN_RESP, SC_ZERO_TIME) TLM_ACCEPTED (GP, X, T3) …………….. nb_transport_fw(GP, END_RESP, SC_ZERO_TIME) TLM_COMPLETED (GP, X, T4)

More Related