当前位置: 首页 > news >正文

对于从事芯片行业的人来说,有哪些知识是需要储备的?

近两年芯片行业大火,不少同学想要转行,却不知道该如何下手,需要学习哪些基础知识,下面就来看看资深工程师怎么说?

随着工艺的发展,芯片肯定是尺寸越来越小,至于小到什么样的程度是极限,这很难知道。但不管怎么去生产制造,我们讲时序,你 set up,任何时候都是 set up,这是属于一个基本性的东西,基本上跟你工艺的情况关系不大。

不管你是2纳米的也好,还是200 纳米,我们讲 2000 纳米的这样一个工艺,基础性的东西是一定的,你可能会碰到额外的问题,比如功耗。

第二点我周边的人,做过 7纳米的人不多。你去做一次 mass 可1亿美金,我们就讲了危风险这么大的。这样的一个行业,坦率的讲,不是每个公司都有实力去做这样的一件事情,我们讲的真正大部分的公司。

作为一个过来人,建议大家,去打好技术的基础,我们j讲了rtl,特别是sta,特别是电路方面的基础。将来你去做不管是 2 纳米也好,5 纳米也好,方法基本上都是类似的,只是迭代的次数更多一点而已。这是我个人的一个建议,仅供参考。
在这里插入图片描述

那么各岗位需要学习哪些知识呢?

数字前端设计工程师

1、熟悉数字电路设计
2、熟悉Verilog或VHDL
3、熟悉异步电路设计
4、熟悉FIFO的设计
5、熟悉UNIX系统及其工具的使用
6、熟悉脚本语言Perl、Shell、Tcl等
7、熟悉C/C++语言、SystemVerilog、Matlab等
8、熟悉DC、VCS、Verdi、LEC、PT、Spyglass等工具的使用
9、有FPGA验证经验
10、熟悉CMOS电路原理
11、熟悉数字信号处理算法、通信算法、图像算法、人工智能算法等中的一种或多种
12、熟悉计算机体系结构、熟悉通用MCU/SOC设计流程
13、熟悉各种总线协议、接口协议等14、有相关芯片设计/流片经验

对于刚入门的人来说,数字IC前端设计需要具备的能力:

扎实的Verilog功底
一般来说Verilog是问的最多的,Verilog写代码本身是很容易的,但想要写出高质量的代码,需要有一定的经验。

项目的debug能力
同样一个很简单代码,大家的水平都是不一样的。 这就需要能懂很多的协议,面试的时候水平也就体现了出来。

各种常见的IP都能够了解一下,因为写的代码在前端设计中,用于不同的地方(移动端、通讯芯片等),所以这个岗位需要懂很多的协议,要花费很多的时间了解各种总线,各种架构。

这个岗位的要求虽然比较高,但相比于后端,验证这些岗位掌握的技能反而没那么多,但需要掌握的更扎实。

IC验证工程师

1、学习了数字电路基础课程之后,这样才可以在后续的工作中,去理解RTL硬件设计。
2、要学会相应的编程语言,例如:SystemVerilog,最好也要懂C和C++。
3、还要学习OVM/UVM课程,因为这些都是基于SystemVerilog的一些基础的验证方法学。
4、还要学习好制定验证计划,这样才可以在今后工作中做好搭建验证平台。
5、环境脚本语言也是必学的课程,这样才可以在今后工作中编程时应用得到,如:Tcl,Perl,Python。

IC后端工程师

现阶段由于数字验证的平台有很多种,主要的平台有:
纯verilog平台
SystemC
纯C/C++ (CPU验证)
纯UVM平台
UVM+C/C++平台
其他语言混合平台(Matlab等)
每个平台必备的技能有所不同,但如果你能全部掌握这些技能,那么你就离技术大佬不远了。

由于验证工程师需要编程,所以掌握编程语言也是必须的,比如掌握下面知识就显得比较重要:
Verilog
C/C++
Systemverilog
UVM

脚本语言:
Shell
Makefile
Perl
Python

除了这些外,熟悉一些协议和架构,也是有很大帮助的,比如:
ARM架构
AXI/AHB协议
MIPI协议
DDR协议等等

模拟版图工程师

很多人看到IC行业的薪资很心动,但由于专业和学历的限制,所以一直不敢尝试,但听说模拟版图的门槛比较低,所以跃跃欲试。

实话说,基础比较差的同学可以学,但文科生建议你还是慎重。除非真的非常感兴趣足以克服任何困难。

这里不是说有学科歧视,而是我们要客观认识IC行业的门槛,IC行业本身门槛就比较高。但相比其他岗位来说,模拟版图真的算是最友好的岗位了。

比起其他岗位动辄熟知数电模电,版图岗对专业知识的要求也并不算太高,大致了解掌握慢慢上手就行。

