数字IC全站文章索引demo版(建议收藏慢慢看)

    • 一、项目说明
      • 1.1 索引目的
      • 1.2 收录原则
      • 1.3 投稿方式
      • 1.4 版本迭代
    • 二、数字IC学习路线
    • 三、通用技能篇
      • 3.1 数字电路
      • 3.2 硬件描述语言(Verilog)
      • 3.3 linux操作系统
      • 3.4 C语言
      • 3.5 微机原理
      • 3.6 汇编语言
      • 3.7 计算机组成原理
      • 3.8 计算机体系架构
      • 3.9 STA静态时序分析
      • 3.10 SystemVerilog
      • 3.11 UVM
      • 3.12 SVA
      • 3.13 信号与系统
      • 3.14 数字信号处理
    • 四、总线、接口与协议
      • 4.1 UART协议
      • 4.2 SPI协议
      • 4.3 I2C协议
      • 4.4 AMBA协议
        • 4.4.1 AHB
        • 4.4.2 APB
        • 4.4.3 AXI
        • 4.4.4 AXI-stream
        • 4.4.5 ACE
      • 4.5 LIN总线
      • 4.6 CAN总线
      • 4.7 GPIO接口
      • 4.8 SDIO 接口
      • 4.9 JTAG
      • 4.9 PCIE 总线
      • 4.10 NOC总线
      • 4.10 USB协议
      • 4.11 DDR协议
      • 4.12 I2S(音频接口)
      • 4.13 VGA(视频接口)
      • 4.14 DVI(视频接口)
      • 4.15 HDMI(高清多媒体接口)
      • 4.16 DP(显示接口)
      • 4.17 SDI接口
      • 4.18 BNC接口
      • 4.19 CameraLink接口
      • 4.20 MIPI接口
    • 五、脚本语言篇
      • 5.1 Tcl脚本语言
      • 5.2 Perl脚本语言
      • 5.3 Shell脚本语言
      • 5.4 Python脚本语言
      • 5.5 正则匹配
      • 5.6 Makefile
    • 六、工具使用篇
      • 6.1 Modesim/Questasim
      • 6.2 VCS
      • 6.3 Verdi
      • 6.4 DC
      • 6.5 nLint
      • 6.6 spyglass
      • 6.7 Timegen
      • 6.8 Visio
      • 6.9 Vim/Gvim
      • 6.10 Quartus
      • 6.11 Matlab
      • 6.12 Vivado
      • 6.12 SVN/Git
        • 6.12.1 SVN
        • 6.12.2 Git
        • 6.12.3 Perforce
    • 七、芯片架构篇
      • 7.1 ARM
      • 7.2 X86
      • 7.3 RISCV
      • 7.4 MIPS
    • 八、芯片种类篇
      • 8.1 CPU
      • 8.2 GPU
      • 8.3 ASIC
      • 8.4 FPGA
      • 8.5 MCU
      • 8.6 SOC
      • 8.7 DSP
      • 8.8 AI chip
    • 九、芯片安全篇
      • 9.1 AES高级加密标准
      • 9.2 SHA安全散列算法
      • 9.3 DES数据加密标准
      • 9.4 RSA加密算法
      • 9.5 DSA数字签名算法
      • 9.6 ECC数字签名算法
      • 9.7 Keccak算法
      • 9.8 国密算法
        • SM1算法
        • SM2算法
        • SM3算法
        • SM4算法
        • SM7算法
        • SM9算法
        • 祖冲之算法(ZUC算法)
    • 十、低功耗设计篇
    • 十一、书籍推荐篇
    • 十二、数字IC求职篇
      • 12.1 准备环节
      • 12.2 求职方法论
      • 12.3 笔试面经
    • 十三、致谢名单
      • 13.1 社区贡献名单
      • 13.2 内容贡献者名单

一、项目说明

1.1 索引目的

本篇索引旨在收藏CSDN全站中有关数字IC领域高价值文章,在数字芯片领域中,就算将架构,设计,验证,DFT,后端诸多岗位加在一起的数量,都不及软件类一个细分方向的岗位数量多,反映在社区氛围或是开源资料的丰富度而言,数字IC领域相较于软件/互联网领域来说都是远远不足的的,本索引的收录,希望可以为初学者提供路径帮助和内容指引为进阶者提供高价值文章的分享为CSDN数字IC领域的作者提供展示的平台和引流,最终达到提升数字IC领域社区开放程度,减低检索成本的目的

1.2 收录原则

