数字前端后端的区别、以及流程简介
  • 前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计。
  • 个人理解是:
  • 数字前端以设计架构为起点,以生成可以布局布线的网表为终点;是用设计的电路实现想法;
  • 主要包括:基本的RTL编程和仿真,前端设计还可以包括IC系统设计、验证(verification)、综合、STA、逻辑等值验证 (equivalence check)。其中IC系统设计最难掌握,它需要多年的IC设计经验和熟悉那个应用领域,就像软件行业的系统架构设计一样,而RTL编程和软件编程相当。
  • 数字后端以布局布线为起点,以生成可以可以送交foundry进行流片的GDS2文件为终点;是将设计的电路制造出来,在工艺上实现想法。
  • 主要包括:后端设计简单说是P&R,但是包括的东西不少,像芯片封装和管脚设计,floorplan,电源布线和功率验证,线间干扰的预防和修 正,时序收敛,STA,DRC,LVS等,要求掌握和熟悉多种EDA工具以及IC生产厂家的具体要求。

  • 术语:tape-out—提交最终GDS2文件做加工;Foundry—芯片代工厂,如中芯国际。。。

    数字前端设计的一般流程:

1.    规格制定

  • 芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。
          2.    详细设计

    Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。目前架构的验证一般基于SystemC语言,对构架模型的仿真可以使用SystemC的仿真工具。其中典型的例子是Synopsys公司的CoCentric和Summit公司的Visual Elite等。

    3.    HDL编码

    使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。

    设计输入工具:具有强大的文本编辑功能,多种输入方法(VHDL,Verilog,状态转移图,模块图等),语法模板,语法检查,自动生产代码和文档等功能。如Active-HDL,VisualVHDL/Verilog等。

    RTL分析检查工具:Synopsys LEDA

    4.    仿真验证

    仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。

    设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。

    仿真验证工具Synopsys的VCS,Mentor ModelSim,Cadence Verilog-XL,Cadence NC-Verilog。
          5.    逻辑综合――Design Compiler

    仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard  cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。

    一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)

    逻辑综合工具Synopsys的Design Compiler(DC),Cadence的 PKS,Synplicity的Synplify等。另外,和综合工具配合使用的还有很多其他工具,如静态时间分析工具,等效性检查工具等等。Synopsys公司和Cadence公司都提供完整的工具包。
          5.1.    STA

    Static Timing  Analysis(STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup  time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。STA工具有Synopsys的Prime Time。
          5.2.    形式验证

    这也是验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。常用的就是等价性检查(Equivalence Check)方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。形式验证工具有Synopsys的Formality。前端设计的流程暂时写到这里。从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。

  • 数字前端后端区别

下面转自:http://blog.sina.com.cn/s/blog_875c3b2f01010pi6.html

IC前端主要是数字前端设计、软件硬件验证、FPGA验证等,前端的入门门槛相对后端较低(但其实还相对其他行业是比较高的)。在北京,就我知道,前端的工程师起薪是7.5k。现在全国合格的前端工程师还是非常少的,数量缺口达到3万。

后端主要是模拟部分以及layout,这方面需要及其丰富的经验,相对应收入会比前端高一点,人才也是奇缺的。人才缺口相对前端就更大了。 同时还有一些IC流程工程师,也是非常吃香的。 前端需要学习的周期相对后端短,后端尤其是模拟部分,完全是靠经验熬出来的,所以如果有毅力,在模拟的路上多走几年,前途(钱途)也是不可限量的。我有一个同学,学模拟的,在公司属于奇缺人才,裁员和他是绝缘体。当然本身实力也很强的, 所以楼主主要看自己吧,喜好哪个方面。IC有时候很有挑战,有时候很枯燥。像我,debug波形多了,会恶心

数字前端主要包括两个方面:设计和验证。设计前期是写verilog代码,到后来就是做些架构层面的东西,设计和验证都是针对逻辑功能而言的,不太关心时序问题
数字后端做实现、流程,主要是学会使用工具软件后端经验比较重要。相对而言,前端的门槛较低,后端门槛较高。

我们来看一下猎头招聘就明白这两个概念了。呵呵。。

高级数字电路工程师 
工作地点:成都       
职位描述:
1.  完成公司ASIC数字前端的设计和验证
2.  配合数字后端部门完成ASIC的后端设计;
3.  配合测试部门完成ASIC的测试;
4.  完成相关文档的整理与编写。
任职要求:
1.    相关专业本科以上学历;
2.    4-5年相关工作经验,具有独立设计模块、芯片能力;
3.    熟练掌握Verilog,熟悉芯片的仿真验证方法,熟悉 NC-Sim CS, Quartus等EDA工具;熟悉ASIC设计流程;了解系统总线架构和常用软硬件接口协议。
4.    良好的沟通协调能力及团队合作精神。

  • 数字后端设计工程师

职位描述:
负责数字电路的综合、自动布局布线、时钟分析、时序修正、电源分析、信号完整性分析、物理验证、代工厂tapeout等数字后端工作,协助前端工程师完成设计、验证和时序分析,完成对代工厂数据交接和对客户技术支持。
任职资格:
1. 微电子相关专业,本科以上学历。
2. 熟悉SOC从RTL到GDS的完整设计流程;                                                                                                          
3. 能够熟练使用Astro/Encounter、DC/PC、PT、Formality、MentorDFT、StarRC、Calibre等相关设计工具的某一套或几种;
4. 较好的英文阅读能力;                                                                                                          
5.高效的学习能力和团对合作精神。

  • 数字前端和后端设计工程师需要具备什么能力

下面转自:http://yuqix.blog.51cto.com/979066/242564

<前端>

  1. 精通verilog(包括2001)的编程,仿真,测试
  2. 充分掌握逻辑综合和时序分析
  3. 理解前端经常使用的各种库的格式和内容,比如.v, .lib
  4. 了解某个应用领域的知识
  5. 学会使用FPGA测试代码
  6. 具备DFT的基本概念

<后端>

  1. 熟悉后端流程,(IO plan, floorplan, power flan, place, CTS, route)
  2. 熟练掌握一种后端工具的使用
  3. 学会如何使用工具分析功耗及其对设计的影响,(static/dynamic IR-drop, EM等)
  4. 学会使用工具分析和解决cross talk问题
  5. 精通时序分析
  6. 理解后端常用库和文件的格式,内容,生成和转换,比如: .lib, spice, lef, def
  7. 精通一种unix script语言,现在大多用perl,也可以用awk。(TCL不是unix script语言,但是也一定要会)
  8. 十分了解circuit design及其工具 (为DRC/LVS准备的)
  9. 具备DFT的基本概念
  10. 了解package design的种类和过程

一个优秀的后端工程师要能够在复杂的结果中,识别出问题的真假,比如时序上的违反,找出解决问题或者防止问题发生的方法,然后灵活有效地使用工具来达到你的要求。
 
作者:china_soc   时间:2007-12-20 17:26

也来说两句前端工程师:
前端工程师还可以考虑掌握:

  1. 掌握系统的划分:功能定义,资源分析,结构划分等体系结构上的知识.
  2. 掌握关于低功耗,高速度,低面积相关的设计理念
  3. 熟悉或掌握系统仿真平台的搭建:前仿真,后仿真和atpg仿真等仿真平台的扩充性和兼容性的知识,仿真一定是一大块了.
  4. 熟悉或掌握集成电路前后端设计流程:前端和后端设计接口及影响和前后端工具的接口及影响
  5. 除.lib,.v外还应掌握,SDF/SPEF/DSPF/RSPF等数据结构
  6. 熟悉或掌握你所有用的厂家工艺的工艺特性.
  7. 掌握形式验证工具.
  8. 掌握静态时序分析工具的使用:比如如何保证你利用静态时序分析分析通过的设计,流片回来时序一定正确.
  9. 掌握perl语言,shell,makefile语言

1)  前端主要负责逻辑实现,通常是使用verilog/VHDL之类语言,进行行为级的描述。而后端,主要负责将前端的设计变成真正的 schematic&layout,流片,量产。打个比喻来说,前端就像是做蓝图的,可以功能性,结构性的东西。而后端则是将蓝图变成真正的高楼。

