【数字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基础比较差的同学,大部分的内容阅读起来是没有门槛的,少部分内容(比如设计方法)需要学习一段时间后后才能更好地理解。

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

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

相关文章

企业微信可以更换公司主体吗?

企业微信变更主体有什么作用?当我们的企业因为各种原因需要注销或已经注销,或者运营变更等情况,企业微信无法继续使用原主体继续使用时,可以申请企业主体变更,变更为新的主体。企业微信变更主体的条件有哪些&#xff1…

基于Docker的JMeter分布式压测!

一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载。JMeter使用Java RMI[远程方法调用]来与分布式网络中的对象进行交互。JMeter主站…

Vue js封装接口

天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1.安装axios npm install axios -g 2.在src下新建一个Api文件夹,再创建一个js文件 import axios from axios let configuration {url:"http://localhost:9090" } /*** 请求项目数据的请求体*/ async function h…

C语言——函数练习程序

1.从终端接收一个数,封装一个函数判断该数是否为素数 #include <stdio.h>int pri(int num) {int i 0;for (i 2; i < num; i){if (num % i 0){return 0;break;}}if (i num-1){return 1;} }int main(void) {int num 0;int ret 0;scanf("%d", &num);…

CV论文--2024.3.20

1、Graph Expansion in Pruned Recurrent Neural Network Layers Preserve Performance 中文标题&#xff1a;图扩展在修剪的循环神经网络层中保持性能 简介&#xff1a;这段摘要讨论了图的扩展性质&#xff0c;包括强连通性和稀疏性。研究表明&#xff0c;深度神经网络可以通…

linux -- I2C设备驱动 -- MS32006(低压5V多通道电机驱动器)

产品简述 MS32006 是一款多通道电机驱动芯片, 其中包含两路步进电机驱动, 一路直流电机驱动; 每个通道的电流最高电流1.0A; 支持两相四线与四相五线步进电机。芯片采用 I2C 的通信接口控制模式, 兼容 3.3V/5V 的标准工业接口。 MS32006 总共集成了两路步进电机驱动器与一…

【c++入门】引用,内联函数,auto

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本节我们来到c中一个重要的部分&#xff1a;引用 目录 1.引用的基本概念与用法1.1引用特性1.2使用场景1.3传值、传引用效率比较1.4引用做返回值1.5引用和指针的对…

面试算法-77-括号生成

题目 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 解 class Solution {publ…

ubuntu2310制作离线源

ubuntu2310制作openstack离线源 2310清华源 # 默认注释了源码镜像以提高 apt update 速度&#xff0c;如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ mantic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.…

公司调研 | 空间机械臂GITAI | 日企迁美

最近做的一些公司 / 产品调研没有从技术角度出发&#xff0c;而更关注宏观发展&#xff1a;主营方向、产品介绍、商业化落地情况、融资历程、公司愿景、创始人背景等。部分调研放在知乎上&#xff0c;大部分在飞书私人链接上 最近较关注人形Robot的发展情况&#xff0c;欢迎感兴…

【Java】Map和Set

文章目录 一、Map和Set的概念二、模型三、Map的说明3.1 Map.Entry<K, V>的说明3.2 Map 的常用方法 四、Set的说明4.1 Set的常用方法 一、Map和Set的概念 Map和set是一种专门用来进行搜索的容器或者数据结构&#xff0c;其搜索的效率与其具体的实例化子类有关&#xff0c…

在线播放视频网站源码系统 带完整的安装代码包以及搭建教程

在线播放视频网站源码系统的开发&#xff0c;源于对当前视频市场的深入洞察和用户需求的精准把握。随着视频内容的爆炸式增长&#xff0c;用户对视频播放的需求也日益多样化。他们希望能够随时随地观看自己感兴趣的视频内容&#xff0c;同时还希望能够在观看过程中享受到流畅、…

用vscode调试cpp程序相关操作记录

需要在服务器上用vscode调试cpp程序&#xff0c;写此记录launch.json配置和相关步骤错误导致的问题 1.在需要运行程序的服务器上安装C/C Extension Pack&#xff08;之前只在本地装了&#xff09;&#xff0c;可以支持调试C/C应用程序(设置断点&#xff0c;单步执行&#xff0c…

分类预测 | Matlab实现PSO-KELM粒子群优化算法优化核极限学习机分类预测

分类预测 | Matlab实现PSO-KELM粒子群优化算法优化核极限学习机分类预测 目录 分类预测 | Matlab实现PSO-KELM粒子群优化算法优化核极限学习机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现PSO-KELM粒子群优化算法优化核极限学习机分类预测(完整源…

使用GPT2预训练模型的方法

使用GPT2预训练模型的方法 flyfish transformers库对所有模型统一的API 安装 pip install transformersGPT2模型主要包括以下文件 config.json merges.txt model.safetensors tokenizer.json tokenizer_config.json vocab.json模型所在目录 \.cache\huggingface\hub\model…

【Linux之·指令gnome-terminal】

系列文章目录 文章目录 前言一、用法1.1 gnome-terminal1.2 $$ $! 总结 前言 一、用法 1.1 gnome-terminal 功能&#xff1a;Linux 新打开一个shell窗口并获取新打开shell窗口自身的pid gnome-terminal -- bash -c echo $! ; echo $$;exec bash gnome-terminal -- bash -c &…

ubuntu20.04安裝輸入法

文章目录 前言一、操作過程1、安装fcitx-googlepinyin2、配置language support 前言 參考文獻 一、操作過程 1、安装fcitx-googlepinyin sudo apt-get install fcitx-googlepinyin2、配置language support 第一次點擊進去&#xff0c;會讓你安裝 點擊ctrl和空格切換中英文…

简历指导与模板获取

简历是应聘过程当中最重要的材料&#xff0c;是我们在求职市场的一张名片&#xff0c;一份好的简历能够吸引招聘者的注意&#xff0c;使你在竞争激烈的求职市场中脱颖而出。 1.简历指导 以下是一份典型简历的主要部分和常见内容&#xff1a; 联系信息&#xff1a; 包括你的全…

【火猫DOTA2】Secret官宣下放四号位Ekki,教练ah fu顶替担任

1、近日Secret战队官方宣布对阵容做出调整:下放四号位选手Ekki,教练ah fu将在未来一段时间重回赛场担任四号位。 Ekki于今年1月初宣布加入Secret担任四号位,但队伍在今年的表现不甚理想,未能从西欧预选赛晋级BB别墅杯和ESL One伯明翰。在唯一成功晋级的梦幻联赛S22上,Secret也仅…

如何在linux环境上部署单机ES(以8.12.2版本为例)

ES安装&#xff08;以8.12.2版本为例&#xff09; 首先创建好对应的文件夹然后在对应的文件夹下执行依次这些命令 1.wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-linux-x86_64.tar.gz 2.wget https://artifacts.elastic.co/downloads/…