Xilinx 原语简介--(Xilinx FPGA开发实用教程)

目录

前言

1、Xilinx 原语简介

1.1 时钟组件原语(Clock Components)

1.1.1 BUFG

1.1.2 BUFGMUX

1.2 I/O端口组件(IO Components)

1.2.1 BUFIO

1.2.2 IBUFDS


前言

简要整理本书部分章节内容,详细内容可以参考阅读原著《Xilinx FPGA开发实用教程--田耘 著》!

 

原语查找:

altera 的在 quartus 界面的 help -- help_topics -- primitives 里

xilinx 的在 vivado    界面的 tools -- language_templates -- verilog -- device_primitive_instantiation 

xilinx ise                  界面的 edit  -- language_templates -- verilog

 

 

1、Xilinx 原语简介

Xilinx 提供的原语涵盖了FPGA 开发常用领域,但只有相应配置的硬件才能执行相应的原语, 并不是所有的原语都能在任意一款芯片上运行。

本节以Virtex-4平台介绍各类原语。

原语按功能分类,主要分为:

  • 计算组件原语;
  • I/O端口组件原语;
  • 寄存器和锁存器原语;
  • 时钟组件原语;
  • 处理器组件原语;
  • 移位寄存器原语;
  • 配置和检查组件原语;
  • RAM/ROM组件原语;
  • Slice/CLB组件原语;
  • 吉比特收发器组件原语;

 

1.1 时钟组件原语(Clock Components)

时钟组件包括各种全局时钟缓冲器、全局时钟复用器、普通I/O本地的时钟缓冲器,以及高级数字时钟管理模块。

原语名描述
BUFG全局时钟缓冲器
BUFGCE全局时钟复用器,附带时钟使能信号和0状态输出
BUFGCE_1全局时钟复用缓冲器,附带时钟使能信号和1状态输出
BUFGCTRL全局时钟复用缓冲器
BUFGMUX全局时钟复用缓冲器,附带时钟使能信号和0状态输出
BUFMUX_1全局时钟复用器,附带0状态输出
BUFGMUX_VIRTEX4Virtex-4期间特有的全局时钟复用缓冲器
BUFIOI/O端口本地时钟缓冲器
BUFRI/O端口和CLB的本地时钟缓冲器
DCM_ADV带有高级特性的数字时钟管理模块
DCM_BASE带有基本特征的数字时钟管理模块
DCM_PS带有基本特征和移相特征的数字时钟管理模块
PMCD匹配相位时钟分频器

对几个常用时钟组件进行简单介绍。

1.1.1 BUFG

BUFG是具有高扇出的全局时钟缓冲器,一般由综合器自动推断并使用。全局时钟是具有高扇出驱动能力的缓冲器,可以将信号连接到时钟抖动可以忽略不计的全局时钟网络。BUFG组件可以应用与典型的高扇出信号和网络,如复位信号和时钟使能信号。如果要对全局时钟实现PLL或DCM等时钟管理,需要手动例化该缓冲器。

 

1.1.2 BUFGMUX

 

 

 

 

1.2 I/O端口组件(IO Components)

I/O组件提供:

  • 本地时钟缓存;
  • 标准单端I/O缓存;
  • 差分I/O信号缓存;
  • DDR专用I/O信号缓存;
  • 可变抽头延迟链;
  • 上拉;
  • 下拉;
  • 单端信号和差分信号互相转换;
原语描述
BUFIOI/O的本地时钟缓存
DCIRESERFPGA配置成功后,DCI状态机的复位信号
IBUF标准和容量可选I/O单端输入缓存
IBUFDS带可选择端口的差分信号输入缓存
IBUFG带可选择端口的专用输入缓存
IBUFGDS带可选择端口的专用差分信号输入缓存
IDDR用于接收外部DDR输入信号的专用输入寄存器
IDELAY专用的可变抽头输入延迟链
IDELAYCTRLIDELAY抽头数的控制模块
IOBUF带可选择端口的双向缓存
IOBUFDS低有效输出的三态差分信号I/O缓存
ISERDES专用I/O缓存的输入分解器
KEEPERKEEPER符号
OBUF单端输出端口缓存
OBUFT带可选择端口的低有效输出的三态输出缓冲
OBUFDS带可选择端口的差分信号输出缓冲
OBUFTDS带可选择端口的低有效输出的三态差分输出缓冲
ODDR用于向外部DDR发送信号的专用输出寄存器
OSERDES用于快速实现输入源同步接口
PULLDOWN输入端寄存器下拉至0
PULLUP输入端寄存器、开路以及三条输出端口上拉至Vcc

1.2.1 BUFIO

 

1.2.2 IBUFDS

 

 

 

 

 

 

作者博文
1、sazczmhXILINX 7系列FPGA_SelectIO篇
 xilinx原语的使用方法
 Xilinx原语的使用方法2
2、李锐博恩ODDR使用研究记录
 Buffer专题介绍(一)
 Buffer专题介绍(二)
 Buffer专题介绍(三)
  
  

 

 

 

 

  • 4
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值