IC前端和后端设计的区别

IBM工程师培训的时候,讲到了一个IC设计前端、后端的概念,虽然我们参赛的内容主要是做应用,但面临读研方向的选择,还是到网上找了点资料,了解了一下。

问题:我是刚刚接触这方面不久,所以迫切想了解一下:1.什么是大家常的IC前端设计和后端设计他们之间的区别是什么2.做前端设计和后端设计需要掌握哪些最基本的工具和知识呢比如多手机或者其他娱乐型电子产品上的IC设计.3.对于不太精通编程,但对数字和模拟电路有一定基础的人是适合做前端,还是后端呢

整理的回帖如下:

首先,我不算是高人,不过前,后端都有接触,我就大概回答一下吧,有说的不对的地方,请高人指正。1,前端主要负责逻辑实现,通常是使用verilog/VHDL之类语言,进行行为级的描述。而后端,主要负责将前端的设计变成真正的schematic&layout,流片,量产。打个比喻来说,前端就像是做蓝图的,可以功能性,结构性的东西。而后端则是将蓝图变成真正的高楼。2,前端设计主要是进行功能设计,代码的编写,要会使用硬件描述语言,也就是上面有提到的verilog/VHDL等,当然,也会要使用一些仿真软件。后端设计需要的则会更加多一些了,包括综合,到P&R,以及最后的STA,这些工具里candence和synopsys都有一整套系统的。有关心的可以去他们的网站看看。3,其实前端和后端对于编程没有特别的要求。前端的设计会需要使用硬件描述语言来写代码,但是,需要注意的是,这里指的是"描述",而不像是C或者java之类的强调编程技巧啊什么的。所以,这个选择就看你自己了,而与编程没有什么特别的关系了。

glclub后端设计主要要求哪些技能呢?譬如在iclayout过程中要求那些软件呢?:包括综合,到P&R,以及最后的STA,这些是我上面的提到的,各个公司根据需要,还会有不同的其它的要求。另外,我不是特别清楚你指的"iclayout"是什么概念,P&R的话有candencesoc-encounter/synopsysAstro,手工的话,有candencevirtuoso。jasonxia前端设计除了要会verilog/VHDL之外,还有什么要求呢?我本身是做后端的,所以,对于前端的要求也不是特别的清楚。根据我的认识,前端会分为设计部和验证部,设计部更加的注重算法、工作原理等方面,毕竟用verilog实现起来并不困难。而验证部就是保证设计的正确性。至于具体有什么样的要求,我也就不是特别的清楚了。

做一点补充:(如有错误,不吝赐教)一般来说,可以将版图实现前的所有设计都认为是前端设计,应该包括系统级设计,行为级设计,RTL级设计和晶体管级设计(好像不全);后端设计是将晶体管级设计在版图上实现,数字前端设计一般都做到RTL级,是因为其后的前端设计步骤一般已经由fundry完成,RTL级已经可以使用现成的由MOS构成的功能单元了(IP是一个新的发展)。而对于analog的前端设计,则一般要完成到MOS级别,才能算完成前端设计。前端可能用到的软件由于设计层次不同,类别很多:如HSPICE,synopsys的DC,VCS,cadence的spectre,所用到的语言有verilog,VHDL,SystemC,VerilogA等而后端设计就是用MOS完成版图(analog),或用MOS构成的单元来组合完成版图(digital)。常用工具有L-EDIT,Cadence的se,virtuso等

IC前端设计指逻辑设计;

IC后端设计指物理设计。

前端:就是将你的想法或别人的想法用你设计的电路来实现,也就是说你可以通过电路设计来实现你的想法。可以这样说,那时你就是一个科学家。有人这样认为:一个好的前端IC设计师不应该叫设计师而应该叫科学家。后端:就是将你设计的电路制造出来,要在工艺上实现你的想法。

完全同意斑竹的观点,再做一点点补充,供大家参考。

