主页 详情

《用Verilog设计FPGA样机实例解析 XilinxSpartan 第3版》_(美)彭皮·楚(Pong P.Chu)著_14154275_7111536

【书名】:《用Verilog设计FPGA样机实例解析 XilinxSpartan 第3版》
【作者】:(美)彭皮·楚(Pong P.Chu)著
【出版社】:北京:机械工业出版社
【时间】:2016
【页数】:553
【ISBN】:7111536444
【SS码】:14154275

最新查询

内容简介

第一部分 基本数字电路

第1章 门级组合电路

1.1 简介

1.2 一般描述

1.3 基本词汇元素

1.4 数据类型

1.4.1 四值系统

1.4.2 数据类型分类

1.4.3 数字表示

1.4.4 运算符

1.5 程序结构

1.5.1 端口声明

1.5.2 程序体

1.5.3 信号声明

1.5.4 其他例子

1.6 结构描述

1.7 测试平台

1.8 文献备注

1.9 实验

1.9.1 编码

1.9.2 二进制解码器门级编码

第2章 FPGA及EDA软件概述

2.1 简介

2.2 FPGA

2.2.1 通用FPGA器件概述

2.2.2 Xilinx Spartan-3器件概述

2.3 Digilent S3开发板概述

2.4 开发流程

2.5 Xilinx ISE图形化界面概貌

2.6 ISE Project Navigator简明教程

2.6.1 创建工程和HDL代码

2.6.2 创建Testbench及执行RTL仿真

2.6.3 添加约束文件综合和实现代码

2.6.4 生成并下载配置文件至FPGA芯片

2.7 Modelsim HDL仿真器简明教程

2.8 文献备注

2.9 实验

2.9.1 门级大于电路

2.9.2 门级二进制译码器

第3章 寄存器传输级组合逻辑电路

3.1 引言

3.2 运算符

3.2.1 算术运算符

3.2.2 移位运算符

3.2.3 关系和等价运算符

3.2.4 按位运算符、缩减运算符和逻辑运算符

3.2.5 位拼接和复制运算符

3.2.6 条件运算符

3.2.7 运算符优先级

3.2.8 表达式位长度调整

3.2.9 z、x的综合

3.3 组合逻辑电路always块

3.3.1 基本语法和行为

3.3.2 顺序赋值语句

3.3.3 变量数据类型

3.3.4 简单示例

3.4 if语句

3.4.1 语法

3.4.2 示例

3.5 case语句

3.5.1 语法

3.5.2 示例

3.5.3 casez和casex语句

3.5.4 full case与parallel case

3.6 条件控制语句的布线结构

3.6.1 优先路由网络

3.6.2 多路选择网络

3.7 always块的通用编码准则

3.7.1 组合逻辑电路代码的常见错误

3.7.2 准则

3.8 参数和常量

3.8.1 常量

3.8.2 参数

3.8.3 Verilog-1995的参数使用

3.9 设计实例

3.9.1 7段LED数码管十六进制译码器

3.9.2 “符号—幅值”加法器

3.9.3 桶式移位器

3.9.4 简化的浮点加法器

3.10 文献备注

3.11 实验

3.11.1 多功能桶式移位器

3.11.2 双优先级编码器

3.11.3 BCD码增量器

3.11.4 浮点数大于比较电路

3.11.5 浮点数和有符号整型数转换电路

3.11.6 增强型浮点型加法器

第4章 常规时序电路

4.1 简介

4.1.1 D触发器和寄存器

4.1.2 同步系统

4.1.3 代码开发

4.2 触发器和寄存器的HDL代码

4.2.1 D触发器

4.2.2 寄存器

4.2.3 寄存器文件

4.2.4 Xilinx Spartan-3器件的存储元件

4.3 简单的设计举例

4.3.1 移位寄存器

4.3.2 二进制计数器及其转换形式

4.4 时序电路的测试平台

4.5 案例学习

4.5.1 LED分时复用电路

4.5.2 码表

4.5.3 FIFO缓冲器

4.6 文献备注

4.7 实验

4.7.1 可编程的方波生成器

4.7.2 PWM和LED调节器

4.7.3 旋转的方形图案电路

4.7.4 心跳电路

4.7.5 可轮换的LED标语电路

4.7.6 增强的码表

4.7.7 栈

第5章 有限状态机

5.1 引言

5.1.1 Mealy输出和Moore输出

5.1.2 有限状态机表示方法

5.2 状态机编码设计

