FC2カウンター FPGAの部屋 2005年10月03日
FC2ブログ

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

FPGAの部屋

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

Floorplannerの使い方覚書2

今度は回路ブロックごとにエリアを制約するやり方を勉強。
オートルータで自動配線した結果を見ると、かなりばらばらに配置されている。それでは制限を満たすことが難しいと思われるため回路ブロックごとに領域を決められたら成績が良くなるはずだ。
やり方は、
1.ISEのProcess View -> Translate -> Floorplan Designをダブルクリック。
2.Floorplannerが起動
(ここからXilinxのソフトウェアマニュアルを転載)
3.[Design Hierarchy] ウィンドウで階層グループを選択します。
4.[Floorplan] → [Assign Area Constraint] をクリックします。
5.[Editable Floorplan] ウィンドウで、エリア制約を設定する位置にマウスをドラッグして矩形ボックスを描画します。ボックス内にあるすべてのタイルがエリア制約の対象となります。 エリア制約は、エリア グループに設定された RANGE 制約として UCF に書き込まれます。
(転載終わり)
エリア制約をかけたところ。
ploorplanner_051003.jpg


UCFファイルに書かれた制約。
INST "U_pci2pcicont" AREA_GROUP = "AG_U_pci2pcicont" ;
AREA_GROUP "AG_U_pci2pcicont" RANGE = SLICE_X105Y146:SLICE_X175Y33 ;
AREA_GROUP "AG_U_pci2pcicont" RANGE = RAMB16_X4Y5:RAMB16_X4Y17, RAMB16_X5Y5:RAMB16_X5Y17 ;
INST "U_ddr_cont_inf" AREA_GROUP = "AG_U_ddr_cont_inf" ;
AREA_GROUP "AG_U_ddr_cont_inf" RANGE = SLICE_X1Y191:SLICE_X104Y114 ;
AREA_GROUP "AG_U_ddr_cont_inf" RANGE = RAMB16_X0Y15:RAMB16_X0Y23, RAMB16_X1Y15:RAMB16_X1Y23, RAMB16_X2Y15:RAMB16_X2Y23, RAMB16_X3Y15:RAMB16_X3Y23 ;


これでセーブして、コンパイルする。
これで、指定した領域に回路ブロックがアサインされる。
アサインされたあとのFloorplanはこれ。
ploorplanner_051003_2.jpg


これでタイミング制約が満足できない場合は、Floorplannerの使い方覚書1で、もう一度クリティカルパスをつぶす。エリア制約がかけてあれば、オートルートしてもましだと思う。(確認はしてないけど)
  1. 2005年10月03日 20:46 |
  2. Floorplannerの使い方
  3. | トラックバック:0
  4. | コメント:0