1.原创性优先原则
优先收录发表于CSDN的原创内容而非转载内容,鼓励原创性与分享性
2.公益性优先原则
优先收录免费文章和免费专栏,强调索引公益性
3.价值优先原则
宁缺勿滥,挑选CSDN高价值文章,拒绝无效低效信息,降低每一位ICer的检索信息的成本。
4.自荐优先原则
数字IC领域涉及方方面面,作者只是一名数字IC设计中很细分领域的一名小兵,难以顾及浩瀚知识图谱的全部,欢迎CSDN的作者投稿相关内容,加强索引建设,补充相关信息。
5.专栏优先原则
位置有限,优先提供给成体系知识的专栏作者,收录专栏,提供跳转窗口,减少位置占用。
6.学无止境原则
本篇索引只能涉及一点点内容,属于师傅领进门的那种作用,数字IC领域有很多中英文资料,使用手册,教材书籍,利用起来,无限进步!

PS:本项目最终解释权归俺所有!

1.3 投稿方式

因本索引属性,推荐采取邮件投稿的形式提出意见和进行自荐
邮件至“E210064@e.ntu.edu.sg”邮箱,即可提出相关意见和投稿内容,由”芯片设计验证社区”管理员“myhhhhhhh”定期进行收纳整理,此外,私信作者也可提出相关意见,不过邮件会有存档,而私信没有,作者无法实时更新,推荐采用前者进行内容自荐。

1.4 版本迭代

时间 版本 内容
2022/4/1 V1.1 文章立项
2022/4/30 V1.2 完成项目说明和框架搭建
2022/5/31 V1.3 数字IC学习路线和通用技能的文章摘录
2022/6/7 V1.4 总线接口和脚本语言的文章摘录
2022/6/15 V1.5 工具使用,芯片架构,芯片种类文章摘录
2022/6/22 V1.6 数字IC求职内容摘录
2022/6/28 V2.1 demo版上线(持续更新,继续搬些外站的内容,CSDN博客好多东西讲的不详细)
2022/6/29 V2.2 芯片架构和书籍推荐的更新
2022/7/3 V2.3 版本迭代工具的重新整理收录,增加Perforce和加密算法部分
2022/7/7 V2.4 重构python脚本语言章节
2022/7/25 V2.5 重构和增加AMBA协议内容
2022/7/28 V2.6 增加GPU专栏通识知识内容
2022/10/10 V2.9 增加国密算法的相关内容50%

二、数字IC学习路线

1.数字IC技能树(mangopapa大佬版)
2.如何学习FPGA(有着四千收藏的精品学习路线)
3.数字IC/FPGA设计之——学习路径(Sky大佬版)

点评:以上三篇文章的作者分别是验证出身,FPGA出身,ASIC设计出身,其实本身数字IC前端领域的知识脉络是非常清晰的,无论是设计还是验证,都要从通用基础知识开始,学习数电,硬件描述语言,微机原理,C语言,linux,计算机组成原理等内容,通用进阶技能中,学习体系架构,总线,SOC设计方法,数字集成电路设计等内容,到实战环节,设计人员可以做一些通用接口的小项目,验证人员补充SV知识和UVM知识,做些验证项目,其他零零散散等内容参考文章链接即可,这三篇看完就足矣!

三、通用技能篇

3.1 数字电路

1.专栏:数字电路(记得诚,认证为CSDN专家账号的大佬的免费数电专栏)
2.专栏:数字电子技术基础笔记(9w阅读,800收藏,近20篇文章)

点评: 数电是专业基础课,基础差的建议跟着数字IC学习路线的内容上网课,基础不错的建议跟着专栏过一遍知识,我觉得数电最重要的内容是基本电路与Verilog的对应关系,如何think in hardware是硬件与软件最大的不同。

3.2 硬件描述语言(Verilog)

1.专栏:BUNOOB Verilog教程(从基础语法到进阶教程的一站式Verilog免费学习场所,写的是真的全)
2.专栏:Verilog高级教程(来自数字IC新兵的Verilog进阶语法的使用感悟,持续更新ing)

点评:不用特别注重Verilog的语法问题,实战中的演练方为正途,Verilog的语法无非是assign和always,翻来覆去的几句语法组成了Inter的CPU和NV的GPU,无限的组合,无限的可能,语法知识微不足道的一小块,拿出来做点东西才有意思。

3.3 linux操作系统

1.文章:Linux常用命令(1w8收藏的精品文章)