5.3 设计举例

5.3.1 上升沿检测器

5.3.2 去抖电路

5.3.3 测试电路

5.4 文献备注

5.5 参考实验

5.5.1 双沿检测器

5.5.2 另一种去抖电路

5.5.3 停车场占用计数器

第6章 带数据路径的有限状态机

6.1 简介

6.1.1 单个RT操作

6.1.2 ASMD图

6.1.3 带寄存器的判决盒

6.2 FSMD的代码开发

6.2.1 基于RT方法学的去抖电路

6.2.2 带有数据路径元件的编码

6.2.3 带有隐含数据路径元件的编码

6.2.4 对比

6.2.5 测试电路

6.3 设计实例

6.3.1 斐波纳契数电路

6.3.2 除法电路

6.3.3 二进制向BCD码转换电路

6.3.4 周期计数器

6.3.5 精确的低频计数器

6.4 文献备注

6.5 实验

6.5.1 另一种去抖电路

6.5.2 BCD码向二进制码转换电路

6.5.3 带有BCD I/O的斐波纳契电路:设计方法Ⅰ

6.5.4 带有BCD I/O的斐波纳契电路:设计方法Ⅱ

6.5.5 尺度自适应的低频计数器

6.5.6 反应定时电路

6.5.7 巴贝奇差分引擎模拟电路

第7章 Verilog相关的话题

7.1 阻塞和非阻塞

7.1.1 概述

7.1.2 组合逻辑电路

7.1.3 存储元件

7.1.4 时序电路使用阻塞和非阻塞赋值

7.2 另外一种时序电路代码风格

7.2.1 二进制计数器

7.2.2 FSM

7.2.3 FSMD

7.2.4 总结

7.3 使用有符号数据类型

7.3.1 概述

7.3.2 Verilog-1995中的有符号数

7.3.3 Verilog-2001中的有符号数

7.4 在综合中使用函数

7.4.1 概述

7.4.2 举例

7.5 用于测试平台开发的额外结构

7.5.1 always和initial块

7.5.2 程序语句

7.5.3 时序控制

7.5.4 延时控制

7.5.5 事件控制

7.5.6 wait语句

7.5.7 timescale指令

7.5.8 系统函数和任务

7.5.9 自定义函数和任务

7.5.10 复杂测试平台示例

7.6 文献备注

7.7 实验

7.7.1 使用阻塞和非阻塞赋值的移位寄存器

7.7.2 BCD计数器的另一种代码风格

7.7.3 FIFO缓冲器的另一种代码风格

7.7.4 斐波纳契数电路的另一种代码风格

7.7.5 双模式比较器

7.7.6 增加的二进制监视器

7.7.7 FIFO缓冲器测试平台

第二部分 I/O模块

第8章 UART

8.1 引言

8.2 UART接收子系统

8.2.1 过采样步骤

8.2.2 波特率产生器

8.2.3 UART接收端

8.2.4 接口电路

8.3 UART发送子系统

8.4 UART总系统简述

8.4.1 完整的UART核

8.4.2 UART验证配置

8.5 定制一个UART

8.6 文献备注

8.7 实验

8.7.1 具备所有特征的UART

8.7.2 拥有波特率自动检测功能的UART

8.7.3 拥有波特率校验位自动检测功能的UART

8.7.4 UART控制的秒表

8.7.5 UART控制的LED标语

第9章 PS2键盘

9.1 引言

9.2 P32接收子系统

9.2.1 PS2端口的物理层接口

9.2.2 设备到主机的通信协议

9.2.3 设计和代码

9.3 PS2键盘的扫描码

9.3.1 扫描码概述

9.3.2 扫描码监听电路

9.4 PS2键盘接口电路

9.4.1 基本设计与HDL代码

9.4.2 验证电路

9.5 文献备注

9.6 实验

9.6.1 可选的键盘接口Ⅰ

9.6.2 可选的键盘接口Ⅱ

9.6.3 带看门狗定时器的PS2接收子系统

9.6.4 键盘控制的秒表

9.6.5 键盘控制的移动LED横幅

第10章 PS2鼠标

10.1 引言

10.2 PS2鼠标协议

10.2.1 基本操作

10.2.2 基本的初始化程序

10.3 PS2传输子系统

10.3.1 主机到PS2设备的通信协议

10.3.2 设计和代码

10.4 双向的PS2接口

10.4.1 基本设计和代码

10.4.2 确认电路

10.5 PS2鼠标接口

