zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    N个数求和
    求整数段和
    连续因子
    L1-005 考试座位号
    PTA Java tips(转载)
    个位数统计
    flink编译支持CDH6.2.0(hadoop3.0.0)
    hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常
    spring boot通过@Bean注解定义一个Controller
    【TypeScript】TypeScript 学习 2——接口
  • 原文地址:https://www.cnblogs.com/leyou2016/p/FPGA_editor.html
Copyright © 2011-2022 走看看