点评:同样不用注重linux操作系统的内容,工作中的指令无非“增删查改”,现用现查即可,因此只收藏了一篇工具性质的文章以供大家参考,下载一个linux操作系统实操两下,配合着EDA工具,什么都会了。

3.4 C语言

1.专栏:零基础看得懂的C语言入门教程(2020年博客之星TOP5作者出品,20w的阅读量)
2.专栏:C语言入门案例(超10w阅读的实战C语言专栏)
3.文章:C语言经典100题(单篇文章上万阅读)

点评: C语言对于数字IC前端的意义在哪里呢? 对于设计工程师,你的工作内容可能是C算法的硬件实现,对于验证工程师,你或许会使用C在keil上写代码,转成机器码验证功能,或许是C model的golden model,作为工科入门基础,C语言的用处很多很多。

3.5 微机原理

1.学习微机原理与接口这一篇就够了(详细版)
2.微机原理知识整理(简略版)

点评:重要的数字IC基础课,CPU是如何运行的,SOC是如何组成的,汇编语言是如何执行的,中断是什么意思,数据是如何存储的,这部分你都能找到答案,一篇详细版,一篇简单版,微机原理的应用,体现在数字IC的方方面面。

3.6 汇编语言

1.王爽《汇编语言》笔记(详细)(单篇文章4k收藏,精品!)
2.手把手教你学习汇编语言——从入门到起飞(带环境安装的精品教程)

点评:汇编语言,构筑起了电路结构和软件应用之间的桥梁,ICer或许不需要会写汇编程序,但需要理解底层机器语言和硬件之间是如何构建联系的

3.7 计算机组成原理

1.计算机组成原理:最详细笔记
2.专栏:计算机组成原理(7篇文章收获35w阅读的专栏)

点评:数字IC很重要的课,计算机组成原理会有两个方向深入的点,一个是面向硬件电路,一个是面向软件开发,从硬件的角度或者是软硬件协同的角度去理解这门课的内容,是每一名ICer的必修课。

3.8 计算机体系架构

1.Mit6.004学习记录(Mit计算机体系架构学习笔记)
2.专栏:Mit6.004计算机体系结构笔记专栏(合计30余篇的专栏)
3.(空置待自荐)

点评: 计算机体系架构是计算机组成原理的进阶课程,大部分国内高校微电子学院不教这门课绝对是一个重大的遗憾,虽然说很多东西和3.7相同,但是3.8讲解的更为深入。冯诺依曼结构,哈佛结构,通用性考量,专用性考量,每一名数字IC架构师都要熟练掌握这门课的内容

3.9 STA静态时序分析

1.讲芯片的邸老师-数字集成电路静态时序分析基础

点评:任何文章,任何培训班的内容,都不如直接看这个视频,我愿称之为“中文资料中讲解的最为清楚的STA课程”了,其中的建立时间,保持时间,时序报告等等内容都是数字IC的高频考点!

3.10 SystemVerilog

1.SystemVerilog 教程

点评每月点击超过300w的英文教程网站,受到全世界开发者认可的SV学习网站,兼容设计与验证的SystemVerilog,完全兼容老版本Verilog,一人一本绿皮书,学起来!

3.11 UVM

1.专栏:UVM源码与设计模式
2.专栏:UVM源码解读(mango出品的13w阅读的UVM解读专栏)
3.UVM极简教程
4.(空置待自荐)

点评验证工程师的圣经,软件化方式加速大规模硬件验证的宝典,验证工程师的基础内容!

3.12 SVA

1.数字前端的功能验证利器——SVA断言学习笔记
2.SVA(立即断言、并发断言、触发判断)-概述
3.SVA介绍-----断言基础

点评:设计工程师也能写,验证工程师也能写的断言部分,工作中会是最容易扯皮的地方吗?

3.13 信号与系统

1.【信号与系统】笔记合集

点评:看着好像又没用又难,但是实际上很有用的一门课。

3.14 数字信号处理

1.数字信号处理:重要知识点整理
2.数字信号处理----全套Matlab实验报告

点评:信号与系统的进阶课,滤波!滤波!滤波!多的我也不会~

四、总线、接口与协议

UART,SPI,I2C是基础中的基础,需要学会,AMBA协议是移动端默认的数字胶,非常重要,其它的方向因人而异,酌情学习即可

4.1 UART协议

1.【数字IC】深入浅出理解UART(理论篇)
2. UART协议快速扫盲(图文并茂+超详细)(理论篇)
3.【数字IC】从零开始的Verilog UART设计(实战篇)
4.【Verilog实战】UART通信协议,半双工通信方式(附源码))(实战篇)

