减少控制集 - 2023.2 简体中文

Versal 自适应 SoC 系统集成和确认方法指南 (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 简体中文
注释: report_qor_suggestions Tcl 命令可自动应用这种最优化技巧。

复位或时钟使能等控制信号经常会遭到忽视。很多设计人员在进行 HDL 编码时都以“if reset”语句作为开始,而不考虑是否需要复位。虽然所有寄存器都支持复位和时钟使能,但其使用会从最高时钟频率、使用率和功耗方面对最终实现产生显著影响。

首先需要考量的因素即控制集的数量。控制集是时序单元使用的时钟信号、使能信号和置位/复位信号的组合。例如,如果 2 个单元连接到同一个时钟,但只有其中 1 个单元具有复位或者只有其中 1 个单元具有时钟使能,这 2 个单元的控制集就不同。固定不变或不使用的使能和置位/复位寄存器管脚也会构成控制集。

第二个需要考量的因素是目标架构。能封装到一起的控制集数量取决于架构。每个 Versal 器件半 slice 都包含两组寄存器,每组 4 个,并共享同一个时钟和同一个置位/复位。此外,每组 4 个寄存器包含 1 个时钟使能,可忽略置位/复位。从用于馈送 CE 管脚的互连控制多路复用器可提供恒定的逻辑 1 时钟使能。

由控制集导致的 CLB 封装限制会迫使布局器移动部分寄存器,包括其输入 LUT。在某些情况下,寄存器将迁移至非理想位置。由于逻辑扩散(信号线延迟更长)和互连资源使用率提高,距离的增加不仅会对使用率产生不利影响,而且还会对布局 QoR 和功耗产生负面影响。对于含大量低扇出控制信号(例如馈送单寄存器的时钟使能信号)的设计,这是需要考量的主要问题。

虽然 Versal 器件 CLB 所含资源达 UltraScale 器件所含资源的四倍,但通过比较 Versal 器件半 slice 与 UltraScale 器件半 CLB 之间的控制集发现两者所含资源相近。因此,对于这两种架构,AMD 给予相同的建议。

注释: 欲知详情,请访问此链接以参阅 Versal 自适应 SoC 硬件、IP 和平台开发方法指南(UG1387) 中的相应内容。