10.5.1 基本设计

10.5.2 测试电路

10.6 文献备注

10.7 实验

10.7.1 键盘控制电路

10.7.2 增强的鼠标接口

10.7.3 鼠标控制7段LED显示器

第11章 外部SRAM

11.1 引言

11.2 IS61LV25616AL SRAM的特性

11.2.1 Block示意图和I/0信号

11.2.2 时序参数

11.3 基础存储控制器

11.3.1 Block示意图

11.3.2 时序需求

11.3.3 SRAM的寄存器文件

11.4 安全设计

11.4.1 ASMD图

11.4.2 时序分析

11.4.3 HDL编码(执行)

11.4.4 基础测试电路

11.4.5 全面的SRAM测试电路

11.5 更主流的设计

11.5.1 时序问题

11.5.2 可选设计Ⅰ

11.5.3 可选设计Ⅱ

11.5.4 可选设计Ⅲ

11.5.5 Xilinx公司的高级FPGA特点

11.6 文献备注

11.7 实验

11.7.1 512K×16配置的存储器

11.7.2 1M×8配置的寄存器

11.7.3 8M×1配置的存储器

11.7.4 扩展存储器实验电路

11.7.5 存储控制器和可选设计Ⅰ的测试电路

11.7.6 存储控制器和可选设计Ⅱ的测试电路

11.7.7 存储控制器和可选设计Ⅲ的测试电路

11.7.8 DCM的存储控制器

11.7.9 高性能存储控制器

第12章 XilinxSpartan-3特殊存储器

12.1 简介

12.2 Spartant-3设备的嵌入式存储器

12.2.1 摘要

12.2.2 对照

12.3 合并存储器模块的方法

12.3.1 元件例化产生的存储器模块

12.3.2 核生成器产生的存储器模块

12.3.3 通过HDL生成的存储器模块

12.4 存储器相关的HDL模板

12.4.1 单口RAM

12.4.2 双口RAM

12.4.3 ROM

12.5 文献备注

12.6 实验

12.6.1 基于块RAM的FIFO

12.6.2 基于块RAM的栈

12.6.3 基于ROM的大量信号地址

12.6.4 基于ROM的sin(x)函数

12.6.5 基于ROM的sin(x)和cos(x)函数

第13章 VGA控制器Ⅰ:图形

13.1 简介

13.1.1 CRT的基本工作方式

13.1.2 S3板上的VGA端口

13.1.3 视频控制器

13.2 VGA同步

13.2.1 水平同步

13.2.2 垂直同步

13.2.3 VGA同步信号的时序计算

13.2.4 HDL实现

13.2.5 测试电路

13.3 像素生成电路概述

13.4 使用对象映射图的图像生成

13.4.1 矩阵对象

13.4.2 非矩阵对象

13.4.3 活动的对象

13.5 位图映射的图像生成

13.5.1 双口RAM实现

13.5.2 单口RAM实现

13.6 文献备注

13.7 实验

13.7.1 VGA测试图案发生器

13.7.2 SVGA模式同步电路

13.7.3 可视化屏幕调整电路

13.7.4 箱子里球的电路

13.7.5 箱子里两个球的电路

13.7.6 两个游戏者的游戏

13.7.7 越狱游戏

13.7.8 全屏圆点轨迹

13.7.9 鼠标指针电路

13.7.10 小屏幕内鼠标轨迹电路

13.7.11 全屏幕鼠标轨迹电路

第14章 VGA控制器Ⅱ:示例

14.1 简介

14.2 举例

14.2.1 点阵的特性

14.2.2 字体ROM

14.2.3 基本文本生成电路

14.2.4 字体显示电路

14.2.5 字体缩放比例

14.3 全屏文本显示

14.4 完整的乒乓游戏设计

14.4.1 文本子系统

14.4.2 修正图像分系统

14.4.3 辅助计算器

14.4.4 顶层系统

14.5 文献备注

14.6 实验

14.6.1 旋转旗帜

14.6.2 指针的下划线

14.6.3 双模式文本显示

14.6.4 键盘文本输入

14.6.5 UART终端

14.6.6 方波显示

14.6.7 简单的四路逻辑分析器

14.6.8 完整的双人乒乓游戏

14.6.9 完整的通关游戏

第三部分 PicoBlaze微控制器

第15章 PicoBlze概述

15.1 简介

15.2 定制硬件和软件

15.2.1 从专用FSMD到通用微控制器