芯片人必会的通用异步串型收发接口

4.2 SPI协议

1.【数字IC】深入浅出理解SPI协议(理论篇)
2. SPI协议详解(图文并茂+超详细)(理论篇)
3.【数字IC】从零开始的Verilog SPI设计)(实战篇)
4.【Verilog实战】SPI协议底层硬件接口设计和功能验证(附源码))(实战篇)

来自摩托罗拉公司的串型外围设备接口,基础协议中的基础,芯片人必会!

4.3 I2C协议

1.【数字IC】深入浅出理解I2C协议(理论篇)
2. I2C协议靠这16张图彻底搞懂(超详细)(理论篇)
3. verilog I2C_eeprom 手册分析及代码编写思路(实战篇)
4. I2C介绍及verilog实现(主机/从机可综合)(实战篇)

飞利浦公司开发的简单的双向两线总线,规则简单,高实用性!

4.4 AMBA协议

4.4.1 AHB

1.AHB总线协议(理论篇)
2.专栏:AHB-SRAM(实战专栏合计四篇)

4.4.2 APB

1.一文看懂APB总线协议(理论篇)
2.APB协议详解(理论篇)
3.APB 基本原理(理论篇)
4.Verilog实现—AHB_APB通讯架构(中国科学院大学作者的APB实战篇)
5.AHB-APB_Lite总线协议及Verilog实现(AHB to APB Bridge实战)
6.【Verilog实战】AMBA 3 APB接口设计和功能验证(xlinxdu大佬的APB接口实战)

4.4.3 AXI

1.【AXI】解读AXI协议双向握手机制的原理(理论篇)
2.【AXI】解读AXI协议中的burst突发传输机制(理论篇)
3.【AXI】解读AXI协议事务属性(Transaction Attributes)(理论篇)
4.【AXI】解读AXI协议乱序机制(理论篇)
5.【AXI】解读AXI协议原子化访问(理论篇)
6. 【AXI】解读AXI协议的额外信号(理论篇)
7.【AXI】解读AXI协议的低功耗设计(理论篇)
8.【数字IC】深入浅出理解AXI协议(理论篇)
9.【数字IC】深入浅出理解AXI-lite协议(理论篇)
10.AMBA协议之AXI协议——中文翻译(理论篇)

4.4.4 AXI-stream

1.AXI-STREAM及接入思路解析
2.AXI4_stream协议详解
3.(空置待自荐)

4.4.5 ACE

1.ARM ACE协议学习(一)
2.ARM ACE协议学习(二)
3.(空置待自荐)

4.5 LIN总线

1.LIN总线总结
2.LIN总线协议简介

定位车身通信(车身电子配件的地方如车窗、后视镜、大灯、车锁等),基于UART/SCI低成本串行通讯协议,车辆中最重要的协议总线之一。

4.6 CAN总线

1.专栏:CAN笔记(30w阅读,专注can总线的专栏)
2.CAN总线详解
3.CAN详解–CAN与com口介绍

定位车辆计算机控制系统高速,短距离,闭环的异步通信协议,车辆中最重要的协议总线之一。

4.7 GPIO接口

1. Verilog GPIO 模块设计
2. GPIO工作原理(八种工作方式超详细分析,附电路图)(单篇文章10w阅读)

通用性输入输出接口,位于芯片数字部分和外面模拟PAD之间的模块,每枚芯片都会存在,通信,控制,数据采集三大功能

4.8 SDIO 接口

1.SDIO解析
2.一文搞懂SDIO

SD卡的协议演化升级版,为SD卡槽的设备进行外设功能扩展

4.9 JTAG

1.JTAG接口定义与其他简介(理论篇)
2.专栏:JTAG(理论篇)
3.Verilog——JTAG标准的状态机实现(实战篇)

JTAG是“编程,探测和调试”的常见端口

4.9 PCIE 总线

1.专栏:PCIe 协议(mango出品,12w阅读,挑战中文互联网最详细的PCIE协议理解专栏)
2.PCI与PCIe学习一——硬件篇(8w阅读PCIE基础解析)

一个字,!,最快传输速度256Gb/s

4.10 NOC总线

1.NoC总线介绍
2.NoC(Network on Chip)学习笔记(1)
3.NoC(Network on Chip)学习笔记(2)

多核设计是现在芯片提升效能的普遍方式,多核处理器的关键挑战就体现在NoC上

4.10 USB协议

