【数字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和数字电路的对应关系,并从中学习到许多实际应用中的设计方法和工程经验。

相关推荐
nnerddboy11 小时前
FPGA自学笔记(正点原子ZYNQ7020):1.Vivado软件安装与点灯
笔记·fpga开发
li星野1 天前
打工人日报#20251005
笔记·程序人生·fpga开发·学习方法
通信小呆呆2 天前
FPGA 上的 OFDM 同步:从 S&C 到残差 CFO 的工程化实现
fpga开发·信号处理·同步·ofdm
hahaha60162 天前
高层次综合基础-vivado hls第三章
算法·fpga开发
欢鸽儿3 天前
理解Vivado的IP综合策略:“Out-of-Context Module Runs
linux·ubuntu·fpga
欢鸽儿3 天前
Vivado综合通关指南:从IP打包失败到工具崩溃的四重考验
linux·ubuntu·fpga
XINVRY-FPGA4 天前
XCVU9P-2FLGA2104E Xilinx AMD Virtex UltraScale+ FPGA
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发·射频工程·fpga
范纹杉想快点毕业5 天前
ZYNQ7045芯片中UART实现RS422通信详解,50000字解析,C语言,嵌入式开发,软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·fpga开发
千宇宙航7 天前
闲庭信步使用图像验证平台加速FPGA的开发:第三十课——车牌识别的FPGA实现(2)实现车牌定位
图像处理·计算机视觉·fpga开发·车牌识别
灵风_Brend7 天前
最大最小延时约束
fpga开发