前言
第1章 FPGA的开发流程和开发工具
1.1 FPGA概述
1.1.1 FPGA的发展
1.1.2 FPGA的生产厂家及其产品
1.2 FPGA的开发流程
1.2.1 FPGA的设计方法
1.2.2 典型FPGA的开发流程
1.2.3 基于FPGA的SOC设计方法
1.2.4 基于IP核的设计方法
1.3 FPGA的常用开发工具
1.3.1 代码输入工具
1.3.2 综合工具
1.3.3 仿真工具
1.3.4 实现与优化工具
1.3.5 EDA工具
1.4 实践拓展
1.5 思考与练习
第2章 AIteraFPGA的硬件结构
2.1 主流高端FPGA——Stratix和stratixⅡ
2.1.1 Stratix器件
2.1.2 StratixⅡ器件
2.2 StratixIVFPGA器件
2.2.1 StratixⅣFPGA的核心架构
2.2.2 StratixⅣFPGATriMatrix存储器
2.3 主流低端FPGA——cyclone和CvcloneⅡ
2.3.1 Cyclone器件
2.3.2 CycloneⅡ器件
2.4 CycloneⅣ器件
2.5 实例:FPGA最小系统设计
2.6 实践拓展
2.7 思考与练习
第3章 Verlog HDL的基本知识
3.1 Verilog HDL简介
3.2 Verilog HDL的开发流程
3.3 Verilog HDL的基本概念
3.3.1 程序格式
3.3.2 注释、间隔符和标识符
3.3.3 数值和字符串
3.3.4 数据类型
3.3.5 编译指令
3.3.6 系统任务和函数结构
3.3.7 运算符和表达式
3.4 行为级描述
3.4.1 过程结构
3.4.2 语句块
3.4.3 时序控制
3.4.4 赋值语句
3.4.5 分支语句
3.4.6 循环控制语句
3.4.7 任务与函数
3.5 结构级描述
3.5.1 模块级建模
3.5.2 门级建模
3.6 实例:交通灯控制器设计
3.7 实践拓展
3.8 思考与练习
第4章 设计综合.优化和验证
4.1 VerilogHDL语言综合
4.1.1 综合的基本概念
4.1.2 可综合的VerilogHDL结构
4.1.3 可综合的VeIilogHDL操作符
4.1.4 通常忽略的VerilogHDL结构
4.1.5 不可综合的verilogHDL结构
4.2 VemogHDL语言设计优化
4.2.1 公因子和公共子表达式
4.2.2 循环语句优化
4.2.3 触发器和锁存器的优化
4.2.4 算术表达式优化
4.2.5 运算符优化
4.2.6 其他优化方式
4.3 实例:阶乘模型
4.4 功能验证
4.4.1 验证方法学
4.4.2 搭建一个简单TestBench
4.5 实例:移位寄存器的测试程序
4.6 实践拓展
4.7 思考与练习
第5章基于AlteraFPGA的开发流程
5.1 QuaItusⅡ软件功能与特点
5.2 QuanusⅡ软件安装与授权
5.2.1 QuaJtusⅡ软件的安装过程
5.2.2 QuanusⅡ软件的授权文件
5.2.3 在QualtusⅡ软件中指定授权文件
5.3 QuartusⅡ软件的用户界面
5.4 QuanusⅡ软件开发流程
5.4.1 图形用户界面设计流程
5.4.2 EDA工具设计流程
5.4.3 命令行设计流程
5.5 设计输入
5.5.1 建立工程
5.5.2 建立设计文件
5.5.3 指定初始设计的约束条件
5.6 设计综合
5.6.1 使用QuanusⅡ的集成综合
5.6.2 使用其他EDA综合工具
5..布局布线
5.7.1 设置布局布线参数
5.7.2 物理综合优化参数设置
5.7.3 分析适配结果
5.7.4 优化适配
5.8 仿真验证
5.8.1 使用EDA工具进行仿真设计
5.8.2 使用QuanusⅡ仿真器进行仿真设计
5.9 编程与配置
5.10 实例:3线-8线译码器电路设计
5.11IP核
5.11.IP核的基本概念与分类
5.11.2 Ahera公司的IP核及其使用流程
5.11.3 Open Core的安装
5.12 实践拓展
5.13 思考与练习
第6章 基于QuartusIl的时序约束与分析
6.1 时序约束与时序分析的基本概念
6.1.1 周期和最高频率
6.1.2 时钟建立时间和保持
时间
6.1.3 时钟到输出延时和引脚
到引脚延时
6.1.4 时钟偏斜
6.2 时序约束的设置
6.2.1 设置全局时序约束
6.2.2 设置个别时序约束
6.3 静态时序分析报告
6.4 实例:定位到Floorplan
6.5 实例:定位到工艺映射查看器
6.6 其他场景时序分析方法
6.6.1 多时钟域场景时序分析
6.6.2 多周期约束
6.6.3 异步时钟域时序分析
6.7 最小化时序分析
6.8 实践拓展
6.9 思考与练习
第7章 基于ModelSim的仿真
7.1 ModelSim简介
7.2 ModelSim仿真软件的安装
7.3 ModelSim图形用户界面
7.4 ModelSim的基本仿真方法
7.5 实例:分频电路的图形界面仿真
7.6 实例:分频电路的命令行方式仿真
7.7 实例:分频电路的TestBench仿真
7.8 ModelSim仿真工具高级操作
7.8.1 force命令
7.8.2 DO文件
7.8.3 modelsim.ini文件
7.8.4 SDF文件
7.9 在ModelSimSE中创建Altera的仿真库
7.10实践拓展
7.11思考与练习
第8章设计技巧及风格
8.1 VerilogHDL设计进阶
8.1.1 状态机设计
8.1.2 速度与面积原则
8.1.3 流水线设计
8.1.4 异步时钟域设计
8.1.5 乒乓操作
8.2 实例:串并转换
8.3 层次化的设计
8.4 FIFO设计
8.5 实例:同步FIFO设计
8.6 实例:异步FIFO设计
8.7 时钟设计
8.7.1 数字锁相环介绍
8.7.2 全局时钟网络应用设计
8.8 复位设计
8.8.1 同步复位
8.8.2 异步复位
8.9 编码风格
8.9.1 coding8tyle的意义
8.9.2 可重用设计
8.9.3 组合逻辑设计
8.9.4 同步逻辑设计
8.9.5 信号敏感列表
8.9.6 状态机设计的一般原则
8.9.7 三态信号的设计
8.10实践拓展
8.1l思考与练习
第9章基于QUanuslI的设计优化
9.1 设计分析
9.1.1 时钟资源分析
9.1.2 I/O接口分析
9.1.3 最差路径分析
9.2 设计优化基础
9.2.1 设计优化基本流程
9.2.2 首次编译的约束设置
9.2.3 查看编译报告
9.3 资源优化
9.4 时钟频率优化_
9.4.1 设计优化
9.4.2 布局布线工具设置
9.4.3 网表优化和物理综合
9.4.4 使用LDgicLock优化
9.5 增量编译
9.6 实例计数器设计
9.7 实践拓展
9.8 思考与练习
第10章 QuartusII的常用辅助设计工具
10.1 引脚验证
10.1.1 验证流程
10.1.2 验证结果分析
10.2 代码辅助工具
10.2.1 RTI_.用户界面
10.2.2 原理图选择
10.2.3 原理图关联
10.2.4 使用RTLviewer辅助定位问题
10.3 SimalProbe及signalTapⅡ逻辑分析器
10.3.1 signalProbe
10.3.2 simalTapⅡ逻辑分析器
10.4 chipEditor底层编辑器
10.4.1 ChipEditor功能
10.4.2 ChipEditor视图
10.4.3 ChipEditor编辑使用方法
10.4.4 ChipEditor应用
10.5 实例:状态机设计
10.6 实践拓展
10.7 思考与练习
第11章 AItea器件的其他特性
11.1 时钟管理
11.1.1 ALtera器件的时钟资源
11.1.2 基于Altera器件的时钟分配及管理
11.2 片内存储资源
11.2.1 Altera器件的主要存储资源
11.2.2 Altera主要存储资源的使用
11.2.3 Altera器件存储资源的优化
……
第12章 Altera其他高级工具
第13章 SDRAM控制器设计
参考文献