FC2カウンター FPGAの部屋 ZYBO Z7
FC2ブログ

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

FPGAの部屋

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

ZYBO Z7-20でPcam 5Cを使用する8(シリアル・インターフェースで設定変更)

ZYBO Z7-20でPcam 5Cを使用する7(Pcam 5Cの設定を変更)”の続き。

前回は、pcam_vdma_hdmi アプリケーション・プロジェクトの src フォルダの ov5640 フォルダの OV5640.h を変更してカメラの設定を変更した。今回は、pcam_vdma_hdmi アプリケーション・ソフトウェアは、シリアル・インターフェースを使用して設定を変更できる機能があるので、それを使用してみた。

まずは、起動時のTera Term の画面を示す。
MIPI_camera_63_180108.png

Digiletn のZybo Z7 Pcam 5C Demo の”Using the Zybo Z7 Pcam 5C Demo”の”Pcam 5C Image Sensor and Post Processing Options”から引用する。

a - Change Resolution
This option can be used to change the resolution of the video coming from the sensor. Currently 1080p@15Hz is not supported and will cause problems if used.
b - Change Liquid Lens Focus
This option is not compatible with this version of the Pcam 5C and should be ignored
d - Change Image Format
This option was included for debugging purposes and should always be set to RAW mode (option 2)
e - Write a Register inside the Image Sensor
This option allows you to write a value to any register inside the Image sensor over the OmniVision SCCB interface. You will need to refer to the OV5640 datasheet for information on the register map. This option is very useful for exploring the features of the image sensor.
f - Read a Register inside the Image Sensor
This option allows you to read the value of any register inside the Image sensor over the OmniVision SCCB interface.
g - Change Gamma Correction Factor Value
This option allows you to change the amount of gamma correction that is done by the custom AXI stream IP inside the FPGA.
h - Change AWB Settings
This option allows you to adjust how the image sensor is doing auto white balancing. There are 3 modes: Advanced, simple, and disabled. The advanced mode sometimes causes dramatic shifts between “red-ish” and “blue-ish” tints.


最初の”a”とリターンキーをタイプすると、解像度とフレームレートを変更することができる。
MIPI_camera_64_180108.png

2 の 1920 x 1080 15fps はサポートされていないそうなので、やってみると画像が乱れる。3. 1920 x 1080 30fps が標準だ。その時のカメラ画像を示す。
MIPI_camera_70_180110.jpg

1. 1280 x 720 60fps の時の画像を示す。
MIPI_camera_71_180110.jpg
(部屋が散らかっていて申し訳ありません)

b は機能がないそうなので、d とリターンキーをタイプすると、RGB と RAW に変更できるという?
MIPI_camera_65_180108.png

どこを変更しているのか良く分からないが? 1. にしてみた。
MIPI_camera_72_180110.jpg

色がおかしい。。。 2. にすると元に戻った。

f. Read a Register inside the Image Sensor はカメラのレジスタを Read できる機能だ。アドレスを指定するとレジスタの値を表示する。
vfilp の0x3820 のレジスタの値を読んでみよう。
”r”とリターンキーをタイプすると、アドレスを入れるモードになるので、3820 を入力した。
すると、レジスタの値の 40 を表示する。
MIPI_camera_66_180110.png

e. Write a Register inside the Image Sensor はカメラのレジスタを Write できる機能だ。アドレスを指定して、レジスタの値を入力する。 0x3820 に 0x46 を書くと上下反転した。
MIPI_camera_67_180110.png

g. Change Gamma Correction Factor Value は画像のガンマ値を変更することができる。
MIPI_camera_68_180110.png

1. が一番暗くて、5. が一番明るい。

1. の画像を示す。
MIPI_camera_73_180110.jpg

5. の画像を示す。
MIPI_camera_74_180110.jpg

h. Change AWB Settings はホワイト・バランスをアドバンスドとシンプルとオフから選択できる。
MIPI_camera_69_180110.png

1. と 2 . は変化が無かった。
3. のAWB をオフにすると、色が変わってしまった。
MIPI_camera_75_180110.jpg
  1. 2018年01月10日 06:34 |
  2. ZYBO Z7
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7-20でPcam 5Cを使用する7(Pcam 5Cの設定を変更)

ZYBO Z7-20でPcam 5Cを使用する6(Pcam 5Cのカメラ画像を表示できた)”の続き。

前回は、Digilent 社のデモ・プロジェクトで Pcam 5Cのカメラ画像を表示することができた。今回は、Pcam 5Cのカメラ画像をレジスタを設定することで、画像を変更してみた。

