目录


第1章EDA技术概述

1.1EDA技术及其发展

1.2Topdown设计与IP核复用

1.2.1Topdown设计

1.2.2Bottomup设计

1.2.3IP复用技术与SoC

1.3EDA设计的流程

1.3.1设计输入

1.3.2综合

1.3.3布局布线

1.3.4时序分析与时序约束

1.3.5功能仿真与时序仿真

1.3.6编程与配置

1.4常用的EDA工具软件

1.5EDA技术的发展趋势

习题1

第2章FPGA/CPLD

2.1PLD概述

2.1.1PLD的发展历程

2.1.2PLD的分类

2.2PLD的基本原理与结构

2.2.1PLD的基本结构

2.2.2PLD电路的表示方法

2.3低密度PLD的原理与结构

2.4CPLD的原理与结构

2.4.1宏单元结构

2.4.2CPLD的结构

2.5FPGA的原理与结构

2.5.1查找表结构

2.5.2FPGA的结构

2.5.3Artix7系列FPGA

2.6FPGA/CPLD的编程元件

2.7边界扫描测试技术

2.8FPGA/CPLD的编程与配置

2.8.1在系统可编程

2.8.2Artix7器件的配置

2.9Xilinx的FPGA器件

2.10FPGA/CPLD的发展趋势

习题2

第3章Vivado使用指南

3.1Vivado流水灯设计

3.1.1流水灯设计输入

3.1.2行为仿真

3.1.3综合与引脚的约束

3.1.4生成比特流文件并下载

3.1.5将配置数据烧写至Flash中

3.2IP核的创建和封装

3.3基于IP集成的计数器设计

3.4Vivado的综合策略与优化设置

习题3

第4章Verilog语言初步

4.1Verilog模块的结构

4.2Verilog基本电路设计

4.2.1Verilog组合电路设计

4.2.2Verilog时序电路设计

4.3Verilog语言要素

4.4常量

4.4.1整数

4.4.2实数

4.4.3字符串

4.5数据类型

4.5.1net型

4.5.2variable型

4.6参数

4.6.1参数parameter

4.6.2Verilog2001中的参数声明

4.6.3参数的传递

4.6.4关键字localparam

4.7向量

4.8运算符

习题4

第5章Verilog语句语法

5.1过程语句

5.1.1always过程语句

5.1.2initial过程语句

5.2块语句

5.2.1串行块beginend

5.2.2并行块forkjoin

5.3赋值语句

5.3.1持续赋值与过程赋值

5.3.2阻塞赋值与非阻塞赋值

5.4条件语句

5.4.1ifelse语句

5.4.2case语句

5.5循环语句

5.5.1for语句

5.5.2repeat、while、forever语句

5.6编译指示语句

5.7任务与函数

5.7.1任务

5.7.2函数

5.8Verilog2001语言标准

5.8.1Verilog2001改进和增强的语法结构

5.8.2属性及PLI接口

习题5

第6章Verilog设计的层次与风格

6.1Verilog设计的层次

6.2门级结构描述

6.2.1Verilog门元件

6.2.2门级结构描述

6.3数据流描述与行为描述

6.4不同描述风格的设计

6.4.1半加器设计

6.4.21位全加器设计

6.4.3加法器的级联

6.5多层次结构电路的设计

6.5.1模块例化

6.5.2用parameter进行参数传递

6.5.3用defparam进行参数重载

6.6Verilog组合逻辑设计

6.7Verilog时序逻辑设计

6.8三态逻辑设计

习题6

第7章Verilog有限状态机设计

7.1有限状态机

7.2有限状态机的Verilog描述

7.2.1用三个always块描述

7.2.2用两个过程描述

7.2.3单过程描述方式

7.3状态编码

7.3.1常用的编码方式

7.3.2状态编码的定义

7.4有限状态机设计要点

7.4.1复位和起始状态的选择

7.4.2多余状态的处理

7.5有限状态机应用实例

7.5.1用有限状态机控制彩灯

7.5.2用有限状态机控制A/D采样

习题7

第8章Verilog驱动常用I/O外设

8.14×4矩阵键盘

8.2数码管

8.3标准PS/2键盘

8.4字符液晶

8.5汉字图形点阵液晶

8.6VGA显示器

8.6.1VGA显示原理与时序

8.6.2VGA彩条信号发生器

8.6.3VGA图像显示与控制

8.7乐曲演奏电路

习题8

第9章Verilog设计进阶

9.1设计的可综合性

9.2流水线设计技术

9.3资源共享

9.4阻塞赋值与非阻塞赋值

9.5加法器设计

9.5.1行波进位加法器

9.5.2超前进位加法器

9.5.3流水线加法器

9.6乘法器设计

9.6.1并行乘法器

9.6.2布斯乘法器

9.6.3查找表乘法器

9.7奇数分频与小数分频

9.7.1奇数分频

9.7.2半整数分频

9.7.3小数分频

习题9

第10章Verilog设计实例

10.1脉宽调制与步进电动机驱动

10.1.1PWM信号

10.1.2用PWM驱动蜂鸣器

10.1.3用PWM驱动步进电动机

10.2超声波测距

10.3整数开方运算

10.4频率测量

10.5Cordic算法及其实现

10.5.1Cordic算法原理

10.5.2Cordic算法的实现

10.6UART异步串口通信

10.7蓝牙通信

10.8用XADC实现模/数转换

10.8.17系列FPGA片内集成ADC概述

10.8.2XADC的使用

习题10

第11章Verilog Test Bench仿真

11.1系统任务与系统函数

11.2用户自定义元件

11.2.1组合电路UDP元件

11.2.2时序逻辑UDP元件

11.3延时模型的表示

11.3.1时间标尺定义`timescale

11.3.2延时的表示与延时说明块

11.4测试平台

11.5组合和时序电路的仿真

11.6ModelSim SE仿真实例

11.6.1图形界面进行功能仿真

11.6.2命令行方式进行功能仿真

11.6.3时序仿真

习题11


附录AVerilog HDL(IEEE Std 1364)关键字

附录BEGO1开发板

参考文献