《用VHDL设计电子线路》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:Stefan Sjoholm,Lennart Lindh著;边计年,薛宏熙译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2000
  • ISBN:7302039321
  • 页数:393 页
图书介绍:

1 概述 1

1.1 为什么要用VHDL 2

1.2 开发流程 3

1.3 历史 4

1.4 综合 7

习题 9

2 VHDL简介 10

2.1 VHDL语言的抽象 10

2.1.1 模拟 12

2.1.2 描述电子线路的其他语言 13

2.2 设计层次——降低复杂性 14

2.3 VHDL元件 15

2.3.1 实体 16

2.3.2 结构体 18

习题 20

参考文献 20

3.1 信号赋值 21

3 并行VHDL 21

3.2 传输延迟与惯性延迟 22

3.3 并行性 23

3.4 δ时间 24

3.5 when语句 25

3.6 with语句 26

3.7 多路器行为模型实例 27

3.8 类属 28

3.9 断言语句——VHDL中的出错处理 28

3.10 行为与数据流 30

3.11 对象、类和类型 31

3.11.1 数据类型 31

3.11.2 可综合的数据类型 38

3.12 向量赋值 39

3.12.1 位串文字 39

3.12.2 数组的片 41

3.12.3 连接运算 43

3.12.4 聚合 43

3.13.1 子类型 44

3.13 高级数据类型 44

3.12.5 类型限定 44

3.13.2 多维数组 45

3.13.3 记录 46

3.14 别名 47

3.15 关系运算符 47

3.16 算术运算符 48

3.17 初值 49

习题 50

4.1 并行的和顺序的数据处理 53

4 顺序VHDL 53

4.2 信号与变量的赋值语句 54

4.3 进程语句 57

4.3.1 组合进程 59

4.3.2 时钟进程 60

4.4 if语句 64

4.5 case语句 66

4.6 多次赋值 71

4.8 wait语句 72

4.7 null语句 72

4.9 loop语句 75

4.9.1 for loop 75

4.9.2 while loop 77

4.10 延缓进程 77

4.11 预定义信号属性 78

4.12 时钟进程中不同的时钟描述方法 80

4.13 异步复位和同步复位 82

4.13.1 异步复位 82

4.13.2 同步复位 83

4.14 锁存器 84

习题 84

5 设计库、程序包与子程序 88

5.1 设计库 88

5.2 程序包 89

5.3 子程序 91

5.3.1 过程 92

5.3.2 函数 94

5.3.3 决断函数 98

5.4 重载 99

5.5 类型转换 102

5.6 移位操作 104

习题 106

6 结构VHDL 108

6.1 元件说明 109

6.2 元件指定 111

6.3 端口匹配命令 112

6.3.1 无连接输出 113

6.3.2 无连接输入 114

6.4 类属匹配命令 115

6.5 生成语句 117

6.6 配置 117

6.7 直接例化(VHDL-93) 121

6.8 程序包中的元件 122

习题 123

7.1 ROM 125

7.1.1 使用数组常量 125

7 RAM与ROM 125

7.1.2 例化一个指定工艺的ROM 126

7.1.3 总结 127

7.2 RAM 128

7.2.1 使用寄存器 128

7.2.2 例化RAM 128

习题 129

8 测试基准 130

8.1 不同级别的测试基准 133

8.2 上拉或下拉 142

8.3 几个元件用同一个测试基准 144

8.4 波形发生器 146

8.5 TextIO 152

习题 154

9 有限状态机 157

9.1 Moore型状态机 160

9.2 Mealy型状态机 165

9.3 Mealy型和Moore型状态机的变种 168

9.4 直接把状态作为输出信号的状态机 169

9.5 用时钟同步输出信号的Moore型状态机 170

9.6 用时钟同步输出信号的Mealy型状态机 172

9.7 状态编码 173

9.8 剩余状态 174

9.9 如何写出最合适的VHDL状态机描述 178

9.10 异步状态机 185

习题 187

10 寄存器传输级综合 190

10.1 优化和映射 191

10.2.1 定义时钟输入信号 196

10.2 约束条件 196

10.2.2 定义输入和输出延迟 197

10.2.3 假通路 198

10.2.4 面积约束 199

10.2.5 设计约束 199

10.3 最好情况的优化 200

10.4 综合工具达不到优化目标时应采取的措施 201

10.5 小结 206

11 设计方法学 207

11.1 自顶向下的设计流程 209

11.2 验证 211

11.2.1 各种级别模拟的小结 213

11.2.2 模拟速度 214

11.2.3 形式验证 217

11.2.4 验证方法推荐 217

11.3 写出可综合的寄存器传输级VHDL代码 217

11.4 FPGA 224

12 测试方法学 226

12.1.1 多路扫描 227

12.1 扫描设计方法学 227

12.1.2 时钟扫描 228

12.1.3 电平敏感扫描设计 228

12.2 全扫描和部分扫描 232

12.3 ATPG设计规则 232

12.3.1 写出可测电路的VHDL代码 234

12.4 边界扫描 238

12.5 附加测试向量 240

13.2 实时核心电路简介 242