なお、参考にしたのは、Digilent 社のデモ・プロジェクトの OV5640.h と、Linux のドライバーの ov5640.c だ。
後は、Interface 2014年11月号の 「第4章 まずは体験! 最新処理画像機能で OV5642 の機能」を紹介しているエンヤ ヒロカズさんの記事だ( 42 ページ)。

まずは、下の写真の様に、Pcam 5Cのカメラを下に垂らした方が使いやすい。
MIPI_camera_57_180108.jpg

現状では、こうすると、画像は上下が逆になってしまう。
MIPI_camera_60_180108.jpg

ov5640 のデータシートの 39 ページの 4 image sensor core digital functions 、4.1 mirror and flip を引用する。
MIPI_camera_62_180108.png

pcam_vdma_hdmi アプリケーション・プロジェクトの src フォルダの ov5640 フォルダの OV5640.h を見ると、

{0x3820, 0x46}

になっていた。
MIPI_camera_55_180108.png

これは、vfilp がイネーブルになっている。つまり、上下方向で反転されている。Pcam 5C のシルクの向きとは反対なので、搭載方法をミスったのだろうか?

{0x3820, 0x40}

にすれば、上下反転が直るはず。
MIPI_camera_56_180108.png

こう修正すると上下反転したというか、上下反転が直った。
MIPI_camera_61_180108.jpg

次に、少し色が薄い気がするので、Interface 2014年11月号の 「第4章 まずは体験! 最新処理画像機能で OV5642 の機能」の 47 、48 ページの色飽和度を参考にして、0x5001, 0x 5583, 0x5584, 0x5580 のレジスタをいじってみたが、変化は無かった。

Interface 2014年11月号の 「第4章 まずは体験! 最新処理画像機能で OV5642 の機能」の 49、50 ページの「4 - 5 明るさを補正する・・・露出補正」をやってみた。最初、本の通りの値を入れたが、うまく行かない。カメラの型番が違うので、デフォルト値が違うのかも?ということで、レジスタのデフォルト値を読みだして、それを変更したら、露出補正がうまく行った。

まずは、露出補正後のカメラ画像を示す。レースのカーテン越しに外の状況が分かる。室内は暗くなっている。
MIPI_camera_58_180108.jpg

OV5640.h の修正部分のコードを示す。
MIPI_camera_52_180108.png

normal に戻す。
MIPI_camera_53_180108.png

すると、カメラ画像の外は白飛びしてしまう。
MIPI_camera_59_180108.jpg

そのときの OV5640.h の修正部分のコードを貼っておく。

        {0x5001, 0x03},

        // by marsee 2018/01/08
        //EV
        /*{0x3a0f,0x30}, // more dark
        {0x3a10,0x20},
        {0x3a1b,0x30},
        {0x3a1e,0x20},
        {0x3a11,0x88},
        {0x3a1f,0x40}*/
        {0x3a0f,0x78}, // normal
        {0x3a10,0x68},
        {0x3a1b,0x78},
        {0x3a1e,0x68},
        {0x3a11,0xD0},
        {0x3a1f,0x40}

  1. 2018年01月09日 04:22 |
  2. ZYBO Z7
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7-20でPcam 5Cを使用する6(Pcam 5Cのカメラ画像を表示できた)

ZYBO Z7-20でPcam 5Cを使用する5(SDK1)”の続き。

前回は、SDKのビルドでエラーが出て解消できなかった。今回は、ブロック・デザインで階層を設けないでやってみた。結果的にこれでうまく行ってPcam 5Cのカメラ画像を表示することができた。

ZYBO Z7-20でPcam 5Cを使用する3(インプリメント)”でPcam 5C用の階層とHDMI 出力の階層を分けてしまったので、そのまま分けないでフラットなブロック・デザインとしてやってみた。
MIPI_camera_38_180106.png

MIPI_camera_39_180106.png

拡大した。
MIPI_camera_40_180106.pngMIPI_camera_41_180106.png

Address Editor 画面。
MIPI_camera_42_180106.png

これで、論理合成、インプリメント、ビットストリームの生成を行った。
結果を示す。
MIPI_camera_43_180106.png

同様に sdk フォルダの内容を import すると、今度は、pcam_vdma_hdmi_bsp にBSP Documentation フォルダと ps7_cortexa9_0 フォルダができていた。これでOKそうだ。ビルドも通っている。
MIPI_camera_44_180106.png