2)  前端设计主要是进行功能设计,代码的编写,要会使用硬件描述语言,也就是上面有提到的verilog/VHDL等,当然,也会要使用一些仿真软件。后端设计需要的则会更加多一些了,包括综合,到P&R,以及最后的STA,这些工具里candence和synopsys都有一整套系统的。有关心的可以去他们的网站看看。

其实前端和后端对于编程没有特别的要求。前端的设计会需要使用硬件描述语言来写代码,但是,需要注意的是,这里指的是"描述",而不像是C或者 java之类的强调编程技巧啊什么的。所以,这个选择就看你自己了,而与编程没有什么特别的关系了。

浅谈IC前端后端的区别、以及流程简介相关推荐

  1. 用python前端html后端django_浅谈Django前端后端值传递问题

    前端后端传值问题总结 前端传给后端 通过表单传值 1.通过表单get请求传值 在前端当通过get的方式传值时,表单中的标签的name值将会被当做action的地址的参数 此时,在后端可以通过get请求 ...

  2. 冲压模具设计浅谈IC端子模具

    冲压模具设计浅谈IC端子模具 IC导线架是半导体及信息产品之关键性金属组件,随着半导体及信息产业之蓬勃发展,其市场需求甚巨且呈快速成长.IC导线架冲压模具是精度水准最高的模具代表,不仅要有高级的模具设 ...

  3. 数字前端后端的区别、以及流程简介

    数字前端后端的区别.以及流程简介 下面转自:https://www.cnblogs.com/youngforever/p/3142483.html 前端设计(也称逻辑设计)和后端设计(也称物理设计)并 ...

  4. android应用前端,Android应用开发之浅谈移动前端适配

    本文将带你了解Android应用开发之浅谈移动前端适配,希望本文对大家学Android有所帮助 1. 什么是前端适配 从UI展现层面上: 我们期望不同尺寸的设备,页面可以自适应的展示或者进行等比缩放, ...

  5. 浅谈 unix, linux, ios, android 区别和联系

    浅谈 unix, linux, ios, android 区别和联系 网上的答案并不是很好,便从网上整理的相对专业的问答. 1.UNIX 和 Linux UNIX 操作系统(尤尼斯), 是一个强大的多 ...

  6. 建造者模式浅谈 与工厂模式的区别

    感谢您的阅读.如果感觉文章对您有用,麻烦您动动手指点个赞,以资鼓励.谢谢! 转载请注明出处哈 建造者模式浅谈 与工厂模式的区别_茄子_土豆的博客-CSDN博客_建造者模式和工厂模式的区别 创建对象时构 ...

  7. c语言宽字符与wchar,浅谈c++ 字符类型总结区别wchar_t,char,WCHAR

    1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数. UNICODE:wchar ...

  8. 【浅谈】前端禁止浏览器记住密码

    [浅谈]前端禁止浏览器记住密码 浏览器记住是基于type='password',将password改为text,采用文本输入 将v-model的绑定方式改为这种输入,input框中显示的是经过转换的* ...

  9. 浅谈jpa和mybatis的区别

    作者:唯有努力不欺人丶 https://www.jianshu.com/p/32ce87c163d6 链接:https://www.jianshu.com/p/32ce87c163d6 著作权归作者所 ...

