FC2カウンター FPGAの部屋 Floorplannerの使い方覚書1
FC2ブログ

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

FPGAの部屋

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

Floorplannerの使い方覚書1

Floorplannerの使い方を勉強中。でその覚書。
5年ほど前、ALTERAのFLEX10Kシリーズで開発していた。使用ツールはMAX+PLUS2だった。動作周波数を満たすことがなかなか難しかったので、フロアプランを使用していた。クリティカルパスを表示して、遅延が大きいLEを同じROWや、同じLABへ移動していた。
その様な使い方をISEでやってみた。
まずはISEでコンパイル。
Process View - Implement Design - Place & Route - Generate Post-Place & Route Static Timing - Analyze Post-Place & Route Static Timing(Timing Analyzer)をダブルクリックして、Timing Analyzerを起動。

ISE_timinga.jpg


Timinig Analyzerが起動する。一番左の時計マークのアイコン"Analyze against Timing Constrains"をクリックする。そうするとあらかじめUCFで制約をかけたパスについてタイミング解析をする。タイミングを満たしていないパスはで表示される。
Timing Analyzer画面の左側のペインの"Timing Constrains"の左の四角で囲ったプラスをクリックすると、制約ごとのタイミング解析結果を展開して表示する。その時に、タイミングを満たしていないパスはで表示される。
さらにその制約(ここではTS_clk = PERIOD TIMEGRP"の部分)の左の四角で囲ったプラスをクリックすると、一番遅延が大きいパス(クリティカルパス)から表示される。ここでもタイミング制約を満足していないパスはで表示される。
でクリティカルパスを確認。
timingana1.jpg


Timing AnalyzerでViewメニューからFloorplanner for crossprobingを選択し、Floorplannerを起動。Timing Analyzerでクリティカルパスの中の一番遅延の大きいネットをFloorplannerで観察する。”net (fanout=9) 2.960 core_mem_wb_dff8_q<4>”をダブルクリックして、Floorplannerを見るとダブルクリックしたネットが表示されている。
floorplanner1.jpg


FloorplannerでFloorplanメニューからReplace All with placementを選ぶと、UCF Flowの方に前にPlace & Routeした配置をコピーすることが出来る。UCF Flowでロジックセルをマウスクリックで移動することが出来る。floorplanner2.jpg


図は選んだロジックセルを移動している所、線はロジックセルへの接続状況を表す。当然ながら、クリティカルパスの線が短くなるように配置する。
これでセーブすると、Floorplanが.fnfファイルへ、制約が.ucfへ書き込まれる。追加される制約は次のようなもの。
INST "core_Inst_alu__n010657_SW01" LOC = "SLICE_X5Y23" ;
INST "core_Inst_pc_lib_etemp21" LOC = "SLICE_X25Y27" ;
INST "core_Inst_pc_lib_dtemp<7>1111" LOC = "SLICE_X25Y32" ;

つまり、どのインスタンスをどこに配置というのが全て書いてある。
これでも一度Place & Routeを実行して、まだだめだったら、もう一度やり直す。
  1. 2005年10月02日 10:26 |
  2. Floorplannerの使い方
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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