1.USB接口那么多!!你都认识吗??知道他们的区别吗??(扫盲式了解USB的通识性文章)
2.USB协议简介(单篇文章6w阅读)
3.专栏:USB协议详解(40篇文章,10w阅读的USB专栏)
4.实战篇—USB2.0的Verilog实现(USB实战环节)
5.实战篇—USB2.0 KEIL配置及调试BUG(USB实战环节)
6.实战篇—USB2.0内部存储器相关内容及固件配置程序(USB实战环节)

通用高速接口的代表作,USB

4.11 DDR协议

1.专栏:深入浅出理解DDR(写的不全,不过已有的文章不错)
2.专栏:DDR4标准(DDR4手册中文翻译版)
3.文章:DDR工作原理(大佬推荐的DDR原理篇)

上升沿和下降沿都能传输数据的双倍速率内存,双倍的速度,双倍的快乐!

4.12 I2S(音频接口)

1.I2S详解
2.【音频】I2S协议时序及使用粗解(7w 阅读的时序解析)

Inter-IC Sound总线,专为音频而设计

4.13 VGA(视频接口)

1.VGA显示图像 详细总结(理论篇)
2.【科普】显示器VGA、DVI、HDMI、DP等各种接口详细科普(科普向)
3.Verilog——基于FPGA的贪吃蛇游戏(VGA显示)(实战篇)

来自IBM 1987的智慧结晶,常用于电脑的视频图形接口

4.14 DVI(视频接口)

1.DVI-A、DVI-D、DVI-I接口定义、DVI接口图和DVI接口标准介绍(理论篇)
2.视频编码(四)——详解DVI接口(理论篇)

视频接口标准,广泛的应用于LCD和数字投影机上,显示类芯片的必会技能

4.15 HDMI(高清多媒体接口)

1.HDMI协议解析(软件工程师的角度解读HDMI)
2.HDMI详解(理论篇)

高清多媒体接口,可同时发送视频信号和音频信号

4.16 DP(显示接口)

1.DisplayPort-DP接口知识(科普向)
2.硬件知识:DP接口和HDMI接口对比,看完你就懂了!(科普向)

免认证、免授权金的接口,用以取代VGA和DVI

4.17 SDI接口

1.SDI科普— SD-SDI/HD-SDI/3G-SDI/12G-SDI(科普向)
2.SDI视频数据流格式简介(频率、速率、YUV、EAV、SAV)(理论篇)
3.(空置待自荐)

4.18 BNC接口

1.(空置待自荐)

常用于安防摄像头的摄像设备连接头

4.19 CameraLink接口

1.Camera Link协议解析图文及视频
2.(空置待自荐)

相机与采集卡之间沟通的桥梁,Cameralin接口

4.20 MIPI接口

1.MIPI学习记录——初识mipi
2.(空置待自荐)

五、脚本语言篇

5.1 Tcl脚本语言

1.TCL脚本语言:
Tcl专栏(17w阅读精品专栏)

5.2 Perl脚本语言

1.Perl 完整教程(一篇文章标清所有知识)
2.Perl专栏(30篇Perl文章的专栏)
3.PERL(知识点标明的很细致)

5.3 Shell脚本语言

1.linux shell 脚本 入门到实战详解(单篇文章8w阅读)

5.4 Python脚本语言

1.python——正则表达式(re模块)详解
2.Python模块——os模块详解
3.Python基础——sys模块的使用详解
4.python文本txt处理
5.python:文件处理之TXT
6.python处理txt文件的常用操作
7.编写一个完整的python脚本(新建脚本–编写脚本–执行脚本)
8.个人整理的常用python脚本【很好用】
9.(盘点)25个值得收藏的Python文本处理案例

Tcl,Perl,Shell,Python四种脚本语言,IC前端工作者选择一个学习即可,因为可以和软件团队语言拉通作者推荐学习Python.

5.5 正则匹配

1.Tcl正则表达式的语法
2.Perl正则表达式超详细教程
3.shell 中匹配正则 字符串处理
4.python 正则表达式匹配
5.(空置待自荐)

脚本语言中逃不开的篇章,大量的验证打印数据/网表数据/各式文本处理/怎么办?正则变换一定要来帮帮场子!因为他重要,所以单独拎出来划分了一个标题,虽然不同语言的正则匹配不尽相同,但是思想是一致的!

5.6 Makefile

1.IC设计中Makefile的应用
2.makeflie脚本,verilog代码一步完成编译仿真
3.Makefile教程(绝对经典,所有问题看这一篇足够了)
4.VCS仿真教程:Verilog+波形+Makefile

