从6.1版开始,Quartus®II软件可以使用多个处理器来缩短编译时间。在大多数情况下,只需指定系统中的处理器数量,即可缩短编译时间。要指定Quartus II编译可用的处理器数,请在Assignments菜单上选择Settings 。从“ 设置”对话框的“ 类别 ”下,单击“ 编译过程设置” 。在出现的对话框中,指定并行编译允许的最大处理器数 。处理器数量的默认值为1,这将禁用并行编译。
请参阅本解决方案底部链接的相关解决方案,原因是并行编译可能无法实现预期的编译时间缩短。
具有以下所有特征的系统可能需要额外配置才能实现尽可能低的编译时间:
- 该系统具有两个以上的处理器内核(不包括Intel HyperThreaded内核)
- 系统正在运行Microsoft Windows
- 处理器内核共享一级缓存。例如,Intel Core 2 Duo和Intel Core 2 Quad处理器共享二级缓存。此外,AMD Barcelona处理器和一些最新的Sun UltraSPARC处理器也受到影响。但AMD Opteron处理器(截至2007年5月)不共享缓存级别。
例如,如果您的系统具有单个Core 2 Duo处理器,则此解决方案不适用于您,因为系统没有两个以上的处理器核心。但是,如果您的系统有两个Core 2 Duo处理器(总共四个内核),您可能需要按照以下说明进行尽可能低的编译时间。
用于并行编译操作的处理器必须以非常高的速率通信。共享缓存为Quartus II软件提供了最快速的通信方法之一。 Microsoft Windows并不总是能够检测具有单个共享缓存的处理器,因此它无法始终使用最佳处理器对来运行Quartus II软件。下面描述的方法迫使在需要这种高速通信时使用特定的处理器。
首先确定您的系统是否已达到尽可能低的编译时间。如果是,则系统不需要额外配置。要确定您是否受此问题的影响,请按照下列步骤操作:
- 将并行编译允许的最大处理器数设置为1。
- 适合你的设计。
- 找到指示放置操作时间的消息,并记录该时间,不包括执行物理综合所花费的任何时间。
- 使用两个或更多处理器启用并行编译。不要对您的设计进行任何其他更改。
- 重新适合您的设计。
- 再次找到指示放置操作时间的消息并记录时间,不包括执行物理综合所花费的任何时间。
对于使用默认Quartus II设置进行并行编译的2个或更多处理器,放置操作时间通常会降低约10%。如果使用并行编译的编译时间比没有编译时更高,或者编译时间减少了大大小于10%,请执行以下步骤,这可能会缩短编译时间。
- 对于两个处理器中的每一个,使用公式2 ^(< 处理器ID > – 1)计算其锁定编号
- 计算机中的处理器具有连续的处理器ID,从1开始。通常,共享高速缓存级别的处理器具有连续的ID,但这并非总是如此。您必须确定系统的ID和缓存关联。
set_global_assignment -name INI_VARS “processor_shared_cache_mask=< number >”
其中< number >是步骤3中两个锁定号的总和。 以下示例说明如何配置Quartus II软件以使用ID为3和4的处理器。
- 计算锁定数:
3:2 ^(< 处理器ID > – 1)= 2 ^(3 – 1)= 4
4:2 ^(< 处理器ID > – 1)= 2 ^(4 – 1)= 8 - 添加锁号:
4 + 8 = 12 - 将以下行添加到< revision > .qsf文件中:
set_global_assignment -name INI_VARS “processor_shared_cache_mask=12”
从Quartus II软件8.0开始修复此问题。
没有回复内容