FPGA_editor学习记录

FPGA editor 概述

主要在约束限制条件下,进行电路的手动布局和布线功能并将电路转换成可下载的二进制bit形式;同时可以完全在该环境下进行电路的完全设计实现。

1. 输入文件

  • NCD:带布线信息的设计文件
  • PCF:物理约束文件
  • ELF:二进制数据文件,包含可在CPU上运行的代码
  • drf:二进制数据文件,包含可在CPU上运行的代码,并添加了调试信息
  • mem:保存连续数据的简单文本
  • NMC:可用软件创建/观察的物理硬宏,类似于IP核结构,可以例化调用 

2. 输出文件

  • 修改后的NCD和PCF文件
  • 修改后的UCF和NMC文件
  • BIT:下载用的二进制文件
  • CDC:通过ILA命令生成的文件

3. 快捷按键  

Fpga_editor.ini中可重定义快捷按键

///

移动屏幕的75%

shift+///

移动至边界

Space

向光标所在方向快速移动

A, a, X, x

移动到命令行

B, b

切换开关矩阵

C, c

切换设计用元件

D, d

切换pinwares端口连线

G, g

切换IR局域互联

L, l

切换IR长互联

N, n

切换ratsnest线

O, o

缩小到全可视大小,并取消连线选择

P, p

切换线上缓存器

Q, q

显示光标指定资源的信息

R, r

切换已布线路

S, s

切换器件所有元件

T, t

切换名称标注

U, u

显示光标指定连线到的源名称

W,w

缩放到适宜大小,并打开所有便于编辑的资源

Z, z

切换缩放

  

不可更改快捷键

    F1

  帮助文档

    F2

    Main properties

    Control + N

    File > New

    Control + F6

    Go to next window

    Shift + Control + F6

    Go to previous window

    Control + C

    Copy

    Control + O

    File > Open

    Control + P

    File > Print

    Control + S

    File > Save

    Control + V

  粘贴到命令行

    Control+双击右键

  执行route布线命令

    Control + X

  从命令行剪切

4. 软件主窗口和工具栏认识

包含三个主要窗口:array、list、world。

  • array窗口用于显示芯片各资源、布线等情况;
  • list窗口则用于设计中按名称和类别搜索指定资源,并对该资源进行显示设置/放置等操作,可保存相关数据到Comma Separated Value (.csv)文件
  • 用户工具快捷按钮列在list窗口旁,便于常用操作的快速实现
  • world窗口用于快速定位到芯片的大体方位
  • 历史记录和命令行依次位于窗口下方,便于命令输入和查看相关结果

命令行进行文件载入命令:fpga_editor ([-nosplash] ) | ([-n|-e|-r] {-md <bramfilename> [tag <tagname>]}[-p <scr_file>] <ncd_file> [<arch> <device> <package> <speed>]) | ([-n|-e|-r] {-md<bramfilename> [tag <tagname>]} [-p <scr_file>] <ncd_file> <pcf_file> [<arch> <device><package> <speed>]) | ([-e|-r] [-m] [-p <scr_file>] <macro_file> [<arch> <device> <package><speed>]) | ([-p <scr_file>])

Switch

Argument

Help Text

-n

no-logic-changes-mode

-e

Read-write mode

-r

Read only mode

-m

Macro edit mode

-md

<bramfilename>[tag<tagname>]

Initialization of BRAM with contents of <bramfilename>

<ncd_file>

Circuit design file name.  Extension is optional.

<pcf_file>

Physical constraints file name.  Extension is optional.

<nmc_file>

Macro File Name.  Extension is optional.

-p

<src_file>

A script file to execute immediately after a design or macro is read or created, or after the program's initialization files have been read.

 

Switch

Argument

Help Text

<arch>

Architecture or device family, such as Virtex

<device>

Device, such as Virtex2

<package>

Package, such as PC84

<speed>

Device speed grade, such as "3"

 

5. 手动布线

  1. 左键选择源引脚

  2. 按下ctrl键同时点选路径连线,中间有buffer等最好都点亮防未知错误,有多个目标终端时逐一进行

  3. 选择Tools > Route > Manual Route进行布线命令
  • 各pin脚的子线路具有唯一性,即只属于一个net,仅由一个源驱动
  • 布线失败时会报错,且软件默认尝试自动布线(可关闭)
  • 可从源布到负载,也可反向,但不能混用
  • 局部手动布线必须要锁定后才能被autoroute –all保留并完整布线,否则手动配置部分会被移除
  • 手动加入的布线锁定状态由对应的net的锁定状态决定
  • 一般应逐一顺序连接目标元件,如A到B,再B到C;但用-fanout选项可实现A到B,A到C

 6. 相关操作