一键功耗分析,一键综合,一键仿真的秘籍,谁用谁说好

六、工具使用篇

6.1 Modesim/Questasim

1.Modelsim 安装步骤详解(Modesim安装教程)
2.Questasim10.6c下载与安装教程(Questasim安装教程)
3.Modelsim/QuestaSim教程——基础篇
4.Modesim/Questasim使用技巧专栏(来自数字IC新兵使用感悟,持续更新ing)

初学者常用的仿真软件和波形查看软件,Modesim/Questasim姊妹不分家,有啥用啥,不需要纠结版本问题

6.2 VCS

1.仿真工具-VCS入门教程(虽然会索引至站外,但还是推荐看,比较全)
2.VCS使用教程小结
3.VCS工具的基本使用

对标Modesim/Questasim的真实工作环境,工作中最经常使用的仿真器

6.3 Verdi

1.Verdi 基础教程
2.Verdi 使用笔记
3.专栏:Verdi快速实战指南

对标Modesim/Questasim的真实工作环境,工作中最经常使用的波形查看软件

6.4 DC

1.专栏:DC逻辑综合
2.DC综合——学习笔记
3.DC综合简单总结
4.DC综合的基本流程
5.DC综合的流程以及分步骤讲解

企业中最常用的综合工具,谁说综合只有中端岗芯片工程师才要会?

6.5 nLint

1.nlint使用笔记
2.Verdi2013.07和nLint2011.10安装及启动license
3.(空置待自荐)

HDL规则检查软件,除了检查代码的语法和语义错误,也会检查如“异步反馈,位宽不匹配”等更为隐蔽的错误内容。

6.6 spyglass

1.spyglass使用教程(数字IC小众工具,单篇文章2w阅读300收藏)
2.(空置待自荐)

业界唯一可靠的RTL Sign off解决方案,可以帮助客户在设计早期发现潜在问题,保证产品质量,极大的减少设计风险,降低设计成本。尤其是CDC检查

6.7 Timegen

1.【超好用】时序图画图工具TimeGen 3.2安装和使用教程
2. 时序图绘制工具 — TimeGen使用方法总结

轻便小巧的时序图绘制工具

6.8 Visio

1.visio2019安装教程
2.Visio的使用
3.(空置待自荐)

功能强大,无论是针对于绘制时序,还是模块连接示意图

6.9 Vim/Gvim

1.【Linux入门学习之】vi/vim编辑器必知必会

总有一个困扰代码人数十年的问题,Vim是不是最强大的文本编译器?

6.10 Quartus

1.QuartusII 9.0安装教程详解及例程测试
2.Quartus II 13.0 最全的安装、破解教程(包含下载地址)
3.彻底掌握Quartus——基础篇
4.Quartus II 使用详解
5.quartus的使用流程

数字IC初学者/FPGA初学者常用的开发平台,比隔壁家用起来更简单!版本高低无所谓,背后的思想和界面布局都是相似的!

6.11 Matlab

1.零基础入门Matlab(一篇两个小时就能学完的入门博客)(10w阅读的文章)
2.MATLAB下载+安装教程(Matlab2018版)
3.专栏:MATLAB新手简明使用教程(40w阅读的专栏)
4.专栏:MATLAB图像处理(Matlab图像处理扛把子)
5.(方向太多,内容太多,空置待自荐)

学术界横行多年的老将,理工科学生逃不掉的工具

6.12 Vivado

1.Xilinx_Vivado_2019.1下载和安装教程
2.Vivado FPGA设计基础操作流程:Vivado的基本使用
3.Vivado初次使用教程
4.专栏:Vivada使用技巧
5.(方向太多,内容太多,空置待自荐)

功能比quartus更强大,工业界更喜欢的开发套件,但是上手难度比Quarts大,推荐初学学Quartus

6.12 SVN/Git

6.12.1 SVN

1.什么是SVN?SVN的简介安装和使用
2.SVN的安装及使用,超级详细
3.【图文详解】入职必备——SVN使用教程

6.12.2 Git

1.Git 详细安装教程(详解 Git 安装过程的每一个步骤)
2.关于Git这一篇就够了
3.Git使用详细教程

6.12.3 Perforce

1.Perforce入门
2.Perforce使用教程

公司中会使用的版本迭代工具,学生党就不用学了,很简单一东西,去了企业三两天就会了。准备入职的可以去问问mentor自己公司使用的是哪一款版本迭代工具,有针对性的看一看基础操作和产品逻辑,不同软件也是大同小异的。

