《VHDL语言与FPGA设计 基于Protel DXP开发平台》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:刘瑞新主编;胡健,高明远等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2004
  • ISBN:7111141547
  • 页数:358 页
图书介绍:本书介绍了VHDL语言的语法基础,组合逻辑电路等。

目 录 1

前言 1

第1章概述 1

1.1 PLD、CPLD及FPGA 1

1.2 CPLD/FPGA结构与原理 2

1.2.1基于乘积项(Product-Term)的CPLD结构 2

1.2.2乘积项结构CPLD的逻辑实现原理 4

1.2.4基于查找表(LUT)的FPGA的结构 5

1.2.3查找表(Look-Up-Table)的原理与结构 5

1.2.5查找表结构的FPGA逻辑实现原理 6

1.3数字系统的设计方法 8

1.3.1传统的硬件设计方法 8

1.3.2 EDA设计 8

1.4 PLD系统设计方式 9

1.4.1基于原理图的PLD设计 9

1.4.2基于HDL的PLD设计 10

1.4.3 HDL与原理图的混合设计 11

1.5.1硬件描述语言的分类 12

1.5硬件描述语言 12

1.5.2VHDL语言的特点 13

1.5.3 PLD开发工具 13

1.6可编程逻辑器件的最新发展趋势 13

1.7思考与练习 15

第2章 认识Protel DXP 16

2.1 Protel DXP的系统需求 16

2.2初识Protel DXP 16

2.2.1设置系统参数 17

2.2.2 Protel DXP文档组织 24

2.3面板的操控 25

2.4工具栏的摆放 27

2.4.1启动原理图编辑器 28

2.4.2摆放工具栏 29

2.5关闭文档及编辑窗口 30

2.6思考与练习 30

第3章基于原理图的FPGA设计 31

3.1 认识Protel DXP_Sch设计界面 31

3.2.1创建项目组文档 33

3.2创建FPGA设计项目 33

3.2.2 FPGA项目文档 34

3.2.3设置FPGA项目选项 36

3.3创建原理图源文件 37

3.3.1图纸创建及设置 37

3.3.2厂家选择及单元库的装载 38

3.3.3放置元件 39

3.3.4放置端口 40

3.3.5创建连接 42

3.4设计配置 45

3.5产生EDIF-FPGA网表 47

3.6后向标注FPGA项目 48

3.7后向标注PCB项目 49

3.8仿真分析 49

3.8.1创建测试平台文档 49

3.8.2仿真FPGA设计 52

3.9思考与练习 55

4.1 VHDL程序的设计单元 57

第4章VHDL语言程序结构 57

4.1.1实体的组织和设计 58

4.1.2实体说明 59

4.1.3构造体 64

4.2构造体的描述方式 66

4.2.1构造体的行为描述方式 66

4.2.2构造体的数据流描述方式 68

4.2.3构造体的结构描述方式 69

4.3构造体的子结构 71

4.3.1构造体的多模块描述 72

4.3.2构造体的多进程描述 75

4.3.3构造体的子程序描述 77

4.4库、包集合及包集合体 81

4.4.1库 81

4.4.2包集合 83

4.4.3包集合体 84

4.5配置 85

4.6在Protel DXP环境下编辑VHDL源文件 86

4.6.1创建源文件 87

4.7思考与练习 90

4.6.2设计仿真 90

第5章对象、数据类型及运算符 91

5.1信号的使用 91

5.1.1信号的初始化 92

5.1.2信号的使用 92

5.2变量的使用 94

5.3常数及常量的使用 95

5.3.1常数 95

5.3.2常量 96

5.4数据类型及子类型 97

5.4.1标量类型 98

5.4.2复合类型 101

5.4.3存取及不完全类型 104

5.4.4文件类型 105

5.5类型转换及类型标记 107

5.5.1显式类型转换 107

5.5.2类型转换函数 108

5.5.3多义常量类型 110

5.5.4决断和非决断类型 111

