VHDL电路设计PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:雷伏容编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2006
- ISBN:7302142262
- 页数:393 页
第1章 概述 1
1.1 硬件描述语言介绍 1
1.2 VHDL语言的发展与特点 2
1.3 VHDL语言的开发流程 4
1.4 可编程逻辑器件简介 5
1.5 学习小结 7
1.6 思考与练习 7
第2章 数字逻辑基础 8
2.1 逻辑代数基础 8
2.1.1 逻辑变量和逻辑函数 8
2.1.2 基本逻辑运算 8
2.1.3 逻辑函数的表示方法 11
2.1.4 逻辑代数的定理和规则 12
2.2 组合逻辑电路 13
2.2.1 组合逻辑电路的分析 14
2.2.2 组合逻辑电路的综合 15
2.2.3 组合逻辑电路中的竞争与冒险 16
2.3 时序逻辑电路 18
2.3.1 触发器 18
2.3.2 时序逻辑电路的分析 22
2.3.3 时序逻辑电路的设计 26
2.4 学习小结 28
2.5 思考与练习 29
3.1 VHDL程序基本结构 31
例3-1:2选1多路选择器程序 31
第3章 VHDL程序结构与要素 31
3.1.1 实体 32
例3-3:n输入与非门的实体描述 33
例3-2:有类属说明的2输入与非门的实体描述 33
3.1.2 结构体 35
例3-4:半加器的完整VHDL描述 36
3.1.3 描述风格 36
例3-6:2选1多路选择器数据流描述程序 37
例3-5:2选1多路选择器行为描述程序 37
例3-7:2选1多路选择器结构描述程序 38
例3-8:半加器的混合描述程序 39
3.2.1 数值型文字 40
3.2 VHDL文字规则 40
3.2.2 标识符 42
3.3.1 VHDL数据对象 43
3.3 VHDL基本数据对象与数据类型 43
3.3.2 VHDL数据类型 47
例3-9:打开一个字符文件,读出文件中的内容并关闭文件 51
3.4 VHDL表达式与运算符 57
3.6 思考与练习 63
3.5 学习小结 63
4.1 顺序描述语句 64
第4章 VHDL基本描述语句 64
例4-2:WAIT FOR语句示例程序 65
例4-1:WAIT语句示例程序 65
4.1.1 WAIT语句 65
例4-3:WAIT ON语句示例程序(2选1选择器) 66
例4-4:WAIT ON语句和PROCESS语句中所使用的敏感信号列表的对比 67
例4-5:WAIT UNTIL语句示例程序 67
例4-6:多条件WAIT语句的示例程序 68
例4-7:信号代入语句示例程序 68
4.1.2 代入语句 68
例4-8:变量赋值语句示例程序 69
4.1.3 赋值语句 69
例4-9:变量赋值和信号量代入的对比示例程序 70
例4-10:采用单IF语句描述D触发器的示例程序 71
4.1.4 IF语句 71
例4-11:采用二选择IF语句描述2选1选择器的示例程序 72
例4-12:采用多选择IF语句描述4选1选择电路的示例程序 73
例4-13:采用IF语句嵌套结构的带复位端的4选1选择器的示例程序 74
4.1.5 CASE语句 75
例4-14:采用CASE语句来描述4选1选择器的示例程序 76
例4-15:采用CASE语句设计3-8译码器的示例程序 77
例4-16:采用FOR LOOP语句实现32位奇偶校验电路的示例程序 78
4.1.6 FOR LOOP语句 78
例4-17:WHILE LOOP语句格式的示例程序 79
4.1.7 WHILE LOOP语句 79
例4-18:采用WHILE LOOP语句实现32位奇偶校验电路的示例程序 80
4.1.8 NEXT语句 80
例4-19:采用外部信号控制的32位奇偶校验电路的示例程序 81
例4-20:NEXT语句嵌在两个循环中的示例程序 81
4.1.9 EXIT语句 82
例4-21:采用EXIT语句的示例程序 82
例4-22:采用RETURN语句的示例程序 83
4.1.10 RETURN语句 83
4.1.11 REPORT语句 83
例4-24:使用NULL语句的示例程序 84
例4-23:采用REPORT语句的示例程序 84
4.1.12 NULL语句 84
例4-25:采用ASSERT语句的示例程序 85
4.1.13 ASSERT语句 85
4.2 并行描述语句 86
4.2.1 并发信号代入语句(Concurrent Signal Assignment) 87
例4-27:采用条件信号代入语句描述3-8译码器的示例程序 89
例4-26:采用条件信号代入语句描述异或门的示例程序 89
例4-28:采用条件信号代入语句来描述4选1选择器的示例程序 90
例4-29:采用选择信号代入语句描述异或门的示例程序 91
例4-30:采用选择信号代入语句来描述4选1选择器的示例程序 91
4.2.2 进程语句(PROCESS) 92
例4-31:利用进程语句设计半加器的示例程序 93
例4-32:利用在一个构造体中有两个进程语句通信的示例程序 93
4.2.3 元件调用语句(COMPONENT) 94
例4-33:利用COMPONENT语句的2选1选择器的示例程序 95
4.2.4 端口映射语句(PORT MAP) 96
例4-34:利用GENERIC语句定义二输入或非门的上升沿和下降沿参数的示例程序 98
4.2.5 类属参数传递语句(GENERIC) 98
例4-35:利用GENERIC语句的示例程序 99
例4-36:利用BLOCK语句设计2选1选择器的示例程序 100
4.2.6 块语句(BLOCK) 100
例4-37:利用BLOCK语句和PROCESS语句嵌套设计半加器的示例程序 101
例4-38:利用BLOCK语句的CPU芯片设计的示例程序 102
例4-39:利用卫式BLOCK语句设计D触发器的示例程序 104
4.2.7 过程语句(PROCEDURE) 105
例4-40:利用PROCEDURE语句结构把位矢量转换成整数的示例程序 106
例4-41:在主程序中调用过程bitvector_to_integer的示例程序 107
4.2.8 函数(FUNCTION) 108
例4-42:利用FUNCTION语句结构把位矢量转换成整数的示例程序 109
例4-44:调用函数getmax()实现最大值检出的示例程序 110
例4-43:利用FUNCTION语句结构实现取最大值的示例程序 110
4.2.9 生成语句(GENERATE) 111
例4-45:用FOR-GENERATE语句设计4位移位寄存器的示例程序 112
例4-46:用一般的方法设计4位移位寄存器的示例程序 113
例4-47:利用IF-GENERATE语句设计n位移位寄存器的示例程序 114
4.2.10 延时语句 115
4.3.2 数值类属性描述语句 117
4.3.1 属性预定义 117
4.3 属性描述语句 117
例4-49:用DOWNTO来排列数据时,获取该数据的数值属性的示例程序 118
例4-48:获取数值型枚举类型的数值属性的示例程序 118
例4-50:利用数据的数值属性检测数据总线宽度的示例程序 119
例4-51:获取字符型枚举类型的数值属性的示例程序 120
例4-52:利用′LENGTH属性来获取数组的范围长度的示例程序 120
例4-53:利用′LENGTH属性来获取枚举类型的多维数组范围长度的示例程序 121
例4-54:说明块的数值属性′STRUCTURE和′BEHAVIOR的示例程序 123
4.3.3 函数类属性描述语句 124
例4-55:利用数据类型的属性函数解析欧姆定律的示例程序 125
例4-56:说明′SUCC、′PRED、′LEFTOF、′RIGHTOF属性使用方法的示例程序 127
例4-57:利用数组的属性函数的示例程序 128
例4-58:属性函数′EVENT和′LAST VALUE的使用方法的示例程序 129
例4-59:利用信号的属性函数′LAST EVENT检查建立时间的示例程序 131
4.3.4 信号类属性描述语句 132
例4-60:利用属性′DELAYED(time)描述三输入或门的示例程序 133
例4-61:利用信号类属性′DELAYED检查保持时间的示例程序 134
例4-62:利用属性′STABLE(time)的示例程序 136
例4-63:利用属性′QUIET(time)描述具有优先级的中断机制的示例程序 136
例4-64:利用属性′BASE的示例程序 139
4.3.5 数据类型类属性描述语句 139
例4-65:使用数据区间类属性描述语句——属性′RANGE和属性′REVERSE RANGE的示例程序 140
4.3.6 数据区间类属性描述语句 140
4.3.7 用户自定义属性语句 141
例4-66:使用用户自定义属性语句ATTRIBUTE的示例程序 142
4.4 学习小结 142
4.5 思考与练习 144
5.1 基本逻辑门电路 145
第5章 组合逻辑电路的VHDL语言描述 145
5.1.1 2输入与非门电路 145
例5-2:一般2输入与非门电路设计的示例程序2 146
例5-1:一般2输入与非门电路设计的示例程序1 146
例5-3:调用集电极开路的2输入与非门电路的示例程序 147
例5-5:2输入或非门电路设计的示例程序2 148
例5-4:2输入或非门电路设计的示例程序1 148
5.1.2 2输入或非门电路 148
例5-7:反相器电路设计的RTL描述方式的示例程序 149
例5-6:反相器电路设计的行为描述方式的示例程序 149
5.1.3 反相器电路 149
例5-8:2输入异或门电路设计的行为描述方式的示例程序 150
例5-9:2输入异或门电路设计的结构描述方式的示例程序 150
5.1.4 2输入异或门电路 150
5.1.5 2输入同或门电路 151
例5-10:2输入同或门电路设计的行为描述方式的示例程序 151
例5-11:2输入同或门电路设计的结构描述方式的示例程序 152
5.1.6 多输入门电路 152
例5-12:3输入或门电路设计的行为描述方式的示例程序 153
例5-13:3输入或门电路设计的结构描述方式的示例程序 153
例5-14:4输入与非门电路设计的行为描述方式的示例程序 154
例5-15:4输入与非门电路设计的结构描述方式的示例程序 154
5.2 选择器电路 155
5.2.1 2选1选择器 156
例5-16:采用IF-ELSE语句实现2选1选择器的示例程序 156
例5-17:采用CASE语句实现2选1选择器的示例程序 157
5.2.2 16选1选择器 157
例5-18:采用IF-ELSIF-ELSE语句实现16选1选择器的示例程序 158
5.3 编码器与译码器电路 159
5.3.1 编码器 159
例5-19:采用IF-ELSE语句实现BCD输出的10线-4线优先级编码器电路的示例程序 160
5.3.2 译码器 161
例5-20:4线-16线译码器电路的示例程序 162
例5-21:BCD码输入的4线-10线译码器电路的示例程序 164
5.4.1 三态门 165
5.4 三态门及总线缓冲器电路 165
例5-22:多种方法实现三态门电路的示例程序 166
5.4.2 总线缓冲器 167
例5-23:两种方法实现74244形式的单向总线缓冲器的示例程序 168
例5-24:实现74245形式的双向总线缓冲器电路的VHDL示例程序 169
5.5 加法器电路 170
例5-25:-半加器电路的VHDL示例程序 171
例5-26:直接根据真值表设计的全加器电路的VHDL示例程序 172
例5-28:采用行波进位的4位加法器电路的VHDL示例程序 173
例5-27:由两个半加器元件和一个或门构成的全加器电路的VHDL示例程序 173
例5-29:基于兆函数LPM_ADD_SUB模块生成的自定制加/减法电路的VHDL示例程序 176
例5-30:采用行为描述方法的16位求补器电路的示例程序 177
5.6 求补器电路 177
5.7 乘法器电路 178
例5-31:4位×4位原码移位的乘法器电路的示例程序 179
例5-32:基于兆函数LPM_MULT模块生成的自定制8位×8位无符号乘法器电路的VHDL示例程序 180
例5-33:4位输入数据的一般数值比较器的VHDL示例程序 182
5.8 数值比较器电路 182
例5-34:基于兆函数LPM_COMPARE模块生成的自定制8位与8位无符号数据比较器电路的VHDL示例程序 184
5.9 移位器电路 185
例5-35:对8位输入数据进行移位的VHDL示例程序 185
5.10 学习小结 186
5.11 思考与练习 187
6.1 时序电路的时钟信号 189
第6章 时序逻辑电路的VHDL语言描述 189
6.1.1 时钟边沿的描述 189
例6-1:显式表示时钟敏感信号(上升沿)的示例程序 191
6.1.2 时钟作为敏感信号 191
例6-2:隐式表示时钟敏感信号(下降沿)的示例程序 192
6.2 时序电路的复位信号 193
6.2.1 时序电路的同步复位方法 193
例6-3:VHDL程序中描述时序电路同步复位的示例程序 193
6.2.2 时序电路的异步复位方法 194
例6-4:VHDL程序中描述时序电路异步复位的示例程序 194
例6-5:单输入电平锁存器的VHDL模型的示例程序 195
6.3 锁存器电路 195
6.3.1 电平锁存器 195
例6-6:多输入电平锁存器的VHDL模型的示例程序 196
6.3.2 同步锁存器 196
6.3.3 异步锁存器 197
例6-8:异步锁存器的VHDL模型的示例程序 197
例6-7:同步锁存器的VHDL模型的示例程序 197
6.3.4 自定制锁存器 198
例6-9:基于兆函数LPM_LATCH模块生成的自定制的带有异步置位端和异步清零端的8位锁存器电路的VHDL示例程序 199
6.4.1 D触发器 200
6.4 触发器电路 200
例6-11:异步复位的D触发器的示例程序 201
例6-10:上升沿触发的D触发器的示例程序 201
例6-12:异步复位/置位的D触发器的示例程序 202
例6-13:同步复位的D触发器的示例程序 203
例6-14:基于兆函数LPM_DFF模块生成的自定制的带有异步置位端(aset)和异步清零端(aclr)的16位D触发器电路的VHDL示例程序 204
6.4.2 T触发器 205
例6-15:下降沿触发的T触发器的示例程序 206
例6-16:基于兆函数LPM_TFF模块生成的自定制的带有同步置位端(sset)、同步清零端(sclr)和同步加载端(sload)的24位T触发器电路的VHDL示例程序 208
6.4.3 JK触发器 208
例6-17:带有异步置位/复位端的上升沿触发的JK触发器的示例程序 210
6.5 寄存器电路 210
例6-18:用VHDL语言描述的10位通用寄存器的示例程序 211
6.5.1 10位通用寄存器 211
6.5.2 串入-串出移位寄存器 211
例6-19:用VHDL语言描述的8位串入-串出移位寄存器的示例程序 212
例6-20:直接采用信号代入的方法实现串入-串出移位寄存器的示例程序 213
6.5.3 串入-并出移位寄存器 214
例6-21:用VHDL语言描述的8位串入-并出移位寄存器的示例程序 215
6.5.4 循环移位寄存器 216
例6-22:用VHDL语言描述的8位循环左移位寄存器的示例程序 217
例6-23:调用包集合CYPAC中的循环左移过程的8位循环左移位寄存器示例程序 218
6.5.5 双向移位寄存器 220
6.5.6 串/并入-串出移位寄存器 221
例6-24:用VHDL语言描述的8位双向移位寄存器的示例程序 221
例6-25:用VHDL语言描述的8位串/并入-串出移位寄存器74166的示例程序 223
6.6.1 同步计数器 225
6.6 计数器电路 225
例6-26:用VHDL语言描述的带使能端的十二进制计数器的示例程序 226
例6-27:利用两个4位二进制计数器构成一个六十进制计数器的示例程序 227
例6-28:用VHDL语言描述的8位二进制加/减计数器的示例程序 229
6.6.2 异步计数器 230
例6-29:用VHDL语言描述的4位行波型异步计数器电路的示例程序 230
6.6.3 自定制计数器 231
例6-30:基于兆函数LPM_COUNTER模块生成的自定制的带有时钟使能端(ckk_en)、计数使能端(cnt_en)、异步置位端(aset)、异步加载端(aload)和异步清零端(aclr)的12位模30加/减(updown)计数器电路的VHDL示例程序 232
6.7 学习小结 234
6.8 思考与练习 235
7.1 有限状态机概述 236
第7章 有限状态机的VHDL语言描述 236
7.2 有限状态机的VHDL语言描述 237
例7-1:交通灯控制系统的VHDL有限状态机实现 240
例7-2:交通灯控制器采用单进程描述的有限状态机实现 243
7.3 Moore型状态机的设计 247
例7-3:步进电机控制器的有限状态机实现 248
7.4 Mealy型状态机的设计 250
例7-4:Mealy型有限状态机 250
7.5.1 符号化的状态编码 252
7.5.2 直接状态编码 252
7.5 有限状态机的状态编码 252
例7-5:顺序编码的有限状态机 253
例7-6:采用状态位直接输出编码的交通灯控制系统 255
例7-7:一位热码编码的有限状态机 257
7.6 非法状态的处理 258
7.7 学习小结 261
7.8 思考与练习 261
第8章 采用VHDL的数字系统设计 262
8.1 层次化结构设计 262
8.2 自顶向下的设计方法 263
8.3 库 265
8.4 程序包 267
8.5 配置 275
例8-1:全加器的设计 276
例8-2:采用元件配置说明方式实现的全加器的设计 277
8.6 系统设计实例 280
例8-3:64×8bit的ROM初始化(采用在程序包中直接定义的方法) 281
8.6.1 存储器设计 281
例8-5:64×8bit的ROM设计(采用在程序包中直接定义的方法) 282
例8-4:64×8bit的ROM初始化(采用读TEXTIO的方式) 282
例8-6:64×8bit的ROM设计(采用读TEXTIO的方式) 283
例8-7:32×4bit的RAM设计 284
例8-8:16×4bit的FIFO设计 285
8.6.2 4位微处理器设计 287
例8-9:ALU输入选择模块设计 290
例8-10:ALU算术逻辑运算模块设计 290
例8-11:存储器模块设计 292
例8-13:输出选择模块设计 293
例8-12:寄存器模块设计 293
例8-14:4位微处理器系统的顶层描述 294
8.8 思考与练习 296
8.7 学习小结 296
第9章 仿真、综合与优化 297
9.1 仿真 297
9.1.1 仿真输入信号的生成 298
例9-1:全加器仿真程序(采用程序直接生成全加器仿真输入信号) 299
例9-2:全加器仿真程序(利用TEXTIO文本文件的方式来生成仿真输入信号) 302
例9-3:全加器仿真程序(不采用观察仿真输出波形,而使用完整的测试平台程序) 304
9.1.2 仿真的δ延时 305
例9-4:仿真程序 305
9.2 综合 306
9.2.1 约束条件 307
9.2.2 工艺库 308
9.2.3 门级映射 309
9.3 设计优化 309
例9-5:加法器示例程序 310
9.3.1 模块复用 310
例9-6:采用了面积优化的加法器示例程序 311
9.3.2 流水线设计 313
9.4 设计实现 315
9.5 学习小结 317
9.6 思考与练习 317
第10章 在Quartus Ⅱ中进行电路设计 318
10.1 Quartus Ⅱ软件的安装 318
10.1.1 配置要求 318
10.1.2 安装步骤 319
10.1.3 授权方法 324
10.1.4 设计特点 326
10.2.1 图形用户界面设计流程 328
10.2 Quartus Ⅱ软件的设计流程 328
10.2.2 EDA工具设计流程 330
10.2.3 命令行可执行文件 331
10.2.4 Quartus Ⅱ软件的设计流程 332
10.2.5 常用窗口介绍 333
10.3 设计项目输入 334
10.3.1 创建工程项目文件 335
10.3.2 创建图形编辑文件 336
例10-1:由Quartus Ⅱ软件生成的电路模块testblock下层的VHDL语言文件testblock.vhd的示例程序 340
10.3.3 创建文本编辑文件 346
例10-2:由Quartus Ⅱ软件的文本编辑器的“插入模板”对话框生成的实体声明的示例程序(采用VHDL语言编写程序) 347
10.3.4 创建存储器编辑文件 348
10.3.5 创建波形编辑文件 350
10.4 设计项目编译与仿真 353
10.4.1 Quartus Ⅱ软件的编译器选项设置 353
10.4.2 编译设计项目 359
10.4.3 仿真设计项目 361
10.5 设计项目时序分析 364
10.5.1 时序分析的基本参数介绍 364
10.5.2 时序分析选项设置 364
10.5.3 进行时序分析 366
10.5.4 查看时序分析结果 367
10.6 设计项目的下载编程 367
10.6.1 器件编程介绍 368
10.6.2 进行器件编程 368
10.7 学习小结 370
10.8 思考与练习 370
附录A VHDL保留字 371
附录B 常用逻辑符号对照表 372
附录C 常用VHDL开发软件 372
附录D 习题答案 373
参考文献 393
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019