FC2カウンター FPGAの部屋 UCFの書き方5

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

FPGAの部屋

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

UCFの書き方5

今回はUCFの書き方3の応用編。というか、3のほうが応用編かもしれないが。。。
クロックが異なるFF(フリップフロップ)の出力を使うにしても、初期化終了通知などで出力がのFFが0から1になって、そのまま電源が切れるまで1のままのことがある。その場合は、入力側は1クロックぐらい、セットアップ時間が足りなくて取りはぐっても問題はない。そういう条件のクロックが異なる出力FF、入力FF間のタイミングは制約が加わっているとうざいので、無視するように指示する。
それがこれ。
INST "controller_inst/dll_reset_cnt[4]" TNM = "CLK_DV_FF";
INST "controller_inst/initial_start" TNM = "CLK_DV_FF";
INST "controller_inst/dll_reset_end" TNM = "TO_CLK_DV_DATA";
INST "controller_inst/initial_startx" TNM = "TO_CLK_DV_DATA";
TIMESPEC "TS_CLK_DV_PATH" = FROM "CLK_DV_FF" TO "TO_CLK_DV_DATA" TIG;

dll_reset_cnt[4]とinitial_startという名前の付いたFFをCLK_DV_FFという名前でグループ化する。
dll_reset_endとinitial_startxという名前のFFをTO_CLK_DV_DATAという名前でグループ化する。
CLK_DV_FFとTO_CLK_DV_DATA間の制約を無視。

あと良く使うのは、MAXDELAYかな?
これはネットの最大遅延時間を指定する。クロックのネットなどに使用することが多い。特に、グローバルバッファがなくなってしまったときに、クロックラインにはこれを指定したほうが良いらしい。チップが大きい(Virtex2-6000)とグローバルバッファを使っていても、クロックの遅延が大きくなるので指定している。しかし、なかなかクロックの遅延が減らない。クロックスキューが出てタイミング違反になってしまう。悩ましい。ともかく、書き方は。
NET "U_ddr_cont_inf/DDR_CONT/clkrx" MAXDELAY=2 ns;

大体使っている制約は書いたが、まだDCMの位置固定などを使用している。(これは、P&Rが使えないやつだから)
相対位置固定や、絶対位置固定なども見たことがあるが、実際に自分で使ったことはない。回路が高速になるとP&Rにお任せでは心もとないので、それらも使うことになりそうである。いよいよフロアプランナー?
(だれか、教えてください。Xilinxのセミナーに行くしかないか・・・。7万5千円位するから高い)
  1. 2005年09月30日 11:47 |
  2. UCFの書き方
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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