jevei01 发表于 2010-1-27 12:04:09

VHDL入门级好教材《VHDL开发精解与实例剖析》

本书在内容安排和语言叙述上都十分适合初学者的学习,确实是一本初学者入门学习的好教材。另外,书中的部分章节还探讨了VHDL语句的综合以及高级层次化设计等话题。同时,书中全面介绍了面向仿真的VHDL程序设计。可以看看。

http://product.dangdang.com/product.aspx?product_id=20700354

本书结构
    本书语言简洁,层次清晰,主要内容包括VHDL语言基础知识介绍和程序设计实践两部分。其中,第1部分介绍VHDL语法基础知识,这一部分主要包括以下章节内容:
VHDL语言背景知识,内容包括可编程逻辑器件(PLD)、电子设计自动化(EDA)、硬件描述语言(HDL)等基本概念,以及VHDL语言的发展历史等(第1章);
VHDL语言程序的结构(第2章);
VHDL语言基本语法要素,包括词法单元、数据对象、数据类型、运算操作符、属性等(第3章);
VHDL描述语句,主要包括并行描述语句和顺序描述语句(第4章);
有限状态机的VHDL设计(第5章);
VHDL语言程序设计重点解析,总结和分析可综合VHDL程序设计中的某些重点问题(第6章);
高级层次化VHDL程序设计,主要介绍参数化VHDL模块的设计方法(第7章);
VHDL程序的综合,介绍VHDL程序的综合流程以及某些VHDL语法成分的综合结果 (第8章);
面向仿真的VHDL程序设计(第9章)。
    其中,第7章至第9章作为VHDL基础知识的高级部分,可作为进一步提高学习之用。本书第2部分强化VHDL程序设计实践过程,主要内容包括:
Xilinx公司FPGA产品简介,介绍典型的VHDL程序实现所使用的物理载体,本书所有内容均基于Xilinx公司FPGA平台进行介绍(第10章);
Xilinx ISE Design Suite 10.1使用指南,介绍Xilinx最新的FPGA开发工具ISE 10.1的使用(第11章);
基本功能模块的VHDL实现,详细叙述了常见的数字功能模块的VHDL实现,这些模块包括:分频器、同步整形电路、按键扫描电路、数码管接口电路、VGA接口电路、PS/2接口电路、SPI接口电路、LCD接口电路以及伪随机序列产生器等,同时介绍了Xilinx FPGA常用的底层硬核模块的调用(第12章);
DES算法的VHDL实现,以一个较大的数字电路为例介绍复杂数字系统的VHDL设计方法(第13章)。
本书特色
介绍VHDL语法知识与强化数字电路概念的有机结合
    目前,常见的VHDL语法书籍往往忽视了数字电路设计的基本概念,而关于数字电路设计的书籍又对VHDL介绍得很简单。与上述大多数同类书籍不同的是,本书在VHDL基础知识介绍部分注重知识的实际应用,通过配以大量的程序实例加以深入说明;而在程序设计实践部分又注重程序实例所包含的基本语法知识的介绍,让读者在实践中总结语法的应用,实现了语法学习过程与程序设计实践过程的有机结合。
可综合VHDL程序设计与面向仿真VHDL程序设计的有机结合
    不注重VHDL语言的可综合特性和可仿真特性区别是大多数同类书籍的又一缺点。本书至始至终强调两者具有重大区别,并单独在第9章介绍用于仿真的VHDL程序设计,因而为读者确立可综合VHDL程序设计的基本原则提供了良好的教学环境。
语言表达力求具有亲和力,通俗易懂
    本书中有一大部分内容是作者自身学习过程的经验总结,对这一部分的介绍力求从初学者的角度出发,力求语言表达的亲和力与通俗性。
例题难度循序渐进,有利初学者
    本书所有例子都经过作者精心挑选,每个例子都具有一定的代表性,并在难度上循序渐进,有利于初学者的学习。
具有很强的实用性
本书介绍了Xilinx最新的EDA工具软件――Xilinx ISE Design Suite10.1的使用,具有很强的实用性。
本书适用对象
    本书内容丰富,讲解清楚,适合作为高等院校微电子、电子、通信等专业的教材或教学参考书,同时也可以作为广大硬件电路设计工程师必不可少的工具书或培训教材。


