FC2カウンター FPGAの部屋 Vivado のImplemented Design で Report CDC を確認する

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

FPGAの部屋

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

Vivado のImplemented Design で Report CDC を確認する

set_clock_groups -asynchronous 制約”で論理合成、インプリメント、ビットストリームの生成を行った後で、Report CDC (Clock Domain Crossing) を見てみよう。参考にしたのは、”Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.3) 2015 年 9 月 30 日”の 65 ページ ”クロック乗せ換えレポート”、日本語で分けわからないときは、英語のマニュアルも見よう。

まずは、Implemented Design を開いて、Tools メニュー -> Timing -> Report CDC... を選択する。
ZYBO_1_XGA_test_39_151219.png

Report CDC ダイアログが開いた。
From の ... ボタンをクリックした。
ZYBO_1_XGA_test_40_151219.png

Choose Start Clocks ダイアログが開いた。BUFR_pixel_clk_io/O と clk_fpga_0 を選んで、右向き→を選んで、Selected に移動した。
ZYBO_1_XGA_test_41_151219.png

Report CDC ダイアログの To も同様に、BUFR_pixel_clk_io/O と clk_fpga_0 を選択した。
ZYBO_1_XGA_test_42_151219.png

BUFR_pixel_clk_io/O から clk_fpga_0 は、unsafe が無いので問題ない。
但し、clk_fpga_0 から BUFR_pixel_clk_io/O は unsafe が 1 つあるので、修正の必要がありそだ。
ZYBO_1_XGA_test_43_151219.png

unsafe の 1 をクリックすると、CDC Details が表示された。
CDC-10 の Critical warning で、Combinatorial logic detected before a synchronizer だそうだ。
ZYBO_1_XGA_test_43_151219.png

BUFR_pixel_clk_io/O から clk_fpga_0 の CDC Details を下に示す。Warning のみだった。
ZYBO_1_XGA_test_47_151219.png

clk_fpga_0 から BUFR_pixel_clk_io/O の CDC Details をよく見るためにスプレッドシートのファイルを吐き出してもらう。

Timing - Report CDC 画面で右クリックし、右クリックメニューから Export to Spreadsheet... を選択した。
ZYBO_1_XGA_test_45_151219.png

Export Table to Spreadsheet ダイアログが表示された。File name を設定して、OKボタンをクリックした。
ZYBO_1_XGA_test_46_151219.png

スプレッドシートの内容を示す。
Severity ID Description Depth Exception Source (From) Destination (To) Category
Critical CDC-10 Combinatorial logic detected before a synchronizer 2 Asynch Clock Groups ZYBO_1_XGA_test_i/bitmap_disp_cntrler_axi_master_0/inst/bitmap_disp_eng_inst/cs_rdg_reg[0]/C ZYBO_1_XGA_test_i/bitmap_disp_cntrler_axi_master_0/inst/bitmap_disp_eng_inst/hv_cnt_ena_d1_reg/D No ASYNC_REG
Info CDC-6 Multi-bit synchronized with ASYNC_REG property 2 Asynch Clock Groups ZYBO_1_XGA_test_i/bitmap_disp_cntrler_axi_master_0/inst/bitmap_disp_eng_inst/bitmap_afifo_inst/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/wr_pntr_gc_reg[7:0]/C ZYBO_1_XGA_test_i/bitmap_disp_cntrler_axi_master_0/inst/bitmap_disp_eng_inst/bitmap_afifo_inst/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/gsync_stage[1].rd_stg_inst/Q_reg_reg[7:0]/D Safe
Critical CDC-10 Combinatorial logic detected before a synchronizer 2 Asynch Clock Groups ZYBO_1_XGA_test_i/bitmap_disp_cntrler_axi_master_0/inst/bitmap_disp_eng_inst/cs_rdg_reg[0]/C ZYBO_1_XGA_test_i/bitmap_disp_cntrler_axi_master_0/inst/bitmap_disp_eng_inst/hv_cnt_ena_d1_reg/D Unsafe

  1. 2015年12月19日 19:01 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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