《FPGA设计 基于团队的最佳实践》PDF下载

  • 购买积分:8 如何计算积分?
  • 作  者:(美)辛普森著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111452645
  • 页数:135 页
图书介绍:本书根据FPGA设计实践中的经验总结,介绍了一套适用于FPGA设计的最佳实用设计方法学。该方法学涉及了整个FPGA设计流程,从编写设计规范到RTL代码设计,再到设计验证,几乎涵盖了从基本到高级的所有技巧。全书共分为14章,主要包括设计初期的项目管理、设计说明书、FPGA器件选择、团队设计环境,以及设计过程中的电路板布局、功耗、RTL设计、IP重用、功能验证、时序收敛,设计完成后的在线调试和设计签收等章节,并针对设计中常见的问题和设计优化提供了具体的指导。

第1章FPGA设计成功的最佳实践 1

1.1引言 1

第2章 项目管理 4

2.1项目管理的作用 4

2.1.1项目管理阶段 4

2.1.2项目持续时间的估算 4

2.1.3计划 5

第3章 设计说明书 7

3.1设计说明书:沟通是成功的关键 7

3.1.1高级功能说明书 7

3.1.2功能设计说明书 8

第4章 资源调查 12

4.1引言 12

4.2工程资源 12

4.3第三方IP 13

4.4 FPGA器件的选择 13

4.4.1FPGA器件的特殊功能 14

4.4.2 FPGA的规模选型(密度) 14

4.4.3速度需求 16

4.4.4引脚 16

4.4.5功耗 16

4.4.6 IP的可用性 17

4.4.7器件的可用性 17

4.4.8小结 17

第5章 设计环境 18

5.1引言 18

5.2脚本化的环境 18

5.3与版本控制软件的交互 19

5.4问题跟踪系统的使用 20

5.5回归测试系统 21

5.6何时升级FPGA设计工具的版本 21

5.7 FPGA设计环境中常用的工具 22

第6章 电路板设计 24

6.1 FPGA器件给电路板设计带来的挑战 24

6.2工程师的角色和职责 25

6.2.1 FPGA工程师 25

6.2.2 PCB设计工程师 26

6.2.3信号完整性设计工程师 26

6.3功耗和散热问题 28

6.3.1滤除电源噪声 28

6.3.2电源分配 28

6.4信号的完整性 29

6.4.1信号完整性问题的类型 29

6.4.2电磁干扰 30

6.5 FPGA引脚分配的设计流程 31

6.5.1流程1:由FPGA设计师主动 31

6.5.2流程2:由电路板设计师主动 33

6.5.3 FPGA设计师和电路板设计师如何进行引脚改动的沟通 34

6.6电路板设计的审查要点 34

第7章 功耗和热分析 35

7.1引言 35

7.2功耗的基本要素 35

7.2.1静态功耗 36

7.2.2动态功耗 36

7.2.3输入/输出功耗 36

7.2.4浪涌电流 36

7.2.5配置功耗 36

7.3准确估计功耗的关键因素 37

7.3.1 FPGA电路的准确功耗模型 37

7.3.2每个信号的准确数据切换率 37

7.3.3准确的运行条件 38

7.3.4资源利用 39

7.4设计周期早期的功耗估计(电源规划) 39

7.5基于仿真的功耗估计(设计的功耗验证) 41

7.5.1局部仿真 43

7.6功耗估计的最佳实践方法 43

第8章RTL代码设计 45

8.1介绍 45

8.2常用术语 45

8.3工程师对有ASIC设计背景的建议 47

8.4推荐的FPGA设计规范 48

8.4.1同步与异步 48

8.4.2全局信号 48

8.4.3专用硬件组件 49

8.4.4低层次设计原语的使用 50

8.4.5亚稳态的管理 51

8.5编写高效的HDL代码 51

8.5.1什么是最好的硬件设计语言 52

8.5.2良好的设计习惯 53

8.5.3可综合的HDL 58

8.6 RTL设计的分析 67

8.6.1综合报告 68

8.6.2综合警告 68

8.6.3电路方块图的浏览 69

8.7 RTL设计要点总结 70

第9章 IP及设计重用 72

9.1引言 72

9.2 IP重用的需求 72

9.2.1 IP重用的好处 72

9.2.2开发可重用设计方法学面临的困难 73

9.3设计还是购买 74

9.4构建可重用的IP 75

9.4.1设计说明书 75

9.4.2实施方法 76

9.4.3标准接口的使用 77

9.5 IP组件库软件包 78

9.5.1 IP说明书 79

9.5.2用户接口 79

9.5.3与系统集成工具的兼容性 81

9.5.4 IP的安全性 81

9.6 IP重用的检查清单 82

第10章 硬件到软件的接口 83

10.1软件接口 83

10.2寄存器地址映射表的定义 83

10.3寄存器地址映射表的使用 83

10.3.1 IP的选择 83

10.3.2软件工程师的接口 84

10.3.3 RTL工程师的接口 84

10.3.4接口的验证 85

10.3.5文档 85

10.4小结 85

第11章 功能验证 86

11.1简介 86

11.2功能验证面临的挑战 86

11.3有关验证的术语 87

11.4 RTL仿真和门级仿真的对比 88

11.5验证方法学 88

11.6克服复杂性 89

11.6.1设计和测试的模块化 89

11.6.2规划预期操作 89

11.6.3应对意外状态的计划 89

11.7功能覆盖 90

11.7.1定向测试 90

11.7.2随机动态仿真 91

11.7.3受约束的随机测试 91

11.7.4 SystemVerilog用于设计和验证 91

11.7.5通用测试平台方法 92

11.7.6自验证测试平台 93

11.7.7形式化等价性验证 94

11.8代码覆盖度 95

11.9质量评价(QA)测试 95

11.9.1功能回归测试 95

11.9.2可重用IP的图形界面(GUI)测试 95

11.10硬件互操作性测试 96

11.11软/硬件协同验证 96

11.11.1加快投片的准备 96

11.12功能验证清单 97

第12章 时序收敛 98

12.1时序收敛的难点 98

12.2时序分配和时序分析的重要性 99

12.2.1时序分析的背景 99

12.2.2时序分析的基础 99

12.3实现时序收敛目标的方法学 105

12.3.1指定FPGA器件系列 105

12.3.2设计规划 106

12.3.3早期时序估计 110

12.3.4 CAD工具设置 111

12.4常见的时序收敛问题 118

12.4.1缺失时序约束 118

12.4.2时序约束发生冲突 118

12.4.3高扇出寄存器 118

12.4.4只差一点就能满足时序 119

12.4.5不宜过早设置位置约束 119

12.4.6冗长的编译时间 119

12.5设计规划、实现、优化和时序收敛清单 120

第13章 系统在线调试 121

13.1系统在线调试的难点 121

13.2规划 121

13.3调试方法 122

13.3.1利用引脚调试 122

13.3.2片内逻辑分析仪 123

13.3.3调试逻辑的使用 126

13.3.4外部逻辑分析仪 126

13.3.5编辑存储器的内容 127

13.3.6利用软核处理器进行调试 127

13.4使用案例 128

13.4.1上电调试 128

13.4.2收发接口调试 128

13.4.3系统性能报告 129

13.4.4软核处理器调试 129

13.4.5器件的编程问题 130

13.5系统在线调试核对清单 131

第14章 设计的签收 132

14.1设计签收过程 132

14.2设计签收之后 132

索引 133