2014年10月13日月曜日

ZYBO 6

ようやくyoutubeにアップされていたsadri氏のZynq training ビデオをひと通り聴講し終えた。 続きが楽しみである。

VivadoでCreate and Package New IPでIPを新規作成してみようとしたところ、java.lang.NullPointerExceptionという例外が発生して旨く行かないことがあった。








色々ネットとかで調べた結果、IPのPackagerのVendor名に値が設定されていないことが原因のようだ。

値を設定したところ、エラーは出なくなった。


 
 
ここで設定したVendor名は、Linuxの場合はユーザーのホームディレクトリ下の、.Xilinx/Vivado/version_number/vivado.iniファイルに保持されるようだ。



話は変わって、VivadoではZedboardやMicrozed Board等4種類の評価ボードのパラメータが登録されていて、プロジェクト作成時にそのボード名を指定することでI/OやPS部のマニュアル設定を省略することが出来るのだが、何故かZYBOは登録されていない。

自分でZYBOの情報を登録出来ないかやってみた。
まず、vivadoのインストールフォルダ下で評価ボード名が入ったファイルを検索してみた。
Microzedで検索したところ以下の結果を得た。

./data/boards/board_parts/zynq/microzed/下には以下のように、board_part.xmlとpreset.xmlの2つのファイルがあった。

board_part.xmlにはPL部のパラメータが書かれるようだ。 上記のMicrozedボードのboard_part.xmlはPL部の情報が何も書かれていないのだが、同じディレクトリ階層のZedboard用のboard_part.xmlは以下のようになっていた。

一方、preset.xml にはprocessing system7の設定内容…では無くて、設定ファイルの名称が書かれ、設定内容は ./data/ip/xilinx/processing_system7_v****/preset/ 以下のtclファイルに書かれるようだ。 ./data/ip/xilinx/procesing_system7_v5_5/preset/Microzed.tclの内容は以下のようであった。

これらを参考にしてZYBO用の各ファイルを作成して各ディレクトリに配置してみたところ、VivadoのBoard選択ダイアログでZYBOが表示されるようになった。




※ 2015.01.10 更新しました。
     17行目のPCW_CRYSTAL_PERIPHERAL_FREQHZ を追加




Create Block DiagramでZynq Processing Systemを追加してみた。

次に Run Block Automation で各リソースの設定を自動でやらせてみる。

Apply Board Presetにチェックが付いているので、これでOKボタンをクリックすれば設定される筈である。

が、期待した結果にならなかった。

PSのアイコンをダブルクリックしてRe-customaize IPダイアログを開、Presetsメニューを確認したところ、ZYBOの文字が無い。 まだ、何か設定が不足しているようだ。

Microzedの文字列を含んでいるファイルをgrepで検索した結果、
./data/ip/xilinx/processing_system_v***/下のcomponent.xmlファイルが見つかった。

そこで、ZYBOの情報を追加してみた。

Vivadoを再起動し、Create Block DiagramでZynq Processing Systemを追加し、Re-customize IPダイアログのPresetsを見てみたところ、ZYBOの文字が現れた。

Block Diagramに戻りRun Block Automationを実行してみたところ今度は旨く言った。

以下はzybo_base_systemのBlock Diagramに表示されるprocessing_system7_0だが、同じであることが判る。 また、Re-customize IPダイアログで各部の詳細な設定内容を確認したところ上記のtclファイルに書いた通り(zybo_base_systemと同じ設定値)になっていた。


もしかすると、インストールディレクトリ下を弄らずに同様の効果を得る手段があるのかも知れないのだが、UG等の文書をまだ見つけられていない。


0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 22

今使用しているモータードライバはDM556Dというものだが、このドライバはMicro Stepが 800 [pulse/rev] 〜 40000 [pulse/rev]の範囲で設定できる。 Mi...