数字IC的困惑——怎么去增加自己的“功力”
其中,AMD和MARVELL是典型的两家公司,其中AMD需要的是verification之类的工作,所以需要会写perl脚本,熟悉linux环境,熟练掌握verilog等要求,给我的感觉是类似的工作和芯片设计关系不大,只是做些边边角角的工作,公司也没想在实习生身上去花时间培养;另一类工作的代表是MARVELL公司,面试官问得很细,而且他们比较重视面试者的基础知识,比如:对一些和时序有关的问题,如何用门级电路和flip-flop去实现简单电路的功能。
我的收获和问题是:如果以后想在数字IC方面工作的话,写些脚本之类的工作肯定帮助不大,而是应该多学习点比较基础的知识,这样才能知道怎么去优化自己的设计,不知道这样理解对不对?
另一个问题是:如果只能找到verification之类的实习,是去公司体验下还是自己在学校多学点基础的东西(鉴于我的背景)?
希望大家能给晚辈些建议,谢谢了
verification可不比设计简单,你的见解很独特
小编的观点我认同,实习能够增加的项目经验无非是:
1,tool的使用,debug技巧,常遇问题的解决方法。
2,工业设计流程,及其中的概念。
以上这些项目经验,都不是什么高深的东西,只要有时间就可以学会的。
在学校里学的是理论基础,基本功,这些是企业中难得的,而且很多也是高深的。
有了这些扎实的基本功,再发展专业技能,轻而易举。
同样的工作,很多人都可以完成,但是做出的结果,性能却差距很大,这差距主要来自于个人的理论基础。
这大概就是IC行业学历优势的一个原因吧。
说的很对啊
"zhq415758192"的观点比较赞同,想有所作为,在那个阶段就要在那个阶段做得好
我指的是广义的verification
谢谢能回复这么多,说得挺有道理的,看来基础还是该好好抓
给小编一个建议:打算实习的话如果能去大的IC公司千万不要放弃,无论做什么工作。因为站在公司的角度,他们是不会让一个实习生去做design,即使做verfication也是比较简单的内容。但是你能在这些公司学到系统的design flow以及tools的使用,这对你以后工作是十分有帮助的,另外大公司的文档库内容都是十分丰富的,只有肯学习肯定受益匪浅
alenww 说的很有道理
增加功力,那就每天晚上打坐
我是比较同意alenww 想法的,想做设计如果学校好一点,机会还是很多的。比如交大,复旦,清华,北大等
你就不能说说我们中国科大吗····?怎么只有交大和复旦··
做了5年设计,最近分配的任务是做verification,觉得不管做什么,你能做好,能够在现有的基础上改进,你就能得到成长。
verification非常非常非常非常重要!
你可以说它很简单,随便一个新人都可以做,
但要做到独当一面非常难。
项目里面做验证的头都是真正的资深设计师。
去大公司做一下验证能改变你很多观念。
公司应该不会让新人做设计的吧,即使是designer,刚开始都是verification吧
ASIC必备的基础知识:
1)基本电路的结构,比如与非门,触发器,比较变态的面试会让你用管子搭
2)同步设计的基本概念,比如setup time,hold time,时序分析
3)跨时钟域的基本概念,比如亚稳态,握手,格雷码,甚至异步fifo
4)数字信号处理,至少应该知道FIR的基本结构
验证知识反而不重要,因为只有极少数学生在学校做过验证工作。
当然找工作最关键的是你的毕业设计,必须足够复杂才有面试机会。
个人觉得verification没什么太大的前途,当然只是个人观点。
在中国的大公司进去几乎做验证的
如果只是建test case,甚至只是用verilog跑跑仿真,这样的工作确实没啥前途。
能够搭建一个大型的验证平台,这样的人在任何公司都是大牛。
验证比设计要复杂的多(不设计算法的设计),理论知识更强,而且技术进步更快(ASIC设计方法学基本上和10年以前没有任何区别)。而且随着技术的发展ASIC设计将越来越简单,但是验证确会越来越复杂。
说说我的看法吧
1、在一个IC公司,verification相当的重要的。他们的比例不低于designer的。
2、没有一个公司愿意让新人做designer,除非真的是没有人了。国外的IC公司,进去都是让你先写脚本,等一些Designer走了,再让人补上去
3、以前做没有做过数字真的不要紧,我以前就只玩过半年的FPGA,而且是很低级的,机缘巧合进了IC公司做了designer。我发现,你的思考问题的方法、做事的方法才是最重要的,这点可以帮你很好的立足。很多基础技能都是一学就很容易掌握的。
4、工具这些,我只会基本的工具,其他工具都是一边看手册一边学习用的。基本的会用,高阶的不会用,都是临时去问。会影响一些效率吧。
5、Unix/Linux, tcl, perl这些的东西,一定要学一点。至少对我来说,不会写,也看得懂。要写的时候,再拿着书来学。因为我是设计,但是对于验证来说,脚本更重要一些。
6、验证也是一门方法、从验证到设计快,从设计到验证难。
结论:我认为verification很有用。验证时不要光想着写脚本,要学学验证的方法。
我只是本科学习,包括我很多同学也是本科,公司也很多研究生。但是我认为我们强于很多研究生的。
原因:
1、可能现在的研究的生的水平与当年的本科差不多
2、基础的东西本科的基本够用了,很多是在工作中学习的。
3、方法、思路很重要,学校很难学到。
4
1、设计不会让实习生去做,实习生只能打打杂,除非你愿意留在实习的地方,实习的公司愿意培养你。2、验证很重要,跑一些case可能很低级,但是“设计验证”这个工作很牛,不是一般人能做得来的。
3、模拟功底好么?可以考虑做做数模混合的东西。
4、去公司实习一下就知道了,你需要加强哪方面的能力。
5、问问老师,还有参加工作的师兄,怎么加强功力。
6、最重要的,了解一下IC行业,看看是否要进这一行当,兄弟,你还有机会可以转行。
受教了,我也迷茫中
在此对之前讨论的观点做些补充。
1,我所谓的学历优势但但是指公司在招聘的时候考虑的顺序和薪酬高低基本是按照学历由高至底,并不是说学历高就一定比学历底的做的优秀。本科不一定比硕士差。
2,敝人也是本科,末流重点毕业,2008年底找一画版图的工作,入司不到一月,老板说让我做PR,当时不了解PR,和老板说我对PR不了解,一点不会(本科毕业有几个会的呢),老板说他找人教我,还会再招一个硕士,很快来了一个硕士,过两天领导和那个硕士说,公司希望一个立刻干活的硕士,他说给他一年的时间。第二天……
本科,如果有一些基础,企业可以接受没有经验,给一些时间成长;
硕士,多念了两三年,如果既没有项目经验,基础和本科又一样,为何多花钱招个硕士呢?
3,对于一个就业者,我认为他的知识和职业技能应该和他的资历是对称的,平衡的,这样的人我认为企业是不会拒绝的,也不应该拒绝。
让公鸡下蛋,不妥;让母鸡打鸣,而不让其下蛋,也不妥。
4,对于刚毕业的学生:
如果基础扎实,进入企业,在成熟的流程上,看看成熟的case,很多东西就可以理解了,别人一解释,也就明白了,只需要积累项目经验,将理论基础融入实际。
如果没有基础,恐怕都不知道该问什么。如果又没有项目经验,tool的使用等也得培养,有几个企业愿意这样做呢?
如果有项目经验,自然就有一些基础的,进入企业就可以真正的做事了,当然ok了。一般来说本科毕业很少有做过case的,但是硕士多数会有机会的。
5,看到大家常说验证,俺也发点敝见:
IC设计必将进入SOC时代,对于SOC设计,大家认为主要的工作在哪个环节上?
架构?算法?code?verification?physical design?
1,架构,据我所知,目前的SOC多是ARM的方案,只是功能模块的多少,有多少人能够想出全新的架构体系? 大量的工作是不是做些边角的修补验证呢?
2,算法,个人认为做算法是搞科研,是需要科学家的思维和脑袋的,和工程技术有些不同,大家所在的公司有都有多少人做算法研究呢?公司的算法又是从哪里来的呢?主要的工作不是验证别人的算法吗?或者做点小修改?买的soft IP:ARM,USB,DDR,有公司改动原来的code吗?几乎没有,但是买来的IP要不要验证呢?这个问题有点白痴啊!但是若是人力不足,好像可以糊弄过去。
又有几个企业能自己设计USB,DDR呢?更别说CPU了,又需要多长时间呢?有这个必要吗?估计IIC,SPI,CAN,SSP,IIS…………还没有设计出来,公司都关门了,更别说还加DDR,SATA了。从某种意义上来讲,这也不符合资源优化配置的自然规律。ARM功耗低,频率快,配套开发环境齐全,为何不用呢?openCore上的freeIP不能参考一下吗?拿过来check一下,修补一下,不比从零开始做快嘛?
3,verification,大家认为验证简单吗?敝人做后端的,不敢妄自言语,只是举个例子啊:
设计code HDL有两种:verilog,VHDL(应该还有其他的吧,但是不了解)
验证语言有:UVM,OVM,VMM,system verilog, system C,C,C++。
为何会有这么多的验证语言?
你身边有几个人可以搭建自动化的验证平台,保证coverage在95%以上?
一个case经其验证后,他敢说100%没有bug吗?
4,物理设计,每次chip的改版,要不要每个模块都重新设计验证一遍?物理设计呢?正常的情况下,代码改动,都会重新syn,PR也重来的。
SOC都会有这样的追求:低功耗,面积小,高频。这些只是前端的事吗?
很多人都觉得后端主要的工作是debug,那么debug和验证有多少区别呢?为何要debug?经验证有错。
敝人敝见,欢迎各抒己见!
一般设计人员都是从验证开始的
非常赞同3楼的观点......基础很重要
基本同意8楼的看法......大公司确实很规范
鄙人长见识了!
同样想实习呀
严重同意,现在soc确实验证比较重要,当然如果一个有经验的系统架构设计师,那验证起来可能就会轻松很多。
谢谢分享
