SelectIO

题主最近开始接触和FPGA的方案验证相关的工作内容,需要把握FPGA内部资源的详细信息,所以又仔细查看了官方的器件手册。这一次给大家分享的内容主要涉及Xilinx FPGA内的CLBs,SelectIO和Clocking资源,适合对FPGA设计有时序要求,却还没有足够了解的朋友。

这一次的内容并不多,并且是以随笔的文体提供给各位,所以请在一个舒适的环境下,放松心情阅读。后期会二次编辑归纳整合到工作室电子期刊栏目下。

参考器件上,虽然一些专用的资源都集中在高端的FPGA型号中,不过题主想了想,还是把它们放在该系列后续的文章中吧。下文中的举证皆来自Spartan6器件文档,所以也不会超出Spartan6涵盖内容。

传统的FPGA内部资源分类作三类,可配置逻辑模块(Configurable Logic Block)、输入输出模块(InputOutput Block)和内部布线资源(Interconnect)三个部分,这些大家都知道的。随着FPGA的发展,为了满足对信号处理和片上储存的需要,又在前三类基础上增加了块RAM(BRAM)、时钟管理单元和硬件乘法器,之后又在部分系列里增加了PPC和高速串行输入与输出等等。

下文将要提到的CLB、SelectIO和Clocking资源里,SelectIO资源是比较丰富的一类,所以在顺序上把它放在最后。

正文:

Xilinx 7series FPGA SelectIO资源--ODDR

OLOGIC 资源

OLOGIC块在FPGA内的位置紧挨着IOB,其作用是FPGA通过IOB发送数据到器件外部的专用同步块。OLOGIC 资源的类型有OLOGIC2(位于HP I/O banks)和OLOGIC2(位于HR I/O banks)。在本文的下述论述中,除非特殊说明,OLOGIC2和OLOGIC3在功能和端口上都是相同的。

OLOGIC2和OLOGIC3不属于原语,正因为这样,所以它们不能被直接例化。它包含在布局布线后用户可例化的一些元素,例如一个输出触发器(OFD--output flip-flop)或者一个ODDR(output DDR element).

OLOGIC主要由两个block组成,一个用于配置输出路径。另外一个用于配置三态控制路径。这两个block具有共同的时钟,但是具有不同的使能信号OCE和TCE。两者具有由SRVAL属性精致的一部和同步set和reset(S/R信号)。

输出路径和三态枯井可以以下列模式之一独立配置:

  • 边沿触发的D触发器
  • DDR模式(ASAME_EDGE 或 OPPOSITE_EDGE)
  • 电平敏感锁存器
  • 异步电路/组合逻辑
  • 下图说明了OLOGIC block中的各种逻辑资源

    了解 SelectIO 架构的详细介绍,包括本地模式或组件模式的使用以及如何使用本地模式或组件模式启动设计等。此外,该视频还将介绍本地模式高速 SelectIO 向导,这是使用本地模式构建 IO 接口的主要工具。

    1. 什么是I/O Tile?
    对Spartan-6系列FPGA来说,一个IO Tile包括2个IOB、2个ILOGIC、2个OLOGIC、2个IODELAY。

    图 1Spartan-6系列IO Tile结构图

    图 1Spartan-6系列IO Tile结构图

    作者:Steve Leibson, 赛灵思战略营销与业务规划总监

    从高速信号来看,印刷电路板印制线是低通滤波器,降低了信号的完整性,并加剧ISI (码间干扰)。SerDes收发器早已使用补偿电路,包括发射器预加重和接收器CTLE (连续时间线性均衡)解决高速、多Gbps链路等的SI(信号完整性)问题。系统性能不断升级,越来越多的芯片到芯片,和板对板信号出现SI和ISI问题。高速DDR4 SDRAM就是这样的芯片,出现了SI问题,还有许多其他器件也出现了SI问题。因此,Xilinx 20nm UltraScale FPGA 在每个SelectIO引脚(不只在SerDes端口上)的发射端加上预加重,接收端实现CTLE功能以应对SI及ISI问题。

    同步内容