除了RTL编程和仿真这两个基本要求外,前端设计还可以包括IC系统设计、验证(verification)、综合、STA、逻辑等值验证(equivalencecheck)。其中IC系统设计最难掌握,它需要多年的IC设计经验和熟悉那个应用领域,就像软件行业的系统架构设计一样,而RTL编程和软件编程相当。适合作为IC设计的入门。

还有一些即可以属于前端也可以属于后端的灰色领域,比如DFT(designfortest)

版主,encounter的Amebaplace效果似乎比不上synopsy的PhCplaceencounter的nanoroute似乎也算不上什么特别了不起的工具。最近听说有家公司有个最新的工具,他们自称其工具要超前encounter两年,尤其在Timing上面信心十足。可是我得不到这个新工具的资料,你能给提供一下吗。叫什么玛古玛。

(1)Magma

(2)Synopsys

(3)Cadence

以下只是个人和本公司的评价,不一定十分全面,仅供参考。

Cadence:优点:拥有一批非常优秀的EDA软件,如:RTLCompiler,Encounter,Nanoroute,CeltIc等(只限于单独使用)。缺点:虽然是老牌后端设计公司,可是现在的支柱产品都是最近几年买来的,自己以前的东西剩下的不多了。上述产品的整合是个大问题。现在的产品不擅长于复杂时序的收敛。

Magma:优点:最近5年异军突起的一家EDA公司,拥有一套自己独特的算法和漂亮好用的GUI,在复杂时序的收敛上异常优异。缺点:附带产品不够全面,价钱高

我们的作法是取各个公司最好的部分,自己整合出一套后端设计平台。比如:SynopsysDesign-Compiler,DFT-Compiler,PrimeTime+MagmaBlastFusion(Place&route)+CadenceQX,LEC,CeltIc+MentorCalibre

随着中国IC设计产业渐入佳境,越来越多的工程师加入到这个新兴产业中。从一个初学者成长到主持大型设计的IC设计专家,这是每个IC设计工程师的理想。在这个新兴的领域里,IC设计工程师需要领路的"师傅",但是没有"师傅",该怎么提高?近日,电子工程专辑网站邀请到深圳国微技术有限公司系统总监孙建宁先生担任《如何成为IC设计高手?》论坛的嘉宾与工程师交流成长心得,论坛中的一些观点颇有参考价值。

一、学习、积累、交流-IC设计高手的成长之路

如何成为IC设计高手?如何提高自己的设计能力?孙建宁先生提出首先要学习,作为初学者,需要了解的是IC设计的基本流程。应该做到以下几点:基本清楚系统、前端、后端设计和验证的过程,IC设计同半导体物理、通信或多媒体系统设计之间的关系,了解数字电路、混合信号的基本设计过程,弄清楚ASIC,COT这些基本的行业模式。他认为这对于培养兴趣,建立自己未来的技术生涯规划是十分重要的。

另外,在向高手迈进的过程中,积累和交流也是很重要的。积累指要学习借鉴一些经典设计,而通过访真细细观察这些经典设计的细节,既有收益,也会有乐趣。在交流方面,要重视同前端或系统的交流,深刻理解设计的约束条件。作为初学者,往往不太清楚系统,除了通过设计文档和会议交流来理解自己的设计任务规范,同系统和前端的沟通是IC设计必不可少的。所谓设计技巧,都是在明了约束条件的基础上而言的,系统或前端的设计工程师,往往能够给初学者很多指导性的意见。

当然还要重视同后端和加工线的交流,IC设计者还应该主动地同设计环节的上下游,如后端设计服务或加工服务的工程师,工艺工程师进行主动沟通和学习。对于初学者来说,后端加工厂家往往能够为他们带来一些经典的基本理念,一些不能犯的错误等基本戒条。而同行之间的对提高水平也是十分有益的。通过同行之间的交流,还可以发现环境对于IC设计水平的重要影响。

