一、开发能力
1、FPGA基础知识
(1)数电基础知识
- 逻辑门
- 锁存器
- 触发器
- 进制
- 码制
- 状态机
- 竞争与冒险
- verilog语法
(2)FPGA片上资源
- 可配置逻辑块
- 嵌入式块RAM
- 时钟管理资源
- 可编程输入输出单元(IOB)
- 丰富的布线资源
- 底层内嵌功能单元(DLL、PLL、DSP)
- 内嵌专用硬核(专用乘法器、SERDES等)
(3)FPGA开发流程
2、接口开发
(1)低速接口
UART、SPI、IIC、USB、CAN
(2)高速接口
SERDES
(3)协议
TCP/IP
3、领域技能
(1)通信协议
(2)图像处理
(3)信号处理算法
(3)控制系统
5、时序分析
(1)约束点
(2)时序模型分析
(3)同步复位、异步复位
6、工具使用
(1)集成开发工具
Quartus、Vivado
(2)仿真工具
Modelsim、VCS
(3)代码编写工具
Vim
(4)代码管理
Git
7、板级调试能力
(1)FPGA加载
(2)逻辑分析仪(ILA)
二、设计思维
1、硬件设计思维
2、架构设计能力
3、设计技巧
三、验证能力
1、掌握systemverilog语言
2、UVM平台搭建
3、测试点、测试用例设计
4、覆盖率分析
四、辅助编程能力
1、C
2、Python
3、matlab