Quartus® II 软件支持大内存占用设计
大型 FPGA 设计需要增加用于处理的内存容量。此页面介绍您在开展占用大内存容量的设计时可以实现的步骤,以及您可以增加 Quartus II 软件可用内存的方式。
检查内存需求
Quartus II 设备支持版本说明 包含支持的英特尔® FPGA 设备内存需求信息。
英特尔 FPGA 强烈建议您确保您的电脑满足内存和交换空间的最低要求。如果您的电脑不具备建议的可用内存容量和交换空间,请尝试在符合要求的其他电脑上编译设计,或升级您的电脑内存容量,以满足或超出建议的标准。
优化时序分配
如果需要占用的内存容量小,则可以优化您的时序任务。使用 (Quartus II 软件版本 4.0 到 5.0 支持的)时间组或任务组(版本 5.1 及更高版本支持)合并常见任务节点,以节省内存。您可以采用此方法,而不是为许多单个节点进行单独的时序分配。
例如,如果您的设计具有多个值为 2 的多周期任务,您可以通过对两个组分配源节点和目标节点,然后在两组之间产生为 2 的单个多周期任务,以此方式减少内存占用。内存节省取决于您的具体设计和任务。
扩展可用内存
32-位 Windows: 默认情况下,32-位版本的 Windows 限制进程使用最多不超过 2 GB 内存。如果您的设计需要 2 GB 以上的内存,您可以编辑 boot.ini 文件,允许每个进程使用最多不超过 3 GB 内存。有关如何编辑 boot.ini 软件的信息,请参阅以下解决方案:我是否可以为 Windows 分配 2 GB 以上的 RAM?
Quartus II 32 位 Windows 可执行文件具有较大的地址空间感知,无需修改即可使用高达 3 GB 内存。
64-位 Windows: Windows XP x64 支持每个进程使用最多不超过 8 TB 内存。如果您的内存已耗尽,请安装更多的 RAM 或使用上述方法优化任务。
Linux* : 大多数 RedHat Enterprise Linux 版本默认设置最大内存限制。这些限制无法更改。您可以查看 Red Hat Enterprise Linux 网页上的最大内存限制信息。
将可用内存增加到 4 GB 以上
如果 Quartus II 软件的 32 位版本在优化时序分配后仍然无法处理 3 GB 内存的设计,请使用 64 位版本的 Quartus II 软件。使用 64 位版本的 Quartus II 软件允许您的每个进程访问超过 4 GB 的内存,因此支持需要大量内存才能编译的设计。
然而,使用 64 位版本的 Quartus II 软件进行相同设计编译占用的内存可能比 32 位 版本多出 50-100%。例如,如果您的设计需要使用 32 位版本的 3 GB 内存,则在进行 64 位编译时必须提供至少 6 GB 内存。
如果在 Windows 上使用 64 位 Quartus II 软件,您必须在安装时选择 Quartus II 软件 64-位组件。
如果在 Linux 上通过命令行使用 64 位版本的 Quartus II 软件,您可以调用命令行执行程序(quartus、quartus_map、quartus_fit、quartus_sta、quartus_tan 和/或 quartus_cdb)将 --64 位旗标传递至 Quartus II 软件。
最后,您可以设置 QUARTUS_64BIT 环境变量以指定 64 位进程,或取消设置,指定 32 位进程。环境变量会影响 GUI 和命令行执行程序。
提交服务请求
在某些情况下,可能需要设计优化或软件改进。通过英特尔 FPGA mySupport 网站提交服务请求并包含您的设计文件,以便复制和修复问题。