《VHDL编程实例 第4版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)DouglasL.Perry著;杨承恩,谭克俊,颜德文译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121087257
  • 页数:352 页
图书介绍:本书在系统介绍VHDL的基本语言结构的基础上,重点突出了设计实例及相应的常见错误,主要介绍了VHDL的基本语言描述,VHDL设计方法论,包括仿真、生成、布线和验证调试,还介绍了基于CPU的编程实例,并且附录了一些包括IEEE 1164在内的参考资料。本书对于初学者是一本不可多得的入门教材,旨在帮助读者尽快掌握VHDL的编程技巧及了解掌握基于VHDL的硬件电路的设计方法,使读者可以从本书中一窥整套硬件电路ASIC的设计流程。

第1章 VHDL介绍 1

1.1 VHDL术语 1

1.2 在VHDL中描述硬件 2

1.3 Entity实体 2

1.3.1 结构体 3

1.3.2 并行信号赋值 3

1.3.3 事件安排 4

1.3.4 语句并行性 4

1.3.5 结构设计 4

1.3.6 顺序行为 6

1.3.7 进程语句 6

1.3.8 进程声明区域 7

1.3.9 进程语句部分 7

1.3.10 进程的执行 7

1.3.11 顺序语句 7

1.3.12 结构体选择 7

1.3.13 配置语句 8

1.3.14 配置的作用 8

本章小结 9

第2章 行为建模 10

2.1 行为建模入门 10

2.2 传输延迟与惯性延迟 12

2.2.1 惯性延迟 13

2.2.2 传输延迟 14

2.2.3 惯性延迟模型 14

2.2.4 传输延迟模型 15

2.3 仿真delta 15

2.4 驱动器 17

2.4.1 驱动器的创建 18

2.4.2 坏的多驱动模型 18

2.5 类属 19

2.6 块语句 21

2.6.1 块的构成 21

2.6.2 块的保护 25

本章小结 26

第3章 顺序进程 27

3.1 进程语句 27

3.1.1 敏感列表 27

3.1.2 进程举例 27

3.2 信号赋值与变量赋值 29

3.2.1 不正确的mux例子 29

3.2.2 正确的mux例子 31

3.3 顺序语句 32

3.4 IF语句 32

3.5 CASE语句 34

3.6 LOOP循环 35

3.6.1 LOOP语句 35

3.6.2 NEXT语句 37

3.7 EXIT语句 38

3.8 ASSERT语句 40

3.9 WAIT语句 42

3.9.1 WAIT ON信号 44

3.9.2 WAIT UNTIL布尔表达式 44

3.9.3 WAIT FOR时间表达式 45

3.9.4 多重WAIT条件 45

3.9.5 WAIT超时 45

3.9.6 敏感列表和WAIT语句 47

3.10 并行赋值问题 48

3.11 被动进程 51

本章小结 53

第4章 数据类型 54

4.1 对象类型 54

4.1.1 信号 54

4.1.2 变量 56

4.1.3 常数 57

4.2 数据类型 57

4.2.1 标量类型 58

4.2.2 复合类型 64

4.2.3 不完整类型 73

4.2.4 文件类型 77

4.3 文件类型的注意事项 79

4.4 子类型 79

本章小结 81

第5章 子程序和程序包 82

5.1 子程序 82

5.1.1 函数 82

5.1.2 转换函数 84

5.1.3 解出函数 90

5.1.4 过程 100

5.2 程序包 103

5.2.1 程序包声明 103

5.2.2 延迟常数 103

5.2.3 子程序的声明 104

5.2.4 程序包体 104

本章小结 107

第6章 预定义属性 108

6.1 数值类属性 108

6.1.1 数据类型的数值属性 108

6.1.2 数组的数值属性 110

6.1.3 块的数值属性 112

6.2 函数类属性 114

6.2.1 数据类型的函数属性 114

6.2.2 数组的函数属性 116

6.2.3 信号的函数属性 118

6.2.4 ′EVENT属性和′LAST_VALUE属性 119

6.2.5 ′LAST_EVENT属性 120

6.2.6 ′ACTIVE属性和′LAST_ACTIVE属性 121

6.3 信号类属性 121

6.3.1 ′DELAYED信号延迟属性 122

6.3.2 ′STABLE信号稳定属性 124

6.3.3 ′QUIET信号静止属性 126

6.3.4 ′TRANSACTION事务属性 128

6.4 类型类属性 128

6.5 范围类属性 129

本章小结 130

第7章 配置 131

7.1 默认配置 131

7.2 元件配置 133

7.2.1 低层配置 135

7.2.2 实体—结构体对配置 136

7.2.3 端口映射 137

7.3 实体映射 138

