Skip to main content

5.6 多比特触发器与单比特触发器

iEDAAbout 6 min

在物理设计中,触发器是一种关键的元素,用于存储和传输数字信息。首先,让我们聚焦于单比特触发器 [single-bit flip flop : SBFF]。这是一种基本的触发器,可以存储一个比特(bit)的信息。单比特触发器由几个门电路组成,通常采用反相器(inverter)和二输入逻辑门(例如与门、或门等)来实现。它们具有存储功能,可以将输入信息保存并在时钟上升沿到来时传输给输出。在数字电路中,单比特触发器是最基本、最常见的存储单元。

传统上,我们在学术中只研究单比特触发器。当我们需要存储多个比特时,单比特触发器的存储能力就不够了。这时,多比特触发器 [multi-bit flip flops : MBFF] 就派上用场了。多比特触发器可以同时存储多个比特信息,并在时钟上升沿到来时一次性传输全部信息。在现代ASIC设计中,多比特触发器的使用增加了,因为它相对于单比特触发器有许多有吸引力的优势。因此,了解多比特触发器的设计、工作原理以及多比特触发器相对于单比特触发器的优缺点变得很重要。

为什么使用多比特触发器?

多比特触发器由多个单比特触发器组成,形成一个存储单元矩阵。最常见的多比特触发器是D触发器(D Flip-Flop)和JK触发器(JK Flip-Flop)。D触发器通过一个数据输入(D)和一个时钟输入(CLK)来存储和传输信息。而JK触发器则具有两个输入:触发输入(J和K)和时钟输入(CLK)。多比特触发器可以根据不同功能要求实现不同的存储单元,从而满足不同设计场景的需求。

多比特触发器由于其架构优势而具有许多优点。也有许多最近的研究出版物显示这些事实,并提供了适当的统计数据。我们在布局和布线(PnR)实现过程中也看到了这些优点。在这里,我想简单地解释一下MBFF的基本事实,不涉及详细的统计数据。确切的统计数据可以从任何最新的研究出版物中参考。多比特触发器的主要优点如下,这也是为什么现在广泛使用MBFF的原因。

  1. 减少面积,降低功耗(对低功耗设计有吸引力):

单比特触发器只能存储一个比特,适用于简单的存储需求。而多比特触发器可以同时存储多个比特,适用于更大规模和更复杂的存储需求。由于多比特触发器具有更高的存储容量和复杂性,它们通常会占用更大的面积和产生更高的功耗。相比之下,单比特触发器由于存储单位较小,因此在面积和功耗方面相对较小。

  1. 更好的时钟偏移控制:

多比特触发器通常具有更复杂的时序和同步控制功能。在设计中,多比特触发器可以提供更加灵活的时序控制,例如批量传输数据、同步序列生成等。而单比特触发器则更多用于简单的时序控制。

  1. 提高时序:

多比特触发器通常具有更复杂的时序和同步控制功能。在设计中,多比特触发器可以提供更加灵活的时序控制,例如批量传输数据、同步序列生成等。而单比特触发器则更多用于简单的时序控制。

因此,可以说它改善了面积、功耗和时序。

多比特触发器架构:

多比特触发器的所有优点都是由于其架构所致。图1显示了单比特触发器和2比特多比特触发器的原理图。同样的架构也可以想象用于更高比特的多比特触发器。

ASIC Flow

图1 多比特触发器

人们可以注意到,与单比特触发器相比,当我们使用多比特触发器时,反相器数量会减少。当我们使用更大的多比特触发器时,这种减少的效果更加明显。图2显示了SBFF和MBFF中反相器数量的比较。

ASIC Flow

图2 SBFF和MBFF中使用的反相器数量

在8个单比特触发器中有16个反相器,而在16比特触发器中只使用了2个反相器。图3显示了8比特多比特触发器的示意图。

ASIC Flow

图3 8比特多比特触发器

由于多比特触发器的反相器数量减少,它节省了时钟功耗和面积。在MBFF转换后,触发器的操作没有发生变化。现在让我们讨论PnR工具如何将SBFF转换为MBFF的机制。

MBFF转换:

alt text
alt text
ASIC Flow

图4 MBFF转换之前的放置情况

ASIC Flow

图5 MBFF转换之后的情况

图4和图5显示了将SBFF转换为MBFF的过程。图4展示了MBFF转换之前的情况,而图5展示了MBFF转换之后的情况。在图5中,我们可以看到,使用了一个8比特的MBFF,而不是8个不同的SBFF。因此,MBFF通常比较大,并且具有多行高度的标准单元。

PnR工具具有将SBFF转换为MBFF的算法。该工具从标准单元库中选择等效的MBFF,并根据用户提供的转换输入执行转换。这个转换过程发生在布局阶段。

如果我们谈论Cadence Innovus工具,我们有一个命令:

setOptMode -multiBitFlopOpt true

该命令启用了PnR工具进行多比特触发器的转换。默认情况下,该工具禁用此转换功能。该工具中还有许多其他命令可供进一步探索。

通过比较多比特触发器和单比特触发器,我们可以看到它们在物理设计中起到不同的作用。单比特触发器是我们最常见的存储单元,而多比特触发器则在需要存储大量信息和实现复杂功能时发挥着重要的作用。它们各有优势和适用场景,我们需要根据实际需求来选择使用。掌握这两种触发器的特点和应用,将有助于我们在物理设计中更好地发挥创造力,提高效率和性能。

链接

[1] https://teamvlsi.com/2021/04/multi-bit-flip-flop-vs-single-bit-flip-flops.htmlopen in new window
[2] https://blog.csdn.net/qq_37000411/article/details/124377038open in new window
[3] https://blog.csdn.net/qq_39005414/article/details/115384339open in new window