论文部分内容阅读
本文基于28nm标准CMOS(Complementary Metal Oxide Semiconductor)工艺,针对MX芯片的三个关键部件——共享存储体模块、外部存储接口模块、DDR3(Double Data Rate 3 SDRAM)存储接口模块,重点研究了时序优化方法,主要内容包括:由于共享存储体模块存储容量较大,因此该模块会出现布线拥塞,并且存在各种时序问题。该模块总容量为4MB,工作频率为500MHz,总线位宽128位。通过对布局进行优化可以降低时序优化的难度,本文采用手动规划的方式,主要对宏单元的位置和与时序相关的寄存器位置进行了优化。本文通过调整宏单元的位置和方向,使一个BankMemory的面积平均减小了6%,避免了布线通道拥塞,降低了走线难度。通过优化寄存器的位置,减小了reg2reg数据路径的延时。本文通过手动规划时钟树的方式,使得从时钟根节点到存储体的时钟延时平均降低了2.4%,时钟偏差减小了32ps;通过手动调整时钟树布线方式,增大了时钟树主干抗干扰能力,使得到存储体的时钟串扰减小了49ps。针对与存储体相关的时序路径,除了采用借用时钟偏差、替换阈值等常见的时序优化方法外,本文通过优化存储体输出电路逻辑结构,使存储体输出到下一级寄存器数据路径延时平均延时降低了54.7%;通过手动规划寄存器输出到存储体LS端具体路径,使得该数据路径的延时平均减小22.1%。通过优化时钟树结构和与存储体相关的时序路径,最终解决了共享存储体模块布线拥塞问题,实现了该模块的时序收敛。由于外部存储接口模块内部有两个异步时钟,并且该模块与顶层有数据交互,因此该模块内部的跨时钟路径以及与顶层交互的接口有大量时序违反。该模块总线宽度为32位,其包含两个异步时钟,ECLKOUT时钟和CLK时钟,时钟频率分别为100MHz和500MHz。针对该模块接口时序的问题,通过使用tcl脚本,在与顶层交互的接口处添加缓冲器消除了function模式MLrcworst125C corner下1243条保持时间违反;针对外部存储接口模块内部跨时钟域的保持时间(hold)违反,通过使用ice、PrimeTime工具,采用替换阈值的方法,最终修复了最差corner下的3870条违反。由于对DDR3内部PHY与IO之间的延时偏差(skew)有要求,因此DDR3内部的时序收敛为工作重点。本文研究的DDR3基于28nm CMOS工艺,支持外扩8GB的存储容量,传输速率为1600Mbps。通过手动规划到PHY的时钟树,基本实现了平衡PHY时钟延迟的要求,同时也降低了平衡PHY与IO间延时的难度。通过设计相应算法,实现快速在数据PHY与对应的IO间等间距、等级数的插入缓冲器,在此基础上使用Innovus工具完成布线,最终使数据PHY与对应的IO间的延时偏差达到设计要求。