求助!后端工作一年来的一些疑惑,非技术~~任何建议都很感激。
遇到的问题重点是,这一年来,我主要工作都是在综合和STA,形式验证上,目前跟LSI的合作也是在前端开发人员和LSI之间做交付员,要么是帮忙前端做网表的ECO,要么是做LSI返回的DFT网表,layout网表等等的形式验证。
在工作之前我也做好了工作斑驳的心理准备,但是没有想到会这么繁杂,而且我还没有开始涉及后续的PR,ETS,SI等等耳熟能详的流程,每一步工作都要研究好一个软件,而软件的学习和使用过程中出现的问题必定很多很杂,这不像学校学习那样的系统性,总是东一块西一块的,做一会甚至心情都毛躁了。
前不久领导找我谈了一次话,主要是批评我一年的进步不如同期员工,要我多加努力,多主动一些,分担项目主管与外界的交付压力。
很郁闷的想了很长时间,仔细捋清了现在的情况:我在学校期间的确荒废掉了,数字知识很差现在也不行,编程能力一般不过一年来脚本的读写能力有所提高,对工具的把握还算可以,而其中最糟糕的是我所负责的逻辑综合工作时要与前端开发人员做接收交付的,在跟他们交流的时候他们总会谈论起设计功能问题,可怜我数字电路一窍不通,verilog学习也很一般,根本无法承担起交付责任。而这目前也是我的硬伤。由于与前端交流的问题存在,也导致我在项目流程中处于较偏的位置,对整体没有把握,对以后学习也不利。
我想求教大家:目前我所处的这种情况有什么好的建议?学习Verilog么?语法书已经看了很多了,可是扎进代码里面还是很难读懂啊!
在前后端交流中我该怎么改进现在这种被动的情况呢?重新学习数字电路?可是教材上的知识好像跟实际项目中差别巨大啊!或者说怎么能更好更快的把握目前项目中的各个代码模块功能呢?可能对前端不了解问的问题不专业。
如果能给点建议,真心感激!
看到小编说的应该是做时序这块,个人觉得至少要了解时序的,至少能分析路径违背否以及违背是否合理。是约束不当还是确实设计所致,而且综合本来就是和前端以及后面PR进行交互的,所以应多和前端和后端去沟通,多问下他们的要求。明确自己这边如何写约束,当然,28nm这么先进工艺没做过,可能流程上会有较大的变化,不是很清楚。
大公司的优处是流程规范细致,缺点是由于分工过于详细,所以往往只能做到流程中一小部分的工作。我觉得刚毕业的学生去大公司不是一个很好的选择。应该先在小公司煅炼上几年,把IC设计从头到尾的轮廓有个印象,然后再到大公司去考究一下流程和技术细节,以及团队项目管理。就像画画,先学着会打轮廓,然后再学习各局部的细节打造。
你这种情况建议你找个小公司呆上几年,然后整个前端就都懂了。
这些都是新手的困惑,全国重点高校每年培养出来的后端学生都不及每年公司需求的人数,必然有很多人从别的学科转过来,或者临时开始学习。也没有看到有人因为不会, 不懂,或者没有基础而放弃。总而言之,只要有热情,从最简单的做起,先把工具玩熟练,每个log的内容都搞清楚,warning和error的原因就无师自通了
把PR学会,加油!
一年的话,应该开始做点多的东西。
1,学习perl 或者tcl,掌握一种处理数据的语言。
2,总结你工作内容,从你描述的内容看,其实只是后端的一部分,1年时间你掌握的东西太少了,
而不是太多了。1年时间至少还要加PNR,RCextraction,IRdrop,SI,DRC,LVS才对。
3,后端核心是.lib 和.lef 文件,研究清楚。
4,在工作中总结自己,自己搞个FAQ/工作流程/入门指南,列出自己犯过的错误。这是最关键的。
5,在4#的基础上,自己写程序,把工作交给机器去做。你列举的DC,STA,FV都是在后端设计链条
中最简单的步骤,基本都是机器在做。你有啥事?
在整个职业发展道路上,还需要不断地锻炼自己的分析问题解决问题的能力,知识面是一方面
如果出现新的问题,你如何去解决?用什么方法最快最有效的解决?毕竟不能什么时候都要去问
前辈;不是什么情况下都让你有充足的时间去解决问题。
醍醐灌顶,振聋发聩。谢谢!
现在还在实习,看看前辈们的,真的很不错,,谢谢啊
通读工具的user guide自然能解很多问题,包括原理性的。
综合,STA,形式验证这些我们公司都是前端做……
学习了,我也看看大家的想法