图书>教材>本科教材>工学门类>电子科学与技术
VerilogHDL与FPGA数字系统设计第2版

VerilogHDL与FPGA数字系统设计第2版"

作者:主编罗杰
ISBN:978-7-111-57575-7
定价:¥99.0
字数:693千字
页数:
出版时间:2022-03-30
开本:16
版次:
装帧:平装
出版社:机械工业出版社
简介

本书是根据数字技术的发展和EDA课程教学要求,以及作者多年教学与实践经验的基础上而编写的,目标是快速地提高读者的数字电路(或系统)设计能力。内容覆盖了数字逻辑基础、Verilog HDL基础知识与建模方法、有限状态机设计、可编程逻辑器件及其开发工具、数字电路与系统设计实例、静态时序分析工具以及可编程片上系统等相关知识。
本书将数字逻辑设计和Verilog HDL有机地结合在一起,以可综合的Verilog设计为重点,方便读者快速地掌握Verilog HDL建模方法,以及用FPGA实现数字电路(或系统)的技巧。本书以Quartus Prime 18.1等软件为工具,所有程序都通过了DE2-115(或DE1-SOC)开发板的硬件测试,读者可参考使用。
本书可用作高等院校电气信息类等专业本、专科生的教材或教学参考书,也可以作为电子技术课程设计、电子设计大赛或数字系统设计工程技术人员学习EDA技术的参考书。

前言

目录