5.6了解VHDL的运算符 114

5.6.1逻辑运算符 116

5.6.2关系运算符 117

5.6.3 adding运算符 118

5.6.4符号运算符 119

5.6.5 multiplying运算符 119

5.6.6其他运算符 120

5.7思考与练习 122

6.1 IEEE 1164标准 123

第6章标准逻辑的使用 123

6.1.1 IEEE 1164标准的优点 124

6.1.2使用标准逻辑包 124

6.1.3 Std_logic_vector和Std_ulogic_vector 126

6.2类型转换及标准逻辑 126

6.3 IEEE 1164标准逻辑数据类型 128

6.3.1 Std_ulogic类型 128

6.3.2 Std_ulogic_vector类型 128

6.3.3 Std_logic类型 128

6.4.2数组逻辑运算符 129

6.4.1逻辑运算符 129

6.3Std_logic_vector类型 129

6.4标准逻辑运算符 129

6.5标准逻辑类型转换函数 130

6.5.1类型转换函数 130

6.5.2强制类型转换函数 130

6.6边沿检测及其他函数 131

6.6.1边沿检测函数 131

6.6.2其他函数 131

6.7 1076.3标准 131

6.7.1数值型数据类型的使用 132

6.7.2数值型标准运算符 133

6.7.3数字大小调整函数 136

6.7.4数值类型转换函数 136

6.7.5数值匹配函数 136

6.7.6数值变换函数 137

6.8思考与练习 137

第7章并发语句 138

7.1并发域 138

7.2信号代入语句 139

7.2.1并发信号代入语句 140

7.2.2条件信号代入语句 140

7.2.3选择信号代入语句 141

7.2.4条件与选择信号代入语句的对比 143

7.3并发过程调用语句 144

7.4生成语句 145

7.4.1 for-generate语句 145

7.4.2 if-generate语句 146

7.5并发进程语句 148

7.6元件例化语句 149

7.7端口及类属的映射语句 151

7.7.1端口映射语句 151

7.7.2类属映射语句 152

7.8延时说明子句 153

7.8.1惯性延时语句 154

7.8.2传输延时语句 155

7.9信号驱动 156

7.10思考与练习 157

8.1进程中的顺序语句 158

8.1.1用进程语句描述组合逻辑 158

第8章顺序语句 158

8.1.2用进程语句描述寄存器逻辑 160

8.1.3用进程语句描述状态机 161

8.1.4用进程描述测试激励 164

8.2子程序中的顺序语句 165

8.3信号及变量代入语句 166

8.4.1简单if语句结构 168

8.4 If语句 168

8.4.2 if语句的双路选择结构 169

8.4.3 if语句的多路选择结构 170

8.5 Case语句 174

8.6 Loop语句 176

8.6.1Forloop结构 176

8.6.2 While loop语句 178

8.6.3无限循环语句 179

8.6.4 Exit语句 180

8.6.5 Next语句 181

8.7 Wait语句 182

8.7.1 wait on结构 182

8.7.2 wait-until结构 183

8.7.3 waitfor结构 184

8.8 Assert语句 184

8.9 Null语句 185

8.10思考与练习 186

9.1.1一般数据的数值属性 187

第9章对象的属性描述 187

9.1数值类属性 187

9.1.2数组的数值属性 189

9.1.3块的数值属性 190

9.1.4实体的数值属性 191

9.2函数类属性 191

9.2.1数据类型的属性函数 191

9.2.2数组的属性函数 194

9.2.3信号的属性函数 195

9.3.1 S′delayed[(t)]属性 198

9.3信号类属性 198

9.3.2 S′stable[(t)]属性 200

9.3.3 S′quiet[(t)]属性 201

9.3.4 S′transaction[(t)]属性 201

9.4数据类型类属性 202

9.5区间类属性 202

9.6 自定义属性 203

9.7思考与练习 204

10.1默认配置 205

第10章配置 205

10.2元件建模与元件配置 206

10.2.1元件建模 207

