第0章 绪论(代前言) 1
0.1 VHDL语言的产生和发展 1
0.2 VHDL语言的特点 2
0.3 VHDL语言与模拟 3
0.4 编译型模拟方法及VHDL与C++的类比 4
0.5 本教程的编写说明及读者对象 5
0 5.1 语法描述 6
0.5.2 语义说明 7
第1章 设计实体和组装 9
1.1 实体说明 9
1.1.1 实体头 10
1.1.2 实体说明部分 13
1.1.3 实体语句部分 14
1.2 结构体 15
1.2.1 结构体说明部分 16
1.2.2 结构体语句部分 17
1.3 组装说明 17
1.3.1 块组装 18
1.3.2 元件组装 21
第2章 子程序和包 29
2.1 子程序说明 29
2.1.1 形式参数 30
2.2 子程序体 33
2.3 子程序重载 36
2.3.1 操作符重载 37
2.3.2 标记 37
2.4 分辨函数 38
2.5 包说明 44
2.6 包体 45
第3章 类型 59
3.1 标量类型 60
3.1.1 枚举类型 61
3.1.2 整数类型 62
3.1.3 物理类型 63
3.1.4 浮点类型 65
3.2 复合类型 66
3.2.1 数组类型 66
3.2.2 记录类型 71
3.3 存取类型 72
3.3.1 非完全类型说明 72
3.3.2 对象的分配和释放 74
3.4 文件类型与操作 74
3.4.1 文件操作 74
3.5.1 被保护类型说明 77
3.5 被保护类型 77
3.5.2 被保护类型体 78
第4章 说明 85
4.1 类型说明 85
4.2 子类型说明 86
4.3 对象 87
4.3.1 对象说明 88
4.3.2 接口说明 94
4.3.3 别名说明 100
4.4 属性说明 103
4.6 群组模板说明 104
4.5 元件说明 104
4.7 群组说明 105
第5章 规定 116
5.1 属性规定 116
5.2 组装规定 119
5.2.1 装配指示 120
5.2.2 缺省装配指示 125
5.3 拆接规定 126
第6章 名称 134
6.1 命名规则 134
6.3 选择名称 136
6.2 简单名称 136
6.4 下标名称 139
6.5 片名称 139
6.6 属性名称 140
第7章 表达式 142
7.1 表达式规则 142
7.2 操作符 143
7.2.1 逻辑操作符 144
7.2.2 关系操作符 145
7.2.3 移位操作符 146
7.2.4 加类操作符 147
7.2.5 符号操作符 150
7.2.6 乘类操作符 150
7.2.7 杂类操作符 152
7.3 操作数 152
7.3.1 字面量 152
7.3.2 聚集 153
7.3.3 函数调用 156
7.3.4 限定表达式 156
7.3.5 类型转换 157
7.3.6 分配符 158
7.4.1 局部静态初等项 159
7.4 静态表达式 159
7.4.2 全局静态初等项 160
7.5 通用表达式 162
第8章 顺序语句 163
8.1 等待语句 163
8.2 断言语句 166
8.3 报告语句 166
8.4 信号赋值语句 167
8.4.1 更新预计输出波形 169
8.5 变量赋值语句 172
8.7 if语句 174
8.6 过程调用语句 174
8.8 case语句 175
8.9 loop语句 177
8.10 next语句 178
8.11 exit语句 179
8.12 return语句 179
8.13 空语句(null) 180
第9章 并发语句 185
9.1 块语句 185
9.2 进程语句 186
9.3 并发过程调用语句 188
9.4 并发断言语句 189
9.5 并发信号赋值语句 190
9.5.1 条件信号赋值 192
9.5.2 选择信号赋值 194
9.6 元件例示语句 199
9.6.1 元件的例示 200
9.6.2 设计实体的例示 202
9.7 生成语句 205
第10章 范围和可见性 210
10.1 说明区 210
10.2 说明的范围 211
10.3 可见性 212
10.4 use子句 215
10.5 重载分辨的上下文 216
第11章 设计单元分析 221
11.1 设计单元 221
11.2 设计库 222
11.3 上下文子句 223
11.4 分析的顺序 223
第12章 确立及执行 229
12.1 设计层次的确立 229
12.2.3 端口子句 231
12.2.2 类属映射部分 231
12.2.1 类属子句 231
12.2 块头的确立 231
12.2.4 端口映射部分 232
12.3 说明部分的确立 233
12.3.1 说明的确立 233
12.3.2 规定的确立 236
12.4 语句部分的确立 237
12.4.1 块语句 237
12.4.2 生成语句 237
12.4.4 其他并发语句 239
12.5 动态确立 239
12.4.3 元件例示语句 239
12.6 模型的执行 240
12.6.1 驱动源 241
12.6.2 信号值的传播 241
12.6.3 更新隐式信号 244
12.6.4 模拟周期中信号值的计算 246
第13章 设计举例:神经元计算机的描述 251
13.1 神经元计算机简介 251
13.2 NPS的行为级描述 251
13.3 NPS的测试 279
参考文献 286
A.1 字符集 287
附录A VHDL语言词法元素 287
A.2 词法元素、分隔符以及限界符 289
A.3 标识符 290
A.3.1 基本标识符 290
A.3.2 扩展标识符 290
A.4 抽象字面量 291
A.4.1 十进制字面量 291
A.4.2 基数字面量 292
A.5 字符字面量 292
A.7 位串字面量 293
A.6 字符串字面量 293
A.8 注释 295
A.9 保留字 295
A.10 允许的字符替代者 296
附录B VHDL语言语法的产生式描述 298
附录C VHDL语言词汇表 318
附录D VHDL预定义语言环境 340
D.1 预定义属性 340
D.2 STANDARD包 357
D.3 TEXTIO包 365
索引 371