Cyclone FPGA系列的可编程I/O特性

Cyclone® FPGA系列具有各种可编程I/O特性,使用Quartus® II软件很容易实现这些特性。这一页面提供了通用可编程I/O特性指南,例如,什么时候以及怎样使用它们,其可用性和限制等。还提供了每一设置怎样影响接口或者设计的信息。以下是关键可编程I/O特性:

说明: 
可编程相关I/O设置一般是在分配编辑器环境中进行的。但是,出于各种原因,在适配过程中,可以自动修改部分设置或者忽略这些设置。虽然通过警告或者信息消息对每一次修改进行了提醒,但是,很容易错过这些消息,特别是在大规模设计中。检查适配器报告,确定您所需要的设置已经在编译流程之后成功实现了。在输入引脚、输出引脚、双向引脚,以及延时链总结中报告了I/O相关设置。

关于每一可编程I/O特性体系结构和规范的详细信息,请参考相应的器件手册:

可编程电流强度

什么时候使用

  • 电流强度影响输出性能(fMAX, tco)和信号质量(边缘速率、电压上冲和下冲,以及噪声)。
  • 较大的电流强度设置提供了较高的输出性能,但是噪声电平也提高了。
  • 不选择时,Cyclone FPGA系列中不同型号的默认设置有所不同,如下所示:
    • Cyclone和Cyclone II FPGA——每一I/O标准最大设置。
    • Cyclone III FPGA——50-Ohm片内匹配(OCT),没有针对所有无电压参考和HSTL/SSTL进行校准;I类I/O标准——25-Ohm OCT,没有针对HSTL/SSTL进行校准;II类I/O标准——3.3-V LVTTL/LVCMOS I/O标准的最大设置。
  • 当输出需要较大的fMAX,并且遇到最小脉冲宽度时序违规时,选择较大的有效电流强度设置。

怎样使用

  • 在分配编辑器中,为引脚选择合适的电流设置。最大和最小值分别用于最大和最小有效电流强度设置,由I/O标准提供支持。

特性适用性

  • 所有用户I/O都用作输出或者双向引脚。
  • 不同的器件系列和I/O标准选择不同的电流强度。

特性限制

  • 专用配置引脚不提供支持。
  • 使用了有校准或者没有校准的OCT的引脚不提供支持。

可编程摆率控制

什么时候使用

  • 摆率影响输出信号边缘瞬变、输出性能(fMAX, tco),以及开关噪声,特别是很多输出引脚同时开关的情况。
  • 如果您的系统中噪声因素非常关键,那么,选择较慢的有效摆率设置。
  • 不选择时,Quartus II软件被设置为最快有效摆率控制。

怎样使用

  • 在分配编辑器中,为每一引脚分配选择所需要的数值。

 

FPGA系列

分配名称

分配值

Cyclone

慢摆率

打开(慢)

关断(快 - 默认)

Cyclone III

摆率

0 (慢)

1 (中等)

2(快 - 默认)

F特性适用性

  • 所有用户I/O都用作输出或者双向引脚。
  • 可以和可编程电流强度一起使用。

特性限制

  • 专用配置引脚不提供支持。
  • 使用了有校准的OCT的引脚不提供支持。
  • 不适用于Cyclone II FPGA系列。请参考支持解决方案rd02222005_115
  • 在Cyclone III FPGA中,只支持8 mA或者更大的电流强度设置,这是因为在较小的电流设置时,边缘速率效应并不明显。
  • 在Cyclone III FPGA中,使用3.0-V PCI和3.0-V PCI-X I/O标准的引脚不支持。

可编程开漏输出

什么时候使用

  • 当逻辑至引脚为高电平时,开漏输出在输出上提供了高阻抗状态。如果逻辑至引脚是低电平,输出为低电平。
  • 可以将一个以上的开漏输出连接到一条导线上。这类连接与逻辑“或”功能相似,通常被称为低电平有效“线或”电路。如果至少有一路输出处于逻辑0状态(有效),它会吸收电流,使线路进入低电压状态。
  • 当多个器件连接总线时使用。例如,任何器件都能够将其置位的系统级控制信号,或者作为中断使用。

怎样使用

  • 有两种方法来使能开漏输出分配;
    • OPNDRN基元——采用OPNDRN基元设计三态缓冲。当使用TRI基元时,基元的输入等于输出使能(OE)信号。
    • 自动开漏引脚选项——这是全局设置,在整个设计中,让编译器自动把具有固定低数据输入的三态缓冲(一般采用TRI基元)转换为等价的开漏缓冲。这一选项默认是使能的。
  • 您可以设计开漏输出,而不用使能选项分配。在这种情况下,您没有使用I/O缓冲中的开漏输出特性。使用I/O缓冲中的开漏输出特性,您获得了最佳传播延时,即,从OE到输出的tpd。
  • 支持解决方案rd06252007_878有一个实例,介绍了您怎样使用标准VHDL或者Verilog HDL声明来实现开漏输出。

特性适用性

  • 所有用户I/O都用作输出或者双向引脚。
  • 可以和可编程上拉电阻一起使用。

特性限制

  • 专用配置引脚不提供支持。

可编程总线保持

什么时候使用

  • 需要保持引脚的上一次驱动状态时使用,直至出现下一输入信号,引脚是三态时通常会出现这种情况。
  • 通过总线保持特性使引脚进入已知电压电平状态,避免了由于噪声导致的无意开关。

