摘要:
龙芯2G微处理器是一款采用65纳米工艺所设计的高性能通用处理器,同时也是一颗复杂SOC芯片:集成了四发射的GS464处理器核、DDR2内存控制器、HyperTransport高速IO、PCI/PCI-X等重要IP。龙芯2G芯片在时钟主频达到了1GHz的同时典型功耗小于4W。对于龙芯2G芯片的物理设计工作来说,主要的设计挑战来自于纳米工艺的影响、高性能设计指标以及较短的设计周期要求。为了解决这些问题,本文作者创新性地提出了互连驱动的布局规划设计方法(ICD-FP)、自适应边界调整优化方法(ABC-OPT)、自动寄存器聚类时钟树设计方法(ARG-CTS),并应用在龙芯2G的实际物理设计工作中,取得了满意的设计结果。
随着纳米工艺特征尺寸的缩小,互连影响越来越大,而传统的物理设计方法是以器件为中心,先放置器件再连接互连线,无法在设计前期(布局规划)考虑到关键互连线的影响,因而无法满足设计指标,增加了设计循环,导致设计周期增加。互连驱动的布局规划设计方法(ICD-FP)正是针对这些困难而提出的解决方法。首先将整个设计划分为若干个模块,连接模块的互连线称之为“全局互连”,是对设计性能影响较大的互连线集合;模块内部的称之为“局部互连”,对设计性能影响较小(或可以忽略)。在各个模块按照数据流向进行布局放置之后,直接对全局互连进行布线,并根据完整的全局互连信息对整个设计的物理性能进行分析,如果满足设计要求则完成整个芯片的布局规划工作,否则重新划分模块及全局互连或重新布局模块并完成新的全局互连布线。
自适应边界调整优化方法(ABC-OPT)是针对传统完全层次化设计方法无法获得合理的初始边界约束的困难提出的:在传统的完全层次化设计方法中,由于缺乏合理的初始边界约束因而无法保证各个模块单独实现时的性能指标以及整个设计流程的设计指标收敛。自适应边界调整优化方法(ABC-OPT)首先分析整个设计的逻辑结构,根据每个输入和输出端口的“扇入锥”和“扇出锥”进行分组,将具有相同扇入锥的输出端口划分为一组,而相同扇出锥的输入端口划分为一组,每组端口在优化过程中施加完全相同的边界约束以降低内存用量和运行时间,提高优化效率。之后在所有的输入输出端口上加载初始的边界约束进行优化,根据优化结果对边界约束进行修正,目的是使所有的边界路径做到最短(最优),这样就能够保证各个模块拼合时边界路径上不会出现因为没有优化所导致的时序违反问题,因此可以省略在传统完全层次化设计中必须存在且消耗大量运行时间的顶层增量优化过程,大大节省了运行时间,提高了设计效率。
自动寄存器聚类时钟树设计方法(ARG-CTS)的目的在于完成低功耗的时钟树设计。根据分析:时钟树的功耗主要来自于底层时钟树。如果底层时钟树分布过于分散就会使得时钟网络的连线变长、电容加大,导致功耗增加。自动寄存器聚类时钟树设计方法(ARG-CTS)首先对芯片中所有的寄存器根据逻辑功能进行分组,比较的基准是每个触发器的扇入锥和扇出锥,具有相同的扇入锥和扇出锥的触发器被分成一组。在逻辑综合过程中,相同组的触发器使用相同的时钟门控器件。而在布局过程中保证相同组的触发器在较小的布局范围内。这样在时钟树设计过程中,就能保证底层时钟树尽量在较小的范围内从而显著降低了底层时钟树的电容值,节省了时钟树功耗。
龙芯2G芯片的物理设计工作证明:采用以上三种创新性的设计方法能够有效解决目前物理设计中纳米工艺所带来的难度,提高设计性能,缩短设计周期,具有很强的实用价值,也将作为目前物理设计方法学研究的基础进一步应用于未来龙芯系统高性能处理器的物理设计工作中。在未来的工作中,希望能够结合更为先进的纳米工艺,进一步深入分析纳米工艺的特点和难点,完善这些新的设计方法和流程,进一步提高工作效率,使之成为更为高效的点工具,为龙芯系统高性能通用处理器的物理实现奠定坚实的工作基础。