”
ZynqBerryZero のリファレンス・デザインをやってみる2(Windows 10 編)”の続き。
なひたふさんから ZynqBerryZero のリファレンス・デザインの
TE0727-zbzerodemo1-vivado_2019.2-build_15_20201109074058.zip をいただいた。前回は、Windows 10 で同様にリファレンス・デザインを行って、Vivado 2019.2 のプロジェクトが作成できたが、タイミングでエラーになってしまった。今回は、そのタイミング・エラーを修正してみよう。
Vivado 2019.2 の Flow Navigator から Open Implemented Design をクリックして、 Implemented Design を開く。
タイミング・エラーは Inter-Clock Paths の clk_fpga_0 から clk_out1_zsys_clk_wiz_0_0 クロック間のパスで起こっている。

タイミング・エラーのパスを見た。

クロック間の載せ替え処理ができているかどうか?を確認する。
Vivado の Reports メニューの Timing -> Report CDC... を選択する。

Report CDC ダイアログが開く。
Clocks の From に clk_fpga_0 を選択して、 To に clk_out1_zsys_clk_wiz_0_0 を選択した。

Unsafe が 3 個ある。

Unsafe は、 rst_ps7_0_100M から video_out モジュールの v_axi4s_vid_out_0 のパスだった。

ここでなぜか私が勘違いしたようで、v_tc_0 の resetn のパスと思い込んでしまった。
video_out モジュールの v_tc_0 のクロックは、clk_wiz_0 の clk_out1 から届いているので、これからやることもよかったと思う。
v_tc_0 の resetn は rst_ps7_0_100M から来ている。

Processor System Reset を実装して、slowest_sync_clk に clk_wiz_0 の clk_out1 を入れた。
peripheral_arestn から v_tc_0 の resetn に入力した。

Validate Design を行うとエラーが出ている。

Diagram ウインドウの ps7_0_axi_periph の M02_ARESETN と M03_ARESETN が接続されていなかった。

ps7_0_axi_periph の M02_ARESETN と M03_ARESETN を接続した。

Validate Design を行うと成功した。

もう一度、論理合成、インプリメンテーション、ビットストリームの生成を行ったが、当然 rst_ps7_0_100M から video_out モジュールの v_axi4s_vid_out_0 のパスを修正していないので、タイミング・エラーとなった。

Report CDC を行っても、rst_ps7_0_100M から video_out モジュールの v_axi4s_vid_out_0 のパスが Unsafe で残っている。

video_out モジュールの v_axi4s_vid_out_0 の vid_io_out_reset の配線を削除して、proc_sys_reset_0 の peripheral_reset から配線した。

Diagram ウインドウを示す。

論理合成、インプリメンテーション、ビットストリームの生成を行った。
Profile Summary を表示すると、タイミング・エラーが解消されていた。
- 2020年12月08日 03:49 |
- ZynqBerryZero
-
| トラックバック:0
-
| コメント:0