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