IC设计的前端和后端(转)
问题:我是刚刚接触这⽅⾯不久,所以迫切想了解⼀下: 1.什么是⼤家常说的IC前端设计和后端设计?他们之间的区别是什么? 2.做前端设计和后端设计需要掌握哪些最基本的⼯具和知识呢?⽐如多⼿机或者其他娱乐型电⼦产品上的IC设计. 3.对于不太精通编程,但对数字和模拟电路有⼀定基础的⼈是适合做前端,还是后端呢?
整理的回帖如下:
⾸先,我不算是⾼⼈,不过前,后端都有接触,我就⼤概回答⼀下吧,有说的不对的地⽅,请⾼⼈指正。 1,前端主要负责逻辑实现,通常是使⽤verilog/VHDL之类语⾔,进⾏⾏为级的描述。⽽后端,主要负责将前端的设计变成真正的schematic&layout,流⽚,量产。打个⽐喻来说,前端就像是做蓝图的,可以功能性,结构性的东西。⽽后端则是将蓝图变成真正的⾼楼。 2,前端设计主要是进⾏功能设计,代码的编写,要会使⽤硬件描述语⾔,也就是上⾯有提到的verilog/VHDL等,当然,也会要使⽤⼀些仿真软件。后端设计需要的则会更加多⼀些了,包括综合,到P&R,以及最后的STA,这些⼯具⾥candence和synopsys都有⼀整套系统的。有关⼼的可以去他们的⽹站看看。 3,其实前端和后端对于编程没有特别的要求。前端的设计会需要使⽤硬件描述语⾔来写代码,但是,需要注意的是,这⾥指的是"描述",⽽不像是C或者java之类的强调编程技巧啊什么的。所以,这个选择就看你⾃⼰了,⽽与编程没有什么特别的关系了。
glclub 后端設計主要要求哪些技能呢?譬如在ic layout過程中要求那些軟件呢?:包括综合,到P&R,以及最后的STA ,这些是我上⾯的提到的,各个公司根据需要,还会有不同的其它的要求。另外,我不是特别清楚你指的"ic layout"是什么概念,P&R的话有candence soc-encounter /synopsys Astro,⼿⼯的话,有candence virtuoso。 jasonxia 前端设计除了要会verilog/VHDL之外,还有什么要求呢?我本⾝是做后端的,所以,对于前端的要求也不是特别的清楚。根据我的认识,前端会分为设计部和验证部,设计部更加的注重算法、⼯作原理等⽅⾯,毕竟⽤verilog实现起来并不困难。⽽验证部就是保证设计的正确性。⾄于具体有什么样的要求,我也就不是特别的清楚了。
做⼀点补充:(如有错误,不吝赐教)
⼀般来说,可以将版图实现前的所有设计都认为是前端设计,应该包括系统级设计,⾏为级设计,RTL级设计和晶体管级设计(好像不全);
后端设计是将晶体管级设计在版图上实现,数字前端设计⼀般都做到RTL级,是因为其后的前端设计步骤⼀般已经由fundry完成,RTL级已经可以使⽤现成的由MOS构成的功能单元了(IP是⼀个新的发展)。
⽽对于analog的前端设计,则⼀般要完成到MOS级别,才能算完成前端设计。
前端可能⽤到的软件由于设计层次不同,类别很多:如HSPICE, synopsys的DC,VCS,cadence的spectre,所⽤到的语⾔有
verilog, VHDL, System C, Verilog A 等
⽽后端设计就是⽤MOS完成版图(analog),或⽤MOS构成的单元来组合完成版图(digital)。常⽤⼯具有L-EDIT,Cadence的se, virtuso 等
IC前端设计指逻辑设计;
IC后端设计指物理设计。
前端:
就是将你的想法或别⼈的想法⽤你设计的电路来实现,也就是说你可以通过电路设计来实现你的想法。可以这样说,那时你就是⼀个科学家。有⼈这样认为:⼀个好的前端IC设计师不应该叫设计师⽽应该叫科学家。
后端:
就是将你设计的电路制造出来,要在⼯艺上实现你的想法。
完全同意斑⽵的观点,再做⼀点点补充,供⼤家参考。
除了RTL编程和仿真这两个基本要求外,前端设计还可以包括IC系统设计、验证(verification)、综合、STA、逻辑等值验证(equivalence check)。其中IC系统设计最难掌握,它需要多年的IC设计经验和熟悉那个应⽤领域,就像软件⾏业的系统架构设计⼀样,⽽RTL编程和软件编程相当。适合作为IC设计的⼊门。
还有⼀些即可以属于前端也可以属于后端的灰⾊领域,⽐如DFT(design for test)
后端设计简单说是P&R,但是包括的东西不少,像芯⽚封装和管脚设计,floorplan,电源布线和功率验证,线间⼲扰的预防和修正,时序收敛,STA,DRC,LVS等,要求掌握和熟悉多种EDA⼯具以及IC⽣产⼚家的具体要求。要达到jeze的程度,没5年时间不⾏。
版主,encounter的Ameba place效果似乎⽐不上synopsy的PhC place
encounter的nanoroute似乎也算不上什么特别了不起的⼯具。
最近听说有家公司有个最新的⼯具,他们⾃称其⼯具要超前encounter两年,尤其在Timing上⾯信⼼⼗⾜。
可是我得不到这个新⼯具的资料,你能给提供⼀下吗。叫什么玛古玛。
深有同感,经过5年以上时间的⽐较,我们公司的评分是
(1) Magma
(2) Synopsys
(3) Cadence
以下只是个⼈和本公司的评价,不⼀定⼗分全⾯,仅供参考。
Synopsys:
优点:
在完成设计所花费的时间、代价和质量上⽐较平衡,不是最好,但绝对不坏。
网络前端需要学什么拥有⼀些久经考验⽆⼈可⽐的软件。
缺点:
Physical-Compiler和Astro的整合上不够好,毕竟它是由⼀个前端设计EDA公司通过并购Avanti扩展到后端来的。
Cadence:
优点:拥有⼀批⾮常优秀的EDA软件,如:RTL Compiler, Encounter, Nano route, CeltIc等(只限于单独使⽤)。
缺点:
虽然是⽼牌后端设计公司,可是现在的⽀柱产品都是最近⼏年买来的,⾃⼰以前的东西剩下的不多了。上述产品的整合是个⼤问题。现在的产品不擅长于复杂时序的收敛。
Magma:
优点:最近5年异军突起的⼀家EDA公司,拥有⼀套⾃⼰独特的算法和漂亮好⽤的GUI,在复杂时序的收敛上异常优异。
缺点:附带产品不够全⾯,价钱⾼
我们的作法是取各个公司最好的部分,⾃⼰整合出⼀套后端设计平台。
⽐如: Synopsys Design-Compiler, DFT-Compiler, PrimeTime + Magma BlastFusion (Place&route) + Cadence QX, LEC, CeltIc + Mentor Calibre
另外还有⼀篇IC设计⾼⼿进阶之路的⽂章,觉得不错,也收过来了。
随着中国IC设计产业渐⼊佳境,越来越多的⼯程师加⼊到这个新兴产业中。从⼀个初学者成长到主持⼤型设计的IC设计专家,这是每个IC设计⼯程师的理想。在这个新兴的领域⾥,IC设计⼯程师需要领路的"师傅",但是没有"师傅",该怎么提⾼?近⽇,电⼦⼯程专辑⽹站邀请到深圳国微技术有限公司系统总监孙建宁先⽣担任《如何成为IC设计⾼⼿?》论坛的嘉宾与⼯程师交流成长⼼得,论坛中的⼀些观点颇有参考价值。
⼀、学习、积累、交流-IC设计⾼⼿的成长之路
如何成为IC设计⾼⼿?如何提⾼⾃⼰的设计能⼒?孙建宁先⽣提出⾸先要学习,作为初学者,需要了解的是IC设计的基本流程。应该做到以下⼏点:基本清楚系统、前端、后端设计和验证的过程,IC设计同半导体物理、通信或多媒体系统设计之间的关系,了解数字电路、混合信号的基本设计过程,弄清楚ASIC,COT这些基本的⾏业模式。他认为这对于培养兴趣,建⽴⾃⼰未来的技术⽣涯规划是⼗分重要的。
另外,在向⾼⼿迈进的过程中,积累和交流也是很重要的。积累指要学习借鉴⼀些经典设计,⽽通过访真细细观察这些经典设计的细节,既有收益,也会有乐趣。在交流⽅⾯,要重视同前端或系统的交流,深刻理解设计的约束条件。作为初学者,往往不太清楚系统,除了通过设计⽂档和会议交流来理
解⾃⼰的设计任务规范,同系统和前端的沟通是IC设计必不可少的。所谓设计技巧,都是在明了约束条件的基础上⽽⾔的,系统或前端的设计⼯程师,往往能够给初学者很多指导性的意见。
当然还要重视同后端和加⼯线的交流,IC设计者还应该主动地同设计环节的上下游,如后端设计服务或加⼯服务的⼯程师,⼯艺⼯程师进⾏主动沟通和学习。对于初学者来说,后端加⼯⼚家往往能够为他们带来⼀些经典的基本理念,⼀些不能犯的错误等基本戒条。⽽同⾏之间的对提⾼⽔平也是⼗分有益的。通过同⾏之间的交流,还可以发现环境对于IC设计⽔平的重要影响。
此外,他还建议要重视验证和测试,做⼀个"偏执狂",他认为:对验证的重视和深刻理解,是⼀个IC设计者能否经受压⼒和享受成功⼗分关键的部分。由于流⽚的机会相对不多,因此机会更多地参与和理解测试,对产品成功和失败的认真总结与分析,是⼀个IC设计者成长的必经之路。
⼆、做反向设计可以成为⾼⼿吗?
论坛中很多⼯程师提到现在国内⼀些IC公司在做反向设计,读者刘宇认为反向设计虽给我们带了⼀定的经济利益,但同时带来⽆数重复的劳动。这种劳动既⽆经验积累⼜⽆⼈才积累,也扼杀了创造⼒。他认为:反向设计是IC设计者的泥潭,需要坚决反对反向设计,以避免更多的IC设计⼈才陷⼊其中。对此孙建宁表⽰:"仅从技术⾓度看,做反向设计的过程中,也是有许多学习机会的。如果你对别⼈设计的电路能有⼀定程度的了解,就会从中学到⼀些很有⽤的想法。对你做正向设计也会有所帮助。"他
认为如果仅仅是照抄不做任何分析那反向设计也许有点""的味道,他强调反向设计使⼯程师不易成为具备某⼀专长的设计⼈才。读者"lvyaoming"也认为在做反向设计时,关键要理解别⼈的设计,这是成为⼀个⾼⼿的捷径,可以避免⾛很多弯路。读者"Frank Liu"认为:现阶段我国⼤学IC专业的教学中,理论性东西太多,需要在实践中获得经验。
三、专业技能和实践铸就IC设计⾼⼿
在提⾼专业技能⽅⾯,孙建宁认为IC设计发展的趋势是越来越复杂和分⼯⾼度明细,有志于此的话,⾸先是了解设计的流程和分⼯、⾃⼰的特点和喜好,⾄于以后的发展,当因⼈⽽异。参与论坛的⼯程师还就成长为⾼⼿谈了许多个⼈观点,读者"马超"认为:我觉得成为⾼⼿还是
离不开博学、审问、慎思、笃⾏,还要耐得住寂寞,在⼀⾏⼀⼲就⼏⼗年,肯定成为⾼⼿了。读者"Target"认为:不要以为跳槽就可以学到很多东西,只有多做项⽬,还要是项⽬主要设计师,⽐如作系统、算法设计的,才能真正学到东西,⽽不是成为⼀个熟练⼯。读者"cathy"建议:想成为⾼⼿得去⼤公司做,因为是站在巨⼈肩膀上,你的每⼀个想法和设计都会得到与具体事实相符的数据和彻底的验证。
很多⼯程师都认同通过实践成长为⾼⼿的做法,读者"世纪芯 "强调:在我看来,⾼⼿都是通过反复的实践练成的。也就是说通过做⼤量的项⽬,在实践中不断学习和提⾼⾃⼰的技能。课堂是培养不出⾼
⼿的,⾼⼿是在⼯程中练成的!
专家观点:学习、积累、交流-IC设计⾼⼿的成长之路
孙建宁先⽣
职务:深圳国微技术有限公司系统总监
如何成为IC设计⾼⼿?如何提⾼⾃⼰的设计能⼒?⾃⼰的感受是,IC设计不同于⼀般的板级电⼦设计,由于流⽚的投资更⼤,复杂度更⾼,系统性更强,所以学习起来也有些更有意思的地⽅。这⾥就⽃胆跳过基本电⼦知识的⽅⾯,单就⼀些特别的地⽅来表达⼀下个体的感受。
⾸先,作为初学者,需要了解的是IC设计的基本流程。应该做到以下⼏点:基本清楚系统、前端、后端设计和验证的过程,IC设计同半导体物理、通信或多媒体系统设计之间的关系,了解数字电路、混合信号的基本设计过程,弄清楚ASIC,COT这些基本的⾏业模式。窃以为这点对于培养兴趣,建⽴⾃⼰未来的技术⽣涯规划是⼗分重要的。学习基本的设计知识,建议读⼀下台湾CIC的⼀些设计教材,很多都是经典的总结。
EDA技术的学习:对于IC设计者来说,EDA⼯具意义重⼤,透过EDA⼯具商的推介,能够了解到新的设计理念。国内不少IC设计者,是单纯从EDA的⾓度被带⼊IC设计领域的,也有很多的设计者在没有
接触到深亚微⽶⼯艺的时候,也是通过EDA⼚家的推⼴培训建⽴基本概念。同时,对⼀些⾼难度的设计,识别和选择⼯具也是⼗分重要的。
如果你希望有较⾼的设计⽔平,积累经验是⼀个必需的过程。经验积累的效率是有可能提⾼的。以下⼏点可以参考:
1、学习借鉴⼀些经典设计,其中的许多细节是使你的设计成为产品时必需注意的。有些可能是为了适应⼯艺参数的变化,有些可能是为了加速开关过程,有些可能是为了保证系统的稳定性等。通过访真细细观察这些细节,既有收益,也会有乐趣。项⽬组之间,尤其是项⽬组成员之间经常交流,可避免犯同样错误。
2、查⽂献资料是⼀个好⽅法。同"⽼师傅"⼀同做项⽬积累经验也较快。如果有机会参加⼀些有很好设计背景的⼈做的培训,最好是互动式的,也会有较好的收获。
3、当你初步完成⼀项设计的时侯,应当做⼏项检查:了解芯⽚⽣产⼚的⼯艺, 器件模型参数的变化,并据此确定进⾏参数扫描仿真的范围。了解所设计产品的实际使⽤环境,正确设置系统仿真的输⼊条件及负载模型。严格执⾏设计规则和流程对减少设计错误也很有帮助。
4、另外,你需要知识的交流,要重视同前端或系统的交流,深刻理解设计的约束条件。作为初学者,
往往不太清楚系统,除了通过设计⽂档和会议交流来理解⾃⼰的设计任务规范,同系统和前端的沟通是IC设计必不可少的。所谓设计技巧,都是在明了约束条件的基础上⽽⾔的,系统或前端的设计⼯程师,往往能够给初学者很多指导性的意见。
5、重视同后端和加⼯线的交流:IC设计的复杂度太⾼,除了借助EDA⼯具商的主动推介来建⽴概念之外,IC设计者还应该主动地同设计环节的上下游,如后端设计服务或加⼯服务的⼯程师,⼯艺⼯程师之间进⾏主动沟通和学习。对于初学者来说,后端加⼯⼚家往往能够为他们带来⼀些经典的基本理念,⼀些不能犯的错误等基本戒条。⼀些好的后端服务公司,不仅能提供⼗分严格的Design Kit,还能够给出混合信号设计⽅⾯⼗分有益的指导,帮助初学者⾛好起步之路。加⼯⽅⾯的知识,对于IC设计的"产品化"更是⼗分关键。
6、重视验证和测试,做⼀个"偏执狂":IC设计的风险⽐板级电⼦设计来的更⼤,因此试验的机会⼗分宝贵,"偏执狂"的精神,对IC设计的成功来说⼗分关键。除了依靠公司成熟的设计环境,Design Kit和体制的规范来保证成功之外,对验证的重视和深刻理解,是⼀个IC设计者能否经受压⼒和享受成功⼗分关键的部分。由于流⽚的机会相对不多,因此机会更多地参与和理解测试,对产品成功和失败的认真总结与分析,是⼀个IC设计者成长的必经之路。
同⾏交流以及⼯作环境的重要性:IC设计的复杂性和技术的快速发展,使得同⾏之间的交流⼗分关键,
多参与⼀些适合⾃⼰⽔平的讨论组和⾏业会议,对提⾼⽔平也是⼗分有益的。通过同⾏之间的交流,还可以发现环境对于IC设计⽔平的重要影响。公司的财⼒,产品的⽅向,项⽬的难度,很⼤程度上能够影响到⼀个设计者能够达到的最⾼⽔平。
辩证地认识⾃⼰的技术提⾼和环境之间的相互关系,将是国内的设计者在⼀定的阶段会遇到的问题。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。