概述
声明:本系列文章全部来自网络公开资料整理,并在文后附上网页链接。仅用于学习交流。
前言
硕士毕业从事FPGA逻辑开发已N年,对于未来的发展方向、技术提升等充满了困惑、迷茫。此时,恰逢数字IC设计岗位兴起,也顺利获得转岗offer,这也注定了未来几十年北漂的辛苦生活。
仅以此文记录自己的学习成长,希望自己不断提升专业技能,也为其他读者了解SOC工作领域提供参考。
SOC涉及很多外设和不同电路,因此前期文章主要以基础概念整理为主,简要整理相关概念、协议、硬件电路等。后期,再逐渐深入介绍。
本文持续更中。
一、概述
1.1 主要内容
1、基于SOC内部结构,逐一对每个模块对介绍说明;
2、整理介绍SOC开发用到的全部开发软件;
3、介绍SOC开发思想;
4、介绍SOC开发流程;
5、总结SOC开发经验;
二、基础进阶
软件和理论基础 | |
1、linux常用指令 | |
1、makefile | 1、flist |
2、C语言基础 | 2、TCL基础 |
3、linux shell基础 | 3、Perl基础 |
4、SystemVerilog语法 | 5、vim基础 |
6、Python操作excel基础 | 7、verilog语法+:和-: |
8、sublime_text | 9、UVM入门基础 |
10、VCS常用命令 | 11、verdi基础 |
12、SOC芯片内部结构 | 13、ECO |
14、SDC简介 | 15、vivado bit默认路径 |
16、两个显示屏之间鼠标移动方向调整 | 17、win11鼠标文本选择光标变白色 |
18、git版本管理 | 19、示波器基础 |
20、Linux串口调试助手 | |
21、时钟理论基础 | 22、复位理论基础 |
23、低功耗理论基础 | 24、时序约束理论与实践 |
25、后仿理论介绍 | |
数字IC SOC设计基础--协议介绍 | |
1、AMBA总线 | 2、APB |
3、AXI4协议介绍 | 4、低功耗和UPF介绍 |
5、ARMV8 datasheet学习 | 6、二进制和格雷码之间转换介绍 |
7、 | 8、 |
9、 | 10 |
数字IC SOC设计基础 | |
1、WDT | 2、Timers |
3、GPIO | 4、IIC |
5、I2S | 6、SPI |
6.1、Flash | |
7、UART | 8、DMAC |
9、SD协议 | 10、EMMC协议 |
11、SD/SDIO/EMMC | 12、USB |
13、PWM | 14、PDM |
15、ARMv8通用定时器简介 | 16、GIC |
17、ARM Mailbox | 18、MIPI DSI简介 |
19、MIPI CSI RX接口简介 | 20、SMMU |
数字IC SOC设计基础--Multi Media | |
1、 | 2、 |
3、 | 4、 |
数字IC SOC设计基础--CPU | |
1、DDR | 2、ARM-M3 |
3、ARM-A55 | 4、ARM-RISCV |
基于AHB SRAM控制器设计 | 基于AHB FLASH控制器设计 |
芯片集成 | 芯片仿真 |
AHP+APB+CPU小系统构建 | SRAM+SD HOST+FLASH集成和仿真 |
GPIO+ICTL+DMAC | |
图书推荐 | |
手把手教你RISC-V CPU | 我在硅谷管芯片:芯片产品线经理生存指南 |
Linux入门,学习资料:视频“史上最牛的Linux视频教程—兄弟连”,时长36小时(可以尝试X2播放速度观看)。这里跟着视频坚持学习即可。学习目标,初步了解Linux操作系统,初步掌握软件安装、使用。
数字IC SOC设计,学习资料:视频“数字IC SOC设计”,时长49小时(可以尝试X2播放速度观看)。学习目标:了解总线基础知识、DMCA相关内容、SOC集成、仿真环境、Linux开发环境、脚本语言(TCL/Python)
三、 职业发展前景
无论是走技术路线还是管理路线,在工作的前六年主要精力都放在技术提升上,并无太大差别。职级提升大概如下:
硕士毕业0~3年(对应本科0~5年):level 1
硕士毕业3~6年(对应本科5~8年):level 2
硕士毕业6+年(对应本科8+年):level 3
在升到level 3 以后就要考虑自己的职业发展方向了。从level3~level4其实很难说要几年,有的人可能需要3年,有的人需要五年,具体看能力和机会了,大多数人到level4应该是没有问题的。而薪资在此时也基本达到可一个技术人的瓶颈(65-80W)
而level 5,甚至Fellow和Director及以上,是属于少部分人的。要么就是业内大牛,对公司有突出贡献的,要么就是猎头眼中的红人,酒桌上推杯换盏的高管。
Level 5可以说是年薪百万的一道门槛。
而从两个职位发展的前景来看,level 4以前也基本一样,再往上突破,设计应该更占优势一些。做设计更容易转做架构和经理。
注:以上仅代表个人观点,并不绝对。
四、 工作内容
IC设计的主要职责如下:
- 根据功能制定设计方案,制定微架构,编写详细技术文档。
- 使用Verilog进行RTL逻辑设计,实现模块功能。
- 进行逻辑综合、时序分析,完成时序收敛。
- 中小规模的芯片可能还会参与DFT的工作。
- 参与芯片系统调试,后仿真、FPGA验证等工作。
IC验证的主要职责如下:
- 阅读design spec,编写verification spec,制定test plan。
- 搭建验证环境 (C/C++,systemC,systemverilog)。
- 创建test cases。
- 监测regression和提升coverage
- support 其他工程师。
结束语
最后,分享最近读到的一段:
“应该有一个20年的梦想,尽可能大些,尽可能抽象一点。因为你知道20年是很长的时间,可以发生任何事情,这个计划主要以你的梦想为主。
给自己一个不超过10年的理想,这个计划主要以培养和发展你的核心竞争力为主。
对新的机会和趋势永远保持警醒。”
与君共勉
参考
1、作者 | 博文 |
数字IC设计与数字IC验证哪个好 | |
IC发展前景 | |
最后
以上就是美好乌冬面为你收集整理的数字IC设计SOC入门进阶前言一、概述二、基础进阶三、 职业发展前景 四、 工作内容参考的全部内容,希望文章能够帮你解决数字IC设计SOC入门进阶前言一、概述二、基础进阶三、 职业发展前景 四、 工作内容参考所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复