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.web前端开发与后端开发有什么区别?企业对于web前端开发工程师的需求量也越来越大,使得很多人也通过Web前端开发工程师培训课程成功的晋升为Web前端开发工程师,Web前端开发工程师作为一个专业技术岗位,需要掌握多种技术来构建现代化的网页和应用程序,今天八维职业学校和大家一起来看看web前端开发与后端开发有什么区别,希望对想要学习和了解web前端开发工程师...https://www.bwie.com/jsgh/231.html
2.前端组件·致远开放平台附件组件的使用分为前端和后端,前两部分配合使用才能实现完整的附件相关功能。前端负责界面展现,后端负责附件的保存、获取相关逻辑。在开发时需要分别编写前、后端代码。 附件上传分为下面几种方式: 标准方式:即附件的显示、保存等功能不需要调用者关系,组件会完成所有功能。调用者只按要求调用几个接口即可。使用方法参考...http://open.seeyon.com/book/ctp/frount.html
3.前端和后端的区别前端和后端有什么区别常见问题前端和后端有什么区别 区别:前端主要关注用户界面和用户交互,而后端则负责处理数据和业务逻辑,二者相互配合构建完整的web应用程序。 前端和后端在Web开发中扮演着不同的角色,主要区别如下: 功能: 前端:负责用户界面和用户体验,包括网页的设计、布局、交互和样式。https://m.php.cn/faq/713299.html
1.前端开发和后端有什么区别工资待遇区别 岗位名称 平均工资 较上年 前端开发 ¥16.7K -4% 后端 ¥22.9K -7% 说明:前端开发和后端哪个工资高?前端开发低于后端。前端开发平均工资¥16.7K/月,2024年工资¥16.9K,2024年工资低于2023年,后端平均工资¥22.9K/月,2024年工资¥22.9K,2024年工资低于2023年,统计依赖于各大平台发布的...https://www.jobui.com/gangwei/pk/qianduankaifa-houduan/
2.数字前端后端的区别以及流程简介数字前端后端的区别、以及流程简介 前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计。 个人理解是: 数字前端以设计架构为起点,以生成可以布局布线的网表为终点;是用设计的电路实现想法; 主要包括:基本的RTL编程和仿真,前端设计还可以包括IC系统设计、验证(...https://blog.csdn.net/weixin_42905573/article/details/107344173
3.模拟前端和数字后端哪个好模拟前端和数字后端的区别模拟前端和数字后端都是电子系统设计中的重要环节,它们各自扮演着不可或缺的角色,难以简单地进行优劣比较。 模拟前端主要关注于将真实世界的模拟信号转换为数字信号,它是连接物理世界与数字世界的桥梁。模拟前端的设计需要考虑信号的完整性、噪声抑制、信号放大等诸多因素,对于系统的整体性能有着直接的影响。因此,模拟前...https://www.elecfans.com/d/2516103.html
4.单页Web应用:JavaScript从前端到后端腾讯云开发者社区3.必须记住,每次调用函数时都会创建一个唯一的执行环境对象。函数执行完后,执行对象就被丢弃,除非调用者引用 了它。如果函数返回的是一个数字,就不能引用函数的执行环境对象,但是,如果函数返回的是一个更复杂的结构,像是函数对象或者数组,将返回值保存到一个变量上,就创建了一个对执行环境的引用。 https://cloud.tencent.com/developer/article/1481186
5.设计理论:字体设计的基本知识心得技巧网页制作问:如何配置好前端和后端字库,它们之间的关系对排版的影响? 答:排版软件中的字体设置是根据发排软件中的字体情况来设置的,如果后端发排软件中有的字库在排版软件中不用设置下载,反之则需要下载。 问:GB字库和GBK字库又有何区别如何应用? 答:GBK字库比GB字库包容的汉字要多的多,GBK字库达到了21003个字,这样大大...https://www.jb51.net/web/7100_all.html
6.关于HTTPRequestSmuggling(HTTP请求夹带)的二三事这样一来,前端服务器和后端服务器对模糊构造的Transfer-Encoding标头解析结果不同,相互之间对请求的边界不能形成共识,就会导致请求夹带漏洞的产生。 漏洞解析 HTTP请求夹带攻击需要将Content-Length头和Transfer-Encodeing头放入单个请求中,并操控使得前端和后端服务器以不同方式处理请求,这种攻击取决于前端和后端两台服务器...https://xz.aliyun.com/t/11728?page=5
7.漫谈车规MCU之何为车规?2.1 需求定义(MRD和PRD) 2.2 前端设计(数字外设和模拟外设IP设计) 2.3 逻辑仿真和数字验证 2.4 后端设计与仿真 2.5 流片与ECO设计修改 2.6 回片测试与EVB功能验证 2.7 CP测试 2.8 Bonding与封装 2.9 FT测试与老化测试(Burn-In) 2.10 AEC-Q100可靠性测试 ...https://www.eet-china.com/mp/a246307.html
8.前端测试和后端测试的区别是什么那么,前端测试和后端测试的区别是什么呢? 1、测试重点不同:前端测试主要关注用户界面的设计和交互体验,包括页面布局、按钮、文本框、表单、链接等元素的设计和功能测试,以确保用户可以轻松地与应用程序或网站进行交互并完成所需的任务。后端测试则更注重系统功能的正确性、性能和安全性等方面的测试,以确保应用程序或网...https://www.pxwy.cn/news-id-80180.html
9.适合普通大学生的前端学习路线前端和后端相比,需要学习的知识还是要少很多,如果你要入门后端,你可以要学习一大堆只是,但是你入门前端,只要把 HTML + CSS + JavaScript 这三门知识学习了,就基本差不多入门前端了。 假如你没有明确的目标,或许可以按照我说的学习路线来学习一波,我写的每一份学习路线,不会很全面,因为我认为,东西列的太多,反而...https://www.51cto.com/article/674444.html
10.发动机的前端是什么?如何区分发动机的前端和后端?一般发动机飞轮的末端是后端,也就是动力输出端,后面是减震器、变矩器、变速箱等等。与后端相对的是前端。前端一般有发电机、水泵、空调压缩机、风扇等配件。用皮带连接,所以可以看到很多滑轮。 发动机前端和后端的区别: 按照曲轴的朝向,简单来说,曲轴带皮带轮的一端是发动机的前端,带飞轮的另一端是发动机的后端。可...https://www.yoojia.com/ask/5-14752006640958413911.html
11.前端校验和后端校验区别前端校验和后端校验区别 技术标签:postman软件测试 前台验证数据格式 后台验证的是数据的正确性 当下流行的系统架构方案中,前端和后端都是分离开的。 目的:① 为了方便前端开发人员和后端开发人员可以同时开发;② 前后端分离也使得前后端的代码可以分开进行管理,方便了各自的版本迭代及控制。 1.1前端校验 就是通过前端...https://www.pianshen.com/article/90762848064/
12.前端产品经理和后端产品经理的主要区别是什么大白PM总结:前端产品和后端产品最大的不同是产品形态的不同、面向用户群体的不同。探讨前端产品经理和后端产品经理的主要区别我认为核心还是探讨前端产品和后端产品的区别。 前端产品经理 也叫2C产品经理或C端产品经理或客户端产品经理。主要面向普通用户或被服务者。比如**点评客户端,团购客户端,打车客户端等等。这...https://www.jianshu.com/p/53f7a203bce1