|
作者:俞剑
要说如何精通数字IC flow的话,分以下几个阶段:
1) 同步数字电路基础;
2) Tcl脚本;
3) EDA工具UserGuide学习和使用;
4) 收敛的核心理念,余量的把握;
5) EDA工具原理。
你的思路走完这4个流程,并达到知识体系上的一个思维收敛,你就可以精通数字IC flow了。需要说明的是,剑哥已经完成了上述1) 2) 4) 5)阶段,但是剑哥从来没跑过DC,PT,DFT等EDA工具!但我认为我已经精通了,这就是知识体系的魅力,足保你融会贯通!
说到EDA工具原理,我觉得有必要给大家补充下一些软件的基本思想,毕竟IC集成电路还是搞硬的多。软件的核心是啥?
1) 数据结构(绝对核心,没有之一),好的数据结构是好的算法的基础。
2) 算法(在搞清处理对象原理的基础上,一个优秀的自动化解决方案)。
跑到搞硬的手里集中体现在API里,哪个方法访问哪个数据,哪个方法做了哪些事情,数据之间又是如何相互访问的,对于搞IC硬件的人,理解软件的理念很重要,这就是关键时刻你的优势。
要说数字IC流程的话,必要的咱要打好个基础先。说到底就一张拓扑图RTL拓扑,变化下就是时序拓扑。这两个是数字电路的核心,所有的EDA工具,包括你的脚本都是在这两张图上做文章,毕竟同步电路EDA工具就是时序驱动的。
首先我们来聊下时序,说到时序,第一个我们要搞清楚的是一个门电路它的时延跟哪些参数有关:
1)
CONNER:工艺CONNER,电压CONNER,温度CONNER。工艺CONNER是FF>TT>SS;电压CONNER是1.1 Vcore > Vcore >0.9Vcore;那温度是低温>高温,需要注意的是到了65nm以下工艺节点会出现温度反转效应,即此时的低温反而慢了,究其原因是因为器件在低温时尽管迁移率增大了,但是阈值电压Vt增大了,这点你要注意你的worst conner。
2)
驱动能力:驱动能力就由你的W/L来决定了,从电阻看是门的Ron变小了,从电流看是Ion变大了,所以你的标准单元库里会有各种不同的尺寸,X1,X2,X4。。。
3)
负载:负载其实就是看你的FANOUT的C,对数字人员我们关心下FANOUT的个数就可以了。
4)
输入Transition time:输入信号从10%变化到90%的时间,沿的陡缓,陡的话延时就小。
OK,单个门的时延明白了,那我们回到拓扑结构上,为了算拓扑上的延时,单个门我们要算其时延外,我们还要算其output transiton time。就是简简单单这么回事,timing
liberty file(.lib)就是描述这些玩意。
聊完时延的核心思想,我们来把这张RTL拓扑图来show下(画图好累,截个图过来!)
千万不要笑,这张图就是同步数字电路核心。人人都见过,但是否有人彻彻底底想过这张图怎么来看综合;这张图又怎么来看静态时序分析;这张图怎么来看形式验证;这张图怎么来看DFT;甚至这张图怎么来看FPGA里的MAP等等等等。想过了你就知道这张图有多牛B。
就到这里,我们慢慢来!
===
更多精品内容欢迎关注我们的公众号:silicon_talks