全文 - Vivado Design Suite User Guide: Designing IP Subsystems Using IP Integrator 07
2026/7/24 16:08:19 网站建设 项目流程

原文

第 7 章:IP Integrator 中的参数传递(Propagating Parameters)

参数传递(parameter propagation)是 IP integrator 中最强大的功能之一。该功能使 IP 能够根据其在设计中的连接方式自动更新自身的参数化配置。IP 在封装时可以附带特定的传递规则,IP integrator 会在图面生成过程中运行这些规则。

例如,在下图中,IP0 有一条 64 位宽的数据总线。随后添加并连接了 IP1 和 IP2。

图 147:参数传递概念(图略,见原文)

IP0 ──→ IP1 ──→ IP2 用户指定 默认位宽 = 32 传递后更新为 Width = 64 传递所得值: 输入位宽 = 64

在本例中,IP2 的默认数据总线位宽为 32 位。

当你运行参数传递规则时,工具会提示你 IP2 的总线位宽不同。假设 IP2 的数据总线位宽可以通过更改参数来修改,IP integrator 便可以自动更新 IP2。

如果某个 IP 无法根据其连接关系更新参数以匹配属性,则会显示错误,提醒你设计中存在潜在问题。这个简单的例子展示了参数传递的威力——能够被参数传递纠正或识别出来的错误类型,往往是直到仿真阶段才会被发现的错误。

使用总线接口(Bus Interface)

总线接口是共享同一功能的一组信号的集合。例如,一个 AXI4-Lite 主接口包含大量独立信号外加多条总线,这些都是建立连接所必需的。

IP integrator 的重要特性之一,就是能够将逻辑上成组的总线接口从一个 IP 连接到另一个 IP,或从 IP 连接到 IP integrator 设计的边界,乃至 FPGA 的 I/O 边界。如果不把这些信号封装成总线接口,IP 的符号上会显示一个极长且难以使用的底层端口列表,逐个连接将非常困难。

在 IP-XACT 中,可以利用总线接口的概念将一组信号归组——总线接口带有自己的端口映射(port map),将物理端口(在 IP 的 RTL 或网表上可用)映射到该接口类型的 IP-XACT 抽象定义文件中所定义的逻辑端口。

AMD 提供了许多接口定义,包括标准化的 AXI 协议和其他行业标准信号接口;但一些遗留或自定义实现具有独特的 IP 信号协议。你可以定义自己的接口、捕获预期的信号集合,并确保这些信号在 IP 之间一一对应存在。更多信息请参见《Vivado Design Suite 用户指南:创建与封装自定义 IP(UG1118)》中的"创建新接口定义"部分。

常见的内部总线接口

常见的总线接口示例包括符合 AXI 规范的总线,如 AXI4、AXI4-Lite 和 AXI4-Stream。AXIMM 接口包含全部三个子集(AXI4、AXI3 和 AXI4-Lite)。其他接口还包括 block RAM 接口。

I/O 总线接口

将一组通往 I/O 端口的信号归组的总线接口称为 I/O 接口。示例包括:UART、I2C、SPI、Ethernet、PCI® 和 DDR。

特殊信号(Special Signals)

特殊信号包括:

  • 时钟(Clock)
  • 复位(Reset)
  • 中断(Interrupt)
  • 时钟使能(Clock Enable)
  • 传统算术 IP 的数据信号(这些 IP 没有任何 AXI 接口,例如加法器、减法器和乘法器)

以下各节介绍这些特殊信号。

时钟(Clock)

时钟接口可以关联以下参数。这些参数用于设计生成过程,当该 IP 与设计中的其他 IP 配合使用时是必需的。

  • ASSOCIATED_BUSIF:该列表包含所有运行在此时钟频率下的总线接口的名称。此参数的取值是以冒号(:)分隔的字符串列表。
    如果边界上没有运行在此时钟速率下的接口信号,将此字段留空。

图 148:ASSOCIATED_BUSIF(图略,见原文)

