基于层次法实现EOS芯片的后端设计
(7) 时钟树生成(Clock tree synthesis)
由于时钟端的驱动能力有限,而且时序的好坏也是一个芯片的成败的关键,在所有的时钟驱动端加入一些缓冲器(Buffer)。
(8) 布线(Routing)
芯片的布线有总体(Global routing)布线和详细布线(Detail routing)两步,如果布线有很大的拥塞(congestion),需要重新布局。
(9) 寄生参数提取(RC extraction)
利用寄生参数提取软件提取线网的寄生电阻和电容,并转换为延时值存到SDF(stand delay format)文件中。
(10) 静态时序分析STA(static timing analysis)
静态时序分析是运用软件计算芯片的时序是否符合设计所要求的时序,如果违反可以进行工程变更(ECO)来修正。
(11) 工程变更ECO(engineering change order)
工程变更是对版图的局部修改,并完成从布局到STA的步骤的统称,一般是加入一些单元,或者替换一些单元来达到对时序的修改。
(12) 设计规则检查DRC(design rule check)和版图与电路图比较LVS(layout versus schematic) [4] 。
层次法设计具有许多优点,主要是它可以对模块施加灵活而严格的约束,可以允许多个物理设计人员并行工作,提高物理设计的并行性,能够减少一些重复的迭代工作,由于增加了许多对功能模块的操作,还可以节约系统资源。层次法设计也有其局限性,主要是设计过程复杂,对含有多个IP模块的设计需要对每个模块进行优化工作,层次法设计对于规模不大的设计优化功能并不明显。
4 芯片实现
随着波分复用技术和高速以太网技术的发展,骨干网的带宽呈几何级数增长,已达到了吉比特甚至更高的水平。而连接骨干网和用户网的接入网的速率却没有太大的提高,已成为网络发展的瓶颈。要想实现高速、可靠的接入,使终端用户充分利用骨干网的巨大容量,必须采用新的高速接入技术。SDH技术已非常成熟,其安全性好,可靠性高;用SDH传输网络承载以太网IP包以实现网络用户的远程接入或异地局域网互连,我们称之为EOS(Ethernet over SDH), 是一种非常方便的实现方案。
EOS芯片用于实现EOS方案的主要ASIC芯片,它的规模是6百万门(不含RAM),它采用0.18um的CMOS工艺。它的规模已经接近展平法的极限,经过对比试验,展平法实现一次布局布线到寄生参数的提取需要40-50个小时完成。而采用层次法,迭代时间将会减小到20个小时以下。
EOS芯片的设计平台采用的是cadence公司集成后端设计工具Encounter,其中中心部分为设计输入,encounter菜单按照流程设计,使用很方便。该工具集成了几乎完整的芯片后端设计流程工具,其中包括优化综合工具(RTL Compiler)、布局工具(Amoeba Placement)、布线工具(trial route,Nano route)、时序验证工具(vstorm PE)、串扰分析工具(CelticIC)、寄生参数抽取3D工具(FireIce),同时对于如纳米布线器、串扰分析工具、电源分析工具也可以单独使用,可以适合不同用户层面的需求,所以使用非常方便[5]。
层次法设计的时候模块划分要考虑芯片之间的连接关系,还要考虑模块门数的大小,太大和太小的模块都不适合划分为模块来单独布局布线。以下是一些划分模块的基本要点:
(1)模块不宜太大或者太小,一般以30万门到80万门之间最合适,最大不要超过200万门。
(2)模块被重复的次数多,有利于实现模块化的优势。
(3)模块对外的pin脚不宜过多,如果过多,顶层的布线和规划会十分困难。
图3 顶层布局布线图
根据以上几个要点,我们可以把芯片分成以下几个模块:STM,LCAS,VC4,Channel,GB。这里要提到的一点是,对于层次法设计,在顶层布线的时候,底层模块是作为一个黑盒子来使用的,但是它还是包含时序的信息。如图3就是顶层最后的布线图。
评论