Zybo Z7 Pcam 5C Demo”を参考にしながら、Pcam 5Cを接続して、ZYBO Z7の電源をONした。
PROG/UART のMicro USB ポートからパソコンに接続した。
MIPI_camera_45_180107.jpg

FPGAにビット・ファイルをダウンロードして、pcam_vdma_hdmi.elf を起動したところ、HDMI 出力にカメラ画像が表示された。
MIPI_camera_46_180107.jpg

彩度があまりよくないような気がするし、明るくなってくると白飛びしてしまうので、AGCが効いていないのかもしれない?もっと設定を頑張る必要あるとは感じた。

さて、これまではVivado 2016.4でやっていたのだが、Vivado 2017.4 にアップグレードしてみた。
IP をアップグレードしたら、ブロック・デザインも正常になったので、問題ないようだ。
MIPI_camera_47_180107.png

論理合成、インプリメント、ビットストリームの生成を行った。
結果を示す。
MIPI_camera_48_180107.png

critical warnings が増えているが、タイミングエラーの値は同じだ。Vivado 2017.4 になってからクリティカル・ワーニングの数が増えたような気がする。

ハードウエアをエクスポートして、SDK を立ち上げた。
同様に sdk フォルダの内容を import しても、エラーが出てしまう。

pcam_vdma_hdmi アプリケーションソフトをC++ の Empty Application テンプレートで新規作成して、sdk フォルダの hdmi, ov5640, platform フォルダと main.cc ファイルを src フォルダの下にコピーした。
MIPI_camera_51_180107.png

すると、pcam_vdma_hdmi_bsp の ps7_cortexa9_0 -> libsrc -> ddynclk_v1_0 -> ddynclk_g.c がエラーになっていた。
DDynClk_Config DDynClk_ConfigTable の[] の中の文字列の定義(名前を忘れちゃいました。。。)がないということで、エラーになってしまっていた。
よって、xparameters.h を見て、XPAR_AXI_DYNCLK_NUM_INSTANCES と入れ替えた。
MIPI_camera_50_180107.png

MIPI_camera_49_180107.png

こうすると、ビルドできた。
SDK 2016.4 の時と同様にFPGA にビット・ファイルをダウンロードして、pcam_vdma_hdmi.elf を起動したところ、HDMI 出力にカメラ画像が表示された。
  1. 2018年01月07日 15:41 |
  2. ZYBO Z7
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7-20でPcam 5Cを使用する5(SDK1)

ZYBO Z7-20でPcam 5Cを使用する4(タイミングエラーの検討)”の続き。

前回は、タイミングエラーを検証した。今回は、とりあえず、SDKでアプリケーションソフトを作成してみよう。

Vivado 2016.4 のFile メニューからExport -> Export Hardware... を選択する。

Export Hardware ダイアログで、Include bitstream にチェックを入れてから、OK ボタンをクリックする。

File メニューからLaunch SDK を選択して、SDK を起動した。
MIPI_camera_28_180106.png

Using Digilent Github Demo Projects の4. Import SDK Projects の Launch from Vivado に従って進めていく。

最初にFile メニューから Import... を選択する。
MIPI_camera_29_180106.png

Select ダイアログで、Existing Projects into Workspace を選択する。Next > ボタンをクリックする。
MIPI_camera_30_180106.png

Import Projects ダイアログで、Select root directory のBrowse... ボタンをクリックする。
MIPI_camera_31_180106.png

フォルダーの参照ダイアログで、Zybo-Z7-20-pcam-5c-master フォルダ下の sdk フォルダをクリックして、OK ボタンをクリックする。
MIPI_camera_32_180106.png

Import Projects ダイアログに、情報が入った。
Options の Copy projects into workspace にチェックを入れておく。
MIPI_camera_33_180106.png

pcam_vdma_hdmi アプリケーション・プロジェクトの platform.c がエラーになってしまう。
pcam_vdma_hdmi_bsp にインクルードのフォルダが無いからだ。
MIPI_camera_34_180106.png

それではということでBSP プロジェクトをリジェネレートしてみよう。
pcam_vdma_hdmi_bsp を右クリックして、右クリックメニューからRe-generate BSP Sources を選択した。
MIPI_camera_35_180106.png

Re-generate BSP Sources ダイアログが表示された。OK ボタンをクリックする。
MIPI_camera_36_180106.png

それでも必要なインクルード・フォルダなのどのソースは生成されない。SDK Log を見るとエラーが表示されていた。
MIPI_camera_37_180106.png
  1. 2018年01月07日 05:14 |
  2. ZYBO Z7
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7-20でPcam 5Cを使用する4(タイミングエラーの検討)

