2017-03-06 59 views
1

Designコンパイラの制約について質問があります。 特に、set_false_pathとset_clock_group。set_false_pathとの違いは何ですか? set_clock_group?

Iが知っているように、

  1. set_false_path

(A)set_false_path -from [get_clocks CLKA] -to [get_clocks CLKB]。

これは片方向の方向を考えていると思います。

(B)set_false_path -from [get_clocks CLKA] -to [get_clocks CLKB]

set_false_path -from [get_clocks CLKB] -to [get_clocks CLKA]

- > CLKA - > CLKB、CLKB - > CLKA(双方向)

  • set_clock_groups
  • (a)のset_clock_groups -asynchronous - 基CLKA - 基CLKB

    私は、これはバイ方向性について検討していると思います。

    これは私の質問です set_false_pathとset_clock_groupの違いは唯一の方向だと思います。

    私は1.(b)と2.(a)は同じだと思います。それで、私は2を使うことができますか?(a)代わりに1.(b)?

    答えて

    1

    場合によっては(1bと2aのように)両方のコマンドが同じ結果を持つ場合があります。したがって、ユーザーはいずれかを優先することができます。しかし、場合によってはいくつかの違いもあります。

    set_false_pathは、クロック間の特定の制約を削除できます。たとえば、保留チェックを維持しながらセットアップチェックを削除することができます。または、クロックのエッジ(立ち上がりまたは立ち下がり)を1つだけ選択できます。このコマンドにはもう少しオプションがあります。

    set_false_path -rise_from CLKA -fall_to CLKB -setup 
    

    set_clock_groupsの利点は簡単です。あまりにも多くの偽のパスを定義することから私たちを救います。だから、2aは1bより優れている。より多くの時計があれば、はるかに役立ちます。

    set_clock_groups -asynchronous -group CLKA -group CLKB -group CLKC 
    
    関連する問題