目录
第1章 概 述        1
1.1 可编程逻辑器件        1
1.1.1可编程逻辑器件概述        1
1.1.2可编程逻辑器件发展历史        1
1.1.3可编程逻辑器件分类        2
1.2 EDA技术与硬件描述语言        3
1.2.1EDA技术简介        4
1.2.2硬件描述语言简介        5
1.3 VHDL语言简介        5
1.3.1VHDL语言概述        5
1.3.2使用VHDL语言的优势        6
1.3.3VHDL语言程序开发流程        7
1.3.4给初学者的建议        8
1.4 本章总结        8
第2章 VHDL语言程序结构        9
2.1一个简单的VHDL程序        9
2.2 VHDL程序基本组成        12
2.2.1实体声明        12
2.2.2结构体        13
2.2.3库和程序包调用        15
2.3 本章总结        18
第3章 VHDL语言基本要素        19
3.1 词法单元        19
3.1.1关键字        19
3.1.2标识符        19
3.1.3数字        20
3.1.4字符和字符串        20
3.1.5位串        21
3.1.6注释        21
3.2 数据对象        21
3.2.1信号        21
3.2.2变量        23
3.2.3信号与变量比较        24
3.2.4常量        24
3.2.5文件        25
3.2.6数据对象小结        25
3.3 数据类型        25
3.3.1VHDL预定义数据类型        26
3.3.2用户自定义数据类型        33
3.3.3数据类型转换        36
3.3.4数据类型小结        36
3.4 运算操作符        37
3.4.1赋值运算符        37
3.4.2逻辑运算符        37
3.4.3算术运算符        39
3.4.4关系运算符        40
3.4.5移位运算符        42
3.4.6并置运算符        42
3.4.7操作符的优先级        43
3.5 属 性        43
3.5.1数组的属性        43
3.5.2信号的属性        44
3.6 本章总结        45
第4章 VHDL语言描述语句        46
4.1 VHDL语句概述        46
4.2        最简单的VHDL语句——赋值语句        47
4.2.1 信号赋值语句        47
4.2.2 变量赋值语句        47
4.3 基本的VHDL并行语句        48
4.3.1并行信号赋值语句        49
4.3.2进程        54
4.3.3元件例化语句        60
4.3.4生成语句        65
4.3.5块语句        67
4.4 基本的VHDL顺序语句        68
4.4.1顺序信号赋值语句        68
4.4.2顺序变量赋值语句        69
4.4.3IF语句        69
4.4.4CASE语句        72
4.4.5LOOP语句        74
4.4.6NULL语句        78
4.4.7WAIT语句        79
4.5 子程序与子程序调用        80
4.5.1函数与函数调用        80
4.5.2过程与过程调用语句        86
4.5.3函数和过程总结        89
4.6 本章总结        89
第5章 有限状态机的VHDL设计        90
5.1 有限状态机概述        90
5.1.1有限状态机的概念和分类        90
5.1.2有限状态机的状态转移图        91
5.1.3有限状态机设计流程        92
5.2 有限状态机设计重点解析        93
5.2.1状态编码方式        93
5.2.2状态机的容错处理        94
5.2.3有限状态机的性能指标        94
5.2.4有限状态机设计思想        95
5.3 有限状态机的VHDL描述        95
5.3.1“三进程”描述        95
5.3.2“双进程”描述        98
5.3.3“单进程”描述        100
5.3.4状态机的VHDL描述总结        103
5.4 有限状态机的VHDL设计实例        106
5.4.1交通灯控制器        106
5.4.2乒乓游戏机        110
5.5 本章总结        115
第6章 VHDL语言程序设计重点解析        116
6.1 面向硬件的设计思维        116
6.1.1硬件电路设计不是编写计算机指令        116
6.1.2模块化与层次化是硬件电路设计的基本方法        117
6.1.3硬件电路可以从不同抽象层次进行描述        118
6.1.4结构体的描述方式        119
6.2 组合电路与时序电路        120
6.2.1概述        120
6.2.2组合电路设计        121
6.2.3时序电路设计        122
6.2.4同步时序电路与异步时序电路        123
6.3 进程中的信号与变量        124
6.3.1概述        124
6.3.2信号赋值与变量赋值        124
6.3.3信号的典型应用——进程间通信        128
6.3.4变量赋值的典型应用——算法描述        130
6.4 进程中的多边沿触发问题        132
6.4.1概述        132
6.4.2不可综合的多沿触发        133
6.4.3多沿触发协同工作        134
6.5 基本算术运算的实现及其难点        136
6.5.1数字在硬件电路中的表示        136
6.5.2数据溢出及其处理        136
6.5.3数据截断        143
6.6 锁存器的避免与应用        144
6.6.1锁存器概述        144
6.6.2锁存器的产生及处理策略        145
6.6.3锁存器的应用        146
6.7 高级逻辑设计思想        147
6.7.1面积与速度互换        147
6.7.2流水线原理与应用        147
6.7.3“乒乓操作”原理与应用        147
6.8 本章总结        147
第7章 VHDL高级层次化设计        148
7.1 层次化设计概述        148
7.1.1层次化设计的优点        148
7.1.2VHDL层次化设计基础        149
7.2 基于VHDL的层次化设计        149
7.2.1元件与元件例化        149
7.2.2类属参数映射        149
7.2.3配置        152
7.2.4库和程序包        158
7.3 模块的参数化设计        162
7.3.1参数化设计概述        162
7.3.2参数的分类        162
7.3.3参数传递机制        163
7.4 参数化设计中常用的语句        165
7.4.1FOR LOOP语句        165
7.4.2FOR GENERATE语句        167
7.4.3IF GENERATE语句        168
7.4.4EXIT语句和NEXT语句        168
7.5 本章总结        168
第8章 VHDL程序的综合        169
8.1 VHDL程序的综合流程        169
8.1.1RTL级综合        170
8.1.2模块生成器        171
8.1.3门级综合        171
8.1.4器件级综合        171
8.2 VHDL基本操作符的综合        172
8.2.1逻辑运算符的综合        172
8.2.2关系运算符的综合        172
8.2.3算术运算符的综合        173
8.2.4其他运算操作符的综合        173
8.2.5带常数的操作符及其综合        173
8.3 VHDL基本数据类型的综合        175
8.3.1标准逻辑类型的综合        175
8.3.2整数类型的综合        176
8.3.3枚举类型的综合        176
8.4 参数化VHDL程序的综合        177
8.4.1类属参数映射的综合        177
8.4.2非限制数组的综合        177
8.5 本章总结        177
第9章 面向仿真的VHDL程序设计        178
9.1 VHDL的可综合与可仿真特性        178
9.1.1VHDL的可综合特性        178
9.1.2VHDL的可仿真特性        179
9.2 常用的VHDL仿真语句        179
9.2.1AFTER语句        179
9.2.2WAIT_FOR语句        180
9.2.3WAIT语句        180
9.2.4ASSERT语句        181
9.2.5其他语句        181
9.3 仿真激励的产生        181
9.3.1初始化        182
9.3.2时钟信号        182
9.3.3复位信号        183
9.3.4数据信号        184
9.4 VHDL测试平台        185
9.4.1        VHDL测试平台综述        185
9.4.2VHDL Test Bench应用举例        187
9.4.3基于TEXT IO的VHDL Test Bench        191
9.5 本章总结        198
第10章 Xilinx公司FPGA产品介绍        199
10.1 FPGA基础知识        199
10.1.1FPGA简介        199
10.1.2使用FPGA的优势        199
10.1.3FPGA的分类        200
10.1.4主要的FPGA厂商        200
10.2 Xilinx FPGA产品介绍        201
12.2.1Spartan系列        201
12.2.2Virtex系列        201
10.3 Xilinx FPGA的内部结构与工作原理        202
10.3.1内部结构简介        202
10.3.2基本工作原理        206
10.4 基于FPGA的开发与设计        207
10.4.1FPGA典型开发流程        207
10.4.2FPGA设计的性能指标        209
10.5 本章总结        209
第11章 Xilinx ISE Design Suite 10.1使用指南        210
11.1 ISE Design Suite 10.1简介与安装        210
11.1.1ISE Design Suite 10.1版本新特点        210
11.1.2ISE Design Suite 10.1的主要组件        210
11.1.3ISE Design Suite 10.1 的安装        213
11.2 基于ISE的VHDL程序开发流程        217
11.2.1软件界面与基本操作        217
11.2.2新建工程        219
11.2.3VHDL代码输入        221
11.2.4功能仿真        224
11.2.5代码综合        230
11.2.6用户约束文件        232
11.2.7设计实现        234
11.2.8器件配置        236
11.3 在线逻辑分析仪ChipScope Pro的使用        246
11.3.1ChipScope Pro工具简介        246
11.3.2在ISE中调用ChipScope Pro        249
11.4 本章总结        256
第12章基本功能模块的VHDL实现        257
12.1 分频电路设计        257
12.1.1偶数倍分频        257
12.1.2奇数倍分频        258
12.2 同步整形与按键消抖        261
12.2.1同步整形电路原理与实现        261
12.2.2按键消抖电路原理与实现        262
12.3 按键扫描电路设计        264
12.3.1矩阵式键盘简介        265
12.3.2按键扫描电路的VHDL实现        268
12.4 数码管接口电路设计        270
12.4.1七段数码管简介        270
12.4.2动态扫描数码管接口电路实现        272
12.4.3特殊显示效果的实现        275
12.5 字符型LCD接口电路设计        278
12.5.1字符型16*2 LCD简介        278
12.5.2字符型16*2 LCD接口电路实现        283
12.6 PS/2键盘接口电路设计        290
12.6.1PS/2键盘标准简介        290
12.6.2PS/2键盘接口电路实现        293
12.7 VGA接口电路设计        296
12.7.1VGA显示原理简介        296
12.7.2VGA接口电路实现        298
12.8 伪随机序列的产生        301
12.8.1伪随机序列及其性质        301
12.8.2m序列发生器实现        303
12.9 SPI同步接口及其应用        304
12.9.1SPI同步接口简介        304
12.9.2SPI同步接口应用实例        305
12.10 Xilinx FPGA常用硬核模块的调用        308
12.10.1DCM硬核模块的调用        308
12.10.2Block RAM的调用        312
12.10.3硬核乘法器的调用        318
12.11 本章总结        321
第13章 DES算法的VHDL实现        322
13.1 DES算法的原理        322
13.1.1DES概述        322
13.1.2DES算法原理        322
13.1.3DES解密方法        328
13.2 DES算法的VHDL实现        328
13.2.1总体设计        328
13.2.2子密钥产生模块        329
13.2.3组合逻辑运算模块        336
13.2.4时序控制模块——状态机        353
13.3 系统的综合与功能仿真        361
13.3.1系统综合        361
13.3.2系统功能仿真        362
13.4 本章总结        367
附录        368
附录A VHDL关键字        368
附录B VHDL预定义程序包        369
附录B1 Standard程序包        369
附录B2 Std_logic_1164程序包(Package Declearation)        371



