【数字IC/FPGA】书籍推荐(0)----《Verilog 传奇--从电路出发的HDL代码设计》

在下这几年关于数字电路、Verilog、FPGA和IC方面的书前前后后都读了不少,发现了不少好书,也在一些废话书上浪费过时间。接下来会写一系列文章,把一部分读过的书做个测评,根据个人标准按十分制满分来打分并分享给大家。


定位

书名:Verilog 传奇--从电路出发的HDL代码设计

内容:Verilog语法、设计方法学

评价:7.5分。这个7.5分我其实给得挺纠结,因为这本书真的很难评价--它内容上是很有干货的,但是缺点也真的很明显--太啰嗦了!随便截一段你感受一下:

像这种21世纪初互联网论坛帖子风格的废话充斥全书。反正我读这本书都是跳着看的,只看干货,不看废话。

第1章:基础知识

主要介绍了Verilog发展历史、ASIC和FPGA的开发流程,对于时序约束也有一个简单的介绍,尤其是对FPGA的内部结构介绍得还挺清晰。

这一章的干货其实蛮多的,很多基础性的概念介绍对初学FPGA其实是有非常大的帮助的。

第2章:语言层次

从层级设计为引子,从整体到细节对Verilog语法做了一个详细的介绍。

第3章:组合操作

这一章主要介绍组合逻辑电路的设计方法,尤其是wire变量和assign语句的应用。一些移位预算、比较、拼接和加减乘除电路的分析还蛮透出的。

第4章:还是组合

这一章主要介绍reg和always构建的组合逻辑电路的设计方法。这部分讲的内容,把数字电路和Verilog很好的对应上了,能帮你建立起一个很好的从语法到电路的直观认知。

第5章:时序逻辑

这一章主要讲时序逻辑。对于触发器和锁存器的分析写得挺好,也讲了一些设计方法,比如流水线设计和并行化设计。


第6章:工程话题

这一章是从实际工程应用入手的,介绍了复位设计、亚稳态、跨时钟域设计、FIFO、乒乓操作、移位操作和状态机设计等内容。这一章节的干货很多,可以看出来作者是位工程经验很丰富的工程师。

第7章:灵活模块

这一章主要介绍如何用函数Function、任务Task、参数parameter、locaparam和`define来实现参数化的可复用设计。这些设计技巧可以大大帮助你提高工作效率。

第8章:电路之外

这一样主要讲仿真设计,包括各种各样的系统任务和编译指令。这部分的内容可以帮助你提高编写测试脚本的能力。

第9章:综合例子

这一章是比较复杂的实战内容,介绍了CORDIC算法,以及DDS实现的三种方法,可以帮以后的设计打好基础。从模块划分、功能设计到具体的代码实现作者都写得很棒。

不过老实讲,这部分的内容个人认为对于初学者还是难了一点,不如先搁置,过几个月有需要了再来读这部分。

总结

如果只看书名《Verilog 传奇--从电路出发的HDL代码设计》,你肯定会觉得这本书的定位是一本Verilog入门语法书,但实际上它关于Verilog语法的篇幅占比可能就20%,剩余的内容都是Verilog对应的各种数字电路的设计方法。

个人认为本书不适合Verilog语法初学者,而是适合有一定语法和数字电路基础的同学阅读。这部书能帮你建立起Verilog和数字电路的对应关系,并从中学习到许多实际应用中的设计方法和工程经验。

相关推荐
海涛高软6 小时前
FPGA同步复位和异步复位
fpga开发
FakeOccupational14 小时前
fpga系列 HDL:verilog 常见错误与注意事项 quartus13 bug 初始失效 reg *** = 1;
fpga开发·bug
zxfeng~1 天前
AG32 FPGA 的 Block RAM 资源:M9K 使用
fpga开发·ag32
whik11941 天前
FPGA 开发工作需求明确:关键要点与实践方法
fpga开发
whik11941 天前
FPGA开发中的团队协作:构建高效协同的关键路径
fpga开发
南棱笑笑生1 天前
20250117在Ubuntu20.04.6下使用灵思FPGA的刷机工具efinity刷机
fpga开发
我爱C编程1 天前
基于FPGA的BPSK+costas环实现,包含testbench,分析不同信噪比对costas环性能影响
fpga开发·verilog·锁相环·bpsk·costas环
移知2 天前
备战春招—数字IC、FPGA笔试题(2)
fpga开发·数字ic
楠了个难2 天前
以太网实战AD采集上传上位机——FPGA学习笔记27
笔记·学习·fpga开发
博览鸿蒙2 天前
FPGA工程师有哪些?(设计、验证与应用)
fpga开发