外部存储器接口 Intel Stratix 10 FPGA IP 设计示例ample

设计防爆amp外部存储器接口快速入门指南英特尔® Stratix® 10 FPGA IP
新界面和更自动化的设计前amp文件流可用于英特尔® Stratix® 10 外部存储器接口。 前任ample 参数编辑器中的 Designs 选项卡允许您指定合成和模拟的创建 file 设置可用于验证您的 EMIF IP。 你可以生成一个前amp专为英特尔 FPGA 开发套件或您生成的任何 EMIF IP 设计的文件。
图 1. 一般设计实例amp工作流程
图 2. 生成 EMIF Examp使用 Intel Stratix 10 开发套件进行设计
创建 EMIF 项目
对于英特尔 Quartus® Prime 软件版本 17.1 及更高版本,您必须在生成 EMIF IP 和设计前创建一个英特尔 Quartus Prime 项目amp勒。
- 启动 Intel Quartus Prime 软件并选择 File ➤ 新建项目向导。 点击下一步。

- 为要创建的项目指定目录和 nme。 点击下一步。

- 验证是否选择了空项目。 单击下一步两次。

- 在名称过滤器下,键入设备部件号。
- 在可用设备下,选择适当的设备。

- 单击“完成”。
生成和配置 EMIF IP
以下步骤说明了如何生成和配置 EMIF IP。 本演练创建一个 DDR4 接口,但其他协议的步骤类似。
- 在 IP Catalog 窗口中,选择 Intel Stratix 10 External Memory Interfaces。 (如果 IP 目录窗口不可见,请选择 View ➤ 实用程序窗口 ➤ IP 目录。)

- 在 IP Parameter Editor 中,为 EMIF IP 提供实体名称(您在此处提供的名称将成为 file IP 的名称)并指定一个目录。 单击创建。

- 参数编辑器有多个选项卡,您必须在其中配置参数以反映您的 EMIF 实现:
英特尔 Stratix 10 EMIF 参数编辑器指南
表 1. EMIF 参数编辑器指南
| 参数编辑器选项卡 | 指南 |
| 一般的 | 确保正确输入以下参数:
• 设备的速度等级。 • 内存时钟频率。 • PLL 参考时钟频率。 |
| 记忆 | • 请参阅您的存储设备的数据表以输入参数 记忆 选项卡。
• 您还应该为 ALERT# 引脚输入一个特定位置。 (仅适用于 DDR4 内存协议。) |
| 内存 输入/输出 | • 对于初始项目调查,您可以使用默认设置
内存输入输出 选项卡。 • 对于高级设计验证,您应该执行电路板仿真以获得最佳端接设置。 |
| FPGA 输入/输出 | • 对于初始项目调查,您可以使用默认设置
FPGA 输入/输出 选项卡。 • 对于高级设计验证,您应该使用相关的 IBIS 模型执行电路板仿真以选择适当的 I/O 标准。 |
| 内存时序 | • 对于初始项目调查,您可以使用默认设置
内存时序 选项卡。 • 对于高级设计验证,您应该根据存储设备的数据表输入参数。 |
| 木板 | • 对于初始项目调查,您可以使用默认设置
木板 选项卡。 • 对于高级设计验证和准确的时序收敛,您应该执行电路板仿真以获得准确的符号间干扰 (ISI)/串扰以及电路板和封装偏斜信息,并将其输入到 木板 选项卡。 |
| 控制器 | 根据内存控制器所需的配置和行为设置控制器参数。 |
| 诊断 | 您可以使用上的参数 诊断 选项卡以协助测试和调试您的内存接口。 |
| Examp乐设计 | 这 Examp乐设计 选项卡可让您生成设计前amp用于综合和模拟的文件。 生成的设计前ample 是一个完整的 EMIF 系统,由 EMIF IP 和生成随机流量以验证内存接口的驱动程序组成。 |
关于各个参数的详细信息,请参考 Intel Stratix 10 External Memory Interfaces IP User Guide 中适用于您的存储器协议的章节。
生成可综合 EMIF 设计示例ample
对于 Intel Stratix 10 开发套件,将大部分 Intel Stratix 10 EMIF IP 设置保留为默认值就足够了。 生成可综合设计前amp乐,请按照下列步骤操作:
- 在 Diagnostics 选项卡上,启用 EMIF Debug Toolkit/On-Chip Debug Port 和 In-System-Sources-and-Probes 以提供对可用调试功能的访问。

