入门FPGA
1、首先要掌握HDL
可以不看的书
《Verilog HDL高级数字设计》、《Verilog 数字系统设计教程》、《Verilog编程艺术》
强烈推荐的网站
http://asic-world.com/
verilog语法准备的非常到位
https://www.01xz.net/wiki/Main_Page
HDLBits用来刷题的
官方手册
verilog_IEEE官方标准手册
没事翻一番,不需要去看,主要后期有想不到的地方去看一看
注重编程思想
能够完成一个三段式的状态机
2、仿真的工具和图书推荐
仿真工具
modelsim、QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具
testbench可以参考的图书
《WRITING TESTBENCHES Functional Verification of HDL Models》
3、掌握设计方法和设计原则
设计方法与原则
同步设计原则
优化电路,是速度优先还是面积优先
时钟树应该怎样设计
图书推荐
《FPGA权威指南》
《IP核芯志-数字逻辑设计思想》
《Altera FPGA/CPLD设计》基础篇和高级篇两本
高级篇涉及到很多偏理论的设计方法
《Verilog HDL数字设计与综合》
有建模的思想在里面
EDA工具的使用方法(可略过,在实践中进行)
静态时序分析(timequest)
嵌入式逻辑分析仪等工具使用
TIPS:有一些地方不理解可以略过,后续实践中去理解
为什么已经存在那么多IP核,仍然需要写HDL?
IP核并非万能,不能满足所有需求。
大部分IP都是闭源,尽量少用闭源IP核,一旦出问题,这种黑匣子很可能让产品难产。
深入理解低一层次,可以更好地使用高一层次。该法则可以适用于所有编程语言。
6、足量的实践
保持良好的代码风格,增加元件例化语句的可读性,绘制流程图/时序图,撰写文档的习惯
5、增强理论基础
信号处理
信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理
接口应用
UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort
无线通信
信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码
SoC设计
计算机组成原理、单片机、计算机体系结构、编译原理
仪器仪表
模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用
控制系统
自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用
压缩、编码、加密、金融
数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理
以上选择自己感兴趣的,数学和英语是进步的阶梯
4、学会提高开发效率
更换文本编辑器
NotePad、Sublime、VSCode、VIM等等
脚本语言
TCL、Python(无聊时学学,一劳永逸)
图书:Vivado/Tcl零基础入门与案例实战
代码备份
GIT、SVN
文件比较器
Beyond Compare
0、重点博客推荐!
https://blog.csdn.net/k331922164/article/details/44626989