对移位寄存器和延迟线进行编码 - 2023.2 简体中文

Versal 自适应 SoC 硬件、IP 和平台开发方法指南 (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 简体中文

一般而言,移位寄存器应具备以下部分或全部控制和数据信号特征:

  • 时钟
  • 串行输入
  • 异步置位/复位
  • 同步置位/复位
  • 同步/异步并行负载
  • 时钟使能
  • 串行或并行输出

AMD 器件包含专用 SRL16 和 SRL32 资源(集成在 LUT 中)。这样无需使用触发器资源即可高效实现移位寄存器。但是这些元件仅支持左 (LEFT) 移位操作,且 I/O 信号数量有限:

  • 时钟
  • 时钟使能
  • 串行数据输入
  • 串行数据输出

此外,SRL 提供用于确定移位寄存器长度的地址输入(针对 SRL16 为 A3、A2、A1、A0 输入)。移位寄存器可采用固定的静态长度,也可以动态调节。在动态模式下,每次向地址管脚应用新地址时,LUT 访问延迟时间过后,就会在 Q 输出上显示新的比特位置值。

在 SRL 原语中不提供同步和异步置位/复位控制信号。但是,如果 RTL 代码包含复位,那么 AMD 综合工具就会围绕 SRL 推断其他逻辑以提供复位功能。

为了在使用 SRL 时得到更高的时钟频率,AMD 建议在专用分片 (slice) 寄存器中实现移位寄存器的最终阶段。slice 寄存器时钟输出 (clock-to-out) 时间比 SRL 更短。这样即可为源自移位寄存器逻辑的路径提供更大的时序裕量。除非因属性或跨层级边界最优化限制而导致例化此资源,或者已阻止综合工具推断此寄存器,否则综合工具会自动推断此寄存器。要推断其他寄存器,请将动态延迟的信号单独寄存在 RTL 内。

AMD 建议您使用 Vivado Design Suite HDL 模板中演示的 HDL 编码样式。

使用寄存器实现芯片内的布局灵活性时,请使用以下属性关闭 SRL 推断:

SHREG_EXTRACT = "no"

如需了解有关综合属性以及如何在 HDL 代码中指定这些属性的更多信息,请参阅 Vivado Design Suite 用户指南:综合(UG901)