当前位置:首页 > 工业技术
VHDL程序设计
VHDL程序设计

VHDL程序设计PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:曾繁泰,陈美金著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2000
  • ISBN:7302038961
  • 页数:401 页
图书介绍:《VHDL程序设计》是EDA工程系列丛书之二。VHDL硬件描述语言是数字电路设计者、大规模专用集成电路(ASIC)设计者与电子设计自动化(EnA)工具之间的接口语言,是现代电子设计的基础语言。硬件描述语言种类很多,成为IEEE标准的语言有两种:VHDL和VerilogHDL。本书从语法规则、程序结构两个方面介绍VHDL语言,重点介绍VHDL语言基础及其程序设计。第一篇语法基础介绍了VHDL语言的对象、数据类型、基本语句、程序结构。第二篇程序设计从应用角度介绍常见基本模块的设计方法,对一些有实用价值、有重复可利用潜力的模块(D)、计算机系统模块做了介绍。同时介绍了建立自有知识产权的IP模块的方法。第一篇力求概念清楚,第二篇力求实践丰富。本书可以作为电子类、计算机类专业的高年级本科生、研究生的教材或教学参考书,也可以作为数字电路设计人员、大规模专用集成电路(ASIC)设计人员的工具书和参考书。
《VHDL程序设计》目录

第一篇 VHDL语言基础 1

第1章 概述 1

1.1 硬件描述语言的诞生 2

1.2 HDL语言的种类 2

1.3 VHDL语言开发环境及硬件平台 3

第2章 VHDL程序结构 5

2.1 VHDL程序基本结构 5

2.1.1 实体的组织和设计方法 7

2.1.2 实体说明 7

2.1.3 类属说明 8

2.1.4 瑞口说明 8

2.1.5 实体说明部分 10

2.1.6 实体说明语句部分 11

2.2 结构体 11

2.2.2 定义语句 12

2.2.1 结构体命名 12

2.2.3 并行处理语句 13

2.3 结构体的3种描述方法 14

2.3.1 结构体的行为描述 14

2.3.2 结构体的数据流描述法 15

2.3.3 结构体的结构化描述法 16

2.4 结构体的3种子结构设计方法 17

2.4.1 采用多进程描述复杂结构体的方法 18

2.4.2 采用多模块描述复杂结构体的方法 20

2.4.3 采用子程序调用的结构体描述法 22

第3章 VHDL语言的客体及其分类 26

3.1 标识符 26

3.1.1 短标识符 26

3.1.2 扩展标识符 26

3.2 对象 27

3.2.1 常量 28

3.2.3 信号 29

3.2.2 变量 29

3.2.4 文件 30

3.3 数据类型 31

3.3.1 标准定义的数据类型 32

3.3.2 用户定义的数据类型 34

3.4 类型转换 36

3.4.1 用类型标记法实现类型转换 37

3.4.2 用函数法进行类型转换 37

3.4.3 用常数实现的类型变换 38

3.4.4 数据类型的限定 38

3.4.5 IEEE标准数据类型“std_logic”和“std_logic_vector” 39

3.5 词法单元 39

3.5.1 注释 39

3.5.2 数字 39

3.5.3 字符和字符串 40

3.6.1 逻辑运算符 41

3.6 运算操作符 41

3.5.4 位串 41

3.6.2 算术运算符 42

3.6.3 关系运算符 42

3.6.4 并置运算符 43

3.6.5 操作符的运算优先级 44

第4章 VHDL语法基础 46

4.1 并行语句 46

4.1.1 进程语句(Process) 47

4.1.2 Wait语句 49

4.1.3 Block语句 51

4.1.4 过程和过程调用语句(CONCURRENT PROCEDURE CALL) 54

4.1.5 并行断言语句(ASSERT) 56

4.1.6 并行信号赋值语句(CONCURRENT SIGNAL ASSIGNMENT) 57

4.1.7 信号代入语句(SIGNAL ASSIGNMENT) 58

4.1.8 参数传递语句(GENERIC) 63

4.1.10 端口映射语句(PORTMAP) 64

4.1.9 通用模块、元件调用语句(CONPONENT) 64

4.1.11 生成语句(GENERATE) 65

4.2 顺序语句 68

