《FPGA的人工智能之路——基于Intel FPGA开发的入门到实践》
前四章
- 阻塞赋值语句和非阻塞赋值语句,从字面上看,阻塞就是执行的时候在某个地方卡住了,直到这个操作执行完再继续执行下面的语句;非阻塞就是不管执行完没有,不管执行怎么样,都要继续执行下面的语句
- 阻塞语句赋值需要在本语句中“右式计算”和“左式更新”完全完成之后,才开始执行下一条语句——书P52
- 阻塞语句和非阻塞语句的电路区别——书P53
在时序逻辑电路中使用非阻塞语句赋值,在块结束之后才完成赋值操作,此赋值方式可以避免在仿真过程中出现冒险和竞争现象 - 锁存器是一种对脉冲电平敏感的存储单元电路,锁存器是电平触发的存储器,是组合逻辑电路产生;寄存器是边沿触发的存储器,在时序电路中产生,由时钟触发产生——书P54
锁存器产生的原因:组合逻辑代码中if缺少else分支或者case缺少default分支,在时序逻辑中并不会出现! - 三段式一般写法:
第一个always模块实现同步状态跳转
第二个always模块采用组合逻辑判断状态转移条件
第三个always模块描述状态输出(组合、时序均可)——书P57 - Quartus Prime中设计输入允许多个文件类型如Verilog、VHDL等在同一个工程中混合使用,但是在第三方工具中,一般情况下不允许这样操作——书P101
- 编译的进程——书P107
第5章 FPGA设计工具
- 网表查看工具(Netlist)是一个图形工具,通过该工具可以看到综合以及布局布线后的可视化数字电路原理图——书P149
- state machine viewer观察状态机的工具——书P152
准备之后结合工程再来看一下这一套流程和工具
第6章 基于英特尔FPGA的SOPC开发
- SOPC-System On a Programmable Chip,可编程片上系统——书P175
第7章 基于英特尔FPGA的HLS开发
- HLS虽然加快了开发的流程,但是HLS并不能取代所有流程,其生成结果只能是硬件代码以及IP Core,不是可以直接在硬件上运行的可执行文件,因此HLS只能作为硬件FPGA工程的补充和模块,无法作为完整的工程进行使用——书P203
第10章 深度学习
- 最大池化、平均池化——即一个是取区域内的最大值,一个是取平均值——书P277
相关资源
www.intel.com.cn
www.fpga-china.com
评论:两个网站用处不大,此书更属于简单的介绍,对于Quartus Prime的开发流程介绍是挺细致的,可以之后结合具体的开发代码再走一遍流程,但是对于更上层的例如通过FPGA研究神经网络等,并没提供代码和相关介绍,只是一笔略过了。