FPGAの部屋FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。KitでEDKを使ってカメラ表示20(カメラ回路のシミュレーション)”の続き。今回は、シミュレーションで問題が無い様なので、インプリメントしてみることにした。インプリメントしてみたが、エラーが出てしまった。failed"”がヒットした。Filesの下にfast_runtime.optがあるということなのだが、な~い。ファイルを検索した所、system\etcフォルダの下にあることがわかった。sectionの-timingを消せばよいらしい。mapがあったので、-timing;を消した。Filesをやっておいた。インプリメントしたが、やはり同じエラーが出てしまった。仕方が無いので、fast_runtime.optの-timingオプションを戻してから、PlanAheadを使用して、DCMを固定してみることにした。見たところ、DCMは2つ使ってあって、DCM1が50MHzクロック・オシレータから入力されたクロックを125MHzに変換していた。それをDCM0が受け、125MHzの0度クロック、125MHz90度クロック、2分周された62.5MHzクロックの3つのクロック全てを出力していた。すべてのクロックをDCM1が出力していて、こちらのほうがBUFGを多く使っていた。起動して、DCMの位置を固定して、からインプリメントした。SDRAMのリソースが固定されていた。SDRAMが接続されているからだ。”が出るのは、DCM1がFPGAチップの上側の右側、DCM0を下側に配置したときに出るようだ。その時のUCFファイルを示す。DCM_X1Y0;それ以外の場合は、DCMなどの配置が最適じゃないので、CLOCK_DEDICATED_ROUTEを使えというようなエラーが出た。DCM1の出力をCLOCK_DEDICATED_ROUTEしなくてはいけない場合は、カメラ表示回路の動作が危なくなるので、そのようなDCMの配置は使えない。やってみた結果、DCM1をFPGAチップの左側の上、DCM0を上側の左に配置した時が良いとわかった。ここの位置だと、50MHzクロック・オシレータからDCM1への入力は遠くなってしまい、CLOCK_DEDICATED_ROUTEが必要だが、その他のエラーは出ない。カメラ表示回路の入出力は入力クロックに対して、入力や出力の制約がないので、ここの時間が伸びるのは問題ない。下にDCMの配置を示す。(このPlanAheadの図はインプリメント後のものだ)追加したUCFファイルを下に示す。FALSE;これで、もう一度インプリメントしたら成功した。