此外,他还建议要重视验证和测试,做一个"偏执狂",他认为:对验证的重视和深刻理解,是一个IC设计者能否经受压力和享受成功十分关键的部分。由于流片的机会相对不多,因此找机会更多地参与和理解测试,对产品成功和失败的认真总结与分析,是一个IC设计者成长的必经之路。

二、做反向设计可以成为高手吗?

论坛中很多工程师提到现在国内一些IC公司在做反向设计,读者刘宇认为反向设计虽给我们带了一定的经济利益,但同时带来无数重复的劳动。这种劳动既无经验积累又无人才积累,也扼杀了创造力。他认为:反向设计是IC设计者的泥潭,需要坚决反对反向设计,以避免更多的IC设计人才陷入其中。对此孙建宁表示:"仅从技术角度看,做反向设计的过程中,也是有许多学习机会的。如果你对别人设计的电路能有一定程度的了解,就会从中学到一些很有用的想法。对你做正向设计也会有所帮助。"他认为如果仅仅是照抄不做任何分析那反向设计也许有点"吸毒"的味道,他强调反向设计使工程师不易成为具备某一专长的设计人才。读者"lvyaoming"也认为在做反向设计时,关键要理解别人的设计,这是成为一个高手的捷径,可以避免走很多弯路。读者"FrankLiu"认为:现阶段我国大学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设计者还应该主动地同设计环节的上下游,如后端设计服务或加工服务的工程师,工艺工程师之间进行主动沟通和学习。对于初学者来说,后端加工厂家往往能够为他们带来一些经典的基本理念,一些不能犯的错误等基本戒条。一些好的后端服务公司,不仅能提供十分严格的DesignKit,还能够给出混合信号设计方面十分有益的指导,帮助初学者走好起步之路。加工方面的知识,对于IC设计的"产品化"更是十分关键。

6、重视验证和测试,做一个"偏执狂":IC设计的风险比板级电子设计来的更大,因此试验的机会十分宝贵,"偏执狂"的精神,对IC设计的成功来说十分关键。除了依靠公司成熟的设计环境,DesignKit和体制的规范来保证成功之外,对验证的重视和深刻理解,是一个IC设计者能否经受压力和享受成功十分关键的部分。由于流片的机会相对不多,因此找机会更多地参与和理解测试,对产品成功和失败的认真总结与分析,是一个IC设计者成长的必经之路。

同行交流以及工作环境的重要性:IC设计的复杂性和技术的快速发展,使得同行之间的交流十分关键,多参与一些适合自己水平的讨论组和行业会议,对提高水平也是十分有益的。通过同行之间的交流,还可以发现环境对于IC设计水平的重要影响。公司的财力,产品的方向,项目的难度,很大程度上能够影响到一个设计者能够达到的最高水平。

辩证地认识自己的技术提高和环境之间的相互关系,将是国内的设计者在一定的阶段会遇到的问题

联系地址:深圳市南山区南头街道桃园路8号田厦国际中心A座2905

