SystemC TLM-2.0クラス
TLM-2.0のクラスから全体的な構成をみる。
TLM2.0のクラス構成
ディレクトリ構成
include/tlm | ||||
tlm_h | ||||
tlm_req_rsp | TLM-1.0 legacy | |||
tlm_trans | TLM-2 interoperability classes | |||
tlm_2_interfaces | TLM-2 core interfaces | |||
tlm_generic_payload | TLM-2 generic payload | |||
tlm_sockets | TLM-2 initiator and target sockets | |||
tlm_quantum | TLM-2 global quantum | |||
tlm_analysis | TLM-2 analysis interface, port, fifo | |||
tlm_utils | TLM-2 utilities |
TLM-1標準
TLM-1 standard
TLM-1とTLM-2は別物。
TLM-1 コア・インターフェース
- tlm_transport_if
- tlm_blocking_get_if
- tlm_blocking_put_if
- tlm_nonblocking_get_if
- tlm_nonblocking_put_if
- tlm_get_if
- tlm_put_if
- tlm_blocking_peek_if
- tlm_nonblocking_peek_if
- tlm_peek_if
- tlm_blocking_get_peek_if
- tlm_nonblocking_ge_peek_if
- tlm_get_peek_if
TLM-1 fifo インターフェース
tlm_fifo
マスタ・スレーブ・インタフェース
- tlm_blocking_master_if
- tlm_blocking_slave_if
- tlm_nonblocking_master_if
- tlm_nonblocking_slave_if
- tlm_master_if
- tlm_slave_if
TLM-2 コア・インタフェース
ブロッキング・トランスポート・インタフェース
Blocking transport interface
virtual void b_transport (TRANS &trans, sc_core::sc_time &t)=0
TLM-2.0draft2で存在していた次のクラスがなくなっている。
- tlm_fw_b_transport_if
- tlm_bw_b_transport_if
ノン・ブロッキング・トランスポート・インタフェース
Non-blocking transport intarface
virtual tlm_sync_enum nb_transport_fw (TRANS &trans, PHASE &phase, sc_core::sc_time &t)=0
virtual tlm_sync_enum nb_transport_bw (TRANS &trans, PHASE &phase, sc_core::sc_time &t)=0
ダイレクト・メモリ・インタフェース
Direct memory interface
virtual bool get_direct_mem_ptr (TRANS &trans, tlm_dmi &dmi_data)=0
virtual void invalidate_direct_mem_ptr (sc_dt::uint64 start_range, sc_dt::uint64 end_range)=0
デバッグ・トランスポート・インタフェース
Debug transport interface
virtual unsigned int transport_dbg (TRANS &trans)=0
イニシエータとターゲット・ソケット
Initiator and target sockets
ジェネリック・ペイロード
Generic payload
Phases
このパラメータは、ノン・ブロッキングI/F時、タイミングポイントを決定するのに使用する。
パラメータをイニシエータとターゲット間で使用する。
パラメータをイニシエータとターゲット間で使用する。
ユーティリティ
便利なソケット
Convenience sockets
- simple_initiator_socket
- simple_initiator_socket_tagged
- simple_target_socket
- simple_target_socket_tagged
- passthrough_target_socket
- passthrough_target_socket_tagged
- multi_passthrough_initiator_socket
- multi_passthrough_target_socket
tlm_bw_transport_ifを継承している。
tagged:入力I/Fメソッド呼び出しはどのソケットが到着したかを示すためにIDが付けられる。
- tlmに次の基本ソケットがある
ペイロード・イベント・キュー
Payload event queues(PEQ)
Quantumキーパー
Quantum keeper
インスタンス仕様 拡張
Instance-specific extension
解析ポート
Analysis ports
解析インタフェース
Analysis interface
添付ファイル