Floorplanner 概述
使用Floorplanner交互式圖形化操作工具實現一些基本操作
-
進行低層次布局規划
-
創建可在其它設計中使用的RPM核
-
查看和編輯定位型約束
-
通過名稱或關聯性查找邏輯和網線
-
從時序分析到布局設置的交互探測
相關文件和要點
輸入文件
- NGD 用於映射到指定器件資源的前期設計描述
- NCD MAP或PAR軟件生成文件,用於產生FNF文件所需的物理設計,包含布局布線信息
- FNF Floorplanner網表文件,主要記錄所有物理約束信息
- UCF 對布局布線的約束描述
輸出文件
- FNF 從文件下拉菜單可保存的數據信息
- UCF 可直接編輯或菜單保存,也可將RPM信息轉為UCF命令集並保存
軟件基本信息
- 用於提高自動布局布線表現的可選技術,尤其在結構化設計和數據通路邏輯中十分有用,無需NCD文件,同時有比已有UCF約束更高的優先級
- 通過軟件可以掌握目標器件的底層信息、設計基礎結構、重復性修改以實現性能和密度要求
- 圖形接口:用直連線表示端口互聯關系,顯示引腳/資源信息,顯示封裝引腳,根據名稱或連接關系查詢指定邏輯和線網
- 主要作用:使用底層元件IO/三態緩存/FIFO/RAM/ROM實現高層設計,創建RPM內核,識別布局問題,支持自動端口布局設置。。。
- 支持器件:V1、V2、V2 Pro、V4、V5、SII、S3、S3E
- 包含窗口:主窗口、設計層次窗口、設計網線窗口、Floorplan窗口、Placement窗口
- 快捷方式:
通過讀入設計相關文件,將所有操作保存於 .fnf 文件實現相應功能
| 文件擴展名 |
參數 |
描述(命令功能) |
| <none> |
-nosplash |
禁止啟動屏幕 |
| <none> |
-h |
打印出使用命令 |
| <none> |
-instyle<ise | xflow | silent> |
禁止啟動屏幕 |
| <none> |
<design_name> |
指定Floorplan使用的名稱 |
| .fnf |
<fnf_file> |
N2F或Floorplanner產生的Floorplan文件 |
| .ngd |
<ngd_file> |
NGDBuild生成的文件 |
| .ncd |
<ncd_file> |
MAP/PAR生成的文件 |
| .ucf |
<ucf_file> |
用戶約束文件 |
| .fsf |
<script_file> |
測試用文件 |
常用的一些快捷鍵及對應位置和命令
| 快捷鍵 |
所在菜單 |
對應命令 |
| F1 |
Help |
Help Topics |
| F3 |
Edit |
Find |
| F5 |
View |
Refresh |
| F6 |
View |
Zoom Full View |
| F7 |
View |
Zoom Out |
| F8 |
View |
Zoom In |
| F9 |
View |
Zoom to Box |
| F10 |
Change focus to the menu bar |
|
| F11 |
View |
Zoom to Selected |
| Del |
Floorplan |
Remove |
| Ctrl+N |
File |
New |
| Ctrl+O |
File |
Open |
| Ctrl+S |
File |
Save |
| Ctrl+P |
File |
Print Floorplan |
| Ctrl+Z |
Edit |
Undo |
| Ctrl+I |
Edit |
Properties |
Floorplan窗口和Placement窗口右鍵功能
| Command |
Command |
| Zoom Full View |
Zoom to Selected |
| Zoom In |
Find |
| Zoom Out |
GoTo Next |
| Zoom to Box |
GoTo Previous |
| View Floorplan or View Placement |
Close Menu |
| Edit Constraints (僅Floorplan窗口) |
Swap Top/Bottom View (僅Floorplan窗口) |
設計層次窗口右鍵功能
| Command |
Command |
| Find |
Select Loads |
| GoTo Next |
Select Sources |
| GoTo Previous |
Close Menu |
設計網線窗口右鍵功能
| Command |
Command |
| List Visible Nets |
GoTo Next |
| Enable |
GoTo Previous |
| Disable |
Close Menu |
| Find |
設計流程
基本操作
- 添加分層塊:Edit > Add Block,參數框可進行模塊名稱、資源限用等約束
- 符號校准:3態緩存放置在同一行可實現使能信號共有從而校准;同一行放置共有時鍾使能的觸發器實現時鍾使能校准;將IOB放置在使能資源列近鄰處,優化長線的布線需求;通過命令使用組實現快速放置操作
- Floorplan檢驗:對約束后設計進行校驗,包括=>有公共輸出的3態緩存是水平校准的;無不同輸出的3態緩存是共有水平長線的;單個CLB中的觸發器有相同的CLK、CE、RD信號;單個CLB中的兩個16位存儲單元共享寫使能輸入;FG核FGH功能生成器互聯是有效的;有效資源分配給每個資源分配組;Floorplan > Check Floorplan,雙擊查看warning對應邏輯
- 創建組:可手動/自動實現組重建。(手動)ctrl+左鍵實現組團單元選擇,Hierarchy > Group創建為組,Edit > Properties可修改組名稱,元素全移動到新的組中;(自動)大多根據類型和信號名進行搜索和組團 Edit > Find、選擇類型、選擇共有屬性、Find、Select Found、Hierarchy > Group
- 顯示資源和邏輯:打開Edit > Preferences,分別在resources/logic頁選擇顯示資源/邏輯
- 追尋連線相關邏輯:Edit > Find、搜索條件、Find、Select Found
- 層次建立、文件操作、邏輯選擇/移動/刪除
- 修改着色:選定組、Edit > Colors、選定顏色並應用;選定邏輯資源、Edit > Colors、選定顏色、選定Apply to Symbols並應用
高級操作
- 分析PAR布局結果:View > Placement、檢測布局問題(共有使能輸出的BUFTs沒有垂直對准或與長線中點交織;RAM交織起來妨礙了用長線驅動控制信號;RPMs/BUFTs或其它資源組/線緊鄰;層級邏輯通過長線跨區域布局)

