共享内存分区设计示例

建议用于:

  • 设备:Cyclone® V

  • Quartus®:不详

author-image

作者

共享内存分区设计示例在硬核处理器系统 (HPS) SDRAM 控制器中配置了内存保护规则。此设计示例包括一个配套系统控制台工具套件,可支持用户执行 HPS SDRAM 控制器,并测试已实行的规则。

此设计适用于以下英特尔® FPGA 开发套件:

此设计利用了用户通过 JTAG 发送 Avalon® 内存映射命令的能力。Avalon-MM 命令已路由到 JTAG 到 Avalon 的主桥接,与 HPS 上的 FPGA 到 HPS AXI* 桥接绑定。数据从那里直接进入 L3 互连,并根据目的地址进行路由。具有恰当目的地址的命令将被路由到 SDRAM 控制器子系统,并最终在那里执行。

硬件设计规格

  • Cyclone V HPS
  • 1GB 的 DDR3-SDRAM

图 1.设计示例结构图。

图 2.设计示例内存分区。

内存分区详情:

1GB 内存使用两条规则进行分区。第一条设置了 MPU 的访问区域。MPU 获得 0MB 到 512MB 的访问权限。第二条规则设置了 L3 互连的访问区域。L3 互连可访问 319MB 至 1024MB。两条规则的重叠会导致出现 MPU 和 L3 互连均可访问的“共享”区域。

使用此设计示例

下载 Cyclone V 内存分区设计示例(.zip 文件)

下载 Cyclone V 内存分区设计示例 readme(.txt 文件)

该设计的使用受英特尔® 设计示例许可协议中条款和条件的管理和约束。

.zip 文件包含重现该示例的所有必要硬件和软件文件,以及一个 readme.txt 文件readme.txt 文件包含关于设计重构的说明。

系统控制台工具套件命令的可视详细信息如下所示。readme.txt 文件中包含了其他说明。

图 3.设计示例系统控制台。

系统控制台读取/写入:

  • 若要通过 L3 互连从特定地址读取数据至 HPS SDRAM 控制器,只需输入您想要读取的地址,并点击“读取”(灰色)。
  • 若要通过 L3 互连从特定地址写入数据至 HPS SDRAM 控制器,输入您想要写入的地址和数据字节,然后点击“写入数据”按钮(蓝色)。

图 4.设计示例系统控制台 HPS 读取。

系统控制台 HPS 读取:

  • 若要通过 MPU 从特定地址读取数据,使用蓝色的“写入数据”按钮在地址位置 0x1ffffff4 输入一个 ‘1’。
  • 在右下角灰色圈出的数据单元格中输入目标地址。
  • 单击“写入地址”按钮让 MPU 读取已输入地址的内容。

图 5.设计示例系统控制台 HPS 写入。

系统控制台 HPS 写入:

  • 若要通过 MPU 从特定地址写入数据,使用蓝色的“写入数据”按钮在地址位置 0x1ffffff4 输入一个 ‘2’。
  • 在右下角灰色圈出的数据单元格中输入目标地址。
  • 单击“写入地址”按钮。
  • 将中间地址单元格的地址更改为蓝色圈出的 0x1fffffd4。
  • 在蓝色圈出的相邻数据单元格中输入要写入的数据字节。
  • 点击“写入数据”按钮让 MPU 执行写入操作。