4.2.1 IF语句 69

4.2.2 CASE语句 72

4.2.3 LOOP语句 74

4.2.4 用LOOP循环控制的NEXT语句 76

4.2.5 EXIT语句 76

4.2.6 RETURN语句 77

4.2.7 REPORT语句 77

4.2.8 NULL语句 77

4.3 命名规则及注释 78

第5章 属性的描述与定义 80

5.1 预定义属性 80

5.2 数值类属性函数 80

5.2.1 一般数据的数值属性函数 80

5.2.2 数组的数值属性函数 82

5.2.3 块的数值属性函数 84

5.3 属性函数 85

5.3.1 数据类型的属性函数 85

5.3.2 数组的属性函数 87

5.3.3 信号的属性函数 90

5.4 带属性函数的信号 92

5.4.1 signal DELAYED(time)属性函数的信号 93

5.4.2 带有signal STABLE(time)属性函数的信号 95

5.4.3 含有signal QUIET属性函数的信号 96

5.4.4 带有signal TRANSACTION属性函数的信号 98

5.5 数据类型的属性函数 98

5.6 数据区间的属性函数 99

5.6 ATTRIBUTE语句 99

第6章 信号处理 102

6.1 信号的驱动源 102

6.2 信号的延迟 104

6.2.1 信号的惯性延迟(INERTIAL) 105

6.2.2 信号的传输延迟(TRANSPORT) 107

6.3 仿真周期 108

6.4 信号的δ延迟 110

6.4.1 δ延迟的意义、用途及使用方法 110

6.4.2 延缓进程(POSTPONED) 111

第7章 VHDL程序设计基础 113

7.1 层次化设计方法 113

7.2 库(libraries) 113

7.2.1 库的概念及语法 113

7.2.2 库的分类 114

7.3 程序包(PACKAGES) 116

7.3.1 程序包说明 117

7.3.2 程序包体 118

7.3.3 常用资源库中的程序包 120

7.4.1 函数(FUNCTION) 128

7.4 子程序 128

7.4.2 过程 136

7.5 文件输入/输出程序包TEXTIO 137

7.6 元件例化 140

7.6.1 构造元件 141

7.6.2 构造程序包 148

7.6.3 用户构造元件库 150

7.6.4 元件的调用 151

第8章 配置 154

8.1 默认连接和默认配置 154

8.2 配置说明 156

8.2.1 元件配置 156

8.2.2 实体-结构体对的元件配置 159

8.2.3 端口映射 159

8.2.4 实体映射 160

8.3 块的配置 164

8.4 结构体的配置 166

8.5 配置说明的参数指定功能(Generic) 168

8.5.1 在结构体中用Generic作参数指定 168

8.5.2 在配置说明中用Generic作参数指定 169

第9章 子程序重载 174

9.1 子程序重载 174

9.1.1 重载对子程序变量类型的要求 175

9.1.2 重载对子程序参数的要求 176

9.2 重载运算符 177

9.2.1 运算符函数的生成与重载 177

9.2.2 操作数类型不同时运算符的重载 178

9.3 别名(替换名) 180

9.4 子程序变量 180

9.4.1 子程序变量 181

9.4.2 变量的共享 181

10.1.1 二输入与非门电路 183

10.1 门电路 183

第二篇 VHDL程序设计 183

第10章 组合逻辑设计 183

10.1.2 二输入或非门电路 185

10.1.3 二输入异或门电路 186

10.1.4 反相器门电路 188

10.1.5 多输入门电路的设计 189

10.2 编码顺、译码器、选择器电路 191

10.2.1 编码器的设计 191

10.2.2 译码器的设计 193

10.2.3 选择器的设计 197

10.3 运算器的设计 198

10.3.1 加法器的设计 198

10.3.2 加/减法器参数化设计方法 200

10.3.3 参数化乘法器电路设计 218

10.3.4 求补运算器的设计 229

第11章 时序逻辑电路设计 231

11.1 时钟信号的VHDL描述方法 231

11.1.1 时钟边沿的描述 231

11.1.2 时序电路中进程敏感信号是时钟信号 232

11.1.3 用WAIT ON语句在进程中等待时钟变化 233

11.2 时序电路中复位信号Reset的VHDL描述方法 233