- 在前ample Designs 选项卡,确保选中 Synthesis 框。
- 配置 EMIF IP 并点击 Generate Example 设计在窗口的右上角。

- 为 EMIF design ex 指定一个目录amp文件,然后单击“确定”。 成功生成 EMIF design example 创建以下内容 file设置在一个qii目录下。
图 3. 生成的可综合设计实例ample File 结构
注意:如果您没有选择 Simulation 或 Synthesis 复选框,目标目录将包含 Platform Designer 设计 files,它们不能直接由 Intel Quartus Prime 软件编译,但可以 view在 Platform Designer 下编辑或编辑。 在这种情况下,您可以运行以下命令来生成综合和仿真 file 套。
- 要创建可编译工程,您必须在目标目录中运行 quartus_sh -t make_qii_design.tcl 脚本。
- 要创建仿真项目,您必须在目标目录中运行 quartus_sh -t make_sim_design.tcl 脚本。
相关信息
- 合成器amp第 19 页的设计
- DDR10 的英特尔 Stratix 3 EMIF IP 参数说明
- DDR10 的英特尔 Stratix 4 EMIF IP 参数说明
- QDRII/II+/Xtreme 的英特尔 Stratix 10 EMIF IP 参数说明
- QDR-IV 的英特尔 Stratix 10 EMIF IP 参数说明
- RLDRAM 10 的 Intel Stratix 3 EMIF IP 参数说明
生成 EMIF 设计示例amp模拟文件
对于 Intel Stratix 10 开发套件,将大部分 Intel Stratix 10 EMIF IP 设置保留为默认值就足够了。 生成设计前amp为
模拟,请按照下列步骤操作:
- 在 Diagnostics 选项卡上,您可以在两种校准模式之间进行选择:Skip Calibration 和 Full Calibration。 (有关这些模式的详细信息,请参阅本章后面的仿真与硬件实现。)要减少仿真时间,请选择抽象 PHY 进行快速仿真。

- 在前amp在 Designs 选项卡中,确保选中 Simulation 框。 还要选择所需的仿真 HDL 格式,Verilog 或 VHDL。
- 配置 EMIF IP 并点击 Generate Example 设计在窗口的右上角。

