标题：FPGA设计实战
基本信息
书名： FPGA设计实战  书号： 978-7-115-20810-1  
原书名： Design Recipes for FPGAs  
原出版社： Newnes  
丛书名： 图灵电子与电气工程丛书  
分类： 电子电气 >> 电力电子  
作者： Peter R.Wilson  
译者： 杜生海 等  
出版日期： 2009-06-16  
语种： 简体中文  
开本： 16开  
页数： 240
摘要
本书是为FPGA工程师量身定制的设计参考指南，不仅介绍了FPGA基本概念，还介绍了设计逻辑和技巧，使读者能够开发出实际高效的代码。
本书适用于电子工程师阅读，也可作为高等院校相关专业师生的参考指南。
目录
第一部分 概述
第1章 绪论    2 
第2章 FPGA基础知识    3 
2.1 引言    3 
2.2 FPGA的发展    3 
2.3 可编程逻辑器件    3 
2.4 现场可编程门阵列    6 
2.5 FPGA设计技术    7 
2.6 FPGA的设计约束    7 
2.7 小结    8 
第3章 VHDL基础    9 
3.1 引言    9 
3.2 实体：模型接口    10 
3.2.1 实体定义    10 
3.2.2 端口    10 
3.2.3 通用属性语句    10 
3.2.4 常数    11 
3.2.5 实体举例    11 
3.3 构造体：模型的行为    11 
3.3.1 构造体的基本定义    11 
3.3.2 构造体声明    12 
3.3.3 构造体语句    12 
3.4 进程：VHDL中的基本功能单元    12 
3.5 基本的变量类型和操作符    13 
3.5.1 常数    13 
3.5.2 信号    13 
3.5.3 变量    14 
3.5.4 布尔操作符    14 
3.5.5 算术操作符    14 
3.5.6 比较操作符    15 
3.5.7 移位函数    15 
3.5.8 拼接    15 
3.6 判断与循环    15 
3.6.1 if-then-else语句    15 
3.6.2 case语句    16 
3.6.3 for语句    17 
3.6.4 While循环    17 
3.6.5 exit语句    17 
3.6.6 next语句    17 
3.7 层次化设计    18 
3.7.1 函数    18 
3.7.2 包    18 
3.7.3 元件    19 
3.7.4 过程    20 
3.8 调试模型    20 
3.9 基本数据类型    20 
3.9.1 基本类型    20 
3.9.2 数据类型：bit    20 
3.9.3 数据类型：boolean    21 
3.9.4 数据类型：integer    21 
3.9.5 数据类型：字符型    21 
3.9.6 数据类型：实数    21 
3.9.7 数据类型：时间    22 
3.10 小结    22 
第4章 设计自动化与FPGA测试    23 
4.1 仿真    23 
4.1.1 测试平台    23 
4.1.2 测试平台的目标    23 
4.1.3 简单的测试平台：实例化元件    23 
4.1.4 增加测试激励    24 
4.2 库    25 
4.2.1 引言    25 
4.2.2 库的使用    26 
4.2.3 标准逻辑库    26 
4.2.4 std_logic类型定义    27 
4.3 综合    28 
4.3.1 综合设计流程    28 
4.3.2 综合相关事项    28 
4.3.3 RTL设计流程    29 
4.4 物理设计流程    29 
4.5 布局布线    30 
4.6 时序分析    30 
4.7 设计缺陷    30 
4.8 FPGA设计中的VHDL问题    31 
4.8.1 初始化    31 
4.8.2 浮点数及其操作    31 
4.9 小结    31 
第二部分 应用
第5章图像与高速处理    34 
5.1 引言    34 
5.2 摄像头接口    35 
5.2.1 硬件接口    35 
5.2.2 数据率    35 
5.2.3 拜尔模式    35 
5.2.4 存储器需求    35 
5.3 开始    37 
5.4 确定接口    38 
5.5 定义顶层设计    38 
5.6 系统模块定义与接口    38 
5.6.1 系统分解    38 
5.6.2 鼠标和键盘接口    39 
5.6.3 存储器接口    39 
5.6.4 显示接口：VGA    39 
5.7 摄像头连接接口    40 
5.8 PC接口    40 
5.9 小结    41 
第6章 嵌入式处理器    42 
6.1 引言    42 
6.2 一个简单的嵌入式处理器    42 
6.2.1 嵌入式处理器架构    42 
6.2.2 基本指令    43 
6.2.3 取指执行周期    44 
6.2.4 嵌入式处理器的寄存器分配    45 
6.2.5 一个基本的指令集    45 
6.2.6 结构级还是行为级    46 
6.2.7 机器码指令集    47 
6.2.8 微处理器的结构单元    47 
6.2.9 处理器函数包    48 
6.2.10 程序计数器    49 
6.2.11 指令寄存器    50 
6.2.12 算术和逻辑单元    51 
6.2.13 存储器    52 
6.2.14 微控制器    54 
6.2.15 简单微处理器总结    58 
6.3 FPGA中的软核处理器    58 
6.4 小结    58 
第三部分 设计工具箱
第7章 串行通信    60 
7.1 引言    60 
7.2 曼彻斯特编解码    60 
7.3 不归零编解码    63 
7.4 不归零反转编解码    63 
7.5 RS-232    65 
7.5.1 引言    65 
7.5.2 RS-232波特率产生器    65 
7.5.3 RS-232接收器    66 
7.6 通用串行总线    69 
7.7 小结    71 
第8章 数字滤波器    72 
8.1 引言    72 
8.2 S域到Z域的变换    72 
8.3 用VHDL实现Z域的函数    74 
8.3.1 引言    74 
8.3.2 增益模块    74 
8.3.3 和与差    75 
8.3.4 除法模型    76 
8.3.5 单位延迟模型    77 
8.4 基本低通滤波器模型    78 
8.5 FIR滤波器    81 
8.6 IIR滤波器    82 
8.7 小结    82 
第9章 安全系统    83 
9.1 块加密简介    83 
9.2 费斯特尔格子的结构    83 
9.3 数据加密标准    85 
9.3.1 引言    85 
9.3.2 DES的VHDL实现    87 
9.3.3 DES的验证    91 
9.4 高级加密标准    92 
9.5 小结    109 
第10章 存储器    110 
10.1 引言    110 
10.2 用VHDL对存储器进行建模    110 
10.3 只读存储器    111 
10.4 随机存取存储器    112 
10.5 SRAM    114 
10.6 Flash存储器    115 
10.7 小结    117 
第11章PS/2鼠标接口    118 
11.1 引言    118 
11.2 PS/2鼠标基础    118 
11.3 PS/2鼠标命令    118 
11.4 PS/2鼠标数据包    118 
11.5 PS/2操作模式    119 
11.6 PS/2滚轮鼠标    119 
11.7 基本PS/2鼠标处理模块VHDL代码.119 
11.8 修改后的PS/2鼠标处理模块VHDL代码    120 
11.9 小结    121 
第12章 PS/2键盘接口    122 
12.1 引言    122 
12.2 PS/2键盘基础    122 
12.3 PS/2键盘命令    122 
12.4 PS/2键盘数据包    122 
12.5 PS/2键盘操作模式    123 
12.5.1 基本PS/2键盘处理模块VHDL代码    123 
12.5.2 修改后的PS/2键盘处理模块VHDL代码    123 
12.6 小结    125 
第13章 一个简单的VGA接口    126 
13.1 引言    126 
13.2 基本像素时序    126 
13.3 图像处理    126 
13.4 VGA接口的VHDL实现    127 
13.5 水平同步    128 
13.6 垂直同步    129 
13.7 水平和垂直消隐脉冲    130 
13.8 计算正确的像素数据    131 
13.9 小结    131 
第四部分 优化设计
第14章 综合    134 
14.1 引言    134 
14.2 RTL综合支持的VHDL    134 
14.2.1 初始条件    134 
14.2.2 并发边沿    135 
14.2.3 数字类型    135 
14.2.4 wait语句    135 
14.2.5 断言    136 
14.2.6 循环    136 
14.3 一些引起综合失败的情况    136 
14.4 综合的内容    136 
14.4.1 总体设计结构    136 
14.4.2 控制器    137 
14.4.3 数据路径    138 
14.5 小结    139 
第15章 VHDL行为建模    140 
15.1 引言    140 
15.2 怎样从RTL转向行为级    140 
15.3 小结    143 
第16章 设计优化    144 
16.1 引言    144 
16.2 逻辑优化技术    144 
16.3 改善性能    145 
16.4 关键路径分析    146 
16.5 小结    147 
第17章 VHDL-AMS    148 
17.1 引言    148 
17.2 VHDL-AMS简介    148 
17.3 模拟引脚：TERMINAL    149 
17.4 混合域建模    150 
17.5 模拟变量：quantity    150 
17.6 VHDL-AMS中的联立方程    151 
17.7 一个VHDL-AMS的例子    151 
17.7.1 直流电压源    151 
17.7.2 电阻    152 
17.8 VHDL-AMS中的微分方程    152 
17.9 用VHDL-AMS进行混合信号建模.154 
17.10 一个基本的开关模型    156 
17.11 基本VHDL-AMS比较器模型    157 
17.12 多领域建模    159 
17.13 小结    160 
第18章 设计优化举例：DES    161 
18.1 引言    161 
18.2 数据加密标准    161 
18.3 MOODS    161 
18.4 初始设计    161 
18.4.1 简介    161 
18.4.2 总体结构    162 
18.4.3 数据转换    164 
18.4.4 密钥转换    166 
18.5 初始综合    167 
18.6 优化数据路径    168 
18.7 最终综合    170 
18.8 结果    170 
18.9 三重DES    171 
18.9.1 引言    171 
18.9.2 面积最小：迭代实现    171 
18.9.3 延迟最小：流水线方式    173 
18.10 方案比较    174 
18.11 小结    175 
第五部分 基本技术
第19章 计数器    178 
19.1 引言    178 
19.2 基本二进制计数器    178 
19.3 综合简单的二进制计数器    180 
19.4 移位寄存器    183 
19.5 约翰逊计数器    184 
19.6 BCD计数器    185 
19.7 小结    186 
第20章 锁存器、触发器和寄存器    187 
20.1 引言    187 
20.2 锁存器    187 
20.3 触发器    188 
20.4 寄存器    191 
20.5 小结    192 
第21章 串并转换与并串转换    193 
21.1 串并转换    193 
21.2 并串转换    194 
21.3 小结    195 
第22章 ALU功能    196 
22.1 引言    196 
22.2 逻辑功能    196 
22.3 1位加法器    198 
22.4 n位结构化加法器    200 
22.5 n位可配置加法器    200 
22.6 2的补码    201 
22.7 小结    203 
第23章 译码器与多路复用器    204 
23.1 译码器    204 
23.2 多路复用器    206 
23.3 小结    208 
第24章 VHDL中的有限状态机    209 
24.1 引言    209 
24.2 状态转移图    209 
24.3 用VHDL实现有限状态机    210 
24.4 小结    211 
第25章 VHDL中的定点算法    212 
25.1 引言    212 
25.2 基本定点类型    213 
25.3 定点函数    214 
25.3.1 定点数向std_logic_vector的转换    214 
25.3.2 定点数向实数的转换    215 
25.4 测试定点数函数    216 
25.5 小结    218 
第26章 二进制乘法    219 
26.1 引言    219 
26.2 基本二进制乘法    219 
26.3 VHDL无符号乘法器    220 
26.4 乘法函数的综合    222 
26.5 “简单的”乘法    223 
26.6 小结    225 
第27章 参考书目    226 
27.1 引言    226 
27.2 VHDL参考书    226 
27.3 FPGA参考书    226 
27.4 普通数字设计参考书    227 
索引    228