七、芯片架构篇

本章内容未得到充分收纳,亟待自荐推荐

7.1 ARM

(空置待自荐)

arm汇编教程
1.ARM汇编基础教程——ARM汇编简介
2.ARM汇编简介(一)ARM数据类型和寄存器
3.ARM汇编简介(二)ARM指令集
4.ARM汇编简介(三)内存指令-加载和存储 (上)
5.ARM汇编简介(三)内存指令-加载和存储 (下)
6.ARM汇编简介(四)载入/存储多个值,入栈和出栈
7.ARM汇编简介(五)条件执行指令&&Thumb模式下的条件执行指令&&分支指令
8.ARM汇编简介(六)堆栈和函数

arm的汇编指令集讨论arm架构,翻译自国外“Azeria Labs”,原作者为“福布斯 2020年网络安全年度人物,专注于 Arm Cortex-A 设备的漏洞利用开发和逆向工程” 的女性工程师作者Maria Markstedter

移动设备的通用架构,来自英国剑桥的万能数字胶

7.2 X86

(空置待自荐)

PC端的永恒霸主,每一台windows运行底层的数学逻辑

7.3 RISCV

1.RISC-V详细介绍
2.RISC-V指令集(R,I,S,B,U,J指令的解读)
3.RISC-V汇编(算术,移位,逻辑,内存读取汇编语言)
4.(空置待自荐)

我要战未来!RISCV是否是中国芯片突围的捷径?

7.4 MIPS

(空置待自荐)

落寞的架构,用的越来越少了。

八、芯片种类篇

本章内容未得到充分收纳,亟待自荐推荐

8.1 CPU

1.CPU基础知识详解
2.【计算机组成原理】CPU是什么
3.(空置待自荐)

8.2 GPU

1.什么是GPU?跟CPU有什么区别?终于有人讲明白了
2.专栏:GPGPU
3.Render Hell —— 史上最通俗易懂的GPU入门教程(一)
4.Render Hell —— 史上最通俗易懂的GPU入门教程(二)
5.Render Hell —— 史上最通俗易懂的GPU入门教程(三)
6.Render Hell —— 史上最通俗易懂的GPU入门教程(四)
7.Render Hell —— 史上最通俗易懂的GPU入门教程(五)

8.3 ASIC

1.详解ASIC设计流程
2.(空置待自荐)

8.4 FPGA

1.FPGA是什么?为什么要使用它?
2.FPGA基础知识----FPGA 简介
3.专栏:FPGA学习之旅

8.5 MCU

1.MCU最强科普总结(收藏版)
2.(空置待自荐)

8.6 SOC

1.专栏:SOC设计
2.SOC基本知识
3.(空置待自荐)

8.7 DSP

1.DSP到底是个什么鬼?看完你就懂了
2.(空置待自荐)

8.8 AI chip

1.专栏:AI芯片(13w阅读,400收藏)

被世界寄予厚望的方向,算力大户,ASIC还是GPU,谁能掌握未来?

九、芯片安全篇

9.1 AES高级加密标准

1.AES加密算法详解(图文解释)
2.AES128加密算法完整实现
3.Verilog入门——AES实现

9.2 SHA安全散列算法

1.SHA256算法原理详解
2.SHA算法原理
3.SHA-1算法在FPGA上的实现

9.3 DES数据加密标准

1.经典的DES算法详解
2.对称加密算法之DES介绍

9.4 RSA加密算法

1.专栏:RSA算法原理
2.RSA加密算法原理

9.5 DSA数字签名算法

1.DSA数字签名原理及python实现
2.密码学专题 非对称加密算法指令概述 DSA算法指令

9.6 ECC数字签名算法

1.ECC加密算法
2.奇妙的安全旅行之ECC算法

9.7 Keccak算法

1.Keccak简介
2.现代密码学:Hash函数Keccak

9.8 国密算法

SM1算法

对称加密算法其加密强度与AES相当。该算法不公开,仅以IP核的形式存在于芯片中。需要通过加密芯片的接口进行调用。

SM2算法

1.SM2算法概述
非对称算法:实现基于ECC算法。SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。SM2以其高安全性和运算快速的特点在数据安全领域应用越来越广泛。

SM3算法

1.SM3密码杂凑算法原理
哈希算法:该算法为摘要算法,可以用MD5作为对比理解。校验结果为256位。适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

SM4算法

1.sm4算法加密解密
分组加密:无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。 由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。

SM7算法

(空置待自荐)
分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(赛事门票、展会门票),支付与通卡类应用(校园一卡通、企业一卡通等)

