本技术涉及集成电路设计,特别是涉及一种基于触发器扇出数量的触发器替换方法、装置和存储介质。
背景技术:
1、算法、数据和算力被视为推动人工智能发展的三大要素,其中算力更是被形容为支撑人工智能走向应用的“发动机”。人工智能研究组织openai最近指出,“高级人工智能所需的计算能力每三个半月就会翻一番”。 这一速度已经超越了摩尔定律(每隔18个月,芯片中的晶体管数目翻倍)。在摩尔定律放缓的今天,依靠先进工艺红利来提高芯片能效日趋困难,然而,节能减排要求却日趋严厉。系统功耗是超级计算机发展面临的重要挑战,当今全球百万亿次级超级计算机系统功耗在1000千瓦左右。一台千万亿次超级计算机系统的功耗能达到数兆瓦,每年的电费开销高达数千万元。因此,迫切需要先进的芯片设计方法来降低高性能计算成本。
2、降低高性能计算的成本可以从计算芯片的功耗和面积两方面入手。目前绝大多数高性能计算芯片的核心计算部分都是同步电路,其基本结构如图1所示,包含发射触发器(uff0)和捕获触发器(uff1)、组合逻辑以及时钟树。若公式(1)成立,则建立时间时序约束满足,电路可以正常工作。公式1为:
3、(1)
4、其中,是发射时钟的延时,是发射触发器(uff0)时钟端(ck)到输出端(q)的延时,是组合逻辑的延时,是捕获时钟的延时,是时钟周期,是捕获触发器(uff1)的建立时间。
5、同步电路在时钟的驱动下工作,要求满足建立时间时序约束,否则电路就会出现功能故障。建立时间时序约束要求发射触发器(uff0)发射的数据在经过一段组合逻辑的延时后,在捕获时钟(相比发射时钟滞后一个时钟周期)到达捕获触发器(uff1)之前的一段时间内,数据可以稳定的建立,这样就可以正确地被捕获时钟采样;否则捕获时钟就不会采样到正确的数据,从而出现功能错误。对于扇出数量较多的发射触发器(uff0),其组合逻辑的延时()往往相应较大,这会使得建立时间时序约束不满足,因而使得eda工具在布局布线阶段插入额外的缓冲器和反相器来减小组合逻辑的延时()。额外插入的缓冲器和反相器会增大芯片的面积和功耗,进而会提升高性能计算成本。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种基于触发器扇出数量的触发器替换方法、装置和存储介质。
2、一种基于触发器扇出数量的触发器替换方法,所述方法包括:
3、获取集成电路芯片布局后的设计,遍历设计中的每个发射触发器,得到每个发射触发器的扇出数量和设计中所有发射触发器扇出数量的最大值m。
4、根据预设的扇出数量阈值点的数量n和发射触发器扇出数量的最大值m,设置扇出数量阈值点,其中n为大于0且小于m的整数。
5、将每个发射触发器的扇出数量与第一个扇出数量阈值点进行比较,当发射触发器的扇出数量大于第一个扇出数量阈值点时,则将该发射触发器替换为高性能触发器,否则该发射触发器保持不变;然后继续完成标准单元placement、时钟树综合、布线,得到第一个扇出数量阈值点对应的面积和功耗数据;继续对下一个扇出数量阈值点进行处理,直至遍历完所有扇出数量阈值点为止,得到每个扇出数量阈值点所对应的面积和功耗数据;所述高性能触发器是指发射触发器时钟端到输出端的延时比普通发射触发器小的发射触发器。
6、根据每个扇出数量阈值点所对应的面积和功耗数据,选择面积和功耗最小的设计作为最终设计。
7、在其中一个实施例中,根据预设的扇出数量阈值点的数量n和发射触发器扇出数量的最大值m,设置扇出数量阈值点,包括:根据预设的扇出数量阈值点的数量n和发射触发器扇出数量的最大值m,设置n个扇出数量阈值点为发射触发器扇出数量的最大值m的n等分点;或设置n个扇出数量阈值点为随机在大于0且小于m的整数中选择的n个点。
8、在其中一个实施例中,高性能触发器是由极低阈值晶体管构成,或由定制设计得到。
9、在其中一个实施例中,获取集成电路芯片布局后的设计,遍历设计中的每个发射触发器,得到每个发射触发器的扇出数量和设计中所有发射触发器扇出数量的最大值m,步骤前还包括:
10、对待设计的集成电路芯片进行rtl设计、逻辑综合、插扫描链以及芯片布局设计,得到集成电路芯片布局后的设计。
11、一种基于触发器扇出数量的触发器替换装置,所述装置包括:
12、触发器扇出数和扇出数量最大值确定模块,用于获取集成电路芯片布局后的设计,遍历设计中的每个发射触发器,得到每个发射触发器的扇出数量和设计中所有发射触发器扇出数量的最大值m。
13、扇出数量阈值点设置模块,用于根据预设的扇出数量阈值点的数量n和发射触发器扇出数量的最大值m,设置扇出数量阈值点,其中n为大于0且小于m的整数。
14、触发器替换模块,用于将每个发射触发器的扇出数量与第一个扇出数量阈值点进行比较,当发射触发器的扇出数量大于第一个扇出数量阈值点时,则将该发射触发器替换为高性能触发器,否则该发射触发器保持不变;然后继续完成标准单元placement、时钟树综合、布线,得到第一个扇出数量阈值点对应的面积和功耗数据;继续对下一个扇出数量阈值点进行处理,直至遍历完所有扇出数量阈值点为止,得到每个扇出数量阈值点所对应的面积和功耗数据;所述高性能触发器是指发射触发器时钟端到输出端的延时比普通发射触发器小的触发器。
15、集成电路设计确定模块,用于根据每个扇出数量阈值点所对应的面积和功耗数据,选择面积和功耗最小的设计作为最终设计。
16、在其中一个实施例中,扇出数量阈值点设置模块,用于根据预设的扇出数量阈值点的数量n和发射触发器扇出数量的最大值m,设置n个扇出数量阈值点为发射触发器扇出数量的最大值m的n等分点;或设置n个扇出数量阈值点为随机在大于0且小于m的整数中选择的n个点。
17、在其中一个实施例中,触发器替换模块中高性能触发器是由极低阈值晶体管构成,或由定制设计得到。
18、在其中一个实施例中,触发器扇出数和扇出数量最大值确定模块前还包括集成电路芯片布局设计前设计模块,用于对待设计的集成电路芯片进行rtl设计、逻辑综合、插扫描链以及芯片布局设计,得到集成电路芯片布局后的设计。
19、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于触发器扇出数量的触发器替换方法的步骤。
20、上述一种基于触发器扇出数量的触发器替换方法、装置和存储介质,所述方法包括:获取集成电路芯片布局后的设计,遍历设计中的每个发射触发器,得到每个发射触发器的扇出数量和设计中所有发射触发器扇出数量的最大值m;设置n个扇出数量阈值点;将集成电路芯片布局后的设计中扇出数量大于扇出数量阈值点的发射触发器替换为触发器时钟端到输出端的延时较小的高性能触发器,可以使得建立时间时序约束更容易满足,从而可以减少额外插入的缓冲器和反相器数目,进而减小芯片的面积和功耗。采用本方法可以降低芯片的面积和功耗,进而降低高性能计算成本。