仅对英特尔可见 — GUID: lzi1692369795357
Ixiasoft
仅对英特尔可见 — GUID: lzi1692369795357
Ixiasoft
1.6. Analysis & Elaboration流程
此流程允许您访问Analysis & Elaboration阶段的预览模式,如下图所示:
Analysis & Elaboration阶段由一系列检查点组成,您可以在Analysis & Elaboration Checkpoints中显示的每个检查点预览您的设计,其中:
- Elaborated:提供直接从RTL捕获的未修改的设计预览。
- Instrumented:提供带有系统级调试的仪器化(instrumented)预览(插入到您设计的调试结构和Signal Tap逻辑分析仪)。默认情况下,此检查点被禁用(Hint:请参阅以下注释将其开启)。
- Constrained:提供设计预览,其中显示目标节点上的SDC-on-RTL约束。默认情况下此检查点被禁用(Hint:请参阅如下注释将其开启)。
- Swept:提供设计预览,包含从您设计中删除的不必要的逻辑。
您可以使用Project > Settings下的RTL Analysis Debug Mode选项控制所生成检查点的数量。该模式默认被关闭,所以意味着只有Elaborated和Swept检查点(checkpoint)可用,Instrumented和Constrained检查点不可用。启用此模式后,所有四个检查点都可用。
当该模式关闭时,您可以在Synthesis Compilation Reports > Synthesis > Analysis & Elaboration下获取有关Hierarchies Optimized Away和Top Causes for Logic Optimized Away During Sweep的信息。

要了解关于Synthesis阶段的信息,请参阅设计综合。
与DNI-based编译流程兼容的设计与版本早于23.3的 Quartus® Prime软件不兼容,因为新版软件采用新的DNI数据库。请确保了解以下情况:
- 如果使用软件版本23.3编译您的设计,并在 Quartus® Prime软件GUI中启动工程,就会显示一条消息,表明您使用不同的编译引擎编译了您的设计。如果继续启动工程,则必须重新编译设计。该情况也同样适用于使用 Quartus® Prime 23.3之前的软件版本。
- 对于任何基于分区的设计(例如,Partial Reconfiguration),不支持在用户定义的分区中混合使用23.3版本和23.2或更旧版本的编译流程。您必须使用相同的编译流程编译所有分区。
- 对于version-compatible design export or import feature,以旧版 Quartus® Prime进行编译或从旧版导出的设计需要 Quartus® Prime 23.2或更早版本。同样,以DNI流程编译的版本兼容数据库需要使用 Quartus® Prime 23.3版,并且目前尚不支持该功能。
执行Tcl命令
Quartus® Prime软件GUI(quartus)和Synthesis工具(quartus_syn)支持Tcl命令。
从下列选择合适的方法执行您的Tcl命令:
Quartus® Prime Software GUI (quartus)在GUI中执行以下步骤:
- 在Compilation Dashboard上,运行Analysis & Synthesis > Analysis & Elaboration任务生成网表。
- 点击放大镜图标来调用RTL Analyzer。
- 在 Tcl Console 中执行您的Tcl命令。
- 使用以下命令启用您工程的流程:
quartus_syn --analysis_and_elaboration <project_name>
- 加载您的设计。
> quartus_syn -s <... Quartus Info Message...> tcl> project_open top tcl> dni::load_design -checkpoint elaborated dms_path::sandboxes::sandbox_1239_0::design
- 执行您的Tcl命令:
tcl> foreach_in_collection p [dni::get_pins -of_objects [dni::get_cells inst_1|out_1]] {puts [dni::get_property -name name -object $p]} a[0] a[1] o tcl> foreach_in_collection p [dni::get_pins -of_objects [dni::get_cells inst_1|out_1]] {puts [dni::get_property -name direction -object $p]} input input output tcl>