はじめに
このページでは、情報科学実験CでDE2-115に実装したSEPの走行モード変更方法を記す。
走行モード変更には、Quartusのツールである「In System Memory Content Editor」を使用して行う。
「In System Memory Content Editor」の詳細な使用方法は「SEPインターフェース回路実験時使用マニュアル 第8章 In System Memory Content Editors使用方法」に記述されている。
走行モード変更手順
走行モードは「In System Memory Content Editor」を用いて走行モード選択メモリ「RUNM」の値を書き換えることで、値に応じた走行モードに変更する。
- DE2-115とPCの接続
Interfaceモジュールを使用した回路図をボードにアップデートし、USBケーブルでPCのUSBポートとDE2-115のBLASTERポートを接続する。 - 「In System Memory Content Editor」の起動
Quartusツールバーの「Tools」メニューから「In System Memory Content Editor」を選択する。 - Hardwareの選択
「In System Memory Content Editor」ウィンドウの右上にある「HardWare:」のドロップダウンリストから「USB-Blaster[USB-0]」を選択する。 - 走行モード選択用メモリの選択、読み出し
メモリの読み出しには「In System Memory Content Editor」ウィンドウの左上にある「InstanceManager」を用いる。「Index」から対象のメモリ「RUNM」を選択し、「Read data from In-System Memory」ボタンを使用することで「RUNM」の読み出しを行う。 - 走行モード選択用メモリに書き込み
「InstanceManager」の「Index」から「RUNM」を選択する。ウィンドウ下半分のHex Editorで対象にカーソルを合わせ、書き込みたい値をキーボードから入力する。そして、「Write Data to In-System Memory」ボタンをクリックすることで「RUNM」に走行モード選択値の書き込みを行う。書き込みが完了すると、書き込まれた走行モード選択値に応じてインターフェース回路から「ノーマル実行(NORMAL)」、「命令ステップ実行(INSTSTEP)」、「クロックステップ実行(CLKSTEP)」の信号が出力される。
走行モード選択値の割り当ては下の表の通りである。
走行モード | 走行モード選択値 |
---|---|
ノーマル実行 | 0,2,4,5,6,7 |
命令ステップ実行 | 1 |
クロックステップ実行 | 3 |
今後の拡張性を考慮して走行モード選択値は0〜7の8つの値を選択できるようになっているが、選択できる走行モードは3つであるため、使用していない2,4,5,6,7の値は選択するとノーマル実行となるように設計されている。
備考
- ノーマル実行以外では、デバッグのためHLTで停止しない仕様になっています。