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

news2024/11/27 21:44:59

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


image-20240318002618465

定位

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

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

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

image-20240318003623084

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

第1章:基础知识

image-20240318004241719

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

image-20240318004602106

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

第2章:语言层次

image-20240318004818699

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

第3章:组合操作

image-20240318005206000

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

第4章:还是组合

image-20240318005723861

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

第5章:时序逻辑

image-20240318010313075

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

image-20240318010508180
在这里插入图片描述

第6章:工程话题

image-20240318010933531

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

第7章:灵活模块

image-20240318011331620

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

第8章:电路之外

image-20240318011603421

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

第9章:综合例子

image-20240318011852319

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

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

image-20240318012313048

image-20240318012340266

总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

游戏反云手机检测方案

游戏风险环境,是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有:云手机、虚拟机、虚拟框架、iOS越狱、安卓设备root等。 这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限,当游戏处于这些风险环境下&#xff0c…

<深度学习初识>——《深度学习笔记》

深度学习笔记 一、人工智能简介 1.人工智能发展的重要时间节点 1.1人工智能孕育期 1.2人工智能诞生期 1.3人工智能第一次浪潮的发展 1.4人工智能的第一次寒冬 第一次寒冬主要面临的几个问题: 1.5人工智能第二次浪潮的发展 1.6人工智能的第二次寒冬 1.7人工智能第…

FREERTOS队列集和事件标志组

队列集 一个队列只允许任务间传递的消息为同一种数据类型,如果需要在任务间传递不同数据类型的消息时,那么就可以使用队列集! 作用:用于对多个队列或信号量(信号量本质上也是个队列)进行“监听”&#xff…

python(Django)之登录功能实现

1、创建登陆函数 def login(request):if request.POST:username password username request.POST.get(username)password request.POST.get(password)user auth.authenticate(usernameusername, passwordpassword)if user is not None and user.is_active:auth.login(req…

医药工厂5G智能制造数字孪生可视化平台,推进医药企业数字化转型

医药工厂5G智能制造数字孪生可视化平台,推进医药企业数字化转型。随着科技的不断发展,数字化转型已成为医药企业不可或缺的一部分。5G智能制造医药工厂数字孪生可视化平台作为数字化转型的重要工具,正在逐步改变医药企业的生产方式和管理模式…

MATLAB:函数与数值积分

一、数学函数图像的绘制 clc,clear fh (x)2*exp(-x).*sin(x); Xrange [0,8]; gx (x)3*exp(-x)*0.8.*sin(x); fplot(fh,Xrange,r-*,LineWidth,1.5) hold on grid on fplot(gx,Xrange,b-o,LineWidth,1.5) axis([-0.5,8.5,-0.1,0.85]) legend(fh (x)2*exp(-x).*sin(x),gx (x…

QB PHP 多语言配置

1: 下载QBfast .exe 的文件 2: 安装的时候 ,一定点击 仅为我 安装 而不是 所有人 3: 如果提示 更新就 更新 , 安装如2 4: 如果遇到 新增 或者编辑已经 配置的项目时 不起作用 : 右…

【Linux】编译器-gcc/g++的使用(预处理、编译、汇编、连接)

目录 01.预处理(宏替换) 02.编译(生成汇编) 03.汇编(生成机器可识别码) 04.连接(生成可执行文件或库文件) 05.选项 编译器在编译代码时包含以下四个步骤:1.预处理 2…

读算法的陷阱:超级平台、算法垄断与场景欺骗笔记15_虚拟助手

1. 虚拟助手 1.1. 站在全球视角,这些公司是:亚马逊、脸书、谷歌和苹果 1.1.1. 苹果的Siri 1.1.2. 亚马逊的Alexa 1.1.3. 脸书Messenger应用上的M 1.1.4. 谷歌语音助手Assistant 1.2. 借由人工智能技术,虚拟助手将对用户的个人电子档案、…

机器学习 - 选择模型

接着这一篇博客做进一步说明: 机器学习 - 准备数据 PyTorch moduleExplaintorch.nnContains all of the building blocks for computational graphs (essentially a series of computations executed in a particular way). nn 模块为用户提供了丰富的神经网络组件…

【软件】项目管理工具focalboard使用docker部署

github官方网址 使用宝塔进入docker从官方进行镜像仓库拉去mattermost/focalboard 容器》添加容器》容器名》镜像》暴露端口》加号》添加 注意的是原始容器端口号为8000和9092

Vue使用qrcodejs2实现生成二维码

Vue使用qrcodejs2实现生成二维码示例 业务需求 比如说我们需要对下方的列表数据访问地址列进行生成二维码,扫描后跳转对应的地址。 安装qrcodejs2依赖 npm i qrcodejs2引用 在我们需要使用的页面进行引用qrcodejs2 import QRCode from qrcodejs2定义我们的二维…

业务服务:redisson

文章目录 前言一、配置1. 添加依赖2. 配置文件/类3. 注入redission3. 封装工具类 二、应用1. RedisUtils工具类的基本使用 三、队列1. 工具类2. 普通队列2. 有界队列(限制数据量) 前言 redission是一个开源的java redis的客户端,在其基础上进…

备战蓝桥杯---牛客寒假训练营2VP

题挺好的,收获了许多 1.暴力枚举(许多巧妙地处理细节方法) n是1--9,于是我们可以直接暴力,对于1注意特判开头0但N!1,对于情报4,我们可以把a,b,c,d的所有取值枚举一遍,那么如何判断有…

机器学习——编程实现从零构造训练集的决策树

自己搭建一棵决策树【长文预警】 忙了一个周末就写到了“构建决策树”这一步,还没有考虑划分测试集、验证集、“缺失值、连续值”,预剪枝、后剪枝的部分,后面再补吧(挖坑) 第二节内容:验证集划分\k折交叉…

Docker-安装

Docker ⛅Docker-安装🌠各平台支持情况🌠Server 版本安装☃️Ubuntu☃️Centos 🌠Docker 镜像源修改🌠Docker 目录修改 ⛅Docker-安装 🌠各平台支持情况 🌠Server 版本安装 ☃️Ubuntu 🍂安装…

地脚螺栓的介绍

地脚螺栓简单来说,它是一种机械构件。通常用于铁路、公路、电力、桥梁、锅炉钢结构、塔吊、大型建筑等。一头预埋在地底下,另一头穿过设备用螺母拧紧,用来固定设备,钢结构设施,铁塔设施等,所以地脚螺栓拥有…

上海亚商投顾:沪指震荡调整 北向资金全天净卖出超70亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整,创业板指尾盘跌超1%。猪肉股集体反弹,播恩集团、湘佳股份、傲农生物…

vue项目:使用xlsx导出Excel数据

文章目录 一、安装xlsx二、报错及解决三、编写公共方法四、方法使用 一、安装xlsx 执行命令:npm i xlsx file-saver --save 二、报错及解决 使用时:import XLSX from "xlsx"; 发现如下报错信息 报错原因:xlsx版本不兼容。 解…

幼犬狗粮和成年犬狗粮该怎么挑选?

亲爱的狗友们,我们都知道,给狗狗选择适合的狗粮是非常重要的。那么,面对市面上琳琅满目的幼犬狗粮和成年犬狗粮,我们该如何挑选呢?别担心,接下来就让我来给大家支支招。 🐶 幼犬狗粮挑选篇 &…