【数字IC/FPGA】书籍推荐(1)----《轻松成为设计高手--Verilog HDL实用精解》

本文主要是介绍【数字IC/FPGA】书籍推荐(1)----《轻松成为设计高手--Verilog HDL实用精解》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


image-20240317234052596

书名:轻松成为设计高手–Verilog HDL实用精解

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

评价:8.5分。属于是比较推荐的Verilog语法入门书籍,同时也包括一些设计方法,比如状态机和数字电路建模的部分就写得很好。

第1章:HDL设计方法简介

image-20240317235631266

大部分书的第一章都没什么干货,基本就是在堆概念。老手用不上,新手看了也结合不到实际,不到三秒就忘了,属于比较鸡肋的一章。

第2章:Verilog语言基础

image-20240317235751767

介绍了基本且实用的Verilog语法,定义的引出与解释都比较口语化,简单易懂,而且基本每个语法点都搭配了相应的示例,这一章学完基本上对日常设计开发常用的Verilog语法就都能掌握了。

第3章:描述方式和设计层次

image-20240317235809116

介绍了用Verilog描述电路的三种层次结构:数据流描述、行为描述和结构化描述。可以让你对Verilog描述电路的思想和方法有个更好的了解,学会用“硬件思维”来设计电路,而不是用“软件思维”。

第4章:RTL概念与常用 RTL建模

image-20240317235959147

这一章写得很不错,把Verilog语法和实际数字电路对应上了,可以帮助你建立从数字电路认知到Verilog认知的一个转变。比如组合电路和时序电路的Verilog实现和MUX、RAM等常用设计元素的Verilog实现都讲得挺细了。

这一章也讲了一些诸如复位设计、串并转换等后续学习一定会碰到的设计方法。

第5章:RTL设计与编码指导

image-20240318000417466

这一章主要是讲的设计方法,比如面积与速度互换原则、代码风格等。

这部分的内容对于Verilog初学者可能暂时没用,可以先对这些方法有个基本的了解和概念即可,当你学了一段时间的FPGA设计后,就会发现这些内容都会对你很有帮助。所以先收藏起来,过段时间再来看看吧。

第6章:如何写好状态机

image-20240318000741181

可能是全书写得最好的一章。状态机对FPGA设计有多重要怎么说都不为过,正所谓“万事皆可状态机”。这一章值得细读、反复读。

第7章:逻辑验证与testbench编写

image-20240318000939839

这一章告诉你怎么写testbench。testbench用来测试你的设计正不正常,是非常重要的验证和测试手段。

很多初学者喜欢直接下板看运行情况,不喜欢写TB,这种设计习惯其实非常差。稍微复杂一点的设计,可能有一些隐藏很深的BUG在运行过程中是偶发性的、难复现的,这样出了问题你根本就没法查,但是只要你的TB设计得当,保证到一定的覆盖率,有很多BUG是可以在测试阶段就解决掉的。

第8章:Verilog语义和仿真原理

image-20240318001657259

这一章讲工具如何对设计电路仿真。因为工具是顺序执行的,而设计的电路是并行执行的,所以需要设计一套机制使其匹配。这部分的内容个人认为随便看看就行。

第9章:设计与验证语言发展趋势

image-20240318002002498

和第一章差不多,花2分钟了解下就行。

总结

总的来说,这本书比较适合没有Verilog基础/Verilog基础比较差的同学,大部分的内容阅读起来是没有门槛的,少部分内容(比如设计方法)需要学习一段时间后后才能更好地理解。

这篇关于【数字IC/FPGA】书籍推荐(1)----《轻松成为设计高手--Verilog HDL实用精解》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828876

相关文章

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

Java轻松实现PDF转换为PDF/A的示例代码

《Java轻松实现PDF转换为PDF/A的示例代码》本文将深入探讨Java环境下,如何利用专业工具将PDF转换为PDF/A格式,为数字文档的永续保存提供可靠方案,文中的示例代码讲解详细,感兴趣的小伙伴... 目录为什么需要将PDF转换为PDF/A使用Spire.PDF for Java进行转换前的准备通过

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和