- 分析布局時序特點:打開timing analyzer、Analyze > Against Timing Constraints、File > Save生成違反時序約束的信息;在Edit > Find中選擇Auto Go並輸入TRCE首個net名,並重復操作;對相應連線的資源重放置實現延時優化


- 進行面積約束:
- 創建可重用的RPM核:HDL、綜合成EDIF文件、用NGDBuild生成NGD文件、用PAR放置設計/約束設計到某個方框范圍、在本軟件中進一步約束布局、File > Write RPM to UCF
- 創建和編輯區域約束:選擇約束對象、Floorplan > Assign Area Constraint、約束空間選擇、約束寫入UCF文件;可隱藏可呈現、縮放/移動/刪除;Edit > Constraints(增/刪/改)
- 時序分析探針:View > Timing Report、選擇.twx文件、選中文件中超鏈接可使對應圖像高亮、關鍵路徑修正和速度提高
- 交錯總線構建:確立需用交錯空間、Floorplan > Distribute Options並設置交錯模式(2是間隔、3是隔兩個)、拖入交錯的幾個總線

- 指定IO位置約束
- 修正自動布局缺陷:Floorplan > Replace All with Placement、修改造成關鍵路徑較長的布局、保存並運行NGDBuild、重新實現整個設計並考察時序信息
- 手動布置底層資源;直接使用Floorplanner生成的UCF文件
- 重復布局實現:設計並進行約束布局實現、分析並調整關鍵路徑相關資源約束、重實現
- 復用參考模式:創建(選擇相關布局后設計塊、Pattern > Capture)、使用(選擇設計資源、Pattern > Impose、移動資源到布局窗口)
- 。。。。。。
推薦學習
Floorplanner Help: ISE/doc/usenglish/help/iseguide/mergedProjects/floorplanner/whnjs.htm






