xilinx primitives(原语)-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

Xilinx的原语分为10类包括计算组件IO端口组件寄存器/锁存器时钟组件处理器组件移位寄存器配置和检测组件RAM/ROM组件Slice/CLB组件G-tranceiver。
我们可以在vivado的 language template中查看相关提示
不同的原语直接搜索就可以找到模板这里以oddr为例
在这里插入图片描述

常见的xilinx primitives

BUFG全局缓冲BUFG的输出到达FPGA内部的IOB、CLB、块RAM的时钟延迟和抖动最小。
BUFIOBUFIO是IO时钟网络其独立于全局时钟资源适合采集源同步数据。它只能驱动IO Block里面的逻辑不能驱动CLB里面的LUTREG等逻辑。
BUFR是本地I/O时钟、逻辑缓冲器BUFR和BUFIO都是将驱动时钟引入某一时钟区域的专用时钟网络而独立于全局时钟网络不同的是BUFR不仅可以跨越不同的时钟区域最多3个还能够驱动I/O逻辑以及自身或邻近时钟区域的逻辑资源。BUFIO的输出和本地内部互联都能驱动BUFR组件。此外BUFR能完成输入时钟18的整数分频。因此BUFR是同步设计中实现跨时钟域以及串并转换的最佳方式。

IBUFDS,用于将差分输入信号转化成标准单端信号且可加入可选延迟。在IBUFDS原语中输入信号为I、IB一个为主一个为从二者相位相反。

IDDR在7系列设备的ILOGIC block中有专属的registers来实现input double-data-rate(IDDR) registers将输入的上下边沿DDR信号转换成两位单边沿SDR信号。
ODDR通过ODDR把两路单端的数据合并到一路上输出上下沿同时输出数据上升沿输出a路下降沿输出b路如果两路输入信号一路固定为1另外一路固定为0那么输出的信号实际上是时钟信号。

IDELAYE2IO延时原语用于在信号通过引脚进入芯片内部之前进行延时调节一般高速端口信号由于走线延时等原因需要通过IDELAYE2原语对数据做微调。
IDELAYCTRLIDELAYCTRL和IDELAYE2一般同时使用IDELAYCTRL对IDELAYE2延时进行校准。

OSERDESE2:是一种专用的并-串转换器每个OSERDESE2模块都包括一个专用串行化程序用于数据和3状态控制。数据和3状态序列化程序都可以工作在SDR和DDR模式。数据串行化的位宽可以达到8:1如果使用原语模块级联则可以到10:1和14:1。3状态序列化最高可达14:1有一个专用的DDR3模式可用于支持高速内存应用程序。

注意:不同厂商、不同器件的原语往往不能通用。当编译器对我们的HDL代码进行编译时其中间环节的一些输出往往就是由原语组成的逻辑网表。因此原语往往是不参与综合过程的而使用原语描述的逻辑往往也不会被综合工具所优化。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6