首先,我不算是高人,不过前,后端都有接触,我就大概回答一下吧,有说的不对的地方,请高人指正。 1,前端主要负责逻辑实现,通常是使用verilog/VHDL之类语言,进行行为级的描述。而后端,主要负责将前端的设计变成真正的schema
tic&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年时间不行。
8