怎样使用

  • 在分配编辑器中,将总线保持分配设置为ON,为每一引脚使能总线保持电路。

特性适用性

  • 所有用户I/O。

特性限制

  • 专用配置引脚和专用时钟输入引脚不提供支持。

可编程上拉电阻

什么时候使用

  • 三态时,需要把引脚信号电平上拉至VCCIO时使用。
  • 用于替代弱外部上拉电阻。上拉电阻取决于工艺、电压,以及温度条件。
  • 如果您需要高精度值,请使用外部组件。
  • 与开漏输出选项结合使用。

怎样使用

  • ·在分配编辑器中,将弱上拉分配设置为ON,为每一引脚使能片内上拉电阻。

特性适用性

  • 所有用户I/O。

特性限制

  • 专用配置引脚和专用时钟输入引脚不提供支持。
  • 使用了总线保持选项的引脚不提供支持。

PCI箝位二极管

什么时候使用

  • PCI二极管使能引脚只影响大于电压VCCIO电平0.7 V以上的信号。更高的电压电平被消掉,有效的减小了引脚上大于VCCIO + 0.7-V的电压电平。0.7 V是片内二极管接通电压的近似值。
  • 当FPGA引脚上的上冲电压超过了可接受的最大电平时,使用。Cyclone系列中的FPGA有最大DC输入和最大上冲(AC)电压规范。
  • 当Cyclone II FPGA或者Cyclone FPGA连接5.0-V LVTTL器件,将FPGA引脚电压箝位到可接受的最大电平时,使用。
  • 对于所有的应用情况,确定是否需要串联电阻,通过片内二极管将DC电流减小到可接受的限制范围内。

怎样使用

  • 在分配编辑器中,将 PCI I/O分配设置为ON,为每一引脚使能片内箝位二极管。

特性适用性

  • Cyclone III FPGA的所有用户I/O引脚块。
  • 只适用于Cyclone II和Cyclone FPGA的I/O引脚侧面块。

特性限制

  • 专用输入时钟和配置引脚不提供支持。
  • 对于Cyclone III FPGA,通过片内箝位二极管的最大DC电流是10-mA,而对于Cyclone II和Cyclone FPGA,则是25-mA。
  • 对于Cyclone III系列中的FPGA,配置期间所使用的两用配置引脚不提供支持。

片内匹配

什么时候使用

  • OCT输出引脚为25-ohm或者50-ohm走线提供了片内匹配功能,以减小信号上由于反射带来的噪声。
  • 在Cyclone III FPGA中使用带有校准的OCT功能,以提高校准精度,适应温度和电压状态的变化。

怎样使用

  • 在分配编辑器中,从I/O标准分配中,从列出的可用OCT I/O标准中进行选择。有效选择是25-ohm或者50-ohm匹配类型,有各种VCCIO电平,带有校准选项。
  • 引脚上使用带有校准功能的串联OCT时,目标引脚所在块同一侧的RUP引脚和RDN引脚必须连接至外部电阻,分别连接VCCIO和GND。为25-ohm匹配类型使用25-ohm电阻,为50-ohm匹配类型使用50-ohm电阻。
  • 使用不具有校准功能的串联OCT时,RUP和RDN引脚上不需要外部电阻。在这种情况下,RUP和RDN引脚可以用作普通I/O。

特性适用性

  • 在Cyclone III FPGA中,所有用作输出和双向引脚的用户I/O上,使用具有校准和不具有校准功能的串联OCT。
  • 在Cyclone II FPGA中,所有用作输出和双向引脚的用户I/O上,使用不具有校准功能的串联OCT。
  • 当OCT与双向引脚一起使用时,如果引脚是输入,引脚上不需要串联电阻。

特性限制

  • 专用配置引脚不提供支持。
  • 在Cyclone III FPGA系列中,3.3-V LVTTL/LVCMOS I/O标准不支持OCT。
  • Cyclone II FPGA系列不支持带有校准功能的OCT。
  • 在Cyclone FPGA系列中,不支持带有或者不带有校准功能的OCT。

可编程延时

什么时候使用

  • I/O通路上的延时设置会影响该引脚上的时序要求。使用可编程延时功能来提高接口上的读或者写时序。
  • 图中显示了改进输入寄存器保持时间的例子,使用了输入引脚至输入寄存器延时。Example of Hold Time Improvement

怎样使用

  • 只有寄存器放置在IOE中时,才能使用寄存器相关延时。对于输入寄存器或者输出寄存器,把“Fast Input Register or Fast Output Register”分配设置为ON,让编译器使用分配编辑器。
  • 如果您约束了输入或者输出端口,Quartus II开发软件会自动设置这些延时。通过TimeQuest时序分析器使用set_input_delay或者set_output_delay命令。或者,使用标准时序分析器,进行输入延时或者输出延时分配,优化延时设置和逻辑布局,以满足您的约束要求,分析并报告时序结果。
  • 在Quartus II软件中,默认情况下,输入寄存器延时被设置为最大。为能够手动编辑延时,在分配编辑器中,为相应的延时分配设置整数值。可以在相应的器件手册中找到有效的整数值和相关的递增失调延时。
  • 实际延时值 = 整数值 x (所参考的器件手册中的最大失调值)/(延时可以使用的设置数 - 1)。
  • 如果您需要在编译后精确的调整延时,从资源属性编辑器中,编辑延时,不需要再进行完全编译。

特性适用性

  • 所有用户I/O。

特性限制

专用配置引脚不提供支持。