入门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