Intel® Quartus® Prime Pro Edition用户指南: 设计建议

ID 683082
日期 9/28/2020
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

1.4.3. 在HDL代码中推断移位寄存器

要在 Intel® Arria® 10器件中推断移位寄存器,综合工具检测一组相同长度的移位寄存器,并将它们转换成一个Intel FPGA移位寄存器IP core。

要进行检测,所有移位寄存器必须具有以下特征:

  • 使用相同的时钟和时钟使能
  • 没有其他次级信号
  • 等间隔的布线,至少相隔三个寄存器

综合仅针对具有专用RAM模块的器件系列识别移位寄存器。 Intel® Quartus® Prime Pro Edition 综合使用以下准则:

  • Intel® Quartus® Prime软件决定是否基于寄存的总线宽度(W),每个tap之间长度 (L),还是tap的数量(N)来推断Intel FPGA移位寄存器IP core。
  • 如果Auto Shift Register Recognition选项设置成Auto Intel® Quartus® Prime Pro Edition 综合决定哪些移位寄存器在RAM模块中通过使用以下方法实现(用于逻辑):
    • Optimization Technique设置
    • 关于设计的逻辑和RAM使用信息
    • 来自Timing-Driven Synthesis的时序信息
  • 如果寄存的总线宽度是1 (W = 1),那么如果tap的数量与每个tap之间的长度的乘积大于或等于64 (N x L > 64),那么 Intel® Quartus® Prime综合会推断移位寄存器IP。
  • 如果寄存的总线宽度大于1 (W > 1),并且寄存总线宽度,tap数量与每个tap之间的长度的乘积大于或者等于32 (W × N × L > 32),那么 Intel® Quartus® Prime综合会推断Intel FPGA移位寄存器IP core。
  • 如果每个tap之间的长度(L)不是2的幂,那么由于移位寄存器的不同尺寸, Intel® Quartus® Prime综合需要外部逻辑(LE或者ALM)对读计数器和写计数器进行解码。这种额外的解码逻辑消除了在存储器中实现移位寄存器的性能和利用率优势。

Intel® Quartus® Prime综合映射到Intel FPGA移位寄存器IP core并在RAM中进行布局的寄存器不包括在Verilog HDL和VHDL输出文件中(用于仿真工具),因为这些寄存器的节点名称在综合后不存在。

注: Compiler不能将一个使用shift enable信号的移位寄存器实现到MLAB存储器中;Compiler使用专用RAM模块。要对实现移位寄存器的存储器结构的类型进行控制,请使用ramstyle属性。