1、数字电路基础知识
--CMOS晶体管原理:半导体材料及PN结、nMos/pMos、反相器输入输出响应、“0/1”定义,延时的定义,影响电路延时的因素(PVT)
--基本电路单元原理:基本组合逻辑单元、基本时序电路单元、DFF Setup/Hold、Cell驱动能力,参考书籍《CMOS VLSI Design A Circuits and Systems Perspective》
2、脚本语言 --
Cshell、Perl、Python学习资料挺多,不难找。
3、EDA仿真工具 --
VCS+Verdi,Ncverilog+Verdi
4、跨时钟域处理 --
参考文章 跨时钟域处理(CDC)
5、同步FIFO和异步FIFO设计 --
参考文章 异步FIFO学习
6、综合工具DC入门 --
参考文章 DC综合--学习笔记
7、一致性检查工具入门 --
参考文章 形式验证--学习笔记
8、静态时序分析入门 --
参考文章 STA静态时序分析--学习笔记
二、进阶
1、综合工具的深入使用 --网课+实践
2、SoC芯片的顶层设计 --mcu soc课程
3、静态时序分析的深入使用 --网课+实践
4、从算法到RTL代码实现的思路
5、APB和AHB协议及模块实现 --sram、eflash控制器
6、AXI协议及模块实现
三、高级
1、大规模芯片综合技巧 --摸索中,多点请跑flow的同学恰饭
2、全芯片的设计流程 --后端增加了解
3、软硬件协同设计 --soc系统,linxu嵌入式系统
4、复杂算法的RTL设计 --正在搞videoCodec
四、扩展
这个时候,你已经会使用FPGA了,但是还有很多事情做不了(比如,FIR滤波器、PID算法、OFDM等),因为理论没学好。大概地分几个方向供大家参考,后面跟的是要掌握的理论课。
- 1、信号处理——信号与系统、数字信号处理、多采样率信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理。
- 2、接口应用——如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort、HDMI。
- 3、无线通信——信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码。
- 4、CPU设计——计算机组成原理、单片机、计算机体系结构、编译原理、RISC-V。
- 5、仪器仪表——模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用。
- 6、控制系统——自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用。
- 7、压缩、编码、加密——数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理、H.265