2017/07/22

[zybo]PetaLinuxでDigilentのチュートリアルが動かん (2)

チュートリアルが動かん(1)の続き。

あらすじ

Zyboのチュートリアルは、書いてあるとおりにやれば動いた。
最後にCで書いて、Eclipse(XSDK)で動かしているからLinuxで動いている感じはするのだが、ちょっと違う気もする。
せっかくだから、PetaLinux v2017.2で動かしたい。

このチュートリアルは、Zyboのページに貼ってあったものだ。
よく見ると、他にもたくさんリンクが貼ってあった。

Zynq BookのTutorialはPDF版を無料でダウンロードできるので、それを見るのもよいかもしれん。
The Zynq Book: Download The Zynq Book Tutorials

が、今日は気力が無いので、Interface誌2016年4月号の連載(PDF)を読むことにした。
Zyboもそんなに新しくないので、Digilent社は最新のVivadoに対応していないから、過去の情報だと動かないような気がするのだよ。


内容は、7セグを操作する、というLチカの発展系みたいなものだ。
4ページに収まっているので、気力が無くても読める。
ちなみに、1つ前の3月号では、Vivado HL WebPACK EditionでC言語喜寿ルから回路を合成する説明をしている。


まず、リファレンス・デザインというものをプロジェクトテンプレートのようにして使っている。
base_system_designと書いてあるので、これ(zip)か?
展開するとファイルがいくつもあるが、source\vivado\hw\zybo_bsd\zybo_bsd.xprか?
今回はVivado 2017.2を使うのだが、大丈夫だろうか。。。

開くと、古いプロジェクトということでアップデートしてくれた。
最後にこういうダイアログが出てきたが、気にしなくてよいのかな。

image

OKすると、もう1つダイアログが出てきた。

image

「Report IP Status」をクリックして、設定項目がなくなったものに関する推奨する操作を見せてもらおう。
全部、バージョンが古いだけのようだ。

image

どうしたらよいのか困っていたら、一番下に「Upgrade Selected」というボタンが表示されていた。
進めると、勝手にアップデートしてくれている。

critical messageのダイアログが出てきたが、その上にGenerate Output Productsダイアログが出てきた。
何か知らんが、生成しておこう。

critical messageはたくさん出ているが、こういう内容だ。

[BD 41-1348] Reset pin /axi_dispctrl_0/s_axi_aresetn (associated clock /axi_dispctrl_0/s_axi_aclk) is connected to asynchronous reset source /processing_system7_0/FCLK_RESET1_N.
This may prevent design from meeting timing. Please add Processor System Reset module to create a reset that is synchronous to the associated clock source /processing_system7_0/FCLK_CLK0.

よくわからんが、System Reset moduleを追加せよ、と書いてある。
+アイコンを押して検索すると「Processor System Reset」が見つかったので、追加して、Auto Connectionした。
メッセージをクリアして、Validate Designを行ったが、まだ残っている。

[BD 41-1347] Reset pin /axi_dispctrl_0/s_axi_aresetn (associated clock /axi_dispctrl_0/s_axi_aclk) is connected to asynchronous reset source /processing_system7_0/FCLK_RESET1_N.
This may prevent design from meeting timing. Instead it should be connected to reset source /proc_sys_reset_0/peripheral_aresetn.

追加してくれ、が消えただけか。
接続はAutoではやってくれんのか。。。

/axi_dispctrl_0/s_axi_aresetnにつながっているのは橙色の線だから、これに左側のperipheral_aresetnをつなげばよいのか?
「今は/processing_system7_0/FCLK_RESET1_Nにつながってるけど、そっちは非同期リセットだから、/proc_sys_reset_0/peripheral_aresetnにつなぐとよいよ」といっているのかしら。

image

processing_system7_0/FCLK_RESET0_Nと1_Nとの接続を外して、その線にperipheral_aresetnをつなぐだけでよいかと思ったのだが、FCLK_RESETx_Nを消すと全部の線が消えてしまった。。。
仕方なく、1つ1つポートを選んで接続し直した。
もっと他の方法がありそうだけど、どうなんだろう。
(あとで、コンテキストメニューからピン単位の切断があることを知った。)


つないでチェックし直したが、別のが出てきた。

[BD 41-759] The input pins (listed below) are either not connected or do not have a source port, and they don't have a tie-off specified. These pins are tied-off to all 0's to avoid error in Implementation flow.
Please check your design and connect them as needed:
/axi_dispctrl_0/s_axis_mm2s_aresetn
/axi_dispctrl_1/s_axis_mm2s_aresetn
/axi_i2s_adi_1/DMA_REQ_TX_RSTN
/axi_i2s_adi_1/DMA_REQ_RX_RSTN
/axi_mem_intercon/ARESETN
/axi_mem_intercon/S00_ARESETN
/axi_mem_intercon/S01_ARESETN
/axi_mem_intercon/M00_ARESETN

つなぎ足りなかったのか?
全部つないだが、まだなんか出てくる。

[BD 41-1343] Reset pin /axi_dispctrl_0/s_axis_mm2s_aresetn (associated clock /axi_dispctrl_0/s_axis_mm2s_aclk) is connected to reset source /proc_sys_reset_0/peripheral_aresetn (synchronous to clock source /processing_system7_0/FCLK_CLK0).
This may prevent design from meeting timing. Please add Processor System Reset module to create a reset that is synchronous to the associated clock source /axi_dispctrl_0/PXL_CLK_O.

PXL_CLK_0につなげ?
さっきはperipheral_aresetnにつなげって言ってたじゃないか!

さすがに何か間違っている気がするので、やり直そう。


ここは、誰かもアップグレードによって同じ目にあっているはずだから、検索してみるべきだ。


2. Zynq Digilentからプロジェクトをもらってくる – yuki-sato.com

Processor System Reset というIPを追加して配線すれば良いのですが、大変ですし今回はこれでも動くのでここまま進みます。

えー。。。

もしかしたら、先にprocessorのリセット接続を消してからSystem Resetを追加したらAutoでやってくれるんじゃなかろうかと思ったが、そうはいかんかった。。


ちゃんと警告内容を読もう。
FCLK_CLK0をソースにしたリセットになっているから、PXL_CLK_0をソースにしたリセットにしなさい、ということかな?
そしたら、それぞれのクロックをソースにしたSystem Resetを追加せんといかんの??

うーん、さすがにそこまではしなくてよいのではないか、という気がしている。
そもそも、Zynqを中心にしたシステムだから、Zynqのリセットにあわせてしまってもよいんじゃないのかい?
それだと回路的によろしくないのだろうか。
わからん。。。。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。