当前位置:首页 > 工业技术
Verilog HDL与FPGA数字系统设计
Verilog HDL与FPGA数字系统设计

Verilog HDL与FPGA数字系统设计PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:罗杰主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111489511
  • 页数:386 页
图书介绍:本书是根据电子技术的发展和我国高等教育发展的新形势,以及作者多年教学与实践经验的基础上而编写的。内容覆盖了数字逻辑设计基础、Verilog HDL基础知识与建模方法、有限状态机设计、可编程逻辑器件及其开发工具、数字电路与系统设计实例、数字电路动态仿真与静态时序分析等相关知识。本书将数字逻辑设计和Verilog HDL有机地结合在一起,方便读者快速地掌握数字逻辑的基础知识和Verilog HDL建模方法,熟悉用EDA方法设计数字系统的技巧。本书不仅注重基础知识的介绍,而且力求向读者系统地讲解Verilog HDL在数字系统设计方面的实际应用。本书以QuartusⅡ9.1为软件平台,所有程序都通过了DE2开发板的硬件测试,读者可参考使用。本书可用作高等院校电气信息类等专业本、专科生的教材或教学参考书,也可以作为电子技术课程设计、电子设计大赛或数字系统设计工程技术人员学习EDA技术的参考书。
《Verilog HDL与FPGA数字系统设计》目录

第一篇 数字系统基础 2

第1章 数字逻辑设计基础 2

1.1 数字电路的发展历史及分类 2

1.2 逻辑运算及逻辑门 5

1.2.1 基本逻辑运算及对应的逻辑门 5

1.2.2 常用复合逻辑运算及对应的逻辑门 9

1.2.3 集成逻辑门电路简介 10

1.2.4 三态门 10

1.3 逻辑代数的基本公式和规则 12

1.3.1 逻辑代数的基本公式 12

1.3.2 逻辑代数的基本规则 13

1.3.3 基本公式的应用 14

1.4 逻辑函数的代数化简法 16

1.5 逻辑函数的卡诺图化简法 18

1.5.1 最小项的定义和性质 18

1.5.2 逻辑函数的最小项表达式 18

1.5.3 用卡诺图表示逻辑函数 19

1.5.4 用卡诺图化简逻辑函数 22

1.5.5 用卡诺图化简含无关项的逻辑函数 24

1.6 组合逻辑电路设计 25

1.6.1 组合逻辑电路设计的一般步骤 25

1.6.2 组合逻辑电路设计举例 26

小结 30

习题 30

第2章 Verilog HDL入门与功能仿真 32

2.1 硬件描述语言简介 32

2.1.1 硬件描述语言的起源 32

2.1.2 硬件描述语言的特点 33

2.2 Verilog HDL程序的基本结构 34

2.2.1 Verilog HDL程序的基本概述 34

2.2.2 简单Verilog HDL程序实例 35

2.3 逻辑功能的仿真验证过程 37

2.3.1 激励块 38

2.3.2 仿真过程简介 39

2.4 ModelSim仿真软件的使用 40

2.4.1 创建工作目录 40

2.4.2 输入源文件 40

2.4.3 建立工作库 40

2.4.4 编译设计文件 41

2.4.5 将设计文件载入仿真器 41

2.4.6 运行仿真器 42

2.5 Verilog HDL功能仿真常用命令 45

2.5.1 系统任务 45

2.5.2 编译器指令 47

小结 50

习题 50

第3章 Verilog HDL基础语法与组合逻辑电路建模 51

3.1 Verilog HDL基本语法规则 51

3.1.1 词法规定 51

3.1.2 逻辑值集合 52

3.1.3 常量及其表示 52

3.1.4 数据类型 55

3.2 Verilog HDL门级建模 61

3.2.1 多输入门 62

3.2.2 多输出门 63

3.2.3 三态门 64

3.2.4 门级建模举例 65

3.3 Verilog HDL数据流建模与运算符 67

3.3.1 数据流建模 67

3.3.2 表达式与操作数 68

3.3.3 运算符 69

3.3.4 运算符的优先级别 74

3.4 组合电路的行为级建模 75

3.5 分层次的电路设计方法 84

3.5.1 设计方法 84

3.5.2 模块实例引用语句 85

3.6 常用组合电路及其设计 87

3.6.1 编码器 87

3.6.2 二进制译码器 89

3.6.3 七段显示译码器 91

3.6.4 二进制数与8421 BCD码的转换 94

小结 100

习题 100

第4章 时序逻辑电路建模 102

4.1 锁存器 102

4.1.1 基本SR锁存器 102

4.1.2 门控D锁存器 103

4.1.3 门控D锁存器的Verilog HDL建模 105