11.2.1 同步复位方法 233

11.2.2 异步复位方法 234

11.3 时序电路基础模块之一--触发器的设计 234

11.3.1 D触发器的设计 234

11.3.2 T触发器的设计 239

11.3.3 JK触发器的设计 240

11.4 时序电路基础模块之二--寄存器的设计 241

11.4.1 8位通用寄存器 241

11.4.2 串入/串出移位寄存器 242

11.4.3 循环移位寄存器 244

11.4.4 串/并进,串出移位寄存器 245

11.5 时序电路基础模块之三--计数器的设计 247

11.5.1 同步计数器 247

11.5.2 可逆计数器 248

11.5.3 具有数据加载,进位控制的同步计数器 250

11.5.4 异步计数器 252

第12章 状态机设计 255

12.1 Moore型状态机的设计 255

12.1.1 Moore型状态机的功能描述 255

12.1.2 状态机的建立过程 256

12.2 状态机的复位 260

12.2.1 SRAM控制器工作方式 260

12.2.2 状态机的同步复位 261

12.2.3 状态机的异步复位 265

12.2.4 单进程状态机的设计方法 265

12.3.1 组合译码输出方式 267

12.3 Moore型状态机信号输出方法 267

12.3.2 并行译码输出方式 268

12.3.3 状态直接编码输出方式 270

12.3.4 一位有效编码方式 273

12.4 Mealy型状态机 274

12.5 容错状态机的设计 275

12.5.1 状态编码问题探入讨论 275

12.5.2 非法状态处理 276

第13章 层次结构设计 279

13.1 可编程并行I/O接口设计 279

13.1.1 8255的特性及外部信号定义 279

13.1.2 可编程8255并行I/0接口芯片内部结构 281

13.1.3 可编程8255并行I/O芯片工作方式及控制字 281

13.1.4 设计任务的分解 283

13.2 SCI串行数据传送格式 286

13.2.1 SCI的引脚及内部结构 286

13.2.2 串行数据传送格式及同步控制机构 287

13.2.3 SCI芯片的VHDL语言描述 289

13.3 键盘接口设计 293

13.3.1 KBC的引脚及内部结构 293

13.3.2 同步控制机构和查表变换 296

13.3.3 KBC芯片的VHDL语言描述 298

13.4 4位微处理器设计 302

13.4.1 设计目标的层次化分解 302

13.4.2 构造基本元件库 304

13.4.3 构造4位微处理器元件 304

13.5 存储器设计 313

13.5.1 存储器概述 313

13.5.2 ROM(只读存储器) 314

13.5.3 RAM(随机存储器) 315

13.5.4 FIFO(先进先出堆栈) 317

13.6 32位微处理器设计 321

14.2 仿真方法 353

第14章 系统仿真及可测试设计 353

14.1 概述 353

14.3 测试(平台)程序的设计方法 354

14.3.1 实体描述可简化 354

14.3.2 程序中应包含输出错误信息的语句 354

14.3.3 配置语句(CONFIGURATION) 355

14.3.4 不同仿真目的对测试平台设计的要求 355

14.4 表格式测试程序设计 356

14.5 文件I/O式测试程序设计 360

14.5.1 TEXTIO应用 360

14.5.2 SRAM控制器状态机的测试矢量文件 363

14.5.3 文件IO式测试程序设计 364

14.6 用子程序方式建立测试平台 367

第15章 逻辑综合及优化设计 371

15.1 逻辑综合概述 371

15.1.1 约束条件 371

15.2 设计实现概述 372

15.1.4 门级映射网表 372

15.1.2 工艺库 372

15.1.3 逻辑综合三步曲 372

15.2.1 设计实现初步 373

15.2.2 设计实现与逻辑综合的区分 374

15.3 面向CPLD器件的实现 375

15.4 面向FPGA器件的实现 386

15.4.1 FPGA的结构要点 386

15.4.2 FPGA的布局布线 386

15.4.3 在FPGA器件中实现设计的缓冲技术 387

15.4.4 参数指引下的逻辑综合 387

15.5 优化设计 390

15.5.1 流水线设计 390

15.5.2 资源共享 393

15.5.3 预进位加法器 396

参考文献 400

相关图书
作者其它书籍
返回顶部