本书有一大部分是作者自身学习过程的经验总结,对这一部分的介绍力求从初学者的角度出发,力求语言表达的亲和力与通俗性。本书在写作过程中还参考了众多国内外同类书籍,并吸收了很多新的知识。特别是两本外文参考书籍,它们在语言表述和知识介绍上有许多值得借鉴的地方。基于此,本书既可以作为初学者的入门级教材,又适合作为进一步学习的参考材料。
同类书籍比较:
(美)Kevin Skahill. 可编程逻辑器件的VHDL设计技术. 南京:东南大学出版社.1998
该书是全球第一本以CPLD、FPGA为载体介绍VHDL设计技术的正式出版物,但该书出版年代较早,很多内容已不适合现在的大规模电子设计。该书介绍的EDA软件为一个小软件,不具备通用性和实用性。
王开军,姜宇柏. 面向CPLD/FPGA的VHDL设计. 北京:机械工业出版社. 2007
该书以Altera公司的CPLD/FPGA为载体介绍VHDL设计,基于Quartus II软件,具有一定的通用性。但该书对VHDL基本语法的讲解较粗糙,只用了一个小节,不适合初学者的学习。
求是科技. CPLD/FPGA应用开发技术与工程实践. 北京:人民邮电出版社. 2005
该书以Altera公司的CPLD/FPGA为载体介绍VHDL设计,但EDA软件基于MAX+plus II,同时该书未涉及面向仿真的VHDL程序设计概念,不够实用。
黄任. VHDL入门•解惑•经典实例•经验总结. 北京:北京航空航天大学出版社.2005
该书以通俗易懂的语言向读者介绍VHDL语言程序设计与实践,且十分注重语法知识的实际应用,相应语法知识讲解透彻,且有大量实例,十分适合初学者入门学习。但该书较简略,语法知识的介绍不够全面,不利于后期的提高学习。另外,该书使用的EDA软件为MAX+plus II,已经过时,不利于读者的实践操作。   
本书借鉴了该书通俗易懂,注重语法知识的实际应用等优点,并完整地介绍了VHDL的语法知识,同时使用Xilinx最新版的EDA软件ISE 10.1,具有很强的实用性。

Jigsaw 发表于 2010-1-27 13:47:15

楼主是在给自己的书作广告吧

要不然,把电子版的传上来

dy45 发表于 2010-1-27 14:21:10

要PDF的,谢谢

fuxiangbo 发表于 2010-2-10 16:57:54

只有书的链接

wolfdong7 发表于 2010-2-10 17:55:38

兰州不厚道!

sunmy 发表于 2010-2-10 21:38:56

使用PDF惯了,请在标题里写上介绍一本好书 没有下载!

hwdpaley 发表于 2010-2-22 17:33:23

就是,只介绍,没下载,不厚道

hzxiaobao 发表于 2010-2-22 19:39:55

马甲够多的了
页: [1]
查看完整版本: VHDL入门级好教材《VHDL开发精解与实例剖析》