前言<br/>第1版前言<br/>教学建议<br/>第一篇 数字系统基础<br/>第1章 数字逻辑设计基础 / 2<br/>本章目的 / 2<br/>1.1 数制及其相互转换 / 2<br/>1.1.1 数制 / 2<br/>1.1.2 不同进制数的相互转换 / 4<br/>1.2 二进制代码 / 5<br/>1.2.1 二-十进制编码 / 5<br/>1.2.2 格雷码 / 6<br/>1.2.3 奇偶校验码 / 8<br/>1.2.4 ASCII字符编码 / 9<br/>1.3 逻辑运算及逻辑门 / 11<br/>1.3.1 基本逻辑运算 / 11<br/>1.3.2 常用复合逻辑运算 / 14<br/>1.3.3 集成逻辑门电路简介 / 15<br/>1.3.4 三态门 / 20<br/>1.4 逻辑代数的基本公式和规则 / 21<br/>1.4.1 逻辑代数的基本定律和恒等式 / 21<br/>1.4.2 逻辑代数的基本规则 / 22<br/>1.4.3 逻辑函数表达式的形式 / 23<br/>1.5 逻辑函数的代数化简法 / 25<br/>1.6 逻辑函数的卡诺图化简法 / 26<br/>1.6.1 逻辑函数的最小项及其性质 / 26<br/>1.6.2 逻辑函数的最小项表达式 / 27<br/>1.6.3 用卡诺图表示逻辑函数 / 28<br/>1.6.4 用卡诺图化简逻辑函数 / 31<br/>1.6.5 用卡诺图化简含无关项的逻辑函数 / 33<br/>1.7 组合逻辑电路设计 / 35<br/>1.7.1 设计组合逻辑电路的一般步骤 / 35<br/>1.7.2 组合逻辑电路设计举例 / 36<br/>小结 / 40<br/>习题 / 40<br/>第2章 Verilog HDL入门与功能仿真 / 42<br/>本章目的 / 42<br/>2.1 硬件描述语言简介 / 42<br/>2.1.1 硬件描述语言的起源 / 42<br/>2.1.2 硬件描述语言的特点 / 43<br/>2.2 Verilog HDL程序的基本结构 / 44<br/>2.2.1 Verilog HDL模块组成 / 44<br/>2.2.2 Verilog HDL模块举例 / 45<br/>2.3 编写测试模块 / 47<br/>2.4 ModelSim仿真软件的使用 / 49<br/>2.4.1 创建工作目录 / 50<br/>2.4.2 输入源文件 / 50<br/>2.4.3 建立工作库 / 50<br/>2.4.4 编译设计文件 / 50<br/>2.4.5 将设计文件载入仿真器 / 52<br/>2.4.6 运行仿真 / 53<br/>2.4.7 调试结果 / 54<br/>2.5 Verilog HDL基本语法规则 / 57<br/>2.5.1 词法规定 / 57<br/>2.5.2 逻辑值集合 / 57<br/>2.5.3 常量及其表示 / 58<br/>2.5.4 数据类型 / 60<br/>2.6 编译指令、系统任务和系统函数 / 67<br/>2.6.1 Verilog HDL编译器指令 / 67<br/>2.6.2 Verilog HDL系统任务 / 69<br/>2.6.3 Verilog HDL系统函数 / 71<br/>小结 / 72<br/>习题 / 73<br/>第3章 组合逻辑电路建模 / 74<br/>本章目的 / 74<br/>3.1 Verilog HDL门级建模 / 74<br/>3.1.1 多输入门 / 74<br/>3.1.2 多输出门 / 76<br/>3.1.3 三态门 / 76<br/>3.1.4 门级建模举例 / 77<br/>3.2 Verilog HDL数据流建模 / 79<br/>3.2.1 数据流建模 / 79<br/>3.2.2 表达式与操作数 / 82<br/>3.2.3 运算符 / 82<br/>3.2.4 运算符的优先级别 / 87<br/>3.3 组合电路的行为级建模 / 88<br/>3.4 分层次的电路设计方法 / 96<br/>3.4.1 设计方法 / 96<br/>3.4.2 模块实例引用语句 / 98<br/>3.4.3 迭代结构 / 100<br/>3.5 常用组合电路及其设计 / 102<br/>3.5.1 编码器 / 103<br/>3.5.2 二进制译码器 / 104<br/>3.5.3 七段显示译码器 / 106<br/>3.5.4 二进制数与8421码的转换 / 108<br/>小结 / 115<br/>习题 / 115<br/>第4章 时序逻辑电路建模 / 119<br/>本章目的 / 119<br/>4.1 锁存器 / 119<br/>4.1.1 基本SR锁存器 / 119<br/>4.1.2 门控D锁存器 / 121<br/>4.1.3 门控D锁存器的Verilog HDL建模 / 122<br/>4.2 触发器 / 123<br/>4.2.1 D触发器的逻辑功能 / 123<br/>4.2.2 有清零输入和预置输入的D触发器 / 124<br/>4.2.3 有使能端的D触发器 / 125<br/>4.2.4 时序逻辑电路建模基础 / 126<br/>4.2.5 D触发器及其应用电路的建模 / 128<br/>4.3 寄存器和移位寄存器 / 131<br/>4.3.1 寄存器建模 / 131<br/>4.3.2 移位寄存器建模 / 132<br/>4.3.3 移位寄存器应用电路建模 / 136<br/>4.4 同步计数器 / 138<br/>4.4.1 同步计数器的设计 / 138<br/>4.4.2 同步计数器的Verilog HDL建模 / 142<br/>4.5 Verilog HDL函数与任务的使用 / 146<br/>4.5.1 函数说明语句 / 146<br/>4.5.2 任务说明语句 / 149<br/>4.6 m序列码产生电路设计 / 151<br/>小结 / 155<br/>习题 / 156<br/>第5章 有限状态机设计 / 158<br/>本章目的 / 158<br/>5.1 状态机的基本概念 / 158<br/>5.1.1 状态机的基本结构及类型 / 158<br/>5.1.2 状态机的状态图表示法 / 159<br/>5.1.3 状态机的设计步骤 / 160<br/>5.2 基于Verilog HDL的状态机描述方法 / 160<br/>5.2.1 状态图的建立过程 / 160<br/>5.2.2 状态图的描述方法 / 161<br/>5.3 状态机设计中的关键技术 / 165<br/>5.3.1 状态编码 / 165<br/>5.3.2 消除输出端产生的毛刺 / 166<br/>5.3.3 使用One-Hot编码方案设计状态机 / 168<br/>5.4 状态机设计举例 / 170<br/>5.4.1 十字路口交通灯控制电路设计 / 170<br/>5.4.2 汽车尾灯控制电路设计 / 176<br/>小结 / 181<br/>习题 / 182<br/>第6章 可编程逻辑器件 / 184<br/>本章目的 / 184<br/>6.1 概述 / 184<br/>6.1.1 PLD的历史 / 184<br/>6.1.2 PLD器件的符号 / 186<br/>6.2 简单可编程逻辑器件 / 187<br/>6.2.1 PLA / 188<br/>6.2.2 PAL与GAL / 190<br/>6.3 复杂可编程逻辑器件 / 195<br/>6.3.1 传统CPLD的基本结构 / 195<br/>6.3.2 基于查找表的CPLD结构 / 198<br/>6.4 现场可编程门阵列 / 199<br/>6.4.1 FPGA实现逻辑函数的基本原理 / 200<br/>6.4.2 FPGA的一般结构 / 203<br/>6.5 Intel FPGA器件系列及开发平台 / 204<br/>6.5.1 器件系列 / 204<br/>6.5.2 FPGA开发板简介 / 205<br/>小结 / 207<br/>习题 / 208<br/>第二篇 数字系统设计实践<br/>第7章 FPGA开发工具的使用 / 214<br/>本章目的 / 214<br/>7.1 Quartus Prime 软件概述 / 214<br/>7.1.1 软件的安装与设置 / 214<br/>7.1.2 Quartus Prime的设计流程 / 217<br/>7.2 基于Verilog HDL输入的电路实现 / 220<br/>7.2.1 建立新的设计项目 / 220<br/>7.2.2 输入设计文件 / 222<br/>7.2.3 分配引脚 / 222<br/>7.2.4 编译设计文件 / 226<br/>7.2.5 编程器件,测试功能 / 227<br/>7.2.6 使用电路网表观察器查看电路图 / 230<br/>7.2.7 实验任务 / 230<br/>7.3 基于Verilog HDL输入的电路仿真 / 231<br/>7.3.1 输入设计文件,建立新的设计项目 / 232<br/>7.3.2 分配引脚,编译设计源文件 / 233<br/>7.3.3 波形仿真 / 233<br/>7.3.4 编程器件,测试功能 / 240<br/>7.3.5 实验任务 / 240<br/>7.4 基于原理图输入的电路实现 / 241<br/>7.4.1 建立新的设计项目 / 241<br/>7.4.2 输入电路原理图 / 242<br/>7.4.3 分配引脚 / 245<br/>7.4.4 编译设计项目 / 245<br/>7.4.5 编程器件,测试功能 / 245<br/>7.4.6 实验任务 / 245<br/>7.5 基于原理图和Verilog HDL混合输入的电路实现 / 246<br/>7.5.1 编码、译码、显示电路 / 246<br/>7.5.2 输入原理图文件,建立新的设计项目 / 247<br/>7.5.3 输入HDL底层文件,完善原理图文件 / 249<br/>7.5.4 分配引脚,编译设计项目 / 249<br/>7.5.5 编程器件,测试功能 / 251<br/>7.5.6 实验任务 / 251<br/>7.6 基于IP模块的电路设计 / 251<br/>7.6.1 LPM_COUNTER模块的设置与调用 / 253<br/>7.6.2 嵌入式锁相环模块ALTPLL的设置与调用 / 257<br/>7.6.3 存储器模块LPM_ROM的配置与调用 / 261<br/>7.6.4 实验任务 / 269<br/>7.7 嵌入式逻辑分析仪的使用 / 270<br/>7.7.1 嵌入式逻辑分析仪的实现原理 / 270<br/>7.7.2 嵌入式逻辑分析仪的使用流程 / 271<br/>7.7.3 Signal Tap使用示例 / 272<br/>7.7.4 实验任务 / 278<br/>小结 / 279<br/>第8章 数字电路与系统的设计实践 / 280<br/>本章目的 / 280<br/>8.1 变模计数器设计 / 280<br/>8.1.1 功能要求 / 280<br/>8.1.2 设计分析 / 280<br/>8.1.3 逻辑设计 / 281<br/>8.1.4 设计实现 / 281<br/>8.1.5 实验任务 / 282<br/>8.2 移动显示字符设计 / 285<br/>8.2.1 功能要求 / 285<br/>8.2.2 设计分析 / 285<br/>8.2.3 逻辑设计 / 286<br/>8.2.4 设计实现 / 287<br/>8.2.5 实验任务 / 288<br/>8.3 分频器设计 / 289<br/>8.3.1 功能要求 / 289<br/>8.3.2 设计分析 / 289<br/>8.3.3 逻辑设计 / 290<br/>8.3.4 设计仿真 / 291<br/>8.3.5 实际运行结果 / 291<br/>8.3.6 实验任务 / 292<br/>8.4 多功能数字钟设计 / 292<br/>8.4.1 功能要求 / 292<br/>8.4.2 设计分析 / 292<br/>8.4.3 数字钟主体电路逻辑设计 / 293<br/>8.4.4 功能扩展电路逻辑设计 / 297<br/>8.4.5 顶层电路设计 / 299<br/>8.4.6 实验任务 / 302<br/>8.5 频率计设计 / 302<br/>8.5.1 功能要求 / 302<br/>8.5.2 设计分析 / 303<br/>8.5.3 逻辑设计 / 305<br/>8.5.4 顶层电路设计 / 310<br/>8.5.5 实验任务 / 311<br/>8.6 LCD1602显示的定时器设计 / 311<br/>8.6.1 功能要求 / 311<br/>8.6.2 设计分析 / 311<br/>8.6.3 30秒递减定时器设计 / 312<br/>8.6.4 字符型LCD1602模块的显示设计 / 313<br/>8.6.5 顶层模块设计 / 321<br/>8.6.6 设计实现 / 322<br/>8.6.7 实验任务 / 323<br/>8.7 DDS函数信号发生器设计 / 323<br/>8.7.1 功能要求 / 323<br/>8.7.2 DDS产生波形的原理 / 324<br/>8.7.3 设计分析 / 326<br/>8.7.4 顶层电路设计 / 330<br/>8.7.5 设计实现 / 331<br/>8.7.6 D/A转换电路及放大电路设计 / 332<br/>8.7.7 实验任务 / 333<br/>小结 / 335<br/>第9章 VGA接口控制器的设计 / 336<br/>本章目的 / 336<br/>9.1 VGA接口标准和接口电路 / 336<br/>9.1.1 VGA接口标准 / 336<br/>9.1.2 VGA接口电路 / 338<br/>9.2 VGA彩条信号发生器 / 340<br/>9.2.1 功能要求 / 340<br/>9.2.2 设计分析 / 340<br/>9.2.3 逻辑设计 / 341<br/>9.2.4 顶层电路设计 / 345<br/>9.2.5 对目标器件编程与硬件电路测试 / 346<br/>9.2.6 使用Signal Tap Logic Analyzer观察VGA工作时序 / 347<br/>9.2.7 实验任务 / 350<br/>9.3 24位位图显示 / 350<br/>9.3.1 功能要求 / 350<br/>9.3.2 设计分析 / 351<br/>9.3.3 逻辑设计 / 351<br/>9.3.4 顶层电路设计 / 354<br/>9.3.5 对目标器件编程与硬件电路测试 / 356<br/>9.3.6 实验任务 / 357<br/>小结 / 357<br/>第10章 静态时序分析工具TimeQuest的使用 / 358<br/>本章目的 / 358<br/>10.1 静态时序分析基础 / 359<br/>10.1.1 同步路径的分析 / 359<br/>10.1.2 异步路径的分析 / 363<br/>10.1.3 外部同步路径的分析 / 363<br/>10.1.4 不同的时序模型 / 367<br/>10.2 时序分析工具的使用 / 367<br/>10.2.1 时序分析工具的使用流程 / 367<br/>10.2.2 两级流水线乘法器设计 / 368<br/>10.2.3 设定时序要求 / 370<br/>10.2.4 全编译并完成布局布线 / 372<br/>10.2.5 验证时序 / 374<br/>小结 / 376<br/>第三篇 可编程片上系统<br/>第11章 可编程片上系统入门 / 380<br/>本章目的 / 380<br/>11.1 SOPC技术概述 / 380<br/>11.1.1 SOC技术 / 380<br/>11.1.2 SOPC技术 / 381<br/>11.1.3 基于Nios II处理器的嵌入式系统组成 / 381<br/>11.2 SOPC系统设计流程 / 383<br/>11.3 SOPC硬件系统设计 / 384<br/>11.3.1 设计任务 / 384<br/>11.3.2 创建Quartus Prime工程 / 385<br/>11.3.3 构建嵌入式硬件系统 / 386<br/>11.3.4 在Quartus Prime项目中集成嵌入式硬件系统 / 394<br/>11.4 SOPC软件开发 / 398<br/>11.4.1 软件开发工具简介 / 398<br/>11.4.2 创建Nios II软件工程 / 398<br/>11.4.3 应用程序设计 / 402<br/>11.4.4 应用工程编译调试 / 403<br/>11.5 SOPC系统设计实践 / 407<br/>11.5.1 Nios II嵌入式处理器PIO应用 / 407<br/>11.5.2 Nios II嵌入式处理器中断应用 / 413<br/>11.5.3 Nios II实时时钟设计 / 418<br/>小结 / 424<br/>第12章 自定义IP组件设计 / 425<br/>本章目的 / 425<br/>12.1 重识Avalon总线 / 425<br/>12.1.1 Avalon Clock和Avalon Reset接口 / 427<br/>12.1.2 Avalon-MM接口 / 427<br/>12.1.3 Avalon中断接口 / 429<br/>12.1.4 Avalon-ST接口 / 429<br/>12.1.5 Avalon Conduit接口 / 430<br/>12.1.6 Avalon-TC接口 / 431<br/>12.2 自定义IP组件设计 / 431<br/>12.2.1 PWM的HDL设计 / 431<br/>12.2.2 PWM自定义IP组件的封装方法 / 435<br/>12.2.3 PWM自定义IP组件的应用方法 / 436<br/>小结 / 438<br/>附录A DE2-115开发板引脚配置信息 / 439<br/>参考文献 / 445

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个