ZYBO Z7-20でPcam 5Cを使用する3(インプリメント)”の続き。

前回はインプリメントを行ったら、タイミングエラーが出てしまった。今回は、そのタイミングエラーの原因を探ってみよう。

Project Manager のImplementation → Open Implemented Design をクリックして、Implemented Desgin を開いた。

Timing タブをクリックする。
Intra-Clock Paths が赤くなっているので、タイミングエラーがことにあるはずだ。
dphy_hs_clock_p が赤くなっているので、開くと、ここがタイミングエラーだった。
dphy_data_hs_n[1], dphy_data_hs_n[0] だった。MIPI の 2 つのデータがタイミングエラーとのことだが、全部Logic Delay でNet Delay が 0 だと対応しようがないんじゃないだろうか?
MIPI_camera_20_180105.jpg

Requirement の 1.488 ns は、ZyboZ7_A.xdc の

create_clock -period 2.976 -name dphy_hs_clock_p -waveform {0.000 1.488} [get_ports dphy_hs_clock_clk_p]

で定義されている。
MIPI_camera_21_180106.png

その記述はMIPI_D_PHY_RX IP のMIPI_DPHY_reciver.vhd -> DPHY_LaneSFEN.vhd -> HS_Deserializer.vhd にあった。
MIPI_camera_22_180106.png

Deserializer の ISERDESE2 のDDLY ピンの部分だ。
MIPI_camera_23_180106.png

こんなところ、どうにもならないんじゃないだろうか?
もう一度、Implemented Desgin でパスをDevice 画面で見てみた。まずは、dphy_data_hs_n[1] から。
MIPI_camera_24_180106.png

パスは短いしパスの遅延は 0 ns だ。

次に、dphy_data_hs_n[0] を見てみよう。
MIPI_camera_25_180106.png

やはりパスは短い。

dphy_data_hs_n[1] のデータパスのクロックパスの遅延状況を示す。
MIPI_camera_26_180106.png

dphy_data_hs_n[0] のデータパスのクロックパスの遅延状況を示す。
MIPI_camera_27_180106.png

IDELAYE2 のIDELAY_TYPE も"VARIABLE"だし、このまま動作を確認してみようかと思う。
  1. 2018年01月06日 21:23 |
  2. ZYBO Z7
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7-20でPcam 5Cを使用する3(インプリメント)

ZYBO Z7-20でPcam 5Cを使用する2(pcam-5c プロジェクト)”の続き。

前回は、pcam-5c プロジェクトを生成した。今回は、pcam-5c プロジェクトのsystem ブロック・デザインを階層化して、論理合成、インプリメント、ビットストリームの生成を行う。

ブロック・デザインの system だが、IP が小さくなって見にくいので、階層化を行った。
MIPI 関連のIP と画像処理 IP をMIPI_image 階層にまとめた。更にHDMI 出力関連のIP を hdmi_out 階層としてまとめてある。

最初に、ブロック・デザインのトップの system から貼っておく。
MIPI_camera_15_180105.jpg

MIPI_image 階層を貼っておく。
MIPI_camera_16_180105.jpg

hdmi_out 階層を貼っておく。
MIPI_camera_17_180105.jpg

Address Editor 画面を貼っておく。
MIPI_camera_18_180105.jpg

これで論理合成、インプリメント、ビットストリームの生成を行った。
結果を示す。
MIPI_camera_19_180105.jpg

Timing エラーが発生している。次はその原因を探っていこう。
  1. 2018年01月05日 05:27 |
  2. ZYBO Z7
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7-20でPcam 5Cを使用する2(pcam-5c プロジェクト)

ZYBO Z7-20でPcam 5Cを使用する1(D-PHYインターフェース)”の続き。

前回は、MIPI のD-PHY インターフェースについて調べた。今回は、Digilent 社のZybo Z7 Pcam 5C Demo プロジェクトをダウンロードして、Vivado 2016.4 のプロジェクトを生成してみよう。

Pcam 5C のリソースセンターから、Zybo Z7 Pcam 5C Demo をクリックする。

Zybo Z7 Pcam 5C DemoDownloadGIT Repo をクリックする。

GitHub のDigilent/Zybo-Z7-20-pcam-5c が開く。

Clone or download ボタンをクリックして、Download ZIP をクリックした。
MIPI_camera_5_180104.jpg

