Xilinx原语——FPGA学习笔记4

一、XILINX器件原语

        原语,是FPGA厂商针对其器件特征开发的一系列常用模块的名称。原语是FPGA芯片中基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等。原语在设计中可以直接例化使用,是最直接的代码输入方式,原语和HDL原语的关系,类似于汇编语言和C语言的关系。

        Xilinx公司的原语按功能分为10类,包括计算组件、I/O端口组件、寄存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM组件、Slice/CLB组件以及吉比特收发器组件。常用的原语包括时钟缓冲、差分和单端信号相互转换以及I/O处理(IDDR、ODDR)原语等。

二、7系列FPGA高级时钟结构视图

 三、时钟组件

        时钟组件包括各种全局时钟缓冲器(BUFG)、全局时钟复用器、普通I/O本地的时钟缓冲器(BUFR)以及高级时钟管理模块。与其相关的原语包括: BUFG、 BUFR、BUFH、 BUFIO、 BUFGCE、 BUFGDLL和DCM等。

        1、BUFG

        全局缓冲器, BUFG 的输出到达 FPGA 内部的 IOB、 CLB、块 RAM 的时钟延迟和抖动最小                 可以到达FPGA任何一个节点。

SRCCs只可以对本区域内时钟使用。MRCCs可以对相邻两个区域时钟使用 。

        2、BUFH

        水平时钟缓冲器,它相当于一个功能受限的BUFG,其输出时钟只能通过HROW在左右相邻的时钟区域内工作。每个区域内有12个BUFH可用。

        3、BUFR

         区域时钟缓冲器,其输出只能作用在一个时钟区域,相当于BUFH的阉割版。 

        4、BUFIO 

        IO时钟缓冲器,其输出时钟只能作用在一个时钟区域的IO寄存器处,无法在FPGA内部逻辑使用。

         5、时钟区域视图
 

        6、缓冲器使用场景

BUFG

BUFH

BUFMR

BUFR

BUFIO

使用场景

一般用在跨多个时钟区域的时钟上

一般用在相同时钟区域或者相邻时钟区域的时钟

当输入时钟需要连接多个区域的BUFR或者BUFIO时使用

可用于不需要跨区域的时钟,但一般用作IO资源的接口时钟

只能用于IO资源的接口时钟

四、IO端口组件

        I/O组件提供了标准单端I/O缓存(IBUF/OBUF)、DDR专用I/O信号缓存(IDDR/ODDR)、可变抽头延迟链(IDELAY/ODELAY)、上拉(PULLUP)、下拉(PULLDOWN)以及单端信号和差分信号之间的相互转换(IBUFDS/ OBUFDS) 等。

        1、XA735T    BANK分布

        2、IO资源分布

        3、IDDR

        输入数据的双沿采样,是ILOGIC块中专用的寄存器,用于实现输入数据双沿采样。

ILOGICE3结构:

        (1)工作模式

                ①OPPOSITE_EDGE mode   相反沿

                ②SAME_EDGE mode    相同沿

                ③SAME_EDGE_PIPELINED mode    相同沿流水模式

                (2)IDDR原语

        4、ODDR

        输出数据的双沿采样,是OLOGIC块中专用的寄存器,用于实现输出数据双沿采样。

OLOGICE3 结构

                (1)工作模式

                        ①OPPOSITE_EDGE mode       相反沿

                        ②SAME_EDGE mode         相同沿

                (2)ODDR原语

五、IDELAY原语

        每个I/O模块都包含了一个可编程的延迟原语,称作IDELAYE2 。 IDELAY2是一个可编程的31阶延迟原语,它既可以应用于组合逻辑也可以应用于时序逻辑或者同时用于两者。

        1、IDELAY参数

        2、IDELAY端口

        3、FIXED模式

        在固定延迟模式中,延迟值在配置时预设为属性 IDELAY_VALUE 确定的延迟值。 配置后,此值无法更改。

                FIXED时序

输入输出延迟值为tap0,如果IDELAY_VALUE为0,那么DATAOUTA相对于输入延迟600ps  

        4、VARIABLE模式

        在该模式下,延迟值可以在配置后通过CE和INC端口进行动态配置。

                VARIABLE时序:

        5、VAR_LOAD模式

               该模式下功能与VARIABLE模式下类似,只不过可以通过CNTVALUEIN加载延迟节拍数,多了一种延迟加载方法。当LD端口有效时可以加载新的延迟CNTVALUE值到控制模块。

        VAR_LOAD时序:

        6、VAR_LOAD_PIPE模式

        VAR_LOAD_PIPE 类似于 VAR_LOAD 模式,能够存储 CNTVALUEIN 值以备将来更新。

        VAR_LOAD_PIPE时序:

        7、IDELAY原语

        

        8、IDELAYCTRL

        IDELAYCTRL 模块连续校准其区域内的各个 IDELAY/ODELAY,以减少工艺、电压和温度变化的影响。 IDELAYCTRL 模块使用用户提供的 REFCLK 校准 IDELAY 和 ODELAY 。

        IDELAYCTRL时序:

        9、IDELAYCTRL 位置分布

        IDELAYCTRL 模块存在于每个时钟区域的每个 I/O 列中。 IDELAYCTRL 模块校准其时钟区域内的所有 IDELAYE2 和 ODELAYE2 模块

 

  • 29
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Xilinx FPGA原语是指Xilinx公司针对其器件特征开发的一系列常用模块,用户可以将其看成Xilinx为用户提供的库函数,类似于C中的关键字。原语代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等。在实现过程中,需要将设计单元转译为目标器件中的基本元件,否则无法实现。原语可以直接例化使用,是最直接的代码输入方式。Xilinx公司提供的原语按功能分为计算组件、I/O端口组件、寄存器和锁存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM组件、Slice/CLB组件以及G比特收发器组件。 其中,计算组件包括DSP48核,也被称为硬件乘法器。它是Xilinx FPGA原语的一种,功能为进行计算。 另外,FPGA设计中的时钟信号如果不是由FPGA芯片的专用时钟pin引入,通常需要在FPGA内部连接到时钟树资源上。这样做是为了避免时序问题影响逻辑行为。 还有一种原语是BUFMUX,它是全局时钟复用器,用于选择两个输入时钟中的一个作为全局时钟。BUFMUX的功能可以通过选择信号来实现。它在综合结果分析中和同类原语BUFMUX1有相似的RTL级结构。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Xilinx公司原语的使用方法](https://blog.csdn.net/phenixyf/article/details/42874011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Xilinx原语的使用](https://blog.csdn.net/qq_45776815/article/details/129262416)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值