FC2カウンター FPGAの部屋 ZedBoard用CMOSカメラ回路の作製5(制約、インプリメント)
FC2ブログ

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

FPGAの部屋

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

ZedBoard用CMOSカメラ回路の作製5(制約、インプリメント)

前回では、XPSプロジェクトを作成して、PlanAheadプロジェクトでI/Oパッドの配置制約を追加した。今回は、PlanAheadプロジェクトでタイミング制約を作成してからインプリメントを行う。

・Flow Navigator のSynthesis -> Synthesized Design -> Edit Timing Constraints をクリックすると、Timing Constraints (UCF) タブが開いて、現在のタイミング制約を確認できる。Timespec period はAXI4バスの100MHzとSVGAのピクセルクロックの40MHzの制約がすでに設定されている。
ZedBoard_Cam_17_130109.png

・最初に、mt9d111_d のタイミング制約を行う。MT9D111のデータシートの176ページに”Electrical Specifications”がある。そこを見ると、tPD が 最小 -3nsec 最大 3nsec となっている。tPDは、Figure 50: I/O Timing Diagram より、PIXCLKがたち下がる時にDataの変化の遅延時間となる。Figure 50: I/O Timing Diagram を下に引用させたいただく。
ZedBoard_Cam_18_130109.png
        Figure 50: I/O Timing Diagram

mt9d111_d のセットアップ時間とVALID時間を算出してみよう。
・PIXCLKは36MHzとなっている。周期に直すと 27.7nsec となる。周期の半分は 13.8nsec でここから 3nsec 削られると 10.8nsec となる。これがセットアップ時間だ。VALID時間は、27.7 - 6 = 21.7 nsec となった。(小数点2位以下切り捨て)

PlanAhaedで OFFSET制約を生成する。
・Timing Constraints (UCF) タブで、Pad-clk offset の右クリックメニューからCreate Timing Constraint... を選択する。
ZedBoard_Cam_19_130109.png

・Create a New Timing Constraint ダイアログが開く。Input pad t clk offset を下の図のように設定した。
ZedBoard_Cam_20_130109.png

・OKボタンをクリックすると、mt9d111_d[0] の入力オフセット制約が出来上がった。
ZedBoard_Cam_21_130109.png

・次は、後7個残っているmt9d111_d の入力オフセット制約を追加するのだが、今入力した制約の右クリックメニューから Copy Constraint を選択し、制約をコピーする。
ZedBoard_Cam_22_130110.png

・コピーしておいて Pad net をmt9d111_d[1] に書き換えた。
ZedBoard_Cam_23_130110.png

(注:私の古いパソコンだとコピーするだけで、相当な負荷と時間がかかるので、1つ制約を作ったらUCFファイルのほうで増やすのが時間がかからないようだ)

・次に、mt9d111_href, mt9d111_vsync の入力オフセット制約を行う。入力オフセット制約の値は、データシートの値がmt9d111_d と同じなので、同じ制約を掛けた。
ZedBoard_Cam_24_130110.png

これで、CMOSカメラのタイミング制約は終わったので、セーブして、インプリメントとビットストリームの生成を行った。

・インプリメント、ビットストリームの生成が終了した。
ZedBoard_Cam_25_130110.png
  1. 2013年01月10日 05:34 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/2358-0592fa43
この記事にトラックバックする(FC2ブログユーザー)