最新文章

  1. 修复Chrome上的ERR_TOO_MANY_REDIRECTS错误?
  2. linux环境下安装gcc
  3. 如何查看sqlserver日志的方法
  4. java直接选择排序_Java排序大法-直接选择排序
  5. Windows Server 2016多用户同时登录远程桌面
  6. EChart:EChart与NProgress结合异步加载数据
  7. java derby xsai2,java-j内的引用罐
  8. CAS、AQS、锁以及并发工具
  9. 高端android手机,7月Android中高端手机性能榜出炉:华为高端落榜,中端没进前三!...
  10. CCPP Blog 目录
  11. Ubuntu20.4 搭建OnlyOffice文档服务器
  12. 中级财管电脑操作不会用计算机,很全面!2018年中级无纸化考试财管公式输入方法及计算器操作说明...
  13. tableau中的fixed函数和exclude函数傻傻分不清?
  14. C#腾讯地图Web端定位地址搜索及手机导航
  15. 用PS制作动态雪景的教程
  16. 编程是一场漫长的修行
  17. 手机QQ浏览器如何支持html5,手机QQ浏览器五大策略打造HTML5平台
  18. 是时候选择诺基亚Windows Phone手机
  19. 微信小程序入门篇(二)
  20. 3.29黄金周初能空吗?黄金原油今日精准策略及沪银涨跌分析

热门文章

  1. 两个周末整理的垃圾回收知识,我要吐血了
  2. Hadoop组件学习(一) —— 单点与集群的配置
  3. 外设中断产生 + CPU响应中断并返回的控制流程
  4. 自学python可以找到工作吗_通过自学python能找到工作吗
  5. 艾永亮:这家75亿美元的面包店如何通过超级产品战略对垒星巴克
  6. Android - ViewModel LiveData
  7. docker 存储驱动之overlay
  8. 网络营销:快手如何快速开通直播权限?
  9. 抖音直播带货开通条件及步骤要求
  10. 响应式框架简单知识介绍