新手刚做完一个layout工艺转换小项目的体会
扫描二维码
随时随地手机看文章
新手刚做完一个layout工艺转换小项目的体会
做IC layout 快两个月了,画了几个小block,已经熟悉设计环境及设计流程。带我的经理交了个从smic 018工艺转换到chartered 013工艺的小项目给我完成。听他们讨论只需要改下DRC错误。
先就是要写出从smic stream out到chartered 的map file . this file is made of smic condence name , lay number and data type mapped chartered .经过一个多月的学习对smic常用的lay name及其作用意义到是熟悉了可要写出全部的lay 就要去 read and search control file ,另一个比较大的工作量就是去熟悉 chartered ‘design rule ,这样才知道the lay numerber from smic mapped to chartered .这些都要确保正确无误,否则提取的层数不对就不能通过LVS。由于开始的时候对这个过程没有整体的认识,map file 我修改了N次 ,也string in and out N 次,浪费了很多时间。
在这期间出现的两个问题是这个项目的难点,为了解决这两个问题我把design rule of chartered and smic 读 了N遍,查了很多资料,问了很多人,苍天不负有心人,问题终于解决了,这下我不敢小看它了,我觉得做这个项目的意义就在于解决这两个问题的过程,它使我学会了解决问题的方法以及在遇到困难时要坚守的信念!
一个问题就是转换后的GDS文件run LVS没有合并finger。确定是这个问题是通过跑另外一个没有finger 的小模块得到的(这个小模块能通过LVS确实给了我不少信心,说明我写的map file 基本的、常用的 layer 是正确的)。然后首先想到的就是是不是连接有问题,经过验证确定不是 。既然层数是对的,说明输入的GDS是对的,那么问题就只可能出在control file 里,看了N遍也没找到可以合并finger 的 option ,看样子是真的没办法了,我问同事、朋友,他们也不知道。后来我就对比smic and chartered 里跑LVS 后的report,发现它们在进行LVS处理之前recognize 的gate 是一致的,更使我确定我的map file is right ,输入的GDS是正确的,问题就在control file 里,但是chartered 的control file里没有啊,继续研究report ,在smic 的report里发现 “XXX mos reduce to XX,……”而chartered没有。再研究smic的rule ,发现有合并各种device 的 语句,赶快copy到 chartered 的 control file 里,跑LVS ,白高兴一场,系统要报错,用户不能添加语句,难道chartered 里 不允许 分finger ,不会吧。只能再来研究chartered 的所有 rule ,终于在 control file include 的一个文件里找到相关语句,只是它默认的操作是不合并所有DEVICE ,我把它改为YES后,运行结果终于对了。
另一个问题就是认不出电容,通过对report 的研究,确认输入的GDS 就不对,那就是层数的问题了,可是根据提取文件来核对我们所用的电容的层数也确保每一层都有了啊,而且通过仔细研究,多方实践后也确定电容的DUMMY层也是对的,感觉一切都是正确的了啊,怎么还是认不出来呢?我缩小的问题范围对吗,还有什么原因在我所不知道的范围内吗?我不能在这个问题上再耽搁时间了,我要先改一些没有电容的模块了,说不定什么时候灵感来了,就找到了答案呢!后来这个问题是同事解决了,感谢他帮我解决了这个问题,使这个项目不要再delay ,同时也遗憾我失去解决这个问题后成功的喜悦。原来是chartered 的map file 里Top metal and Top_via 的层数错了 ,六层工艺的map file 里的 Top metal and Top_via 和八层工艺的map file 里的Top metal and Top_via 的层数是一样的。我们虽然是用的六层工艺,但是它的Top metal仍然是整个工艺里的第六层。这是我在很早以前从 run LVS 后的报告里看到层的提取里有V8后的看法,就这个发现我还跟同事讨论了一下,他说没错,我也就相信了,以后也就没有怀疑过了。
为什么是同事解决了这个问题而不是我呢?我觉得他可能也是通过看那个报告后得到启发,然后呢,确信问题只可能出在层数上,剩下的事情就是实践一下,就看到正确结果了。我呢,在锁定问题范围上虽然很肯定在层数上,但由于没有经验,还是有点犹豫不决,这就增大了考虑的范围,降低了成功的机会。如果时间允许的话,我可能会去考证每层的正确性,会去看很久都没看的transcript 文件,还是可能解决这个问题。
在遇到困难,想放弃的时候我就想起我们总经理说的一句话“我觉得做出来很正常,做不出来才奇怪呢”,是啊,首先我在心态上要相信自己,成功是必然的!在这里感谢一下我们邹总!
在遇到困难,解决问题时,思路要清晰,缩小问题范围,锁定目标,剩下的就是大胆去尝试!
有了良好的心态,解决问题的方法后,在实践过程中只需仔细、认真、耐心地去做!
做这个小项目后,更使我认识到:要学会独立思考,只有当一个人有独立思考的能力后,她自己才有所作为,才能独立处世。做人不要人云亦云,要判断是非,要知对错。每个人最大的对手就是自己的惰性,依赖性。前段时间因为同事太好了,我一有问题,不经过多方思考和实践就去问人,少了很多自己解决问题后的喜悦,我以后要独立解决问题,战胜自己的惰性和依赖性。具体在解决问题时不要善罢甘休,要大胆的去实践!