Zybo-Z7-20-pcam-5c-master.zip を Z:\ZYBO_Z7 に保存した。
Zybo-Z7-20-pcam-5c-master.zip を解凍すると、Zybo-Z7-20-pcam-5c-master フォルダが作成された。
MIPI_camera_6_180104.jpg

Zybo-Z7-20-pcam-5c-master フォルダ以下のディレクトリ構造を示す。

Z:.
├─hw_handoff
├─proj
├─repo
│  ├─cache
│  ├─local
│  │  └─ip
│  │      ├─AXI_BayerToRGB
│  │      │  ├─hdl
│  │      │  └─xgui
│  │      └─AXI_GammaCorrection
│  │          ├─hdl
│  │          └─xgui
│  └─vivado-library
├─sdk
│  ├─pcam_vdma_hdmi
│  │  ├─bootimage
│  │  ├─Debug
│  │  └─src
│  │      ├─hdmi
│  │      ├─ov5640
│  │      └─platform
│  ├─pcam_vdma_hdmi_bsp
│  └─system_wrapper_hw_platform_0
└─src
    ├─bd
    │  └─system
    │      ├─hdl
    │      ├─hw_handoff
    │      ├─ip
    │      │  ├─system_auto_pc_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_auto_pc_1
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_auto_pc_2
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_AXI_BayerToRGB_1_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_AXI_GammaCorrection_0_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_axi_mem_intercon_0
    │      │  ├─system_axi_mem_intercon_1_0
    │      │  ├─system_axi_vdma_0_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_clk_wiz_0_0
    │      │  ├─system_MIPI_CSI_2_RX_0_0
    │      │  │  ├─hdl
    │      │  │  │  ├─cdc_fifo
    │      │  │  │  │  ├─cdc_fifo
    │      │  │  │  │  ├─hdl
    │      │  │  │  │  ├─sim
    │      │  │  │  │  ├─simulation
    │      │  │  │  │  └─synth
    │      │  │  │  ├─ila_rxclk
    │      │  │  │  │  ├─hdl
    │      │  │  │  │  │  └─verilog
    │      │  │  │  │  ├─ila_v6_2
    │      │  │  │  │  │  └─constraints
    │      │  │  │  │  ├─sim
    │      │  │  │  │  └─synth
    │      │  │  │  ├─ila_rxclk_lane
    │      │  │  │  │  ├─hdl
    │      │  │  │  │  │  └─verilog
    │      │  │  │  │  ├─ila_v6_2
    │      │  │  │  │  │  └─constraints
    │      │  │  │  │  ├─sim
    │      │  │  │  │  └─synth
    │      │  │  │  ├─ila_vidclk
    │      │  │  │  │  ├─hdl
    │      │  │  │  │  │  └─verilog
    │      │  │  │  │  ├─ila_v6_2
    │      │  │  │  │  │  └─constraints
    │      │  │  │  │  ├─sim
    │      │  │  │  │  └─synth
    │      │  │  │  └─line_buffer
    │      │  │  │      ├─hdl
    │      │  │  │      ├─line_buffer
    │      │  │  │      ├─sim
    │      │  │  │      ├─simulation
    │      │  │  │      └─synth
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_MIPI_D_PHY_RX_0_0
    │      │  │  ├─hdl
    │      │  │  │  ├─ila_scnn_refclk
    │      │  │  │  │  ├─hdl
    │      │  │  │  │  │  └─verilog
    │      │  │  │  │  ├─ila_v6_2
    │      │  │  │  │  │  └─constraints
    │      │  │  │  │  ├─sim
    │      │  │  │  │  └─synth
    │      │  │  │  ├─ila_sfen_refclk
    │      │  │  │  │  ├─hdl
    │      │  │  │  │  │  └─verilog
    │      │  │  │  │  ├─ila_v6_2
    │      │  │  │  │  │  └─constraints
    │      │  │  │  │  ├─sim
    │      │  │  │  │  └─synth
    │      │  │  │  └─ila_sfen_rxclk
    │      │  │  │      ├─hdl
    │      │  │  │      │  └─verilog
    │      │  │  │      ├─ila_v6_2
    │      │  │  │      │  └─constraints
    │      │  │  │      ├─sim
    │      │  │  │      └─synth
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_processing_system7_0_0
    │      │  │  ├─hdl
    │      │  │  │  └─verilog
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_ps7_0_axi_periph_0
    │      │  ├─system_rgb2dvi_0_0
    │      │  │  ├─sim
    │      │  │  ├─src
    │      │  │  └─synth
    │      │  ├─system_rst_clk_wiz_0_50M_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_rst_vid_clk_dyn_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_video_dynclk_0
    │      │  │  ├─sim
    │      │  │  ├─src
    │      │  │  └─synth
    │      │  ├─system_vtg_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_v_axi4s_vid_out_0_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  ├─system_xbar_0
    │      │  │  ├─sim
    │      │  │  └─synth
    │      │  └─system_xlconcat_0_0
    │      │      ├─sim
    │      │      └─synth
    │      └─ipshared
    │          ├─01bf
    │          │  └─hdl
    │          ├─04b4
    │          │  └─hdl
    │          ├─0b6b
    │          │  └─hdl
    │          ├─0ba0
    │          │  └─hdl
    │          ├─100a
    │          ├─1923
    │          │  └─hdl
    │          ├─1f32
    │          │  └─hdl
    │          ├─20df
    │          │  └─src
    │          ├─2e37
    │          ├─38e8
    │          │  └─hdl
    │          ├─39ba
    │          │  └─hdl
    │          ├─3c71
    │          │  └─hdl
    │          ├─40b8
    │          │  └─hdl
    │          ├─4e69
    │          │  └─hdl
    │          ├─52cb
    │          │  └─hdl
    │          ├─564d
    │          │  ├─hdl
    │          │  └─simulation
    │          ├─5ab6
    │          │  └─hdl
    │          ├─6039
    │          │  └─hdl
    │          ├─6273
    │          │  ├─hdl
    │          │  └─simulation
    │          ├─7dd0
    │          │  └─hdl
    │          ├─7e3a
    │          │  └─hdl
    │          ├─7ee0
    │          │  └─hdl
    │          ├─832a
    │          │  └─hdl
    │          ├─896d
    │          │  └─hdl
    │          ├─8c13
    │          │  └─hdl
    │          │      └─verilog
    │          ├─bf41
    │          │  └─hdl
    │          ├─d9f8
    │          │  └─hdl
    │          ├─df1b
    │          │  └─hdl
    │          ├─ed72
    │          │  └─hdl
    │          └─f822
    │              └─src
    ├─constraints
    ├─hdl
    ├─ip
    └─others


