インテルのみ表示可能 — GUID: hco1416492335733
Ixiasoft
インテルのみ表示可能 — GUID: hco1416492335733
Ixiasoft
13.7.2.2. アクセスプロトコル
ユーザーロジックからシーケンサーにコマンドを送信する通信プロトコルは、以下に示すデータ構造のマルチステップ・ハンドシェイク、およびそれに続く図に示されているアルゴリズムを使用します。
typedef struct_debug_data_struct { ... // Command interaction alt_u32 requested_command; alt_u32 command_status; alt_u32 command_parameters[COMMAND_PARAM_WORDS];... }
コマンドをシーケンサーに送信するには、ユーザーロジックはまず、command_statusワードのTCLDBG_TX_STATUS_CMD_READYの値をポーリングする必要があります。これは、シーケンサーがコマンドを受け入れる準備ができていることを示します。シーケンサーのコマンド受け入れ準備が完了後、ユーザーロジックはコマンド・パラメーターをcommand_parametersに書き込み、その後コマンドコードをrequested_commandに書き込む必要があります。
シーケンサーはコマンドコードを検出し、command_statusをTCLDBG_TX_STATUS_CMD_EXEに置き換え、コマンドを処理していることを示します。シーケンサーがコマンドの実行を完了すると、command_statusをTCLDBG_TX_STATUS_RESPONSE_READYに設定し、コマンドの結果が読み出し可能であることを示します。要求されたコマンドを不正であるとして拒否した場合、シーケンサーはcommand_statusをTCLDBG_TX_STATUS_ILLEGAL_CMDに設定します。
ユーザーロジックは、TCLDBG_CMD_RESPONSE_ACKをrequested_commandに書き込むことでコマンドの完了を確認します。シーケンサーは、command_statusをSTATUS_CMD_READYに戻すことで応答します。不正なコマンドを受信した場合、CMD_RESPONSE_ACKを使用してクリアーする必要があります。