在现代 ASIC 设计中,多比特触发器 (MBFF,multi-bit flip flops) 的使用有所增加,这是由于 MBFF 优于单比特触发器 (SBFF,single-bit flip flop) 的各种预期的优势。了解多比特触发器的设计、它的工作原理以及多位触发器相对于单比特触发器的优点/缺点是什么变得很重要。
使用MBFF的好处
多位触发器的主要优点如下,这就是为什么现在 MBFF 被广泛使用的原因:
1、减少面积
2、降低功耗
3、更好的时钟偏差控制
4、时序改进
所以我们可以说它改善了面积、功耗和时序。
MBFF的内部结构
多比特触发器的所有优点都归功于它们的架构。图 1 显示了一个单比特 FF 和一个 二比特 MBFF 原理图。类似的架构也可以用于更高比特的 MBFF。
图1 MBFF结构
可以注意到,与单比特触发器相比,当我们使用多比特触发器时,反相器的数量会减少。当我们使用更大的 MBFF 时,这种减少的效果更加明显。SBFF 和 MBFF 中的反相器数量比较如图 2 所示。
图2 SBFF 和 MBFF 中使用的反相器数量
一个 16 比特触发器内部只使用了 2 个反相器,而 8 个单单比特触发器中使用了16 个反相器。8 位 MBFF 的示意图如图 3 所示。
图3 16比特MBFF
由于在 MBFF 的情况下减少了反相器的数量,因此节省了时钟树的功耗和面积。使用MBFF 转换后触发器本身的功能没有发生变化。
SBFF在版图中转换为MBFF
图4使用SBFF时的placement阶段示意图
图5 使用MBFF时的place阶段示意图
图 4 和图 5 显示了如何将 SBFF 转换为 MBFF。图 4 显示了 MBFF 转换完成前的场景,图 5 显示了 MBFF 转换后的场景。在图 5 中,我们可以看到,代替 8 个不同的 SBFF,只使用了一个 8 位 MBFF。所以 MBFF 通常尺寸更大,并且具有多行的height。
PnR 工具具有将 SBFF 转换为 MBFF 的算法。该工具选择标准单元库中可用的等效 MBFF,并针对为转换提供的用户输入执行转换。这种转换主要发生在placement。
在EDA工具中打开MBFF优化
以INNOVUS为例,在Legacy UI和Common UI中的设置方法如图6所示。优化主要针对Placement & CTS 阶段。另外,优化前需要读入MBFF的物理库、时序库、功耗库。
图6 在EDA工具中打开MBFF优化的操作
对于Cadence综合工具Genus来说,也可使用上述option进行MBFF优化,不过对于genus 的Leagcy UI来说,option的command跟Leagcy Innovus不匹配,可以使用如下command:
使用MBFF可能引入的问题
不利于ECO
多比特触发器有一个公共时钟引脚和测试引脚。如果我们只针对 2 或 4 位中的一位,在这些引脚上执行 ECO 将很困难。例如,如果我们想在 ECO 阶段调整时钟偏移以恢复特定位的任何时序违规,那么调整的额外偏移将影响多位触发器的其他位。如果这影响了触发器其他位的时序,我们可能需要将这个多位触发器分解为单个位触发器并进行eco connect和eco route。如果 ECO 仅是metal的,那么找到备用触发器(spare reg)并执行 ECO 将更加困难。
增加pin density
在设计中使用多比特的一个缺点是引脚密度高。引脚密度不应与引脚数混淆。尽管与单比特相比,整体上MBFF 的管脚更少(几乎一半),但 pin 中的本地管脚密度(local pin density)特别高。此外,MBFF 将有更多的引脚布线阻塞和引脚金属层。下面是2比特和单比特的FF的引脚示意图。
图7 MBFF引脚示意图
图8 SBFF引脚示意图
从上图中可以看出,MBFF使用 Metal 2(红色层)和Metal 1作为obstruction layer(内部走线层),而 SBFF仅使用 Metal 1 作为obstruction layer。
在这里,我们将整个设计划分为 8.61x8.61 微米的矩形箱。并比较了一个单位矩形(8.610 x 8.610 微米)内的pin density,下面是SBFF和MBFF的pin density对比。
图9 SBFF和MBFF的pin density对比
高引脚密度可能会导致多位触发器上的hign local congestion。有不同的方法可以避免此类问题:填充单元填充,实例填充、避免将MBFF在电源带下方。
IR/EM问题
当 MBFF的时钟引脚切换时,触发器及其内部时钟电路都会消耗电流,即使其中只有一位正在改变状态。这可能会导致从电源轨汲取高电流。这需要一个强大的电源网络并在多位触发器周围添加去耦电容器(Decap cell)。这也意味着多位触发器的短路电流要求将高于局部区域中的单个位触发器。
避免 IR/EM 问题的一种方法是在多位触发器周围保留空间,方法是应用填充单元填充(或者加keep-out margin)并在插入Decap期间移除填充。
Conformal检查
在 RTL 到综合网表Conformal期间,我们需要指示工具将多位触发器拆分为单个位并进行验证。当多位转换发生时,这些工具遵循特定的命名约定,带有前缀和分隔符来识别多位触发器。使用这些命名约定,多位触发器可以在保形检查期间分解为单位触发器。