FC2カウンター FPGAの部屋 SDSoC のプラットフォームのお勉強4(ハードウェア・プラットフォームのメタデータファイルを作る1)

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

SDSoC のプラットフォームのお勉強4(ハードウェア・プラットフォームのメタデータファイルを作る1)

SDSoC のプラットフォームのお勉強3(ハードウェア・プラットフォームの試作1)”の続き。

前回はハードウェア・プラットフォームを作成するためのVivado 2016.3 のプロジェクトを作った。今回は、Tcl スクリプトを実行して、SDSoC Vivado Tcl API を読み込んで手順を実行し、ハードウェア・プラットフォームのメタデータファイルを作っていこう。

最初に”SDSoC Environment Platform Development Guide UG1146 (v2016.3) November 30, 2016” の40ページ”Chapter 6: Hardware Platform Metadata Creation”を参照のこと。
日本語の資料として、”SDSoC 環境プラットフォームおよびライブラリ UG1146 (v2016.2) 2016 年 7 月 13 日”の12ページの”プラットフォーム ハードウェア記述ファイル”を参照する。

41 ページの SDSoC Vivado Tcl Commands 参照
最初に、/scripts/vivado/sdsoc_pfm.tcl をVivado 2016.3 のTcl コンソールで起動して、次の手順を実行する。
1.ハードウェア・プラットフォームの名前を宣言する。
2.プラットフォームの簡単な説明を定義する。
3.プラットフォームのクロックポートを宣言する。
4.AXI バス・インターフェースを宣言する。
5.AXI4-Stream バス・インターフェースを宣言する。
6.プラットフォームの割り込みを宣言する。
7.ハードウェア・プラットフォームのメタデータファイルを書き込む。

SDSoC のプラットフォームのお勉強3(ハードウェア・プラットフォームの試作1)”のVivado 2016.3 プロジェクトでTcl コンソールを開いて、sdsoc_pfm.tcl を実行するために次のコマンドを入力した。
source -notrace C:/HDL/Xilinx/SDx/2016.3/scripts/vivado/sdsoc_pfm.tcl
SDx_v2016_3_27_161226.png

リターンキーを入力するとコマンドが実行された。
SDx_v2016_3_28_161226.png

最初に、ハードウェア・プラットフォームのメタデータファイルの名前を sdsoc::create_pfm コマンドで指定する。この名前は前回の”SDSoC のプラットフォームのお勉強2”の注意点1.に書いたように”Vivado のプロジェクト名はハードウェア・プラットフォームの名前と一致させる必要がある”ということだ。

SDSoC Vivado Tcl API を使用して、ハードウェア・プラットフォームのメタデータファイルを作っていく。

最初に、ハードウェア・プラットフォームのメタデータファイルを生成する。
set pfm [sdsoc::create_pfm ZYBO_0_163_6.hpfm]
SDx_v2016_3_29_161226.png

ベンダーやライブラリ、プラットフォーム名、バージョンを追加する。
sdsoc::pfm_name $pfm "marsee" "xd" "zybo" "1.0"
SDx_v2016_3_30_161226.png

ハードウエアプラットフォームの説明を追加する。
sdsoc::pfm_description $pfm "Zynq ZYBO camera"
SDx_v2016_3_31_161226.png

次にクロックポートを宣言しよう。

クロックポート宣言のコマンドのフォーマットを示す。

sdsoc::pfm_clock
 <pfm ハンドル($pfm)>
 <クロックポート名(FCLK_CLK0)> 
 <PSのインスタンス名(processing_system7_0)>
 <インスタンス番号(0)>
 <デフォルト・クロックかどうか(true or false)>
 <procesor System Reset のインスタンス名(rst_processing_system7_0_100M)>

FCLK_CLK0 はすでにprocesor System Reset がインスタンスされいて、その名前は rst_processing_system7_0_100M だった。
よって、4つのクロックポートを宣言するTCLスクリプトは以下の通りとなる。
sdsoc::pfm_clock $pfm FCLK_CLK0 processing_system7_0 0 true rst_processing_system7_0_100M
sdsoc::pfm_clock $pfm FCLK_CLK1 processing_system7_0 1 false proc_sys_reset_0
sdsoc::pfm_clock $pfm FCLK_CLK2 processing_system7_0 2 false proc_sys_reset_1
sdsoc::pfm_clock $pfm FCLK_CLK3 processing_system7_0 3 false proc_sys_reset_2

SDx_v2016_3_32_161227.png
  1. 2016年12月27日 07:40 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3676-3f36ad80
この記事にトラックバックする(FC2ブログユーザー)