SM9算法

祖冲之算法(ZUC算法)

1.ZUC算法

十、低功耗设计篇

1.专栏:IC设计基础系列之低功耗篇
2.专栏:低功耗设计
3.文章:数字IC(SoC)低功耗设计方法总结
4.文章:低功耗设计

不卷但重要的方向,大企业一般单独设岗,移动端芯片设备尤其重要,笔试一定会遇到的方法论内容

十一、书籍推荐篇

1.数字IC书籍/文档推荐-数字芯片实验室版
2.数字IC书籍-知乎转载版
3.如何学习数字集成电路:数字IC必读书籍-不知名转载版
4.数字IC/FPGA推荐书籍-木子兮人版
5.数字IC设计经典书籍-不知名转载版

客观的说,第十章的这几篇文章写的都不够好,等作者有时间更新个全面的、完善的、详细的推荐书籍名单,就把这个替换掉。

1.《通信IC设计》

推荐语:除了通信芯片,也适合非通信方向的同仁学习的一本书

2.《自己动手写CPU》

推荐语:从”一条简单指令实现“到”整个复杂系统实现“的方式介绍5级流水CPU,层层递进的一本书

十二、数字IC求职篇

12.1 准备环节

1.HDLbits答案更新系列目录(直达答案链接)

HdlBits是一组小型电路设计练习,用于使用 Verilog 练习数字硬件设计。早期的问题遵循教程风格,而后面的问题将越来越多地挑战电路设计技能!强烈推荐!

2.数字IC手撕代码专栏(2w阅读,300收藏,精品解析)

手撕代码环节是面试流程中既重要又简单的一个环节,跟软件类的岗位相比起来,数字IC的手撕代码题目固定,数量有限,属于整个面试中必拿下的一个环节。

(1)奇数分频
(2)偶数分频
(3)半整数分批
(4)小数/分数分频
(5)序列检测器
(6)模三检测器
(7)饮料机
(8)异步复位,同步释放
(9)边沿检测(上升沿,下降沿,双边沿)
(10)全加器,半加器
(11)格雷码转二进制
(12)单bit跨时钟域(打两拍,边沿同步,脉冲同步)
(13)奇偶校验
(14)伪随机数生成器[线性反馈移位寄存器]
(15)同步FIFO

3.基础知识:FPGA和数字IC实习秋招必备基础知识目录(详尽全面的基础知识合集)

12.2 求职方法论

1.秋招信息茫茫多,如何提高求职效率
2.相比正式批,提前批到底有啥好处呢?
3.秋招提前批开始,不懂这些可能会错过满意offer
4.怎么一边实习一边面试提前批?
5.新人如何通过转正答辩——实习转正+试用期转正
6.人才库、泡池子是个啥?
7.HR面必问问题——如何与HR斗智斗勇
8.2022届FPGA和数字IC秋招统计+薪资爆料+23届建议
9.入职前空白期该如何度过?——作为应届生,我在入职前做了什么?

以上文章均摘取自中兴蓝剑计划大佬"FPGA探索者"的分享,内容中肯详实,值得一看!

12.3 笔试面经

1.老学姐2021年数字IC秋招复盘
2.数字IC设计/FPGA工程师秋招面经
3.数字IC面经专栏-IC媛版本(专栏合计65篇)
4.数字IC面经专栏-myhhhhhhhh版本(专栏合计13篇)
5.2021秋招IC验证面经-ARM中国/中科芯/飞腾/地平线/中兴
6.2021秋招IC验证面经-华为/英伟达/兆易创新/ZeKu
7.2020年数字IC设计秋招总结(IMaxwell)
8.2021秋招总结(器件方向转行数字IC设计)
9.2021年数字IC秋招总结-离离离谱版
10.(空置待自荐)

十三、致谢名单

13.1 社区贡献名单

排名不分先后,欢迎大家加入以下芯片与硬件相关社区:
1.芯片设计验证社区
2.芯片爱好者聚集地
3.硬件相关讨论专区

13.2 内容贡献者名单

感谢以下内容提供者和建议提供者!

姓名 贡献
h-ys@xxxxxxx arm架构中的汇编教程
影子才是本体 通信类与CPU核设计类书籍推荐
ic_爱好者 工具类教程

致谢原则:
1.假如内容贡献者CSDN存在账号,可提供完整名称,以供读者关注。
2.假如内容贡献者采用邮件的形式投稿,感谢名单中会出现抹去个人敏感信息

发表回复