● 熟悉Linux/Unix系统,熟悉Cadence,Calibre,Synopsys等主流版图设计工具;
● 扎实的集成电路工艺以及版图设计理论基础;
● 对寄生参数,噪声,器件匹配等知识有清晰了解熟悉CMOS工艺制程;
● 熟悉ESD保护电路,LATCHUP的原理和产生机制,以及相应的版图预防对策;
● 熟悉模拟/数模混合电路的版图设计方法和技巧;

模拟版图需要掌握的技能有很多,想要转行的朋友一定要打好基本功。

学完基础知识之后项目也是至关重要的。从去年以来,企业更看重项目经验,做过项目和没做过项目,在面试官眼里有很大的差别。这里就建议大家尽可能多参与项目,从企业中获取项目,真正跟着公司做过事情的人面试时的表现是不同的。社招的话有无项目经历、项目的方向、项目完成度都是非常重要的。尤其是社招,项目经验是岗位匹配度的一个重要参考标准。

六大项目资源推荐
在这里插入图片描述

如果你当下对入行/转行有一定困惑和意向,或者想了解项目,以及免费获取学习资料,任何关于转行的问题都有老师会为你解答。

这里放个入口:入行指导

相关文章:

对于从事芯片行业的人来说,有哪些知识是需要储备的?

近两年芯片行业大火,不少同学想要转行,却不知道该如何下手,需要学习哪些基础知识,下面就来看看资深工程师怎么说? 随着工艺的发展,芯片肯定是尺寸越来越小,至于小到什么样的程度是极限&#xf…...

测试场景设计

测试场景设计 又叫做场景法。其实对于场景法是测试用例中面临最多的,但是这种模式不是很容易总结,有时候是基于经验,有时候是我们对系统的了解。所以在这种情况下,我们强硬的用场景法对其进行规范。 场景法原理 现在的软件几乎…...

《重构》增强代码可读性

文章目录重构原则何为重构为何重构何时重构重构会影响性能吗实例原始类进行重构分解statements方法提取函数搬移函数提炼“积分计算”功能去除临时变量(以查询取代临时变量)运用多态取代与价格相关的条件逻辑代码迁移Movie类Price类 状态模式搬移函数以多…...

数据分析自学路线

数据分析作为近几年火起来的IT技术岗位,在大数据时代的浪潮下迅速发酵膨胀,席卷了众多互联网企业,漫延到了金融、教育、医疗、消费等传统行业,在新经济领域也有重要作用,比如人工智能、新能源、电子芯片、企业数字化服…...

蓝桥杯C++组怒刷50道真题

🌼深夜伤感网抑云 - 南辰Music/御小兮 - 单曲 - 网易云音乐 🌼多年后再见你 - 乔洋/周林枫 - 单曲 - 网易云音乐 50题才停更,课业繁忙,有时间就更,2023/3/14/15:06写下 目录 👊填空题 🌼一…...

【期末小作业】HTML、CSS前端静态网页

分享一个可以“趁别人喝咖啡的功夫“”写的一个静态网页,纯纯练手小项目,适合前端刚入门的小白练练手。 前端练手静态页面 实现效果图展示 CSS代码 HTML 代码 环境:VScode编辑器 语言:HTML 、CSS 一、实现效果图 仅仅通过…...

Windows逆向安全(一)之基础知识(二)

反汇编分析C语言 空函数反汇编 #include "stdafx.h"//空函数 void function(){}int main(int argc, char* argv[]) {//调用空函数function();return 0; }我们通过反汇编来分析这段空函数 函数外部 12: function(); 00401048 call ILT5(func…...

Python 基础教程【2】:条件语句和循环语句

本文已收录于专栏🌻《Python 基础》文章目录1、流程控制语句1.1 顺序语句1.2 条件语句1.2.1 if语句注意事项1.2.2 三元运算符1.2.3 自动类型转换1.3 循环语句1.3.1 while 循环1.3.2 for-in 循环1.3.3 for...else 循环1.3.4 break 和 continue 的区别2、实践——猜数…...

【React避坑指南】useEffect 依赖引用类型

前言 如果你是一个入行不久的前端开发,面试中多半会遇到一个问题: 你认为使用React要注意些什么? 这个问题意在考察你对React的使用深度,因为沉浸式地写过一个项目就会发现,不同于一些替你做决定的框架,“…...

Android binder通信实现进程间通信

一.binder通信原理Binder 是 Android 系统中用于跨进程通信的一种机制,它允许一个进程中的组件与另一个进程中的组件进行通信,从而实现进程间通信 (IPC)。Binder 机制是基于 Linux 内核提供的进程间通信机制 (IPC) 实现的。在 Binder 机制中,…...

2023年BeijngCrypt勒索病毒家族最新变种之.halo勒索病毒

