FPGA中基于MTCMOS技术的泄漏功耗降低算法解析
1. LAP生成相关概念
LAP(Activity Profile)生成算法依赖于将逻辑块的活动表示为二进制序列。该算法忽略电路拓扑,而是使用电路逻辑功能来寻找最佳聚类,以延长每个逻辑块的关闭时间。
1.1 活动向量
- 定义 :给定电路网表中的一个网络x,其活动向量Ax定义为:
- (A_x = [a_1 a_2 a_3 … a_{2n - 1} a_{2n}]^T)
- 其中n是电路的总输入数,(a_i)是一个二进制变量,如果电路的任何输出在第i个输入向量下的评估依赖于网络x,则(a_i)为“1”,T表示向量的转置。
- 示例 :在FPGA中,每个逻辑块只有一个输出,因此每个网络的活动向量等同于驱动该网络的逻辑块的活动向量。以图5.15的电路为例:
- 逻辑块F和G必须始终开启以生成电路输出f和g,因此它们的活动向量分别为:
- (A_f = [ 1 1 1 1 1 1 1 1 ]^T)
- (A_g = [ 1 1 1 1 1 1 1 1 ]^T)
- 对于计算块F输入处的活动向量,当输入c为1时,块D仅用于生成输出信号f;当c为0时,块E仅被使用。因此,当评估f时,D和E的活动向量分别为:
- (A_d = [ 0 1 0 1 0 1 0 1 ]^T)
- (A_{e|f} = [ 1 0 1 0 1