4.2 时序电路建模基础 106

4.2.1 阻塞型赋值语句和非阻塞型赋值语句 106

4.2.2 事件控制语句 106

4.3 触发器 107

4.3.1 D触发器的逻辑功能 107

4.3.2 有清零输入和预置输入的D触发器 108

4.3.3 有使能端的D触发器 110

4.3.4 D触发器及其应用电路的Verilog HDL建模 110

4.4 寄存器和移位寄存器 114

4.4.1 寄存器及Verilog HDL建模 114

4.4.2 移位寄存器及Verilog HDL建模 115

4.4.3 移位寄存器的应用电路 118

4.5 同步计数器 121

4.5.1 同步计数器的设计 122

4.5.2 同步计数器的Verilog HDL建模 125

4.6 Verilog HDL函数与任务的使用 128

4.6.1 函数说明语句 129

4.6.2 任务说明语句 132

4.7 m序列码产生电路设计 134

小结 138

习题 138

第5章 有限状态机设计 140

5.1 状态机的基本概念 140

5.1.1 状态机的基本结构及类型 140

5.1.2 状态机的状态图表示法 141

5.1.3 状态机的设计步骤 141

5.2 基于Verilog HDL的状态机描述方法 142

5.2.1 状态图的建立过程 142

5.2.2 状态图的描述方法 143

5.3 状态机设计中的关键技术 147

5.3.1 状态编码 147

5.3.2 消除输出端产生的毛刺 147

5.3.3 使用One-Hot编码方案设计状态机 150

5.4 状态机设计举例 151

5.4.1 汽车尾灯控制电路设计 151

5.4.2 十字路口交通灯控制电路设计 154

小结 160

习题 161

第6章 可编程逻辑器件 163

6.1 概述 163

6.1.1 PLD的历史 163

6.1.2 PLD开发流程简介 164

6.1.3 PLD器件的符号 165

6.2 简单可编程逻辑器件 166

6.2.1 PLA 167

6.2.2 PAL 168

6.3 复杂可编程逻辑器件 175

6.3.1 CPLD的基本结构 175

6.3.2 逻辑块 176

6.3.3 I/O块 177

6.3.4 可编程内部互连线资源 178

6.4 现场可编程门阵列 179

6.4.1 FPGA实现逻辑函数的基本原理 179

6.4.2 FPGA的一般结构 182

6.4.3 基于LUT的逻辑块 182

6.4.4 可编程布线资源 183

6.4.5 I/O块 184

小结 186

习题 187

第二篇 数字系统设计实践 190

第7章 FPGA开发工具的使用 190

7.1 Quartus Ⅱ软件介绍 190

7.1.1 Quartus Ⅱ 9.1 软件主界面 190

7.1.2 Quartus Ⅱ的设计流程 191

7.1.3 USB-Blaster驱动安装 193

7.2 基于原理图的电路仿真 194

7.2.1 建立新的设计项目 195

7.2.2 输入电路原理图 196

7.2.3 编译设计项目 197

7.2.4 仿真验证设计项目 198

7.2.5 分析信号的延迟特性 201

7.2.6 实验任务 201

7.3 基于Verilog HDL的电路设计与实现 202

7.3.1 半加器的设计与Verilog HDL建模举例 203

7.3.2 输入设计文件 204

7.3.3 建立新的设计项目 204

7.3.4 编译设计文件 205

7.3.5 仿真验证设计项目 206

7.3.6 分配引脚 208

7.3.7 对目标器件编程与硬件电路测试 210

7.3.8 使用电路网表观察器查看电路图 212

7.3.9 实验任务 212

7.4 基于原理图和Verilog HDL的层次化设计 213

7.4.1 编码、译码、显示电路 213

7.4.2 建立新的设计项目 215

7.4.3 输入HDL底层文件并完善原理图 216

7.4.4 分配引脚并编译设计 216

7.4.5 仿真验证设计项目 217

7.4.6 对目标器件编程与硬件电路测试 218

7.4.7 实验任务 219

7.5 嵌入式逻辑分析仪SignalTap Ⅱ的使用 220

7.5.1 SignalTap Ⅱ的实现原理与使用流程 220

7.5.2 SignalTap Ⅱ的基本使用方法 221

7.5.3 实验任务 227

7.6 宏功能模块的调用 227

7.6.1 计数器模块LPM_COUNTER的配置与调用 227

7.6.2 嵌入式锁相环模块ALTPLL的配置与调用 230

7.6.3 先进先出模块FIFO的配置与调用 236

7.6.4 存储器模块LPM_ROM的配置与调用 239

7.6.5 实验任务 245

7.7 在Quartus Ⅱ中调用ModelSim进行仿真 246