上图显示了所选时钟接口端口的 ASSOCIATED_BUSIF 参数,其中以冒号分隔列出了主接口(M00_AXIM01_AXI)与从接口(S00_AXIS01_AXI)。
如果其中某个接口(如M00_AXI)不运行在此时钟频率下,则不要将该接口列入此时钟的 ASSOCIATED_BUSIF 参数。

  • ASSOCIATED_RESET:该列表的取值为复位端口的名称(不是复位容器接口的名称)。此参数的取值是以冒号(:)分隔的字符串列表。如果设计中没有复位,将此字段留空。
  • ASSOCIATED_CLKEN:该列表的取值为时钟使能端口的名称(不是容器接口的名称)。此参数的取值是以冒号(:)分隔的字符串列表。如果设计中没有时钟使能信号,将此字段留空。
  • FREQ_HZ:此参数以正整数格式记录时钟运行的频率(单位为赫兹)。仅需要为所有输出时钟指定此参数。
  • PHASE:此参数记录时钟的相位。默认值为 0,有效值为 0 到 360。如果无法以固定方式指定 PHASE,则必须像更新 FREQ_HZ 一样在bd.tcl中更新它。
  • CLK_DOMAIN:此参数是一个字符串 ID。默认情况下,IP integrator 假定所有输出时钟相互独立,并为整个块设计中的所有时钟输出分配唯一 ID。此 ID 由 IP integrator 自动分配;如果同一时钟域有多个输出时钟,则由 IP 管理。

要查看时钟网络上的属性,选中源时钟端口或引脚,分析该对象上的属性。下图显示了 Clocking Wizard 以及所选引脚上的时钟属性。

图 149:时钟属性(图略,见原文)

你也可以双击某个端口或引脚,查看所选对象的定制对话框。

复位(Reset)

此容器总线接口包含POLARITY(极性)参数。该参数的有效值为ACTIVE_HIGHACTIVE_LOW,默认为ACTIVE_LOW

要查看复位网络上的属性,选中复位端口或引脚,分析该对象上的属性,如下图所示。

图 150:复位信号(图略,见原文)

下图为属性(Properties)窗口。

图 151:复位属性窗口(图略,见原文)

中断(Interrupt)

此总线接口包含SENSITIVITY(敏感度)参数,有效值为LEVEL_HIGHLEVEL_LOWEDGE_RISINGEDGE_FALLING,默认为LEVEL_HIGH

要查看中断引脚上的属性,高亮选中该引脚并查看属性窗口,如下图所示。

图 152:中断属性:块图与属性窗口(图略,见原文)

时钟使能(Clock Enable)

与时钟使能关联的参数有两个:FREQ_HZPHASE

参数传递(Parameter Propagation)

在 IP integrator 中,当你选择运行Validate Design(验证设计)时,就会发生参数传递。你可以通过以下方式之一运行验证:

  • 点击 AMD Vivado™ IDE 工具栏中的Validate Design
  • 点击设计画布工具栏中的Validate Design按钮,或按F6
  • 从 Vivado 菜单中选择Tools → Validate Design
  • 在 Tcl Console 中使用 Tcl 命令validate_bd_design。更多信息请参见《Vivado Design Suite Tcl 命令参考指南(UG835)》。

参数传递会将某个 IP 实例的配置与它所连接的其他实例的配置同步。配置同步发生在总线接口参数上。

IP integrator 中的参数传递主要基于接口参数的**赋值强度(assignment strength)**概念。接口参数的强度可以是USERCONSTANTPROPAGATEDDEFAULT。当工具跨连接比较参数时,总是将强度较高的参数值复制给强度较低的参数。

定制 GUI 中的参数

在非工程模式(Non-Project Mode)下,你必须配置 IP 的所有用户参数。在 IP integrator 的上下文中,任何由参数传递自动更新的用户参数,在 IP 定制对话框中都会显示为灰色。灰色的参数表示你不能直接在该 IP 上设置这些用户参数——属性值由工具自动计算。

在某些情况下,自动计算的值可能并非最优。在这些情形下,你可以覆盖这些传递而来的值。

你会遇到参数传递的情形如下:

  • 自动计算的参数(Auto-computed parameters):由 IP integrator 自动计算,你无法覆盖。例如,下图中的 Ext Reset Logic Level 参数显示为灰色,表示你无法更改此参数。
    下图显示了 Processor System Reset 的 Re-customize IP 窗格。

图 153:自动计算的参数(图略,见原文)

  • 可覆盖的参数(Override-able parameters):可以覆盖的自动计算参数。例如,你可以更改 LMB block RAM 控制器的 SLMB Address Decode Mask。当你将鼠标悬停在滑块按钮上时,它会提示该参数由系统控制;但你可以通过将按钮从Auto切换为Manual来更改它。下图显示了这些设置。

图 154:可覆盖的参数(图略,见原文)

  • 用户可配置的参数(User configurable parameters):仅可由用户配置。下图中以红框标出的即为这类参数。

图 155:用户可配置的参数(图略,见原文)

  • 常量(Constants):无法设置的参数。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询