10.2.2元件配置 211

10.3 Generic配置 212

10.4 Block的配置 215

10.5构造体的配置 217

10.6思考与练习 218

11.1 一个简单的测试台 219

第11章测试平台的描述 219

11.2用断言语句显示复杂字符串 224

11.3使用循环语句及多进程 226

11.4编写测试向量 227

11.5使用textI/O 231

11.5.1读出/写入表格数据 231

11.5.2非表格数据的读出 235

11.6使用Protel DXP测试平台程序模板 235

11.6.1创建FPGA项目文档及源文件 235

11.6.2为设计创建测试平台程序 237

11.7思考与练习 239

第12章VHDL与原理图的混合设计 244

12.1创建VHDL设计文档 245

12.2创建VHDL顶级原理图文档 249

12.3 FPGA项目设置 254

12.4设计编译 255

12.5创建VHDL测试平台程序 258

12.6设计仿真 261

12.7思考与练习 266

13.1.1 四2输入与非门(74HCT00) 267

13.1 门电路设计 267

第13章组合逻辑电路的VHDL设计 267

13.1.2四2输入或非门(74HCT32) 268

13.1.3 N输入与门 268

13.1.4异或门 269

13.2比较器的设计 271

13.2.1 4位二进制数大小比较器(74HC85) 271

13.2.2 8位相等比较器(74HCT688) 272

13.3.1 7段BCD码显示译码器(74LS48) 273

13.3译码器的设计 273

13.3.2双2-4译码器(74HCT139) 274

13.3.3 3-8线译码器(74LS138) 275

13.3.4地址译码器(M68008) 276

13.4数据选择器 277

13.5编码器 278

13.5.1 8-3优先编码器(74LS148) 278

13.5.2汉明纠错码编码器 279

13.6运算器 281

13.6.1半加器 281

13.6.2全加器 282

13.6.3 N位加法器 283

13.6.4全减器 284

13.6.5 4位加/减器 285

13.6.6求补运算器 286

13.7总线器件的设计 286

13.7.1 8位总线收发器(74HCT245) 286

13.8编码转换器 287

13.8.1 BCD码转换为二进制数 287

13.7.2三态总线 287

13.8.2 8421BCD码转换为余3码 289

13.8.3 BCD码转换为移位码 290

13.8.4 BCD码转换为格雷码 291

13.8.5二进制转换成BCD码 292

13.9奇偶校验位发生器设计 293

13.10思考与练习 294

第14章时序逻辑电路设计 295

14.1触发器的设计 295

14.1.1 D触发器设计 295

14.1.2 JK触发器设计 298

14.2计数器设计 299

14.2.1同步计数器设计 299

14.2.2异步计数器设计 310

14.3寄存器设计 311

14.3.1锁存寄存器设计 311

14.3.2移位寄存器 312

14.4思考与练习 317

15.1.1反馈信号 318

15.1 反馈机制 318

第15章有限状态机(FSMs) 318

15.1.2反馈变量 319

15.2 Moore状态机 320

15.2.1输出寄存器 321

15.2.2输入寄存器 322

15.3 Mealy状态机 322

15.4状态机的设计步骤 323

15.5状态机设计举例 326

15.5.1 Mealy状态机设计 326

15.5.2 Moore状态机设计 331

15.6思考与练习 334

第16章CPU及外围器件设计 335

16.1存储器设计 335

16.1.1只读存储器(ROM) 335

16.1.2随机读写存储器(RAM) 337

16.2模数及数模转换器 340

16.2.1模数转换器 340

16.3简单微处理器设计 343

16.2.2数模转换器 343

16.3.1 CPU指令定义包集合 344

16.3.2运算函数包集合 344

16.3.3 256字节ROM设计 347

16.3.4 16字节RAM设计 348

16.3.5 8位CPU模型设计 349

16.3.6微处理器系统结构描述 352

16.4可编程并行接口8255A的设计 353

16.5思考与练习 357

参考文献 358