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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

“因聚而生,数智有为”实在智能Agent牵手华为生态合作

近日,2024华为中国合作伙伴大会顺利闭幕,实在智能受邀出席,携TARS大模型及实在Agent(智能体)数字员工精彩亮相,与华为生态伙伴共同探讨如何帮助客户抓住数智化转型的巨大机遇,加速培育“新质生产…

爬虫系列-CSS基础语法

🌈个人主页:会编程的果子君 💫个人格言:“成为自己未来的主人~” CSS全称层叠样式表 ,主要用来定义页面内容展示效果的一门语言,HTML:页面骨架,素颜CSS:页面效果美化&#xff1a…

CTF题型 匿名函数考法例题总结

CTF题型 匿名函数考法&例题总结 文章目录 CTF题型 匿名函数考法&例题总结一 .原理分析二 .重点匿名函数利用1.create_function()如何实现create_function代码注入 2.array_map()3.call_user_func()4.call_user_func_array()5.array_filter() 三.例题讲解1.[Polar 靶场 …

应急响应-Web2

应急响应-Web2 1.攻击者的IP地址(两个)? 192.168.126.135 192.168.126.129 通过phpstudy查看日志,发现192.168.126.135这个IP一直在404访问 , 并且在日志的最后几条一直在访问system.php ,从这可以推断 …

数据库:基本操作与用户授权

一 基本操作 1 SQL分类 数据库:database 表:table,行:row 列:column 索引:index 视图:view 存储过程:procedure 存储函数:function 触发器:trigger 事…

【大屏设计】如何进行软件系统网站大屏页面设计?不限于智慧城市、物联网、电商、园区领域

【大屏设计】如何进行软件系统网站大屏页面设计?不限于智慧城市、物联网、电商、园区领域 一、什么是网站大屏设计二、网站大屏设计原型素材三、网站大屏设计设计素材四、他山之石 一、什么是网站大屏设计 网站大屏设计是网站设计中至关重要的一部分,因…

浅谈前端路由原理hash和history

1、认识前端路由 本质 前端路由的本质,是监听 url 地址或 hash 值的改变,来切换渲染对应的页面组件 前端路由分为两种模式 hash 模式 history 模式 两种模式的对比 2、hash 模式 (1)hash 定义 hash 模式是一种把前端路由的路…

【运维笔记】VM 记录一次centos虚拟机和宿主机之间ping不通的问题

问题描述 环境:centos7,静态ipVM版本:VMware Workstation 16 pro,网络为nat映射模式问题: 一开始,虚拟机可以ping通宿主机,也可以ping通,也可以ping通外网(如 ping www.…

HarmonyOS(二十)——管理应用拥有的状态之LocalStorage(页面级UI状态存储)

LocalStorage是页面级的UI状态存储,通过Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility实例内,在页面间共享状态。 本文仅介绍LocalStorage使用场景和相关的装饰器:LocalStorageProp和LocalS…

GaussDB(分布式)实例故障处理

一、说明 GaussDB Kernel实例出现故障时,可以按照本节的办法进行实例快速修复。 1、执行gs_om -t status --detail查看集群状态,cluster_state为Normal,balanced为No,请重置实例状态。 2、执行gs_om -t status --detail查看集群…

【开源】SpringBoot框架开发校园超市管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 供应商模块2.2 超市商品模块2.3 超市账单模块 三、系统设计3.1 前端架构设计3.2 后端架构设计 四、系统实现五、核心代码5.1 查询商品5.2 删除商品5.3 查询供应商5.4 查询账单5.5 新增账单 六、免责说明 一、摘要 1.1 …

「数据分析」之零基础入门数据挖掘

摘要:对于数据挖掘项目,本文将学习应该从哪些角度分析数据?如何对数据进行整体把握,如何处理异常值与缺失值,从哪些维度进行特征及预测值分析? 探索性数据分析(Exploratory Data Analysis&#…

测试平台——前端框架

一、创建vue项目 npm init vitelatest web_class wylWYLdeMacBook-Air testplatform % npm init vitelatest web_class ✔ Select a framework: › Vue ✔ Select a variant: › JavaScriptScaffolding project in /Users/wyl/workspace/testplatform/web_class...Done. Now…

构建一个前端智能停车可视化系统

引言 随着城市化进程的加速,停车难问题日益突出。智能停车可视化系统通过实时展示停车场的车位信息,帮助用户快速找到空闲车位,提高停车效率。 目录 引言 一、系统设计 二、代码实现 1. 环境准备 2. 安装依赖 3. 创建停车场组件 4. 集…

nodejs社区垃圾分类管理平台的设计与实现python-flask-django-php

近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,社区垃圾分类管理平台利用计算机网络实现信息化管理,使整个社区垃圾分类管理的发展和服务水平有显著提升。 语言&#xf…

BRAS(宽带接入服务器)简介

文章目录 BRAS的主要功能IP地址分配功能AAA(认证、计费、授权) BRAS的工作流程vBRAS 宽带接入服务器(Broadband Remote Access Server,简称BRAS)是面向宽带网络应用的新型接入网关,它位于骨干网的边缘层,可…

阅读笔记(arXiv2022)Submodularity In Machine Learning and Artificial Intelligence

次模性在机器学习和人工智能中的应用 Bilmes, J. (2022). Submodularity in machine learning and artificial intelligence. arXiv preprint arXiv:2202.00132. 本文的核心内容概述: 1. **次模函数的基本概念**: - 次模函数是定义在有限集合上的集…

手机运营商二要素检测:重塑信任基石,筑牢信息安全屏障

随着移动互联网的普及和数字经济的快速发展,用户信息安全的重要性日益凸显。运营商二要素检测作为一种强大的安全验证机制,以其精准匹配与实时验证的特性,为各类应用场景提供了一种可靠的身份识别解决方案,正在成为众多企业和服务…

【Web应用技术基础】HTML(3)——表格

目录 题目1:原始表格 题目2:width、height 题目3: cellpadding 题目4:cellspacing、cellpadding 题目5:caption 题目6:rowspan 题目7:colspan 题目8:汇总题 题目1&#xff1…

Fetch、Axios 和 jQuery(Ajax) 三种常用的网络请求技术

Fetch、Axios 和 jQuery(Ajax) 是三种常用的网络请求技术,它们各自有着不同的特点和优势。本文将对这三种技术进行详细的介绍和比较,以帮助开发者更好地选择和使用合适的网络请求技术。 一、Fetch Fetch(浏览器自带) 是一种现代的网络请求 API&#xff…