Chipscope
なお、Chipscope Proの基本的な使い方に関しては、fpga-lab.orgさんの”ChipScope™ Proの使い方”に詳しく書
かれていますので、そちらを参照されると良いと思います。
Chipscopeについて
(Chipscopeの概要について)
Chipscope7.1iの使用法について
(Chipscope7.1は何かおかしいという記事。ちなみにChipscope9.1は問
題ない)
Chipscopeのクロックの配置について
(ChipscopeもFPGAの回路の一部なので、BUFGMUXを十分に使わせてあげない
と、動作がおかしくなる。それを回避する方法。キャプチャ図解説付き)
Chipscopeの観測する信号をつなぎ直す
(Chipscopeは非常に便利なツールだが通常は少なくともネットリストに
Chipscope回路を付加するので再度インプリメントしなくてはならない。FPGA
Editorでお手軽につなぎなおす方法を解説。キャプチャ図解説付き)
ChipscopeのXカーソル、Oカーソルの移動
(こんなことも知らなくてお恥ずかしいが。。。ChipscopeのXカーソル、Oカーソルの
移動方法を解説。キャプチャ図解説付き)
ChipScopeの波形保存とModelSimでの表示方法
(ChipScopeでVCDで保存した波形をvcd2wlf.exe
でwlfファイルに変換してModelSimで表示する方法。キャプチャ図解説付き)
ISE10.1i
のChipscope Proチュートリアル1 (Verilog版DDR SDRAMコントローラのテスト回路)
ISE10.1i
のChipscope Proチュートリアル2 (Verilog版DDR SDRAMコントローラのテスト回路)
(ISE10.1iでのChipscopeの使い方のチュートリアル。
Verilog版DDR SDRAMコントローラのテスト回路を題材にしている。2回目は、ChipScope
Pro Core Inserter でクロックとトリガ信号とデータ信号を選択して.cdc ファイルにセーブし、ISEに戻るまで)
ISE10.1i
のChipscope Proチュートリアル3 (Verilog版DDR SDRAMコントローラのテスト回路)
(ISE10.1iでのChipscopeの使い方のチュートリアル。
Verilog版DDR SDRAMコントローラのテスト回路を
題材にしている。3回目は、ChipScope Pro Analyzer を立ち上げて、.cdc
ファイルをロードすることで信号名をロードする。バスのデータを指定する。トリガをかけて波形を観測する。今までの設定をプロジェクトとしてセーブする。
以上の作業を書いている)
ChipScope
Pro 11.1
(Spartan3A Starter KitのDDR2
SDRAMコントローラだが、やはりどうして動作しないかわからないので、ChipScope Pro 11.1の評価版をダウンロードして使用してみた。
ChipScope Pro
11.1の評価版を使ってみたところ、ビットファイルをコンフィギュレーションするときにCDCファイルも指定出来て、自動的にバスを作るオプションもあった。便利になっ
た。)
ChipScope
Pro11.2からVCDファイルをExport
(ChipScopeからVCDファイルをExportするやり方を書いておく。)
ChipScope
を入れたらERROR:Pack:311 - Unable to resolve the conflicts... のエラー発生
(ISE10.1iSP3
にChipScopeのIPを入れたら、”ERROR:Pack:311 - Unable to resolve the conflicts
between two or more collections of symbols which have restrictive
placement or routing requirements.”のエラーが発生。)
CoreGen
からChipScope Proを使用する1(ICONコアの生成)
CoreGen(CORE
Genarator) からChipScope Pro(以下、ChipScope)コアを生成してDDR3
SDRAMをテストしたので、これをやってみたいと思っていた。疑問だったCDCファイル(信号名を記述したファイル)の対処方法もわかったのでブログに
備忘録を書いておこうと思う。
CoreGenでICONコアを生成する。
CoreGen
からChipScope Proを使用する2(ILAコアの生成)
前回、CoreGen(CORE
Generator)で、ICONコアを生成した。今回はILAコアを生成して、トップモジュールのVerilogソースを変更して、ICONコアとILAコアをインスタ
ンスして、ILAコアに観測したい信号を接続する。
CoreGen
からChipScope Proを使用する3(ChipScope Analyzerで波形を観察)
今
回は、ChipScope Analyzer で波形を観察する。だが、その前に、信号名を波形に反映させる必要がある。これをChipScope
Analyzer のDataport に信号名をいちいち入れたのでは面倒だ。そこで調べてみるとFPGA
EditorのILAダイアログで、ILAのデータポートにネット名を関連付けて、それをCDCファイルとしてエクスポートできることがわかった。その
CDCファイルをChipScope Analyzer でimportすれば、信号名をwaveform ウインドウで使用することができるはずだ。
Chipscope Pro
Core Inserterを入れる際の便利なオプション
XST
のプロパティの -netlist_hierarchyの値をAs
OptimizedからRebuiltに変更すると、階層が再構築されてネットが見やすくなる。ChipScopeがかけやすくなる。これは、
ChipScopeを入れなくてもRebuiltに変更した方が良い。
ChipScope
ProのVIOを使う1
ChipScope ProのVIO (Virtual Input/Output
core)について書いておこうと思う。VIOは、ChipScopeで、VirtualなI/Oを実現できる。基板にスイッチやLCD,LEDがなくて
も、値を入力できたり、値を出力して目で見ることができる。スイッチや表示器が実装されていない基板で、便利に使用することができる。
ChipScope
ProのVIOを使う2
今度は、生成したICON, VIO,
ILAコアを接続していく。前回のvio_aをクリックして、View HDL Instantiaion Template
をダブルクリックすると、component文とインスタンスの例が出るので、それを参考にする。
ChipScope
ProのVIOをtclスクリプトで制御
”ChipScope ProのVIOを使う1”と”ChipScope
ProのVIOを使う2”で、ChipScopeのVIOを使って、アドレスを入力してデータをChipScope
Analyzer上に表示する方法を書いた。
今回は、ChipScopeのVIOをtclスクリプトから制御して、プログラムでアドレスを連続に入力しながら、出力されたデータをファイルに書き出す方法
を書こうと思う。使用したISEのバージョンは12.1。
XPSで
ChipScope Proコアを追加してデバック1
Spartan3シリーズでは、BSCANユニットが1個しか入っていないため、
MicroBlazeでMDMユニットが入っているとChipScope Pro Inserter でChipScope
Proを挿入することができなかった。
EDKでは、XPS上でChipScope ProのコアをAdd IPすることによって、ChipScope
Proを使用することができるようなので、やったみた。
XPSで
ChipScope Proコアを追加してデバック2
XPSでChipScopeコアを追加して、ChipScope Pro
Analyzerを立ち上げSpartan3シリーズのEDKでChipscopeでデバックすることができた。
ChipScope
AXI Monitor を試してみた
今回は、ChipScope AXI Monitor
を試してみることにした。AXIバスのすべての信号をChipScopeで観察できる。
ChipScope
Analyzer でステートマシンのステートを表示する方法
ChipScope Analyzer
でステートマシンのステートを表示させると通常は16進数しか表示しない。ChipScope Analyzer
でステートマシンのステート名を表示する方法を試してみる。
ISE14.5以降の
ISE で SDK と ChipScope Pro の協調デバックをする方法
”ZedBoard AXI4 Lite Slave
演習3(実機テスト)”でSDKとChipScope
Pro(以下、ChipScope)を同時に使えなかった。以前は同時に使えたと思ったのだが。。。(ISE14.7を使用している)
そこで、検索してみたところ、Xilinx User Community Forums の”[14.6] SDK and Chipscope do
not work together”がヒットした。
それによると、ISE14.4にロールバックして使っているとか。。。どうやらISE14.5からダメになったようだ。
そのページからリンクされたWordファイル、”Launch SDK and Chipscope.docx
”にやり方が書いてあったので、実際に確かめてみることにした。
ほかのカテゴリでのChipscopeの記事
あるパソコンでのPCIマスタアクセス波形
(XeonプロセッサのパソコンのPCI66MHz,64bitボードからパソコンのメモリへ
PCIマスタリードしたときのChipscope波形。ChipScopeで信号をまとめてバスとして表示する方法)