增删操作

  • 添加/删除元件及其端口      不能重复使用,端口只属于一个net;端口对元件有依附性,一删全删
  • 添加/删除网线和端口            选定一组端口,用命令add可自动布线(Automatic Post开启);删除路径则通过list窗口查询;删端口直接选择并删除即可
  • 删除path及其上的element   path由约束文件定义,删除后与其直接相关的约束也同时无效;路径上的元素删除后任存在于设计中,需再用 delete path path_name 命令实现完全删除
  • External Pins                   例化macro设计的引脚,删除后不再是external的,但如果被连到了某各net上,则连接关系任存在

使用macros

  • 添加例化macro               必须满足设计使用同系列(family)的芯片;多个重复例化有各自不同的名称;新的例化都基于本地实例原型,不再受原始库模型更新影响

(只有指定参考点的例化位置才能实现例化macro的定位例化,否则例化电路将未含有布局布线信息)

  • 创建/打开/删除macro        保存时会舍弃所有约束信息
  • 为macro添加扩展接口          除了选择和添加命令,还需在External Pin Properties勾选使能
  • 移动macro             通过参考元件实现移动,在自动布线使能时可实现扩展连线的自动重布线;可通过右键拖动实现macro移动,左键拖动list实现macro安放
  • 创建关联macro(RPM)      调用 button bind bind 命令,选择备选参考元件系列并点选 bind 按钮;改变参考点办法(Ctrl+右键新参考点, Edit > Set Macro Reference Comp
  • 取消关联macro(RPM)      选择相关设计单元,调用Edit > Unbind Macro 

  布局布线

  • 自动布局布线                      可以进行部分选择实现,也可以进行整体实现;布线策略和标准;可进行简单配置;可选择进行整体布局/布线的重配置;布线在满足设计约束/达到迭代上限/无法完成布线时停止布线迭代
  • 手动布局布线                      可通过元件/线路选择和命令实现布置;也可通过鼠标的拖动实现布置;布线时,多个对象端口可进行逐一加入操作来实现
  • 取消布局布线                      取消布线时端口间会显示直连关系;约束部分不能实现取消功能

配置和探针

  • 时序分析联调        使用Tools > Timing Report打开.twx文件,选定路径超链接时FPGA Editor中对应的路径会高亮显示,便于路径调整和时序优化
  • 参考元件设置        选定元件并Edit > Set Macro Reference Comp;直接调用命令getattr main refcomp
  • 编辑元件逻辑        在Block窗口中设置LUT/MUX/RAM等资源;对查找表进行布尔表达式的设置,相关符号及含义如下表

Symbol          

Logical Gate

~

NOT

+

OR

*

AND

@

XOR

 

  • 更多元件操作        移动相关资源(选定和交换/直接拖动);交换相关资源/引脚(选定和交换),没有直接拖动方案;元件选择有时必须借助命令行(资源未在视图中显示出来);Control+Right Click可实现线路的部分连接选择功能;资源的选择和着色处理(使用命令/快捷选色和按键实现)
  • 使用探针          Tools > Probes添加和编辑探针,并生成位流文件供iMPACT下载验证;不布线添加探针probe add <netName> -targetPins <pinName1> [<pinName2>...] -noroute;追加布线实现probe route -all(.scr探针脚本文件),探针不用于最终产品中,否则极可能导致电路性能变差
  • 扩展引脚          getattr main extpins实现扩展引脚的罗列;相关参数设置实现引脚性能制定

GUI操作

To Open a new...

Select

Array Window

Window > New > Array Window

Block Window

Window > New > Block Window

List Window

Window > New >List Window

World Window

Window > New > World Window

  • 对选定资源进行参数设定
  • File > Export可以导出List包含的信息到 .csv文件中;右键移动鼠标可以移动视图
  • Tools > Scripts 中可进行相关的脚本操作集记录和存用
  • design_name_fpga_editor.out临时记录了操作历史,退出时更名为design_name_fpga_editor.log文件,Setattr 控制文件更新相关参数,历史记录可进行异常退出的修复

设计验证

  • Design Rule Check (DRC) 和Delay Calculator均可进行
  • 两者可以指定需要检查的部分对象/整个设计;DRC还能设定检查策略和输出类型 

7.其它

  • 命令列表和参数详解(略)
  • 关键名词及解释(略)

推荐学习

 FPGA Editor Help:ISE/doc/usenglish/help/iseguide/mergedProjects/fpga_editor/whnjs.htm

   Xilinx ISE Design Suite 10.1 Software Manuals

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