THE END
1.在互联网行业中,产品经理属于前端还是后端啊?所以你可以认为产品经理是前端和后端的中枢,这个岗位需要把前端销售人员接收到的用户需求,转换成具体的...https://zq.zhaopin.com/question/7188074
2.助力泛安防产品落地,瑞芯微推出前后端完整解决方案近日,瑞芯微针对智慧视觉应用领域发布完整解决方案:聚焦前端产品的RV1126/RV1109两大智慧视觉处理器、专注后端NVR/XVR产品方案RK3568和RK3588。多场景覆盖之下,将智慧视觉产品从“看得见”、“看得清”迈入“看得深”、“看得懂”、“能预见”的多维智能感知视界。 http://www.rock-chips.com/a/cn/news/rockchip/2021/0106/1370.html
3.最全的产品经理分类和前端的产品工作进行关联,主要是服务于自己企业的运营和业务人员,这种我们也叫做后台产品经理,比如淘宝后台的产品经理可能就负责订单中心、CMS中心、商品中心等后端产品设计。 按照职级分 如果产品经理的分类按照职级来分的话,分为产品专员/助理、产品经理、高级产品经理、产品总监,这个可参考之前的一篇文章:产品经理必知...https://www.niaogebiji.com/article-63346-1.html
4.后端开发与前端开发的区别?此外,在技能方面也存在一些差异,前端开发者需要掌握前端技术,如HTML、CSS和JavaScript等;而后端开发者则需要掌握数据库技术、服务器编程等后端技术。最后,前端开发和后端开发在职业发展方面也有一些差异,但它们相互依赖、相互促进,共同推动软件的开发和发展。通过协作和沟通,前后端开发者可以共同创造出优质的软件产品,为...http://m.lewlx.com/member/9220-article/17330
5.产品经理需要懂技术吗?4.不同状态下的操作反馈有区别吗?具体有什么区别? 而对于开发和测试而言,他们希望从产品经理这里获得的信息,也就是这两样。因为开发的工作分为后端和前端:后端负责提供数据、接口传递;前端负责交互效果实现、页面效果;测试则需要确保这些逻辑都能实现。这些实现的前提,都是必须有明确的数据来源和清晰的操作规则流程。http://yun.itheima.com/jishu/376.html
6....我一般将企业分成三个部分,前端中端和后端。前端就是市场方面...《观察企业一般看哪些地方》观察企业,我一般将企业分成三个部分,前端、中端和后端。前端就是市场方面,接触消费者的部分。主要包括产品的市场营销、销售、占有率、用户的使用与反馈等,直白点说就是产品卖的好不好,市场占有率高不高,用户口碑好不好,当然这一切都要源于https://xueqiu.com/3089533794/240331484
1.前端产品经理和后端产品经理的主要区别是什么大白PM总结:前端产品和后端产品最大的不同是产品形态的不同、面向用户群体的不同。探讨前端产品经理和后端产品经理的主要区别我认为核心还是探讨前端产品和后端产品的区别。 前端产品经理 也叫2C产品经理或C端产品经理或客户端产品经理。主要面向普通用户或被服务者。比如**点评客户端,团购客户端,打车客户端等等。这...https://www.jianshu.com/p/53f7a203bce1
2.全面讨论后端前端客户端的区别全面讨论 后端、前端、客户端的区别 帖子背景 楼主看到今年不少友友暑期实习都或多或少,被客户端岗位打捞起来面试;也有很多友友本来是投的后端,结果拿了客户端的offer,不知道改不改转客户端。 楼主之前在字节的CapCut做过半年的客户端开发实习生,对客户端有一个基本的了解,再加上后端楼主也实习过,所以两个方向...https://m.nowcoder.com/discuss/616306212254015488
3.后端和后端产品经理有什么区别3、对数据敏感,善于分析数据优化产品,良好的逻辑分析能力;; 4、有火车票供应链系统项目经验优先 后端产品经理 来自同程旅行 更新于 2024-11-11 查看更多岗位职责 工资待遇区别 岗位名称 平均工资 较上年 后端 ¥22.9K -7% 后端产品经理 ¥20.8K -3% 说明:后端和后端产品经理哪个工资高?后端高于后端...https://www.jobui.com/gangwei/pk/houduan-houduanchanpinjingli/
4.空调系统中表冷器装在离心通风机前端和后端的区别风机盘管通...欢迎前来供应商网(https://www.gys.cn)了解德州鼎兴空调设备有限公司发布的空调系统中表冷器装在离心通风机前端和后端的区别风机盘管通价格、厂家信息,产品和服务质量好,性价比高,为您节省采购成本!进网站查看卖家电话。https://www.china.cn/huanre/4648362628.html
5.来说说前端PM和后端PM的区别以及他们到底是干嘛的后端产品的PM,又称back-end PM/PM-technical, 和前端PM不同的地方在于不太跟UI打交道,管理的产品比较偏technical,比如cloud infrastructure, database products, APIs, ML algorithm(ads啦,ranking啦,tinder matching啦)等等。 需要掌握的technical知识: https://www.douban.com/group/topic/205004981/
6.前端和后端的区别(共6篇)“小蜜蜂别惹我哭”投稿了6篇前端和后端的区别,以下是小编帮大家整理后的前端和后端的区别,供大家参考借鉴,希望可以帮助到您。 篇1:前端和后端的区别 前端就是我们可以直接查看的一部分,它涉及用户可以看到,触摸和体验的`一切。比如你在网站上看到的各种各样的图形、按钮,图片,导航菜单等。前端也被称为“客户端”...https://www.hrrsj.com/wendang/qitafanwen/850453.html
7.?前端和后端的区别和联系:介绍两种开发的职责技能和工具在Web开发中,前端和后端是两个核心领域,它们分别负责用户界面和服务器端的开发工作。本文将介绍前端和后端开发的职责、技能和工具,并探讨它们之间的联系和合作。 1.前端开发 1.1 职责: 负责实现用户界面,包括网页的布局、样式和交互。 与设计师合作,将设计稿转化为可交互的网页。 https://cloud.tencent.com/developer/article/2388767
8.后端产品经理:一套系统从无到有的设计界面新闻·JMedia具备将客观世界抽象成架构、模块、模型的能力; 路漫漫其修远,后端产品经理的成长是一个厚积薄发的过程,需要长期的坚持、积累、思考。 希望本文能够帮助读者对系统的设计有一个大体的认知和理解,并融入到工作中,形成更深层次的思考。 本文由 @杨堃 原创发布于人人都是产品经理。未经许可,禁止转载...https://www.jiemian.com/article/1775855.html
9.服务端前端客户端后端有什么区别–PingCode一、服务端,前端,客户端,后端的区别 服务端、前端、客户端和后端之间的区别主要是所负责的任务不同。服务端负责处理客户端请求和提供各种服务和API接口,前端负责与用户交互和展示数据,客户端负责提供移动端应用程序,后端负责数据的存储和处理等。 1、服务端(Server-side) ...https://docs.pingcode.com/docs.pingcode.com/ask/21715.html
10.web前端开发岗位职责(20篇)2 与后端软件工程师沟通,完成产品功能开发 3 实现前端产品业务逻辑和界面交互的.研发需求,保证产品的用户体验 任职要求: 1. 1-2年以上前端开发经验 2. 能够熟练运用HTML、CSS、JavaScript构建高性能的Web应用程序 3. 熟练使用webpack 前端构建工具 4. 熟悉Vue前端视图框架 ...https://www.oh100.com/peixun/Web_Services/477068.html
11.前端工程师和后端工程师的区别有哪些?前端工程师和后端工程师的区别1、职能不同 前端工程师是互联网时代软件产品研发中不可缺少的一种比较专业研发角色,处理PC端,移动端网页等交互问题。后端工程师它是隶属于软件研发工程师,即从事软件开发相关工作人员,它的主要职责就是平台设计,接口设计以及功能实现。 https://www.pxwy.cn/news-id-30126.html
12.聊一聊所谓的B端C化例如,在产品案例中,产品的底层逻辑是前端输入材料ID,后端返回材料可以使用,从产品业务的角度来看,设计没有问题,符合产品的底层逻辑;但从用户的角度来看,用户想使用材料,也想找到ID,然后输入搜索,像C端一样为用户选择? 2. 行为习惯 行为习惯自然是指用户群体的行为习惯、电力行业、社会行业等不同行业的习惯、专业术...https://www.tulingxueyuan.cn/tlzx/jsp/3562.html
13.前端监控的原理监控前端和后端的区别前端异常是指在用户使用Web应用时无法快速得到符合预期结果的情况,不同的异常带来的后果程度不同,轻则引起用户使用不悦,重则导致产品无法使用,使用户丧失对产品的认可。 1、前端异常 前端异常是指在用户使用Web应用时无法快速得到符合预期结果的情况,不同的异常带来的后果程度不同,轻则引起用户使用不悦,重则导致产品...https://blog.51cto.com/u_16099262/10568073