- 为 EMIF design ex 指定一个目录amp文件,然后单击“确定”。
成功生成 EMIF design example 创建多个 file 在 sim/ed_sim 目录下为各种支持的模拟器设置。
图 4. 生成的仿真设计实例ample File 结构
笔记: 如果您不选择 Simulation 或 Synthesis 复选框,目标目录将包含 Platform Designer 设计 files,它们不能直接由 Intel Quartus Prime 软件编译,但可以 view在 Platform Designer 下编辑或编辑。 在这种情况下,您可以运行以下命令来生成综合和仿真 file 套。
- 要创建可编译工程,您必须在目标目录中运行 quartus_sh -t make_qii_design.tcl 脚本。
- 要创建仿真项目,您必须在目标目录中运行 quartus_sh -t make_sim_design.tcl 脚本。
相关信息
• 模拟前amp乐设计
• Intel Stratix 10 EMIF IP – 模拟内存 IP
• 仿真与硬件实现
仿真与硬件实现
对于外部存储器接口仿真,您可以在 IP 生成期间在 Diagnostics 选项卡上选择跳过校准或完全校准。
EMIF 仿真模型
此表比较了跳过校准和完整校准模型的特性。
表 2. EMIF 仿真模型:跳过校准与完全校准
| 跳过校准 | 全面校准 |
| 以用户逻辑为重点的系统级仿真。 | 以校准为重点的内存接口仿真。 |
| 未捕获校准细节。 | 捕获所有 stages 校准。 |
| 具有存储和检索数据的能力。 | 包括调平、每比特去偏移等。 |
| 代表准确的效率。 | |
| 不考虑电路板偏斜。 | |
RTL 仿真与硬件实现
此表突出显示了 EMIF 仿真和硬件实现之间的主要区别。
表 3. EMIF RTL 仿真与硬件实现
| RTL 仿真 | 硬件实现 |
| Nios® 初始化和校准代码并行执行。 | Nios 初始化和校准代码顺序执行。 |
| 接口在仿真中同时断言 cal_done 信号信号。 | Fitter 操作确定校准顺序,并且接口不会同时断言 cal_done。 |
您应该根据设计应用程序的流量模式运行 RTL 仿真。 请注意,RTL 仿真不会对 PCB 走线延迟建模,这可能会导致 RTL 仿真和硬件实现之间的延迟差异。
使用 ModelSim 仿真外部存储器接口 IP
此过程显示如何模拟 EMIF 设计前amp勒。
- 启动 Mentor Graphics* ModelSim 软件并选择 File ➤ 更改目录。 导航到生成的设计示例中的 sim/ed_sim/mentor 目录amp文件夹。
- 确认成绩单窗口显示在屏幕底部。 如果 Transcript 窗口不可见,请单击 View ➤ 成绩单。
- 在 Transcript 窗口中,运行 source msim_setup.tcl。
- source msim_setup.tcl 完成运行后,在 Transcript 窗口中运行 ld_debug。
- ld_debug 完成运行后,验证是否显示了“对象”窗口。 如果对象窗口不可见,请通过单击显示它 View ➤ 对象。
- 在“对象”窗口中,通过右键单击并选择“添加波形”来选择要模拟的信号。
- 选择完用于仿真的信号后,在 VTranscript 窗口中执行 run -all。 模拟运行直到完成。
- 如果模拟不可见,请单击 View ➤ 波浪。
相关信息
Intel Stratix 10 EMIF IP——模拟内存 IP
英特尔 Stratix 10 EMIF IP 的引脚布局
本主题提供引脚放置指南。
超过view
英特尔 Stratix 10 FPGA 具有以下结构:
- 每个设备包含 2 到 3 个 I/O 列。
- 每个 I/O 列最多包含 12 个 I/O bank。
- 每个 I/O bank 包含 4 个通道。
- 每个通道包含 12 个通用 I/O (GPIO) 引脚。
一般引脚指南
以下几点提供了一般的引脚指南:
- 确保给定外部存储器接口的引脚位于单个 I/O 列中。
- 跨多个银行的接口必须满足以下要求:
- 银行必须彼此相邻。 关于相邻组的信息,请参考 Intel Stratix 10 External Memory Interfaces IP User Guide。
- 地址和命令库必须驻留在中心库中以最大程度地减少延迟。 如果内存接口使用偶数个 bank,则地址和命令 bank 可能位于两个中心 bank 中的任何一个。
- 未使用的引脚可用作通用 I/O 引脚。
- 所有地址和命令以及关联的引脚必须位于单个组中。
- 在以下条件下,地址和命令和数据引脚可以共享一个 bank:
- 地址、命令和数据引脚不能共享 I/O 通道。
- 只有地址和命令库中未使用的 I/O 通道可用于数据管脚。
表 4. 一般引脚约束
| 信号类型 | 约束 |
| 数据选通 | 属于一个 DQ 组的所有信号必须位于同一 I/O 通道中。 |
| 数据 | 相关的 DQ 管脚必须位于相同的 I/O 通道中。 对于不支持双向数据线的协议,读取信号应与写入信号分开分组。 |
| 地址和命令 | 地址和命令管脚必须位于 I/O bank 中的预定义位置。 |
相邻银行
对于被视为相邻的 bank,它们必须位于相同的 I/O 列中,要确定 bank 是否相邻,请参阅位于 Stratix 10 通用 I 中的模块化 I/O bank 位置和 Stratix 10 设备中的引脚数部分/O
用户指南。
参考 Stratix 10 通用 I/O 用户指南中的表格时,可以安全地假设显示的所有 bank 都是相邻的,除非出现“-”符号; “-”符号表示银行没有为包裹保税。
引脚分配
要确定所有 EMIF I/O 引脚的位置,您应该参考设备的引脚表。 引用引脚表时,提供了 bank 号、I/O bank 索引和引脚名称。 您可以在位于英特尔 FPGA 上的 Stratix 10 方案表中找到地址和命令引脚的引脚索引 web地点。 您可以通过多种方式执行管脚分配。 推荐的方法是手动约束一些接口信号,让 Intel Quartus Prime Fitter 处理其余部分。 此方法包括查阅引脚表以找到某些接口引脚的合法位置并通过 .qsf 分配它们 file 由 EMIF design ex 生成amp乐。 对于这种 I/O 布局方法,您必须约束以下信号:
- CK0
- 每组一个 DQS 引脚
- PLL 参考时钟
- RZQ
基于上述约束,英特尔 Quartus Prime Fitter 根据需要在每个通道内旋转管脚。 下图说明了一个例子amp具有以下选择的 DDR3 x72 接口的引脚分配文件:
- 地址和命令引脚位于 bank 2M 中,需要 3 个通道。
- CK0 被限制在 bank 8M 中的引脚 2。
- PLL 参考时钟引脚被限制为 bank 24M 中的引脚 25 和 2。
- RZQ 被限制在 bank 26M 中的引脚 2。
- 数据放在 bank 2N、2M 和 2L 中,需要 9 个通道。
- DQS 组 1-4 位于 bank 2N 中。
- DQS 组 0 放置在 bank 2M 中。
- DQS 组 5-8 放置在 bank 2L 中。
图 5. 引脚分配示例ample: DDR3 x73 接口
在此例中ample,要将 CK0 限制为 bank 8M 中的引脚 2,您可以将以下行添加到 .qsf file,基于适当的引脚表:
上述管脚分配的格式可以应用于所有管脚:
相关信息
- Intel Stratix 10 器件中的模块化 I/O Bank
- 英特尔 Stratix 10 EMIF IP DDR3
- 用于 DDR10 的英特尔 Stratix 4 EMIF IP
- 用于 QDRII/II+/Xtreme 的英特尔 Stratix 10 EMIF IP
- 用于 QDR-IV 的英特尔 Stratix 10 EMIF IP
- 用于 RLDRAM 10 的英特尔 Stratix 3 EMIF IP
编译和编程英特尔 Stratix 10 EMIF 设计实例ample
在 .qsf 中进行必要的引脚分配后 file,你可以编译设计前ampIntel Quartus Prime 软件中的文件。
- 导航至包含 design ex 的 Intel Quartus Prime 文件夹amp乐目录。
- 打开英特尔 Quartus Prime 工程 file, (.qpf)。
- 要开始编译,请单击 Processing > Start Compilation。 编译成功生成.sof file,这使得设计能够在硬件上运行。
- 要使用已编译的设计对您的设备进行编程,请通过单击 Tools > Programmer 打开编程器。
- 在编程器中,单击自动检测以检测支持的设备。
- 选择 Intel Stratix 10 设备,然后选择 Change File.
- 导航到生成的 ed_synth.sof file 并选择 打开。
- 单击 Start 开始对 Intel Stratix 10 器件进行编程。 当设备成功编程时,窗口右上角的进度条应指示 100%(成功)。
调试英特尔 Stratix 10 EMIF 设计实例ample
EMIF 调试工具包可用于协助调试外部存储器接口设计。 该工具包允许您显示读写裕度并生成眼图。 在您对英特尔 Stratix 10 开发套件进行编程后,您可以使用 EMIF 调试工具包验证其操作。
- 要启动 EMIF 调试工具包,请导航至工具 ➤ 系统调试工具 ➤ 外部存储器接口工具包。
- 单击初始化连接。
- 单击将项目链接到设备。 出现一个窗口; 验证是否选择了正确的设备以及正确的 .sof file 已选定。
- 单击创建内存接口连接。 单击确定接受默认设置。
英特尔 Stratix 10 开发套件现已设置为与 EMIF 调试工具包一起运行,您可以通过双击相应的选项来生成以下任何报告:
- 重新运行校准。 生成校准报告,总结每个 DQ/DQS 组的校准状态以及每个 DQ/DQS 引脚的余量。
- 司机保证金。 生成一份报告,汇总每个 I/O 引脚的读写裕量。 这与校准余量不同,因为驱动程序余量是在用户模式流量期间而不是在校准期间捕获的
- 生成眼图。 根据校准数据模式为每个 DQ 引脚生成读写眼图。
- 校准终止。 扫描不同的终止值并报告每个终止值提供的余量。 使用此功能可以帮助选择内存接口的最佳终端。
相关信息
英特尔 Stratix 10 EMIF IP 调试
设计防爆amp外部存储器接口 Intel Stratix 10 FPGA IP 的说明
当您参数化并生成您的 EMIF IP 时,您可以指定系统为仿真和综合创建目录 file 集,并生成 file 自动设置。 如果在 Ex 下选择 Simulation 或 Synthesisamp设计 File在 Ex 上ample 设计选项卡,系统创建一个完整的模拟 file 集合或完整的综合 file 设置,根据您的选择。
合成器amp设计
合成前amp设计包含下图所示的主要模块。
- 流量生成器,它是可合成的 Avalon®-MM examp实现伪随机模式读取和写入参数化地址的驱动程序。 流量生成器还监视从内存中读取的数据,以确保它与写入的数据匹配,否则断言失败。
- 内存接口实例,包括:
- 在 Avalon-MM 接口和 AFI 接口之间调节的内存控制器。
- PHY,作为内存控制器和外部内存设备之间的接口,执行读写操作。
图 6. 合成实例amp设计
如果您正在使用 Ping Pong PHY 功能,则合成前amp设计包括两个流量生成器,通过两个独立的控制器和一个公共 PHY 向两个独立的存储设备发出命令,如下图所示。
图 7. 合成实例ampPing Pong PHY 的设计
如果您使用的是 RLDRAM 3,则综合 ex 中的流量生成器amp设计使用 AFI 直接与 PHY 通信,如下图所示。
图 8. 合成实例ampRLDRAM 3 接口的设计
注:如果 PLL 共享模式、DLL 共享模式或 OCT 共享模式参数中的一个或多个设置为除 No Sharing 以外的任何值,则综合 examp设计文件将包含两个流量生成器/内存接口实例。 两个流量生成器/内存接口实例仅通过参数设置定义的共享 PLL/DLL/OCT 连接相关。 流量生成器/内存接口实例演示了如何在您自己的设计中建立此类连接。
笔记: 英特尔 Quartus Prime 标准版用户指南中描述的第三方综合流程:第三方综合不是 EMIF IP 的受支持流程。
相关信息
生成可综合 EMIF 设计示例amp莱昂
仿真Examp设计
仿真前amp设计包含下图所示的主要模块。
- 综合 ex 的一个实例amp乐设计。 如前一节所述,合成前amp设计文件包含一个流量生成器和一个内存接口实例。 这些块默认为适合快速仿真的抽象仿真模型。
- 内存模型,充当遵循内存协议规范的通用模型。 通常,内存供应商会为其特定内存组件提供仿真模型,您可以从他们的网站下载这些模型 web網站。
- 状态检查器,用于监控来自外部存储器接口 IP 和流量生成器的状态信号,以指示总体通过或失败情况。
图 9. 仿真 Examp设计
如果您正在使用 Ping Pong PHY 功能,模拟 examp设计包括两个流量生成器,通过两个独立的控制器和一个公共 PHY 向两个独立的存储设备发出命令,如下图所示。
图 10. 仿真 ExampPing Pong PHY 的设计
如果您使用的是 RLDRAM 3,模拟 ex 中的流量生成器amp设计使用 AFI 直接与 PHY 通信,如下图所示。
图 11. 仿真 ExampRLDRAM 3 接口的设计
相关信息
生成 EMIF 设计示例amp用于模拟的文件
Example 设计界面选项卡
参数编辑器包括一个 Example Designs 选项卡,它允许您参数化和生成您的 examp乐设计.l
可用前amp设计组
选择设计下拉菜单允许您选择所需的前amp乐设计。 目前,EMIF Example Design 是唯一可用的选项,默认情况下处于选中状态。
外部存储器接口的文档修订历史 Intel Stratix 10 FPGA IP Design Examp用户指南
| 文档版本 | 英特尔 Quartus Prime 版本 | 更改 |
| 2021.03.29 | 21.1 | • 在里面 Examp设计快速入门 章,删除了对 NCSim* 模拟器的引用。 |
| 2018.09.24 | 18.1 | • 更新了数据 生成可综合 EMIF 设计示例ample 和 生成 EMIF 设计示例amp模拟文件 主题。 |
| 2018.05.07 | 18.0 | • 文件标题从 英特尔 Stratix 10 外部存储器接口 IP 设计示例amp用户指南 到 外部存储器接口 Intel Stratix 10 FPGA IP 设计示例amp用户指南.
• 更正了中的要点 超过view 部分 英特尔 Stratix 10 EMIF IP 的引脚布局 话题。 |
| 日期 | 版本 | 更改 |
| 2017 年 XNUMX 月 | 2017.11.06 | 初始版本。 |
英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。
文件/资源
![]() |
英特尔外部存储器接口英特尔 Stratix 10 FPGA IP 设计示例ample [pdf] 用户指南 外部存储器接口 Intel Stratix 10 FPGA IP 设计示例amp文件,外部,内存接口英特尔 Stratix 10 FPGA IP 设计示例ample, 英特尔 Stratix 10 FPGA IP 设计示例ample, 10 FPGA IP 设计实例ample |