7.7.1 乘法器模块LPM_MULT的配置与调用 246

7.7.2 仿真流程 247

7.7.3 实验任务 250

小结 250

第8章 数字电路与系统的设计实践 251

8.1 变模计数器设计 251

8.1.1 功能要求 251

8.1.2 设计分析 251

8.1.3 逻辑设计 251

8.1.4 设计实现 253

8.1.5 实验任务 253

8.2 移动显示字符的设计 253

8.2.1 功能要求 253

8.2.2 设计分析 254

8.2.3 逻辑设计 255

8.2.4 设计实现 256

8.2.5 实验任务 256

8.3 分频器设计 258

8.3.1 功能要求 258

8.3.2 设计分析 258

8.3.3 逻辑设计 259

8.3.4 设计仿真 260

8.3.5 实际运行结果 260

8.3.6 实验任务 260

8.4 篮球竞赛30秒定时器设计 261

8.4.1 功能要求 261

8.4.2 设计分析 261

8.4.3 逻辑设计 261

8.4.4 设计实现 264

8.4.5 实验任务 264

8.5 多功能数字钟设计 265

8.5.1 功能要求 265

8.5.2 设计分析 265

8.5.3 数字钟主体电路逻辑设计 266

8.5.4 功能扩展电路逻辑设计 270

8.5.5 顶层电路设计 271

8.5.6 实验任务 274

8.6 频率计设计 274

8.6.1 功能要求 274

8.6.2 设计分析 275

8.6.3 逻辑设计 277

8.6.4 顶层电路设计 282

8.6.5 实验任务 282

8.7 DDS函数信号发生器的设计 283

8.7.1 功能要求 283

8.7.2 DDS产生波形的原理 283

8.7.3 设计分析 286

8.7.4 顶层电路设计 289

8.7.5 设计实现 290

8.7.6 D/A转换电路及放大电路设计 291

8.7.7 实验任务 292

8.8 有限状态机实验 294

8.8.1 功能要求 294

8.8.2 设计分析 295

8.8.3 逻辑设计 296

8.8.4 设计实现 297

8.8.5 实验任务 298

小结 299

第9章 静态时序分析工具TimeQuest的使用 300

9.1 静态时序分析基础 301

9.1.1 同步路径的分析 301

9.1.2 异步路径的分析 305

9.1.3 外部同步路径的分析 305

9.1.4 不同的时序模型 309

9.2 TimeQuest时序分析器的使用 309

9.2.1 TimeQuest的使用流程 309

9.2.2 两级流水线乘法器设计 309

9.2.3 设定时序要求 312

9.2.4 全编译并完成布局布线 315

9.2.5 验证时序 316

小结 318

第10章 异步串口通信及UART实现 319

10.1 UART接口实现原理 319

10.1.1 串行通信的概念 319

10.1.2 基本的UART通信协议 320

10.2 UART接口模块的层次化设计 321

10.2.1 UART接口的功能模块划分 321

10.2.2 配置文件 322

10.2.3 顶层模块的功能描述 323

10.2.4 接收模块的功能描述 324

10.2.5 发送模块的功能描述 327

10.2.6 波特率变换模块的功能描述 331

10.2.7 微处理器接口模块的功能描述 331

10.3 对UART接口模块的功能仿真 338

10.3.1 对接收模块的功能仿真 338

10.3.2 对发送模块的功能仿真 340

10.3.3 对波特率变换模块的功能仿真 341

10.3.4 对微处理器接口模块的功能仿真 341

10.3.5 对UART接口模块的功能仿真 343

10.4 逻辑综合与时序仿真 345

10.5 下载与验证测试 345

10.5.1 验证系统概述 345

10.5.2 验证结果 346

小结 347

第11章 VGA接口控制器的设计 348

11.1 VGA接口标准和接口电路 348

11.1.1 VGA接口标准 348

11.1.2 VGA接口电路 350

11.2 VGA彩条信号发生器 352

11.2.1 功能要求 352

11.2.2 设计分析 352

11.2.3 逻辑设计 353

11.2.4 顶层电路设计 357

11.2.5 对目标器件编程与硬件电路测试 358

11.2.6 使用Signal Tap Ⅱ观察VGA工作时序 359

11.2.7 实验任务 361

11.3 24位位图显示 362

11.3.1 功能要求 362

11.3.2 设计分析 362

11.3.3 逻辑设计 362

11.3.4 顶层电路设计 365

11.3.5 对目标器件编程与硬件电路测试 367

11.3.6 实验任务 368

小结 368

附录A Verilog HDL关键字 369

附录B 常用FPGA开发板介绍 370

附录C Cyclone Ⅱ系列器件结构 380

参考文献 386

返回顶部