FC2カウンター FPGAの部屋 SDSoC のプラットフォームのお勉強6(ハードウェア・プラットフォームの完成)

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

FPGAの部屋

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

SDSoC のプラットフォームのお勉強6(ハードウェア・プラットフォームの完成)

SDSoC のプラットフォームのお勉強5(ハードウェア・プラットフォームのメタデータファイルを作る2)”の続き。

前回、ハードウェア・プラットフォームのメタデータファイルを作ることができた。今回は、ハードウェア・プラットフォームを完成させる。

なお、
最初に前回のハードウェア・プラットフォームのメタデータファイルはpfm_name での名前が zybo のままだったので、現在SDSoC に入っているのプラットフォームのzybo とかち合ってしまった。よって、”zybo”を”ZYBO_0_163_3”に変更した。ZYBO_0_163_6_pfm.tcl を示す。

# ZYBO_0_163_6_pfm.tcl
#
# ハードウェア・プラットフォームのメタデータファイルの生成
# 2017/01/01 by marsee
#

source -notrace C:/HDL/Xilinx/SDx/2016.3/scripts/vivado/sdsoc_pfm.tcl

set pfm [sdsoc::create_pfm ZYBO_0_163_6.hpfm]
sdsoc::pfm_name $pfm "marsee" "xd" "ZYBO_0_163_6" "1.0"
sdsoc::pfm_description $pfm "Zynq ZYBO camera"

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

sdsoc::pfm_axi_port $pfm M_AXI_GP1 processing_system7_0 M_AXI_GP
sdsoc::pfm_axi_port $pfm S_AXI_HP0 processing_system7_0 S_AXI_HP

sdsoc::pfm_axis_port $pfm m_axis mt9d111_inf_axis_0 M_AXIS

for {set i 0} {$i < 16} {incr i} {
  sdsoc::pfm_irq $pfm In$i xlconcat_0
}

sdsoc::pfm_iodev $pfm s_axi_lite bitmap_disp_cntrler_axi_master_0 uio
sdsoc::pfm_iodev $pfm s_axi_lite bitmap_disp_cntrler_axi_master_1 uio
sdsoc::pfm_iodev $pfm s_axi_lite mt9d111_inf_axis_0 uio
sdsoc::pfm_iodev $pfm s_axi_AXILiteS PmodHB5_inf_left uio
sdsoc::pfm_iodev $pfm s_axi_AXILiteS1 PmodHB5_inf_left uio
sdsoc::pfm_iodev $pfm s_axi_AXILiteS PmodHB5_inf_right uio
sdsoc::pfm_iodev $pfm s_axi_AXILiteS1 PmodHB5_inf_right uio
sdsoc::pfm_iodev $pfm S_AXI axi_gpio_0 uio

sdsoc::generate_hw_pfm $pfm


書き換えたZYBO_0_163_6.hpfm の一部を貼っておく。

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!-- ZYBO_0_163_6.hpfm -->
<xd:repository xmlns:xd="http://www.xilinx.com/xd" xd:name="ZYBO_0_163_6" xd:library="xd" xd:version="1.0" xd:vendor="marsee">
  <xd:component xd:name="ZYBO_0_163_6" xd:library="xd" xd:version="1.0" xd:vendor="marsee" xd:type="platform" xd:BRAM="60" xd:DSP="80" xd:FF="35200" xd:LUT="17600">
    <xd:platformInfo>
      <xd:deviceInfo xd:name="xc7z010clg400-1" xd:architecture="zynq" xd:device="xc7z010" xd:package="clg400" xd:speedGrade="-1"/>
      <xd:registeredDevices xd:kio="0" xd:uio="8"/>
      <xd:description>Zynq ZYBO camera</xd:description>


これで、ハードウェア・プラットフォームのメタデータファイルの修正が終了した。
次に、プロジェクトをアーカイブする。
File メニューからArchive Project... を選択する。

Archive Project ダイアログが開いた。
SDx_v2016_3_46_170101.png

プロジェクトがアーカイブできて成功したというダイアログが出た。
SDx_v2016_3_47_170101.png

Platforms フォルダにZYBO_0_163_6.xpr.zip ができた。
SDx_v2016_3_48_170101.png

ZYBO_0_163_6.xpr.zip の中を見てみよう。
SDx_v2016_3_49_170101.png

まだソフトウェア・プラットフォームを作っていないが、とりあえず、ZYBO_0_163_6 フォルダを作成して、デフォルトのzybo のプラットフォームをコピーしてきた。
zybo.xpfm を ZYBO_0_163_6.xpfm に入れ替えた。
SDx_v2016_3_50_170101.png

hwフォルダに、生成されたハードウェア・プラットフォームのメタデータファイルZYBO_0_163_6.hpfm を入れた。
SDx_v2016_3_51_170101.png

hw\vivado フォルダにアーカイブされたVivado 2016.3 プロジェクトをコピー&ペーストして、ZYBO_0_163_3_pfm.tcl も入れた。
SDx_v2016_3_52_170101.png

これで、SDx Terminal 2016.3 を起動して、Z:\Platfroms\ZYBO_0_163_3\hw に cd した。

sds-pf-check ZYBO_0_163_6.hpfm を実行すると、validates が返ってきた。大丈夫なようだ。
SDx_v2016_3_53_170101.png

試しに、Z:\Platfroms\ZYBO_0_163_3 フォルダに cd して、sdscc -sds-pf-list を実行すると、それなりに表示されている。
SDx_v2016_3_54_170101.png

でも、まだソフトウェア・プラットフォームは生成していない。

現在のZYBO_0_163_6.xpfm を示す。

<?xml version="1.0" encoding="UTF-8"?>
<sdx:platform sdx:vendor="marsee"              sdx:library="sdx"              sdx:name="ZYBO_0_163_6"              sdx:version="1.0"              sdx:schemaVersion="1.0"              xmlns:sdx="http://www.xilinx.com/sdx">
  <sdx:description>ZYBO_0_163_6 Zynq-7000 SoC platform targeting the ZYBO board. MT9D111 Camera Interface, PWM, Motor Monitor, HDMI output, VGA output</sdx:description>

    <!-- Support multiple DSAs for multi-FPGA platforms -->
  <sdx:hardwarePlatforms>
    <sdx:hardwarePlatform sdx:path="hw" sdx:name="ZYBO_0_163_6.hpfm"/>
  </sdx:hardwarePlatforms>

  <sdx:softwarePlatforms>
    <sdx:softwarePlatform sdx:path="sw" sdx:name="zybo.spfm"/>
  </sdx:softwarePlatforms>

</sdx:platform>

  1. 2017年01月02日 08:22 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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