目录 前言:简介 一、什么是.halo勒索病毒? 二、.halo勒索病毒是如何传播感染的? 三、感染.halo后缀勒索病毒建议立即做以下几件事情 四、中了.halo后缀的勒索病毒文件怎么恢复? 五、加密数据恢复情况 六、系统安全防护措施建…...

【LeetCode】BM1 反转链表、NC21 链表内指定区间反转

作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 BM1 反转链表 描述: 给定一个单链表的头结点pHead(该头节点是有值的,…...

拼多多24届暑期实习真题

1. 题目描述: 多多开了一家自助餐厅,为了更好地管理库存,多多君每天需要对之前的课流量数据进行分析,并根据客流量的平均数和中位数来制定合理的备货策略。 2. 输入输出描述: 输入描述: 输入共两行&#x…...

JS高级知识总结

文章目录1. this指向问题2. 对象进阶2.1 对象的定义和使用2.2 对象访问器2.2.1 Getter2.2.2 Setter2.3 对象构造器2.4 对象原型2.4.1 prototype属性2.4.2 \_\_proto\_\_ 属性2.4.3 constructor属性2.4.4 原型链2.5 Object对象2.5.1 管理对象2.5.2 保护对象3. 函数进阶3.1 函数的…...

Jenkins+Docker+Maven+gitlab实现自动构建、远程发布

前言 一个项目完整的生命周期是从开发的coding阶段和coding阶段的质量测试,再到多次发布投入使用。目前大部分的测试阶段并不是从coding结束后开始的,而是和coding同步进行的。可能今天早上coding完成一个功能,下午就要投入测试。在这期间&a…...

centos7克隆虚拟机完成后的的一些配置介绍

系列文章目录 centos7配置静态网络常见问题归纳_张小鱼༒的博客-CSDN博客 文章目录 目录 系列文章目录 前言 一、配置Hadoop要下载的压缩包 1、下载对应版本的Hadoop压缩包 2、我们如何查看自己电脑的端口号 3、下载jdk对应的版本 二、虚拟机centos7克隆虚拟机完成后的一些基本…...

C语言/动态内存管理函数

C程序运行时,内存将被划分为三个区域,而动态开辟的内存区间位于堆区。 文章目录 前言 一、内存划分 二、malloc函数 三、calloc函数 四、realloc函数 五、free函数 总结 前言 在使用C语言编写程序时,使用动态内存是不可避免的&#x…...

华为OD机试题,用 Java 解【任务调度】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不要…...

河南农业大学2023春蓝桥杯赛前训练第一场

A 滑板上楼梯 贪心 要求最少次数,尽量多跳三阶的,不能连续跳三阶,三阶后面一定要跟着一个一阶,相当于直接跳四阶 每次跳四阶都是两步(3、1),如果 % 4 之后,正好剩下 3 &#xff0c…...

docker-dockerfile

1.常用保留字指令 FROM : 基础镜像MAINTAINER: 维护者姓名和邮箱RUN : Run ["可执行文件",参数1]; Run [shell命令]EXPOSE: 暴露出的端口号WORKDIR: 登录后的位置USER: 执行用户,默认是rootENV: 构建过程的环境变量ADD: 将宿主机的文件拷贝到…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

Python学习(8) ----- Python的类与对象

Python 中的类&#xff08;Class&#xff09;与对象&#xff08;Object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心。我们可以通过“类是模板&#xff0c;对象是实例”来理解它们的关系。 &#x1f9f1; 一句话理解&#xff1a; 类就像“图纸”&#xff0c;对…...

动态规划-1035.不相交的线-力扣(LeetCode)

一、题目解析 光看题目要求和例图&#xff0c;感觉这题好麻烦&#xff0c;直线不能相交啊&#xff0c;每个数字只属于一条连线啊等等&#xff0c;但我们结合题目所给的信息和例图的内容&#xff0c;这不就是最长公共子序列吗&#xff1f;&#xff0c;我们把最长公共子序列连线起…...

未授权访问事件频发,我们应当如何应对?

在当下&#xff0c;数据已成为企业和组织的核心资产&#xff0c;是推动业务发展、决策制定以及创新的关键驱动力。然而&#xff0c;未授权访问这一隐匿的安全威胁&#xff0c;正如同高悬的达摩克利斯之剑&#xff0c;时刻威胁着数据的安全&#xff0c;一旦触发&#xff0c;便可…...

AT模式下的全局锁冲突如何解决?

一、全局锁冲突解决方案 1. 业务层重试机制&#xff08;推荐方案&#xff09; Service public class OrderService {GlobalTransactionalRetryable(maxAttempts 3, backoff Backoff(delay 100))public void createOrder(OrderDTO order) {// 库存扣减&#xff08;自动加全…...