連載
» 2008年11月28日 00時00分 公開

必修! FPGAタイミング解析の基礎(2):SDCを使ったタイミング制約を押さえよう (3/3)

[小原成介(日本アルテラ),@IT MONOist]
前のページへ 1|2|3       

マルチサイクル制約の方法

 セットアップ解析のエッジを変更するには、「set_multicycle_path」コマンドを使って次のように記述します。Nは変更するクロック・サイクル数です。「-from/-to」にはクロック、I/Oポート、FFを指定することができます。図7に示すように、N=1のときは設定をしないのと同じです。Nの値を増やすごとに、セットアップ解析のサイクル数が変更されていきます。


set_multicycle_path -end -setup -from clk1 -to clk2 N 

セットアップ・マルチサイクル制約 図7 セットアップ・マルチサイクル制約

 セットアップのマルチサイクル制約を行うと、ホールド解析のエッジも変更されるので、注意が必要です。ホールドの解析エッジを独立に変更するには、「-hold」オプションを使って次のようにします。図8に示すように、M=0のときは設定をしないのと同じです(セットアップと違い初期値は0)。Mの値を増やすごとに、ホールド解析のサイクル数が変更されていきます。

set_multicycle_path -end -hold -from clk1 -to clk2 M 

ホールドマルチサイクル制約 図8 ホールドマルチサイクル制約

 前のページで例として挙げた、(1)と (2)の場合に必要なマルチサイクル設定は、次のようになります。(2)の場合はクロック間にではなく、FF間に設定するのが適当です。

・(1)の場合 (図5)
set_multicycle_path -end -setup -from clk1 -to clk2 2
(set_multicycle_path -end -hold -from clk1 -to clk2 0) 

・(2)の場合 (図6)
set_multicycle_path -end -setup -from [get_cells FF1] -to [get_cells FF2] 2
set_multicycle_path -end -hold -from [get_cells FF1] -to [get_cells FF2] 1 

 ここまでの解説では、「-end」オプションを説明なしに使ってきました。このオプションは変更するサイクル数を、受信側のクロック周期で数えることを表します。これに対して「-start」オプションを使うと、送信クロック周期で、サイクル数を指定することができます。送信と受信のクロック周期が異なる場合に、「-start」オプションが必要になることがあります(図9)。

-start/-endオプションの違い 図9 -start/-endオプションの違い

SDC文法のまとめ

 今回の解説の中で使用したSDCコマンドの文法を簡単にまとめておきます。

sdc1
sdc2
sdc3
sdc4


 今回はSDCフォーマットによるタイミング制約とタイミング解析の方法を解説しました。次回は、I/Oタイミング制約について解説します。お楽しみに!(次回に続く)


関連キーワード

FPGA関連 | 回路 | FPGA | 設計 | ASIC | 半導体


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.