7.4 配置中的类属 140

7.5 在结构体中指定类属参数值 142

7.6 在配置中指定类属参数值 144

7.7 板—插座—芯片描述方法 150

7.8 块的配置 152

7.9 结构体的配置 154

本章小结 156

第8章 VHDL高级特性 157

8.1 重载 157

8.1.1 子程序重载 157

8.1.2 重载运算符 161

8.2 别名 165

8.3 限定表达式 165

8.4 用户自定义属性 167

8.5 生成语句 169

8.5.1 规则生成语句 169

8.5.2 不规则生成语句 170

8.6 文件输入/输出程序包TextIO 173

本章小结 177

第9章 综合 178

9.1 寄存器传输级(RTL)描述 178

9.2 约束条件 182

9.2.1 时序约束条件 182

9.2.2 时钟约束条件 183

9.3 属性 183

9.3.1 负载 183

9.3.2 驱动 184

9.3.3 到达时间 184

9.4 工艺库 184

9.5 综合 186

9.5.1 转换 186

9.5.2 优化布尔方程 186

9.5.3 展平 186

9.5.4 因子分解 187

9.5.5 门级映射 188

本章小结 190

第10章 VHDL综合设计 191

10.1 简单的门——并行赋值语句 191

10.2 IF控制语句 192

10.3 Case控制语句 194

10.4 简单的顺序语句 196

10.5 异步复位 197

10.6 异步预置位和清零 198

10.7 复杂的顺序语句 200

10.8 4位移位寄存器 202

10.9 状态机设计举例 203

本章小结 207

第11章 高级设计流程 208

11.1 RTL仿真 208

11.2 VHDL综合 210

11.3 门级功能验证 215

11.4 布局与布线 215

11.5 版图时序仿真 216

11.6 静态定时分析 217

本章小结 217

第12章 顶层系统设计 218

12.1 CPU设计 218

12.2 顶层系统的操作 218

12.3 指令系统 219

12.4 简单的指令表述 219

12.5 CPU顶层设计 221

12.6 块复制操作 226

本章小结 227

第13章 CPU:综合描述 228

13.1 ALU(算术逻辑单元) 230

13.2 Comp(比较器) 232

13.3 Control(控制模块) 234

13.4 Reg(寄存器) 241

13.5 Regarray(寄存器阵列) 242

13.6 Shift(移位) 243

13.7 Trireg(三态寄存器) 245

本章小结 246

第14章 CPU:RTL仿真 247

14.1 测试平台 247

14.1.1 测试平台的分类 248

14.1.2 只有激励的测试平台 249

14.1.3 完全测试平台 253

14.1.4 特定仿真器 256

14.1.5 混合测试平台 257

14.1.6 快速测试平台 260

14.2 CPU仿真 263

本章小结 267

第15章 CPU设计:综合结果 268

本章小结 273

第16章 布局布线 274

16.1 布局布线过程 274

16.2 器件的布局布线 276

16.2.1 创建工程 276

16.2.2 后续步骤 278

本章小结 280

第17章 CPU:VITAL仿真 281

17.1 VITAL库 281

17.2 VITAL仿真过程概览 282

17.3 VITAL实现 282

17.4 简单VITAL模型 283

17.5 VITAL结构体 285

17.5.1 连线延迟部分 285

17.5.2 触发器例子 286

17.6 SDF文件 290

17.7 VITAL仿真 291

17.8 反标注仿真 294

本章小结 294

第18章 快速调试技术 295

18.1 分析工具 296

18.2 调试 296

18.3 CPU设计调试 296

18.3.1 创建工程 296

18.3.2 指定顶层参数 298

18.3.3 指定工程参数 298

18.4 分析信号 300

18.5 编写待分析设计 300

18.6 实现新的设计 301

18.7 开始调试 301

18.8 使能断点 301

18.9 触发位置 302

18.10 波形显示 302

18.11 设置观察点 303

18.12 复杂触发 304

本章小结 304

附录A 305

附录B 329

附录C 337

附录D 339

D.1 别名(Alias) 339

D.2 属性变化 339

D.3 位串文字 341

D.4 延时长度(DELAY_LENGTH)子类型 341

D.5 直接例化 341

D.6 扩展标识符 342

D.7 文件操作 342

D.8 外部接口 344

D.9 生成语句变化 344

D.10 全局静态赋值 344

D.11 组 345

D.12 追加绑定 345

D.13 延迟进程 346

D.14 纯函数和非纯函数 347

D.15 脉冲滤除 347

D.16 报告(Report)语句 348

D.17 共享变量 348

D.18 移位操作符 349

D.19 语法一致性 350

D.20 无影响 351

D.21 同或(XNOR)操作符 352