Floorplanner学习记录

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

 

 

设计流程

  1. 映射前操作:生成包含设计描述和约束的NGD文件 => 打开NGD文件并生成初始Floorplan设计 => 通过手动放置逻辑单元实现布局约束 => 保存为UCF文件                                                                                                 image 
  2. 布局布线后操作(可通过物理约束/自动布线结果查看):HDL设计输入 => 生成NGD => 在指定器件上自动实现MAP和PAR => Floorplanner打开并修改设计 => 保存设计约束为FNF/UCF文件 => 重新运行整个设计实现                                                                                                   image
  3. 迭代修改操作:基本流程同2,但有迭代运行过程                                                                                                   image
  4. 实现后操作:任何修改(增/删/改逻辑)都需要对设计进行重实现操作                                                                                                                 image
  5. 将RPM核转向UCF:包含可自动生成RPM核和不可自动生成RPM核两种方法                                                             image                       image

基本操作

  • 添加分层块: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或其它资源组/线紧邻;层级逻辑通过长线跨区域布局)                                                                               image  image
  • 分析布局时序特点:打开timing analyzer、Analyze > Against Timing Constraints、File > Save生成违反时序约束的信息;在Edit > Find中选择Auto Go并输入TRCE首个net名,并重复操作;对相应连线的资源重放置实现延时优化                                                                    imageimage
  • 进行面积约束:
  • 创建可重用的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是隔两个)、拖入交错的几个总线                                  image
  • 指定IO位置约束
  • 修正自动布局缺陷:Floorplan > Replace All with Placement、修改造成关键路径较长的布局、保存并运行NGDBuild、重新实现整个设计并考察时序信息
  • 手动布置底层资源;直接使用Floorplanner生成的UCF文件
  • 重复布局实现:设计并进行约束布局实现、分析并调整关键路径相关资源约束、重实现
  • 复用参考模式:创建(选择相关布局后设计块、Pattern > Capture)、使用(选择设计资源、Pattern > Impose、移动资源到布局窗口)
  • 。。。。。。

推荐学习

Floorplanner Help: ISE/doc/usenglish/help/iseguide/mergedProjects/floorplanner/whnjs.htm

原文地址:https://www.cnblogs.com/leyou2016/p/Floorplanner.html