内容介绍
基本信息
书名:数字系统设计与PLD应用(第三版)
原价:40.00元
作者:臧春华,蒋璇 编著
出版社:电子工业出版社
出版日期:2009-5-1
ISBN:9787121087271
字数:700000
页码:422
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
内容提要
本书为普通高等教育“十一五”国家级规划教材。本书阐述数字系统设计方法和可编程逻辑器件PLD的应用技术。引导读者从一般的数字功能电路设计转向数字系统设计;从传统的非定制通用集成电路的应用转向用户半定制的PLD的应用;从单纯的硬件设计转向硬件、软件高度渗透的设计方法。从而了解数字技术的新发展、新思路、新器件,拓宽软、硬件没计的知识面,提高设计能力。本书是编者在汇总了多年从事数字系统设计和PLD应用技术教学及科研成果的基础上编写的,取材丰富,概念清晰,既有较高的起点和概括,也有很好的实用和参考价值。书中软、硬件结合恰当,有一定的前瞻性和新颖性。全书文字流畅,图、文、表紧密结合,可读性强。
本书共8章,每章之后均有丰富的习题供读者选做。第8章提供10个上机实验题,供不同层次教学需求和读者选用。书末有附录,简明介绍各种HDPLD典型器件和一种典型PLD开发工具,供读者参考。
本书可作为高等学校电子信息类、电气信息类、计算机类各专业的教科书,同时也是上述学科及其他相关学科工程技术人员很好的实用参考书。
目录
第1章 数字系统设计方法
1.1 绪言
1.1.1 数字系统的基本概念
1.1.2 数字系统的基本模型
1.1.3 数字系统的基本结构
1.2 数字系统设计的一般步骤
1.2.1 引例
1.2.2 数字系统设计的基本步骤
1.2.3 层次化设计
1.3 数字系统设计方法
1.3.1 自上而下的设计方法
1.3.2 自下而上的设计方法
1.3.3 基于关键部件的设计方法
1.3.4 信息流驱动的设计方法
1.4 数字系统的描述方法之一——算法流程图
1.4.1 算法流程图的符号与规则
1.4.2 设计举例
习题1
第2章 数字系统的算法设计和硬件实现
2.1 算法设计
2.1.1 算法设计综述
2.1.2 跟踪法
2.1.3 归纳法
2.1.4 划分法
2.1.5 解析法
2.1.6 综合法
2.2 算法结构
2.2.1 顺序算法结构
2.2.2 并行算法结构
2.2.3 流水线算法结构
2.3 数据处理单元的设计
2.3.1 系统硬件实现概述
2.3.2 器件选择
2.3.3 数据处理单元设计步骤
2.3.4 数据处理单元设计实例
2.4 控制单元的设计
2.4.1 系统控制方式
2.4.2 控制器的基本结构和系统同步
2.4.3 算法状态机图(ASM图)
2.4.4 控制器的硬件逻辑设计方法
习题2
第3章 硬件描述语言VHDl和VerilogHDl
3.1 概述
3.2 VHDl及其应用
3.2.1 VHDl基本结构
3.2.2 数据对象、类型及运算符
3.2.3 顺序语句
3.2.4 并行语句
3.2.5 子程序
3.2.6 程序包与设计库
3.2.7 元件配置
3.2.8 VHDl描述实例
3.3 VerilogHDl及其应用
3.3.1 VerilogHDl基本结构
3.3.2 数据类型、运算符与表达式
3.3.3 行为描述语句
3.3.4 并行语句
3.3.5 结构描述语句
3.3.6 任务与函数
3.3.7 编译预处理
3.3.8 VerilogHDl描述实例
习题3
第4章 可编程逻辑器件PlD原理和应用
4.1 PlD概述
4.2 简单PlD原理
4.2.1 PlD的基本组成
4.2.2 PlD的编程
4.2.3 阵列结构
4.2.4 PlD中阵列的表示方法
4.3 SPlD组成和应用
4.3.1 只读存储器ROM
4.3.2 可编程逻辑阵列PlA
4.3.3 可编程阵列逻辑PAl
4.3.4 通用阵列逻辑GAl
……
第5章 高密度PLD及其应用
第6章 采用HDPLD设计数字系统实例
第7章 可编程片上系统(SOPC)
第8章 上机实验
附录A HDPLD典型器件介绍
附录B PLD开发软件QuartusII8.0简介
参考文献
作者介绍
文摘
序言
关联推荐
本书可作为高等学校电子信息类、电气信息类、计算机类各专业的教科书,同时也是上述学科及其他相关学科工程技术人员很好的实用参考书。
目录
第1章 数字系统设计方法
1.1 绪言
1.1.1 数字系统的基本概念
1.1.2 数字系统的基本模型
1.1.3 数字系统的基本结构
1.2 数字系统设计的一般步骤
1.2.1 引例
1.2.2 数字系统设计的基本步骤
1.2.3 层次化设计
1.3 数字系统设计方法
1.3.1 自上而下的设计方法
1.3.2 自下而上的设计方法
1.3.3 基于关键部件的设计方法
1.3.4 信息流驱动的设计方法
1.4 数字系统的描述方法之一算法流程图
1.4.1 算法流程图的符号与规则
1.4.2 设计举例
习题1
第2章 数字系统的算法设计和硬件实现
2.1 算法设计
2.1.1 算法设计综述
2.1.2 跟踪法
2.1.3 归纳法
2.1.4 划分法
2.1.5 解析法
2.1.6 综合法
2.2 算法结构
2.2.1 顺序算法结构
2.2.2 并行算法结构
2.2.3 流水线算法结构
2.3 数据处理单元的设计
2.3.1 系统硬件实现概述
2.3.2 器件选择
2.3.3 数据处理单元设计步骤
2.3.4 数据处理单元设计实例
2.4 控制单元的设计
2.4.1 系统控制方式
2.4.2 控制器的基本结构和系统同步
2.4.3 算法状态机图(ASM图)
2.4.4 控制器的硬件逻辑设计方法
习题2
第3章 硬件描述语言VHDL和VerilogHDL
3.1 概述
3.2 VHDL及其应用
3.2.1 VHDL基本结构
3.2.2 数据对象、类型及运算符
3.2.3 顺序语句
3.2.4 并行语句
3.2.5 子程序
3.2.6 程序包与设计库
3.2.7 元件配置
3.2.8 VHDL描述实例
3.3 VerilogHDL及其应用
3.3.1 VerilogHDL基本结构
3.3.2 数据类型、运算符与表达式
3.3.3 行为描述语句
3.3.4 并行语句
3.3.5 结构描述语句
3.3.6 任务与函数
3.3.7 编译预处理
3.3.8 VerilogHDL描述实例
习题3
第4章 可编程逻辑器件PLD原理和应用
4.1 PLD概述
4.2 简单PLD原理
4.2.1 PLD的基本组成
4.2.2 PLD的编程
4.2.3 阵列结构 ��
4.2.4 PLD中阵列的表示方法��
4.3 SPLD组成和应用
4.3.1 只读存储器ROM �� 4.3.2 可编程逻辑阵列PLA
4.3.3 可编程阵列逻辑PAL
4.3.4 通用阵列逻辑GAL
4.3.5 GAL应用举例
4.4 采用SPLD设计数字系统
4.4.1 采用SPLD实现系统的步骤
4.4.2 设计举例
4.4.3 采用SPLD设计系统的讨论
习题4
第5章 高密度PLD及其应用
5.1 HDPLD分类
5.2 HDPLD组成
5.2.1 阵列扩展型CPLD
5.2.2 现场可编程门阵列(FPGA)
5.2.3 延迟确定型FPGA
5.2.4 多路开关型FPGA
5.3 HDPLD编程技术
5.3.1 在系统可编程技术
5.3.2 在电路配置(重构)技术
5.3.3 反熔丝(Antifuse)编程技术
5.4 HDPLD开发平台
5.4.1 HDPLD开发系统的基本工作流程
5.4.2 HDPLD开发系统的库函数
5.5 当前常用可编程逻辑器件及其开发工具
5.5.1 Lattice公司的CPLD/FPGA与开发软件
5.5.2 Altera公司的CPLD/FPGA及开发工具
5.5.3 Xilinx公司的CPLD/FPGA和开发平台
5.5.4 用于CPLD/FPGA的IP核
习题5 ��
第6章 采用HDPLD设计数字系统实例
6.1 高速并行乘法器的设计
6.1.1 算法设计和结构选择
6.1.2 器件选择
6.1.3 设计输入 ��
6.1.4 芯片引脚定义
6.1.5 逻辑仿真
6.1.6 目标文件产生和器件下载
6.2 十字路口交通管理器的设计
6.2.1 交通管理器的功能
6.2.2 系统算法设计
6.2.3 设计输入
6.3 九九乘法表系统的设计
6.3.1 系统功能和技术指标
6.3.2 算法设计
6.3.3 数据处理单元的实现��
6.3.4 设计输入
6.3.5 系统的功能仿真
6.4 FIFO(先进先出堆栈)的设计
6.4.1 FIFO的功能 ��
6.4.2 算法设计和逻辑框图
6.4.3 数据处理单元和控制器的设计
6.4.4 设计输入 ��
6.4.5 用VerilogHDL进行设计
6.4.6 仿真验证 ��
6.5 数据采集和反馈控制系统的设计
6.5.1 系统设计要求
6.5.2 设计输入
6.6 FIR有限冲激响应滤波器的设计
6.6.1 FIR结构简介
6.6.2 设计方案和算法结构
6.6.3 模块组成 ��
6.6.4 FIR滤波器的扩展应用
6.6.5 设计输入 ��
6.6.6 设计验证 ��
6.7 UART接口设计
6.7.1 UART组成与帧格式��
6.7.2 顶层模块的描述
6.7.3 发送模块设计
6.7.4 接收模块设计
6.7.5 仿真验证
6.8 简单处理器的设计
6.8.1 系统功能介绍
6.8.2 处理器硬件系统
6.8.3 处理器指令系统
6.8.4 处理器硬件系统的设计和实施
6.8.5 设计输入
6.8.6 系统功能仿真
习题6 ��
第7章 可编程片上系统(SOPC)
7.1 概述��
7.2 基于MicroBlaze软核的嵌入式系统
7.2.1 Xilinx的SOPC技术
7.2.2 MicroBlaze处理器结构
7.2.3 MicroBlaze信号接口
7.2.4 MicroBlaze软硬件设计流程
7.3 基于NiosⅡ软核的SOPC
7.3.1 Altera的SOPC技术
7.3.2 NiosⅡ处理器
7.3.3 Avalon总线架构
7.3.4 NiosⅡ软硬件开发流程
7.4 设计实例 ��
7.4.1 设计要求 ��
7.4.2 运行QuartusⅡ并新建设计工程
7.4.3 创建一个新的SOPCBuilder系统
7.4.4 在SOPCBuilder中定义NiosⅡ系统
7.4.5 在SOPCBiulder中生成NiosⅡ系统
7.4.6 将NiosⅡ系统集成到QuartusⅡ工程中 ��
7.4.7 用NiosⅡIDE开发软件
习题7 ��
第8章 上机实验
实验1 逻辑门实现组合电路
一、实验目的 ��
二、实验内容 ��
三、注意事项
实验2 数据选择器或译码器实现组合电路 ��
一、实验目的
二、实验原理 ��
三、实验内容
四、注意事项 ��
实验3 码制变换器 ��
一、实验目的 ��
二、实验内容 ��
三、注意事项 ��
实验4 序列发生器 ��
一、实验目的 ��
二、实验原理 ��
三、实验内容 ��
四、注意事项
实验5 序列检测器
一、实验目的
二、实验原理 ��
三、实验内容
实验6 控制器的设计 ��
一、实验目的
二、实验原理 ��
三、实验内容 ��
实验7 脉冲分配器
一、实验目的 ��
二、实验原理 ��
三、实验内容 ��
实验8 十字路口交通管理器
一、实验目的
二、实验内容 ��
三、实验要求 ��
实验9 UART接口设计
一、实验目的 ��
二、实验内容
实验10 简单处理器VHDL设计的完成 ��
一、实验目的
二、实验内容
三、实验要求
附录A HDPLD典型器件介绍
A.1 器件封装形式说明
A.2 Altera公司典型器件
A.3 Xilinx公司典型器件
A.4 Lattice公司典型器件
A.5 Actel公司典型器件
附录B PLD开发软件QuartusⅡ8.0简介
B.1 概述
B.2 用QuartusⅡ进行设计的一般过程
B.3 设计输入
B.4 编译
B.5 仿真验证 ��
B.6 时序分析 ��
B.7 底层图编辑
B.8 下载
B.9 “Settings”对话框
B.10 QuartusⅡ中的库元件
参考文献
《数字系统设计与PLD应用(第三版)》图书简介 数字逻辑电路是现代电子技术和计算机科学的基石。从最简单的开关控制,到复杂的微处理器和人工智能系统,无不建立在数字逻辑的原理之上。本书旨在为读者提供一个全面而深入的数字系统设计入门,并着重介绍可编程逻辑器件(PLD)在现代数字电路设计中的关键作用。通过循序渐进的讲解和丰富的实例,本书将引导读者掌握数字系统设计的核心概念、方法和工具,为进一步学习和实践打下坚实的基础。 第一部分:数字逻辑基础 本部分将从最基本的数字信号和逻辑门开始,逐步构建读者对数字世界的理解。 数字信号与逻辑电平: 探讨模拟信号和数字信号的区别,介绍二进制、逻辑电平(高电平、低电平)以及它们在电子系统中的表示方式。我们将理解为什么数字系统使用二进制,以及它带来的优势。 基本逻辑门: 深入讲解最基础的逻辑门电路,包括AND、OR、NOT门。我们将学习它们的逻辑功能、真值表、逻辑符号以及如何用它们实现基本的逻辑运算。 通用逻辑门: 基于基本逻辑门,我们将学习更强大的通用逻辑门,如NAND、NOR、XOR和XNOR门。理解它们的逻辑特性,以及如何利用它们构建更复杂的逻辑电路,特别是NAND和NOR门作为万能门的应用。 布尔代数与逻辑简化: 布尔代数是数字逻辑设计的数学语言。我们将学习布尔代数的基本定理和公理,以及如何运用它们来化简复杂的逻辑表达式。掌握逻辑简化技术对于减少硬件资源、提高电路性能至关重要。我们将介绍卡诺图(Karnaugh Map)这一强大的图形化化简工具,并演示如何使用它找到最简逻辑函数。 组合逻辑电路设计: 组合逻辑电路的输出仅取决于当前输入。我们将学习如何根据需求规格设计组合逻辑电路,包括译码器、编码器、多路选择器(MUX)和数据分配器(DEMUX)。我们将分析它们的结构、功能以及在实际系统中的应用,例如显示驱动、数据路由等。 序向逻辑电路基础: 序向逻辑电路的输出不仅取决于当前输入,还与电路的“状态”有关,即与过去的输入信号序列有关。我们将介绍存储单元的概念,包括触发器(Flip-Flop)和锁存器(Latch)。我们将详细讲解SR、D、JK、T触发器的结构、工作原理、时序特性以及它们在构建存储单元中的作用。 时序逻辑电路设计: 基于触发器,我们将设计各类时序逻辑电路,包括计数器(Counter)和移位寄存器(Shift Register)。我们将学习同步计数器和异步计数器的设计方法,理解它们在频率分频、定时等方面的应用。移位寄存器的串行-并行转换、数据存储等功能也将得到深入阐述。 状态机设计: 状态机是描述和设计序向逻辑电路的有力工具。我们将介绍有限状态机(FSM)的概念,包括摩尔(Moore)型和米利(Mealy)型状态机的区别。我们将学习如何从状态转移图和状态表出发,设计出复杂的状态控制逻辑,这在微处理器控制单元、通信协议处理等领域至关重要。 第二部分:可编程逻辑器件(PLD)与硬件描述语言(HDL) 随着集成电路技术的发展,直接用基本门电路搭建大规模数字系统变得不切实际。PLD提供了更加灵活和高效的设计方案。 PLD概述与分类: 介绍PLD的基本概念,理解其“可编程”的特性,即可以通过编程来配置其内部逻辑功能。我们将分类介绍不同类型的PLD,包括ROM(只读存储器)、PROM(可编程只读存储器)、PLA(可编程逻辑阵列)、PAL(可编程阵列逻辑)以及CPLD(复杂可编程逻辑器件)和FPGA(现场可编程门阵列)。我们将重点分析它们的结构特点、优缺点以及适用场景。 FPGA与CPLD深入探讨: 详细介绍FPGA和CPLD作为当前主流PLD器件的内部架构。我们将理解FPGA的查找表(LUT)、触发器、布线资源等基本构建模块,以及CPLD的宏单元(Macrocell)和可编程互连矩阵。掌握这些结构将有助于我们更有效地利用PLD资源。 硬件描述语言(HDL)入门: 硬件描述语言是设计和仿真数字电路的强大工具,它允许我们用文本的方式描述硬件结构和行为。我们将以Verilog HDL为例,介绍HDL的基本语法、数据类型、运算符、行为级建模、数据流建模和结构级建模。我们将学习如何用HDL描述逻辑门、组合逻辑、序向逻辑以及状态机。 HDL在PLD设计中的应用: 重点讲解如何使用HDL进行PLD的设计流程。包括HDL代码编写、功能仿真、综合(Synthesis)、实现(Place & Route)以及时序仿真。我们将演示如何将HDL代码映射到FPGA或CPLD器件上,并验证设计的正确性。 Verilog HDL进阶: 深入讲解Verilog HDL的高级特性,例如任务(Tasks)、函数(Functions)、时序控制、生成语句(Generate Statements)以及参数化设计。我们将学习如何编写更高效、更灵活的HDL代码,以应对复杂的设计需求。 VHDL简介(可选): 虽然本书侧重于Verilog,但为了提供更全面的视角,也会简要介绍VHDL语言,包括其基本语法和结构,并与Verilog进行比较,使读者了解不同的HDL选择。 第三部分:系统设计与实践 本部分将理论与实践相结合,引导读者将所学知识应用于实际的数字系统设计。 常用数字模块设计实例: 通过具体的例子,演示如何设计和实现常见的数字电路模块,例如: 简单的算术逻辑单元(ALU): 设计能够执行加法、减法、逻辑与或等运算的ALU。 存储器接口逻辑: 设计与SRAM、DRAM等存储器接口配合工作的控制逻辑。 定时器与 PWM(脉冲宽度调制)发生器: 设计用于精确计时的电路,以及用于控制电机速度或LED亮度的PWM信号发生器。 串行通信接口(如UART): 设计简单的串行通信控制器,实现数据的发送和接收。 FPGA/CPLD开发板实践: 介绍如何使用常见的FPGA或CPLD开发板进行设计验证。我们将学习开发环境的搭建,包括原理图输入、HDL输入、综合、布局布线、下载配置以及在开发板上进行硬件调试。 数字系统综合与优化: 探讨数字系统综合的过程和影响因素。我们将学习如何通过修改HDL代码或调整综合选项来优化设计的面积、速度和功耗。 时序分析与约束: 深入讲解时序分析的概念,包括时钟周期、建立时间(Setup Time)和保持时间(Hold Time)等。学习如何设置时序约束,以确保设计在目标时钟频率下可靠运行。 工业应用案例分析: 介绍数字系统设计在各个领域的实际应用,例如: 消费电子产品: 智能手机、电视、游戏机等内部的数字处理单元。 通信系统: 基站、路由器、交换机等设备中的逻辑控制和数据处理。 嵌入式系统: 工业自动化、汽车电子、医疗设备等中的控制器和信号处理。 高性能计算: 服务器、高性能计算集群中的专用处理器和加速器。 未来发展趋势: 展望数字系统设计和PLD技术的未来发展方向,如片上系统(SoC)设计、低功耗设计、软硬件协同设计等。 本书的编写力求语言清晰、概念准确、案例丰富。通过理论知识的学习和动手实践的结合,读者将能够逐步成长为一名合格的数字系统设计工程师。无论您是初次接触数字逻辑,还是希望深入了解PLD应用,本书都将是您宝贵的学习伙伴。