FPGA デバッギング - ペリフェラル レジスタ画面
Contents
FPGA デザインで使用するために利用できる多くのペリフェラルコンポーネントは、設計者がアクセスできる内部レジスタを所有します。一度、FPGA デザインがターゲットデバイスにプログラムされ、そのコードがプロセッサ内で実行すると、これらのレジスタは一般的にエンベデッドコードを通して相互に作用します。レジスタ値の変更は、プロセッサのためのメモリ空間をアクセスするか、またはそのコードレベルでの編集や、再コンパイル/再ダウンロードすることを意味します。これらは特に、容易に変更内容を確認できない時に扱いにくくなります。
Altium Designer Release 10 では、エンベデッドデザインを開発中、ペリフェラルコンポーネントの内部レジスタと相互に作用するために新しい画面 Peripherals パネルを導入しました。プロセッサが停止している間、デバッグセッションへアクセスできます。そのパネルでは、ペリフェラルの状態を表示しレジスタの現在の状態を確認するだけでなく、変更や新しい値を直接、記述できます。
一度、デバッグセッションが開始した場合、Peripherals パネルはメインデザインウィンドウの右下にある Embedded ボタンからアクセスできます。
パネル内容
以下の欄の情報をパネルに表示できます。どの情報を表示するか right-click»Columns サブメニューからコントロールします。
- Peripheral – この欄は、ユーザがアクセスできる内部レジスタを所有する現在のデザイン内の全てのペリフェラルを表示します。階層構造ではトップレベルは、回路図/OpenBusドキュメントで定義したペリフェラルのデジグネータです。2番目のレベルはレジスタ自身から成ります。もし、レジスタとの相互作用が個々のビットレベルの場合、3番目のレベルが使用されます。
- Address – この欄は、プロセッサのアドレス空間内の各レジスタの hexadecimal アドレスを表示します。
- Width – この欄は、ビットで各レジスタのサイズを表示します。
- Decimal – この欄は、decimal フォーマットで現在のレジスタ(またはビット)値を表示します。
- Hexadecimal – この欄は、hexadecimal フォーマットで現在のレジスタ(またはビット)値を表示します。
- Binary – この欄は、binary フォーマットで現在のレジスタ(またはビット)値を表示します。
- Char – この欄は、character フォーマットで現在のレジスタ値を表示します。bit-level レジスタの項目はこのフォーマットで表示されないことに注意してください。
- Symbolic – この欄は、symbolic フォーマットで現在のレジスタ(またはビット)値を表示します。
- Description – この欄は、ペリフェラル、内部レジスタや個々のビット(該当する場合)のための記述を表示します。
レジスタ値の編集
パネルに表示した情報の Decimal, Hexadecimal, Binary や Symbolic 欄のみ編集できます。1つのフォーマットを編集することで、その他の3つのフォーマットにも変更を適用します。
値を変更したいレジスタの欄、または個々のビットでクリックします。トップレベルレジスタ値は、単に新しい値を入力して変更できます。コントロールレジスタビットのようなレジスタの個々のビットについて、新しい値 '0' または '1' を直接、入力(decimal, hexadecimal または binary フォーマットを編集している時)、またはドロップダウンリストから必要な新しい値を選択します(symbolic フォーマットを編集している時)。Enter を押すと新しい値がレジスタへロードされます。
修正したレジスタ値は、変更によって影響するその他のレジスタの項目も 赤色文字 でハイライトされます。これは、続けて変更、またはパネルを再アクセスする時、通常の黒色文字に戻ります。
クリップボードへコピー
パネル内の情報は、その他のアプリケーションで使用するためにクリップボードへコピーできます。コピーコマンドは右クリックメニューから利用でき、現在、選択した情報、または全ての情報をコピーできます。特定の情報をコピーするために選択している時、以下を選択できます:
- 1つ、または複数のトップレベル ペリフェラルの項目。
- 1つ、または複数の2番目のレベルのレジスタの項目。複数のレジスタは、それらが同じペリフェラルに属する場合、選択できます。
- 1つ、または複数の3番目のレベルのレジスタビットの項目。複数のビットは、それらが同じレジスタに属する場合、選択できます。
情報はパネルからコピーできます。外部の情報を修正したり、パネルにその情報を戻すことはできません。