15.2.2 微控制器的应用

15.3 PicoBlaze概述

15.3.1 基本组成

15.3.2 顶层HDL模块

15.4 开发流程

15.5 指令集

15.5.1 编程模式

15.5.2 指令格式

15.5.3 逻辑指令

15.5.4 算术指令

15.5.5 比较和检验指令

15.5.6 移位和循环指令

15.5.7 数据传输指令

15.5.8 程序控制指令

15.5.9 中断指令

15.6 伪指令声明指令

15.6.1 KCPSM3汇编伪指令

15.6.2 PBlazeIDE汇编伪指令

15.7 文献备注

第16章 PicoBlaze汇编语言开发

16.1 简介

16.2 有效的代码表

16.2.1 KCPSM3协议

16.2.2 比特操作

16.2.3 多字节数据处理

16.2.4 控制结构

16.3 子程序开发

16.4 编程

16.4.1 示例

16.4.2 程序文件

16.5 汇编代码处理

16.5.1 KCSPM3编译

16.5.2 PBlazeIDE仿真

16.5.3 JTAG重载

16.5.4 PBlazeIDE编译

16.6 PicoBlaze综合

16.7 文献备注

16.8 实验

16.8.1 有符号数乘法运算

16.8.2 多字节乘法运算

16.8.3 循环位移功能

16.8.4 高低位互置功能

16.8.5 二进制码至BCD码转换

16.8.6 BCD码至二进制码转换

16.8.7 心跳电路

16.8.8 旋转闪亮LED电路

16.8.9 离散LED调光器

第17章 PicoBlaze I/O接口

17.1 简介

17.2 输出端口

17.2.1 output指令及时序

17.2.2 输出接口

17.3 输入端口

17.3.1 输入指令和时序

17.3.2 输入接口

17.4 包括开关输入和7段LED显示接口的二次方计算程序

17.4.1 输出接口

17.4.2 输入接口

17.4.3 集成代码开发

17.4.4 HDL代码开发

17.5 结合组合乘法器和UART控制器的乘法程序

17.5.1 乘法器接口

17.5.2 UART接口

17.5.3 汇编代码开发

17.5.4 HDL代码开发

17.6 文献备注

17.7 实验

17.7.1 低频计数器Ⅰ

17.7.2 低频计数器Ⅱ

17.7.3 自适应低频计数器

17.7.4 利用软件定时器替代基础反应定时器

17.7.5 包含硬件定时器的反应定时器

17.7.6 增强型反应定时器

17.7.7 小屏幕鼠标跟踪电路

17.7.8 全屏幕鼠标跟踪电路

17.7.9 增强型跑马灯字幕

17.7.10 乒乓游戏

17.7.11 文本编程器

第18章 PicoBlaze中断接口

18.1 简介

18.2 PicoBlaze里的中断操作

18.2.1 软件处理

18.2.2 时序图

18.3 外部接口

18.3.1 中断请求信号

18.3.2 多重中断请求

18.4 软件发展描述

18.4.1 中断作为一个可选择的计划方案

18.4.2 中断服务程序的发展

18.5 设计用例

18.5.1 接口中断

18.5.2 中断服务程序的发展

18.5.3 集成代码的发展

18.5.4 HDL代码的发展

18.6 文献备注

18.7 实验

18.7.1 可选择的计时器中断服务程序

18.7.2 可编程的计时器

18.7.3 设置按钮中断服务程序

18.7.4 两个请求的中断服务程序

18.7.5 4个请求的中断控制器

附录 Verilog举例

A.1 数值和运算符

A.1.1 有符号数和无符号数

A.1.2 运算符

A.2 一般的Verilog构造

A.2.1 全部代码的组成

A.2.2 例化部分

A.3 条件运算符操作以及if和case语句

A.3.1 条件运算符操作和if语句

A.3.2 case语句

A.4 用always过程块组成的电路

A.4.1 过程块无默认输出值

A.4.2 过程块输出有默认值

A.5 寄存组成

A.5.1 寄存器模板

A.5.2 寄存器文件

A.6 时序电路

A.7 有限状态机

A.8 有限状态机数据

A.9 S3开发板的约束文件S3.UCF

参考文献


书查询(www.shuchaxun.com)本网页唯一编码:
dfad15f192b2e76907832d8942a4177b#c50351c9eb012c0c6de32eab0bf8a7dc#73435881#用Verilog设计FPGA样机实例解析 XilinxSpartan 第3版_14154275.pdf