これで、Vivado 2016.4 のプロジェクトの作成を試みたのだが、IP のソースが足りないというエラーでプロジェクトを作成することができなかった。
Twitter でプロジェクトができないとつぶやいていたら、@torix3g さんが、Zybo-Z7-20-pcam-5c/repo/vivado-library@4c77837の中にIP のソースがあると教えてくれた。ありがとうございました。

Zybo-Z7-20-pcam-5c/repo/ には、vivado-library @ 4c77837 があるが、その下は別のGitHub のプロジェクトとなっているようだった。
MIPI_camera_7_180104.jpg

vivado-library @ 4c77837 をクリックすると、Digilent Vivado library に移動した。これは別のGitHub のプロジェクトだ。
MIPI_camera_8_180104.jpg

ip フォルダをクリックすると、2つのMIPI 関連のIP があるのが確認できる。
MIPI_camera_9_180104.jpg

ちなみに、通常のDigilent 社のGitHub のvivado-library ではMIPI の 2 つのIP は存在しない。リンクされていないディレクトリのようだ。

Digilent Vivado library に戻って、Download ZIPで vivado-library-4c77837154a3dd90ef1ed9feacdce41dbfc6e538.zip をダウンロードすることができた。
MIPI_camera_10_180104.jpg

Z:\ZYBO_Z7\vivado-library-4c77837154a3dd90ef1ed9feacdce41dbfc6e538.zip\vivado-library-4c77837154a3dd90ef1ed9feacdce41dbfc6e538 の下のすべてのファイルとフォルダをZ:\ZYBO_Z7\Zybo-Z7-20-pcam-5c-master\repo\vivado-library にコピーした。
MIPI_camera_11_180104.jpg

これでファイルがそろったので、Vivado 2016.4 を立ち上げた。

Tcl Console で、

cd z:/ZYBO_Z7/Zybo-Z7-20-pcam-5c-master/proj

を入力した。
MIPI_camera_12_180104.jpg

Tcl Console で、

source ./create_project.tcl

を入力した。
MIPI_camera_13_180104.jpg

すると、pcam-5c プロジェクトが作成された。
MIPI_camera_14_180104.jpg
  1. 2018年01月04日 05:23 |
  2. ZYBO Z7
  3. | トラックバック:0
  4. | コメント:0
»