13 样机的快速研制 242

13.1 简介 242

13.3 开发系统 244

13.4 开发步骤 244

13.5 进一步阅读 247

14 VHDL设计中的常见错误及其避免方法 248

14.1 信号和变量 248

14.2 逻辑综合和敏感信号表 249

14.3 buffer模式和内部虚拟信号 250

14.4 保留字downto和to的用法 253

14.5 不完全定义的组合进程 254

15 设计举例和设计技巧 256

15.1 加法器 256

15.1.1 带进位输入的1位加法器 256

15.1.2 带进位输入的8位加法器 257

15.1.3 带进位的通用加法器 258

15.1.4 长度为4的向量加法/减法器 258

15.3.1 能够共享一个加法器的例子 261

15.3 资源共享 261

15.2 向量乘法器 261

15.3.2 不能共享同一个加法器的例子 264

15.4 比较器 265

15.5 多路选择器和译码器 267

15.5.1 2选1多路选择器 267

15.5.2 8选1多路选择器 267

15.5.3 3到8译码器 268

15.6.1 带异步复位的触发器 269

15.6 寄存器 269

15.6.2 带同步复位的触发器 270

15.6.3 带异步复位和置位的触发器 270

15.6.4 带使能和异步复位的8位寄存器 271

15.7 边沿控制的脉冲发生器 273

15.8 计数器 274

15.8.1 带使能和进位输出的3位计数器 274

15.8.2 增1/减1计数器(3位) 275

15.8.3 并行加载的通用(带有类属参数)增1/减1计数器 277

15.9.1 串行输入数据/并行输出数据的移位寄存器(4位) 279

15.9 移位寄存器 279

15.9.2 并行加载/串行输出的移位寄存器(4位) 280

15.10 滤波器 282

15.10.1 多数决定的数字滤波器(4输入) 282

15.10.2 数字加法滤波器(4输入) 283

15.11 分频器 287

16 开发工具 288

16.1 Synopsys 288

16.1.1 VHDL编译器和设计分析器 288

16.1.2 设计元件库 290

16.1.3 设计编译器 291

16.1.4 ATPG工具 294

16.1.5 FPGA编译器 294

16.1.6 VHDL模拟器 296

17 行为综合 297

17.1 简介 297

17.1.1 术语简介 297

17.2 握手信号 298

17.2.2 双向握手信号 299

17.2.1 单向握手信号 299

17.3 行为综合/RTL综合的实例——FIR滤波器 300

18 实验指示书 314

18.1 使用ViewLogic工具作实验 314

18.2 使用ViewLogic综合工具和Mentor Graphics的VHDL模拟器作实验 318

18.3 Synopsys用户的Script文件 319

18.4 实验作业 319

19.1 部分习题的解答 329

第1章 329

19 解答 329

第2章 330

第3章 331

第4章 332

第5章 334

第6章 335

第7章 336

第8章 337

第9章 337

实验2 339

19.2 针对Synopsys和Autologic 2的实验解答 339

实验1 339

实验2附加练习 340

实验3 341

实验3附加练习 342

实验4 343

实验4附加练习 343

实验5 346

实验6 348

实验6附加练习 349

实验7 351

实验8 353

19.3 针对VIEWLOGIC的实验解答 355

实验1 356

实验2 356

实验2附加练习 356

实验3附加练习 357

实验3 357

实验4 358

实验4附加练习 358

实验5 359

实验6 360

实验6附加练习 362

实验7 363

实验8 365

附录A VHDL语法 367

A.1 库单元 367

A.1.1 实体说明 367

A.1.2 结构体 367

A.1.3 程序包说明 368

A.1.4 程序包体 368

A.1.5 配置说明 368

A.2.4 常量说明 369

A.2.3 元件说明 369

A.2.6 信号说明 369

A.2.5 文件说明 369

A.2.1 别名说明 369

A.2 说明 369

A.2.2 属性说明 369

A.2.7 子程序说明 370

A.2.8 子程序体 370

A.2.9 子类型说明 370

A.3 顺序语句 371

A.3.1 assert语句 371

A.2.11 变量说明 371

A.2.10 类型说明 371

A.3.2 case语句 372

A.3.3 exit语句 372

A.3.4 if语句 372

A.3.5 loop语句 373

A.3.6 next语句 373

A.3.7 null语句 374

A.3.8 return语句 374

A.3.9 信号赋值语句 374

A.4.1 assert语句 375

A.4 并行语句 375

A.3.10 变量赋值语句 375

A.3.11 wait语句 375

A.4.2 block语句 376

A.4.3 元件例化语句 376

A.4.4 generate语句 376

A.4.5 process语句 376

A.4.6 信号赋值语句 377

A.4.7 with select语句 377

A.4.8 when else语句 377

B.1 标准程序包 378

附录B VHDL程序包 378

B.2 IEEE程序包 379

B.2.1 std_logic_1164 379

B.2.2 std_logic_unsigned 383

B.2.3 std_logic_signed 385

附录C VHDL-87关键字 388

附录D VHDL-93增加的关键字 389

英汉词汇对照表 390