图书目录

目录

第一部分逻辑设计基础

第1章逻辑设计概述及Vivado基础

1.1逻辑设计概况

1.2Verilog HDL语言基础

1.2.1硬件描述语言概述

1.2.2Verilog HDL语言要素和设计流程

1.3PLD器件基础

1.3.1可编程逻辑器件技术发展历程

1.3.2FPGA和CPLD简介

1.3.3Xilinx FPGA介绍

1.3.4FPGA选型应该考虑的问题

1.4Vivado开发环境及设计流程

1.4.1Vivado功能介绍

1.4.2Vivado用户界面介绍和菜单操作

1.4.3Vivado开发流程

第2章布尔代数和Verilog HDL基础

2.1布尔代数

2.1.1三种基本逻辑门

2.1.2四种常用逻辑门

2.2布尔定律

2.2.1单变量布尔定律

2.2.2双变量和三变量的布尔定律

2.3布尔代数化简

2.3.1公式法化简

2.3.2卡诺图化简

2.4Verilog HDL语言基础

2.4.1Verilog HDL模块及端口

2.4.2Verilog HDL数据类型声明

2.4.3Verilog HDL运算操作

第3章组合逻辑电路设计基础

3.1组合电路中的always块

3.1.1基本语法格式

3.1.2过程赋值

3.1.3变量的数据类型

3.1.4简单实例

3.2条件语句

3.2.1ifelse语句

3.2.2case语句

3.3循环语句

3.3.1for语句

3.3.2repeat语句

3.3.3while语句

3.3.4forever语句

3.4always块的一般编码原则

3.4.1组合电路代码中常见的错误

3.4.2组合电路中always块的使用原则

3.5常数和参数

3.5.1常数

3.5.2参数

3.6设计实例

3.6.1多路选择器

3.6.2比较器

3.6.3译码器和编码器

3.6.4十六进制数七段LED显示译码器

3.6.5二进制—BCD码转换器

3.7练习题

第4章时序电路设计基础

4.1触发器和锁存器

4.1.1基本D触发器

4.1.2含异步复位的D触发器

4.1.3含异步复位和同步使能的D触发器 

4.1.4基本锁存器

4.1.5含清0控制的锁存器

4.2寄存器

4.2.11位寄存器

4.2.2N位寄存器

4.2.3寄存器组

4.3移位寄存器

4.3.1具有同步预置功能的8位移位寄存器

4.3.28位通用移位寄存器

4.4计数器

4.4.1简单的二进制计数器

4.4.2通用二进制计数器

4.4.3模m计数器

4.5设计实例

4.5.1数码管扫描显示电路

4.5.2秒表

4.6练习题

第5章有限状态机设计基础

5.1引言

5.1.1有限状态机的特点

5.1.2Mealy状态机和Moore状态机

5.1.3有限状态机的表示方法

5.2有限状态机代码实现

5.3设计实例

5.3.1序列检测器设计

5.3.2ADC采样控制电路设计

5.3.3按键消抖电路设计

5.4课程练习

第6章逻辑设计工程技术基础

6.1数字电路稳定性

6.2组合逻辑与毛刺

6.2.1组合逻辑设计中的毛刺现象

6.2.2组合逻辑设计中毛刺的处理

6.3异步设计与毛刺

6.3.1异步时序电路中的毛刺现象

6.3.2异步时序电路中毛刺的处理

6.4Verilog HDL设计中的编程风格

6.4.1强调代码编写风格的必要性

6.4.2强调编写规范的宗旨

6.4.3变量及信号命名规范

6.4.4编码格式规范

6.5Xilinx开发环境中的其他逻辑设计辅助工具

第二部分常用逻辑设计模块

第7章Vivado数字积木流程

7.1IP基础

7.2打包属于自己的IP

7.3IP设计示例——二进制转格雷码

7.4练习题

第8章串行通信接口控制器

8.1UART串口通信协议及控制器设计

8.1.1UART协议介绍

8.1.2UART协议实例

8.2PS/2协议及实例设计

8.2.1PS/2协议介绍

8.2.2PS/2设计实例

8.3SPI同步串行总线协议及控制器设计

8.3.1SPI协议介绍

8.3.2SPI控制器模块实例

8.4I2C两线式串行总线协议及控制器设计

8.4.1I2C协议介绍

8.4.2I2C模块设计实例

8.5练习题

第9章RAM接口控制器

9.1内部存储器

9.1.1FIFO

9.1.2单端口RAM设计

9.1.3双端口RAM设计

9.2外部存储器

9.2.1DRAM介绍

9.2.2DDR SDRAM原理

9.2.3DDR SDRAM控制器原理

9.3练习题

第10章字符点阵显示模块接口控制器

10.1字符型液晶控制器设计

10.1.1LCD原理

10.1.2字符型LCD1602模块

10.1.3字符型液晶模块显示实例

10.2点阵OLED控制器设计

10.2.1OLED原理

10.2.2OLED驱动原理

10.2.3OLED显示实例

10.3练习题

第11章VGA接口控制器

11.1CRT显示器原理

11.2VGA控制器设计

11.2.1VGA视频接口的概念

11.2.2VGA的接口信号

11.2.3行同步和场同步

11.3VGA接口设计实例

11.3.1VGA显示条纹和棋盘格图像

11.3.2VGA图像显示实例(文字/图片显示或者数码相框)

11.3.3VGA IP的使用

11.4练习题

第12章数字图像采集

12.1数字图像采集概述

12.2系统设计原理

12.2.1系统架构

12.2.2OV7725芯片介绍

12.2.3OV7725 SCCB协议

12.2.4OV7725配置寄存器

12.2.5OV7725图像采集

12.2.6Block RAM存储单元

12.2.7VGA显示的实现

12.3模块搭建与综合实现

12.4系统调试及板级验证

12.4.1引脚分配

12.4.2模块连接

12.5练习题

第三部分逻辑系统设计案例

第13章数字逻辑系统设计案例: 数字钟

13.1数字钟设计案例

13.1.1实验原理

13.1.2实验设计流程

13.2基于集成逻辑分析仪的调试

13.3约束设计

13.3.1物理约束

13.3.2时序约束

13.4练习题

第14章单周期处理器设计实例

14.1单周期处理器体系架构简介

14.1.1单周期处理器指令集简介

14.1.2单周期处理器系统结构

14.2设计流程

14.2.1实验原理

14.2.2设计与验证

第15章数字信号处理实例: FIR滤波器

15.1FIR滤波器简介

15.2基于HLS的FIR滤波器实现流程

15.3工程测试

15.4生成IP

15.5练习题

第16章数字图像处理设计案例

16.1项目概述

16.2硬件介绍

16.3模块介绍

16.3.1RGB转HSV模块

16.3.2Color Detect色彩检测及坐标计算

16.4舵机控制模块

16.5实例实现过程

16.6板级验证

16.7练习题

第17章大学生FPGA设计案例

17.1逻辑控制

17.2图像处理

17.2.1VGA控制颜色

17.2.2视力表

17.2.3手部运动检测系统

17.3仪表仪器

17.3.1数字示波器

17.3.2逻辑分析仪

17.3.3波形发生器

17.4其他

第18章Xilinx资源导读

18.1获取本书参考例程

18.1.1Github介绍及使用

18.1.2OpenHW介绍

18.1.3Xilinx各类比赛

18.2Xilinx网站

18.2.1FPGA应用与解决方案

18.2.2文档资料查找

18.2.3Vivado工具和License的下载以及更新

18.2.4问题的查找

18.2.5Xilinx社区

18.3视频教程

18.4Vivado学习参考文档

参考文献