バイトレーン変換機能つきDMA転送のバグがやっと取れたようだ。非常にうれしい。
ロジックが増えてしまったので、タイミングを適合させるのには苦労した。今回はクロックが遅延してしまって、入力のセットアップ時間が小さくなりすぎて、マイナスになってしまった。それを修正するために、Floorplannerで入力パッドから入力FFを適当に離して、セットアップ時間を遅延させた。全部やると大変なので、セットアップ時間がマイナスになった入力だけを移動したのだ。
やり方は
ここを参照。以前はクリティカルバスを短くするやり方だが、セットアップ時間を増やすのも同じ。短くなるように移動したパスを長くなるように移動する。
次にクロックの遅延が増えないように、ちょうど良いBUFGMUXを使うように固定。概要は
ここを参照。固定の仕方はUCFに直接書いてもいいが、Floorplannerでやるのが簡単だろう。
これでコンパイルすると動作周波数が66MHzを下回ってしまった。もう一度
"Floorplannerの使い方覚書3"の方法でクリティカルパスを短くしても良かったが、今回はMulti Pass Place & Routeで問題を解決してみることにした。
1.ISEの"Process for Source"ウインドウの"Implement Design" - "Place & Route" - "Multi Pass Place & Route"を右クリックして"Properties..."をクリック。
そうするとこのようなダイアログが開く。

2."Starting Placer Cost Table (1-100)"に1を設定する。(コストテーブルを1から10くらいまでやれば感じがわかる。)
3."Number of PAR Iterations (0-100)"に10を設定する。(10回PARするので、コストテーブル1から10までPARされる)
4.ダイアログをOKを押して終了し、"Multi Pass Place & Route"をダブルクリックしてPARを始める。
5.終了したら、一番結果の良いコストテーブルを探す。"Multi Pass Place & Route"の四角の中に+がある図形をクリックして、展開する。
6."View Place & Route Report(s)"をダブルクリックすると、全てのPARリポートが開く(私は、エディタで、各コストテーブルのディレクトリの????.parを見るのが好き。例ならば、mppr_resultの下に各コストテーブルのディレクトリが出来ているはず)
7."Copy Result to Working Project"を右クリックして"Properties..."をクリック。

8."Value"の右の四角をクリックすると、ディレクトリを選択するウインドウが現れるので、一番結果の良いコストテーブルのディレクトリを指定し、OKをクリック、ダイアログを閉じる。
9."Copy Result to Working Project"をダブルクリックすると、ISEにそのコストテーブルの結果がコピーされる。
これでちょうどいいのが見つかり、終了となった。
(注意) "Multi Pass Place & Route"を使用するとPARをイテレーションの回数実行するので、ものすごく時間がかかる場合があります。始めたら一日仕事にならない場合があるので、使用注意。仕事帰りに仕掛けて翌朝見るのが無難です。
- 2005年11月30日 20:50 |
- Xilinx ISEについて
-
| トラックバック:0
-
| コメント:0