编辑推荐
科技快速发展带来人工智能变革,本书重点介绍电子设计自动化、SoC设计、VHDL、Verilog及HLS技术。
内容简介
随着科学技术的迅速发展,人工智能被应用在生活中的各个领域,给人们的生活带来了翻天覆地的变化,推动了社会的发展和进步。在学术上,人工智能可以按照实现的基础,分为软件级人工智能和硬件级人工智能。软件级人工智能,是在已有的硬件平台上实现较为复杂的人工智能算法和架构,多以SoC为硬件平台。硬件级人工智能则是将简单常用的人工智能算法模块电路化,多以硬件加速器形式存在于SoC中,与软件级实现形成互补,提升整体系统的工作效率。但归根结底,软件级和硬件级实现都离不开硬件设计,离不开SoC的开发。本书,《人工智能硬件电路设计基础及应用》,针对硬件设计中数字前端设计,着重介绍电子设计自动化以及SoC设计开发过程中数字前端的知识,包括VHDL技术、Verilog技术以及HLS技术。同时将开发SoC中常用的模块作为应用实例进行详细讲解。
章节目录
封面
前折页
版权信息
内容简介
前言
第1部分 VHDL技术
第1章 VHDL程序的结构
1.1 库和包集
1.1.1 库
1.1.2 包集
1.1.3 库和包集的声明
1.2 实体、构造体和配置
1.2.1 实体
1.2.2 构造体
1.2.3 配置
1.3 课后习题
第2章 VHDL语言规则
2.1 常量、信号和变量
2.1.1 常量
2.1.2 信号
2.1.3 信号赋值语句
2.1.4 变量
2.1.5 变量赋值语句
2.1.6 比较信号和变量
2.2 数据类型
2.2.1 标量类型
2.2.2 复合类型
2.2.3 存取类型
2.2.4 文件类型
2.2.5 保护类型
2.3 运算操作符和属性
2.3.1 运算操作符
2.3.2 属性
2.3.3 通用属性
2.4 课后习题
第3章 VHDL主要描述语句
3.1 顺序语句
3.1.1 if语句
3.1.2 case语句
3.1.3 比较if语句和case语句
3.1.4 wait语句
3.1.5 loop语句
3.1.6 null语句
3.2 并行语句
3.2.1 process语句
3.2.2 block语句
3.2.3 generate语句
3.2.4 component实例化语句
3.3 子程序
3.3.1 函数
3.3.2 过程
3.4 课后习题
第4章 VHDL组合逻辑电路设计
4.1 4-16译码器
4.2 具有三态输出的8位4输入复用器
4.3 16位桶形移位器
4.4 课后习题
第5章 VHDL时序逻辑电路设计
5.1 带异步清零端的模10计数器
5.2 带同步清零端的4位移位寄存器
5.3 多路输出的时钟分频器
5.4 课后习题
第6章 VHDL状态机设计
6.1 状态机基本组成部分
6.2 状态机设计实例
6.2.1 带同步清零端和装载端的模10计数器
6.2.2 带异步复位端的序列检测器
6.3 课后习题
第7章 VHDL设计实例
第2部分 Verilog技术
第8章 Verilog程序结构
8.1 模块的端口定义和I/O说明
8.1.1 模块端口的定义
8.1.2 输入/输出(I/O)说明
8.2 数据类型定义
8.3 功能描述
8.3.1 连续赋值语句(assign)
8.3.2 过程(always)
8.3.3 元件例化
8.4 课后习题
第9章 Verilog语言规则
9.1 数字和字符串
9.1.1 数字
9.1.2 字符串
9.2 数据类型
9.2.1 取值集合
9.2.2 网络
9.2.3 变量
9.2.4 向量
9.2.5 强度
9.2.6 数组
9.2.7 常量
9.2.8 命名空间
9.3 运算符
9.3.1 算术运算符
9.3.2 逻辑运算符
9.3.3 关系运算符
9.3.4 相等运算符
9.3.5 位运算符
9.3.6 归约运算符
9.3.7 移位运算符
9.3.8 条件运算符
9.3.9 连接与复制运算符
9.4 属性
9.5 课后习题
第10章 Verilog主要描述语句
10.1 赋值语句
10.1.1 连续赋值
10.1.2 过程赋值
10.1.3 过程性连续赋值
10.1.4 赋值对象
10.1.5 阻塞与非阻塞
10.2 if语句
10.3 case语句
10.4 循环语句
10.5 时间控制
10.5.1 延迟控制
10.5.2 事件控制
10.5.3 内部赋值定时控制
10.6 块
10.6.1 顺序块
10.6.2 并行块
10.7 结构化过程
10.7.1 initial结构
10.7.2 always结构
10.7.3 task结构
10.7.4 Function结构
10.7.5 任务和函数的区别
10.8 课后习题
第11章 Verilog组合逻辑电路设计
11.1 4-16译码器
11.2 具有三态输出的8位4输入复用器
11.3 16位桶形移位器
11.4 课后习题
第12章 Verilog时序逻辑电路设计
12.1 带异步清零端的模10计数器
12.2 带同步清零端的4位移位寄存器
12.3 多路输出的时钟分频器
12.4 课后习题
第13章 Verilog状态机设计
13.1 状态机基本组成部分
13.2 状态机设计实例
13.2.1 带同步清零端和装载端的模10计数器
13.2.2 带异步复位端的序列检测器
13.3 课后习题
第14章 Verilog设计实例
14.1 实例一(半加器)
14.2 实例二(4-2编码器)
14.3 实例三(优先编码器)
14.4 实例四(乘法器)
14.5 实例五(16位并入串出寄存器)
14.6 实例六(行波计数器构成的13倍分频器)
14.7 实例七(LFSR构成的13倍分频器)
14.8 实例八(交通信号灯)
14.9 实例九(字符序列检测状态机)
14.10 实例十(IIC协议-主机写数据)
14.11 实例十一(IIC协议-主机读数据)
14.12 实例十二(可综合IIC协议读写功能实现)
14.13 实例十三(SPI协议)
第3部分 系统设计
第15章 HLS高层次综合
15.1 实验一 创建HLS工程
15.1.1 步骤一:建立一个新的工程
15.1.2 步骤二:验证C源代码
15.1.3 步骤三:高层次综合
15.1.4 步骤四:RTL验证
15.1.5 步骤五:IP创建
15.2 实验二 使用TCL命令接口
15.2.1 步骤一:创建TCL文件
15.2.2 步骤二:执行TCL文件
15.3 实验三 使用Solution进行设计优化
15.3.1 步骤一:创建新的工程
15.3.2 步骤二:优化I/O接口
15.3.3 步骤三:分析结果
15.3.4 步骤四:优化最高吞吐量(最低间隔)
第16章 MIPS架构处理器设计
16.1 总体结构设计
16.1.1 MIPS架构单周期处理器数据通路设计
16.1.2 接口定义和接口时序等
16.2 MIPS架构单周期设计总体连接及仿真验证
16.2.1 验证方案
16.2.2 仿真结果及分析
16.3 课后习题
第17章 RISC-V架构处理器设计
17.1 RISC-V处理器设计
17.1.1 整体处理器设计
17.1.2 取指阶段电路设计
17.1.3 指令译码阶段电路设计
17.1.4 指令执行阶段电路设计
17.1.5 存储器访问阶段电路设计
17.1.6 写回阶段电路设计
17.1.7 异常和中断处理机制
17.1.8 邻接互连机制
17.1.9 邻接互连指令简介
17.1.10 乘法过程简介
17.2 基于RISC-V的邻接互连处理器仿真验证
17.2.1 仿真平台搭建
17.2.2 仿真方案
17.2.3 仿真结果及分析
17.3 课后习题
第4部分 基于人工智能的目标检测
第18章 基于FPGA C5SoC的MobileNetV1 SSD目标检测方案设计
18.1 背景介绍
18.1.1 SSD模型介绍
18.1.2 Paddle Lite简介
18.2 方案介绍
18.2.1 功能介绍
18.2.2 系统设计
18.2.3 数据量化
18.2.4 SoC_system连接图
18.2.5 方案创新点及关键技术分析
18.3 硬件加速器介绍及仿真
18.3.1 硬件加速器整体架构
18.3.2 卷积电路
18.3.3 硬件加速器波形抓取
18.4 整体加速结果分析
18.4.1 硬件加速器时序及资源报告
18.4.2 加速结果对比与总结
18.5 课后习题
第5部分 附录
附录A 在ISE设计组件下编写VHDL项目的方法
附录B 在Quartus设计组件下编写VHDL项目的方法
附录C 人工智能边缘实验室-FPGA开发板调试
附录D 正文中的程序代码
反侵权盗版声明
封底
人工智能硬件电路设计基础及应用是2022年由电子工业出版社出版,作者廖永波。
得书感谢您对《人工智能硬件电路设计基础及应用》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。