内容简介
本书介绍了基于有限状态机(FSM)的数字电路硬件设计,通过结合工程案例来展示FSM是如何融入其中的。同时,本书还运用硬件描述语言VerilogHDL,通过编写可执行和仿真的代码,让读者从实际应用的角度获得一个完整的数字电路的设计思路。本书从设计方法,到编程语言,比较系统地介绍了数字电路的硬件设计,并结合实际案例进行详细的剖析。读者能够从本书中学到完整的设计思路,并可以借鉴或整合到自己的方案中,极大地方便了相关高校学生与专业人士的学习和运用。
目录
译者序
原书前言
第1章有限状态机和状态图以及数字电路和系统设计的基本概念
1.1概述
1.2学习资料
1.3小结
第2章使用状态图控制外部硬件分系统20
2.1概述
2.2学习资料
2.3小结
第3章根据状态图综合硬件电路
3.1关于FSM的综合
3.2学习资料
3.3小结
第4章同步FSM设计
4.1传统状态图的综合方法
4.2处理未使用的状态
4.3信号高/低位指示系统
4.3.1使用测试平台测试FSM
4.4简易波形发生器
4.4.1采样频率和每种波形的采样个数
4.5骰子游戏
4.5.1骰子游戏系统公式
4.6二进制数据串行发送系统
4.6.1图4.15移位寄存器里的RE计数单元
4.7串行异步接收系统
4.7.1FSM公式
4.8加入奇偶校验的串行接收系统
4.8.1整合奇偶校验83
4.8.2图4.26对应的D触发器公式
4.9异步串行发送系统
4.9.1异步串行发送系统公式
4.10看门狗电路
4.10.1D触发器公式
4.10.2输出公式
4.11小结
第5章运用独热编码技术设计FSM
5.1独热编码简介
5.2数据采集系统
5.3内存共享系统
5.4简易波形发生器
5.4.1工作原理
5.4.2解决方案
5.4.3 D触发器输入端d对应的方程
5.4.4输出公式
5.5运用微处理器(微控制器)控制FSM
5.6存储芯片测试系统
5.7独热编码和第4章常规设计方法的对比
5.8动态存储空间访问控制系统
5.8.1触发器公式
5.8.2输出公式
5.9如何运用微处理器来控制DMA系统
5.10使用FSM检测连续的二进制序列
5.11小结
第6章Verilog HDL
6.1硬件描述语言背景介绍
6.2用Verilog HDL进行硬件建模:模块
6.3模块的嵌套:建立构架
6.4Verilog HDL仿真:一个完整的设计过程
参考文献
第7章Verilog HDL体系
7.1内置基本单元和类
7.1.1Verilog的类
7.1.2Verilog逻辑值和数字值
7.1.3如何赋值
7.1.4Verilog HDL基本门电路
7.2操作符和描述语句
7.3Verilog HDL操作符运用案例:汉明码编码器
7.3.1汉明码编码器的仿真
参考文献
第8章运用Verilog HDL描述组合逻辑和时序逻辑
8.1描述数据流模式:回顾连续赋值语句
8.2描述行为模式:时序模块
8.3时序语句模块:阻塞和非阻塞
8.3.1时序语句
8.4用时序模块描述组合逻辑
8.5用时序模块描述时序逻辑
8.6描述存储芯片
8.7描述FSM
8.7.1实例1:国际象棋比赛计时器
8.7.2实例2:带有自动落锁功能的密码锁FSM
参考文献
第9章异步FSM
9.1概述
9.2事件触发逻辑的设计
9.3使用时序公式综合事件FSM
9.3.1捷径法则
9.4在可编程逻辑器件里运用乘积求和公式的设计方法
9.4.1去掉当前状态和下一个状态的标记:n和n+1
9.5运用事件触发的方法设计带有指示功能的单脉冲发生器FSM
9.6另一个事件触发FSM的完整案例
9.6.1重要说明
9.6.2带有电流监视器的电机控制系统
9.7用FSM控制悬停式割草机
9.7.1系统描述和解决方案
9.8没有输入条件的状态切换
9.9特例:微处理器地址空间响应
9.10运用米利(Mealy)型输出
9.10.1水箱水位控制系统的解决方案
9.11使用继电器的电路
9.12事件触发FSM里竞争冒险的条件
9.12.1输入信号之间的竞争
9.12.2二次状态变量之间的竞争
9.12.3主要变量和二次变量之间的竞争
9.13用微处理器系统产生等待周期
9.14用异步FSM设计甩干系统
9.15使用两路分支要注意的问题
9.16小结
参考文献
第10章佩特里(Petri)网络
10.1简易佩特里网络概述
10.2使用佩特里网络设计简单时序逻辑
10.3并行佩特里网络
10.3.1另一个并行佩特里网络案例
10.4并行佩特里网络里的同步传输
10.4.1弧线的有效和失效
10.5用有效弧线和失效弧线同步两个佩特里网络
10.6共享资源的控制
10.7二进制数据的串行接收器
10.7.1第一个佩特里网络的公式
10.7.2第一个佩特里网络输出公式
10.7.3主佩特里网络公式
10.7.4主网络输出公式
10.7.5移位寄存器
10.7.6移位寄存器的公式
10.7.7 4位计数器
10.7.8数据锁存器
10.8小结
参考文献
附录
附录A本书所使用的逻辑门和布尔代数
A.1本书涉及的基本逻辑门符号和布尔代数表达式
A.2异或门和同或门
A.3布尔代数法则
A.3.1基本或法则
A.3.2基本与法则
A.3.3结合律和交换律
A.3.4分配律
A.3.5针对静态逻辑1竞争冒险的辅助法则
A.3.6统一法则
A.3.7逻辑门里信号的延迟效应
A.3.8De Morgan法则
A.4运用布尔代数的一些例子
A.4.1将与门和或门转换成与非门
A.4.2将与门和或门转换成或非门
A.4.3逻辑相邻定律
A.5小结
附录B计数器和移位寄存器电路设计方法
B.1同步二进制递增或递减计数器
B.2用T触发器构建4位同步递增计数器
B.3并行加载计数器:运用T触发器
B.4在低成本PLD器件平台上用D触发器来构建并行加载计数器
B.5二进制递增计数器:带有并行输入
B.6驱动计数器(包括FSM)的时钟电路
B.7使用自由状态设计计数器
B.8移位寄存器
B.9第4章里的异步接收器
B.9.1异步接收器中用到的11位移位寄存器
B.9.2 4位计数器338
B.9.3第4章异步接收模块的系统仿真
B.10小结
附录C使用Verilog HDL仿真FSM
C.1概述
C.2单脉冲同步FSM设计:使用VerilogHDL仿真
C.2.1系统概述
C.2.2模块框图
C.2.3状态图
C.2.4状态图对应的公式
C.2.5Verilog描述代码
C.3测试平台和其存在的目的
C.4使用SynaptiCAD公司的VeriLoggerExtreme仿真器
C.5小结
附录D运用Verilog行为模式构建FSM
D.1概述
D.2回顾带有指示功能的单脉冲/多脉冲发生器FSM
D.35.6节中存储芯片测试系统
D.4小结
前言/序言
原 书 前 言
本书主要介绍的是在数字系统中如何设计并运用有限状态机(Finite State Macine, FSM),其中包括利用微处理器、微控制器,以及FSM直接控制的存储单元等不同方法进行设计的案例和系统,同时也包含了一些在数字系统设计中经常遇到的情况。因此这里的重点是让读者对有限状态机有一个全面的认识,并掌握在什么情况下使用它以及如何使用它。
Verilog HDL近年来得到了广泛的运用,本书也对其进行了详细的介绍,许多设计案例都是运用它来描述和验证的。除了用Verilog描述逻辑门和布尔代数方程以外,本书专门用一章的篇幅介绍了硬件描述语言在所谓行为级的应用,它指的是通过使用Verilog语言的一些高级功能进行系统设计。
此外,本书中有一个章节介绍了独热编码技术,运用这种技术设计的FSM,更多地出现在现场可编程门阵列(Fidd Programmable Gate Array,FPGA)芯片中,例如动态存储访问(Dynamic Memory Access,DMA)控制器和数据检测系统等。本书还用一章介绍了异步(事件触发)FSM,它不需要时钟驱动,对可靠性要求较高的系统比较适用。关于佩特里(Petri)网络,即并行数字FSM技术,也专门用一章来进行讲述。
在数字系统发展的过程中,微控制器一直被用来控制系统的输入和输出,同时还被用来处理模拟信号。现在,使用本书介绍的技巧和方法作为一种设计辅助,基于状态机的方案可以通过比较固定的模式来实现,即状态图。一旦设计出状态图,工程师便可以直接使用它推导系统的布尔代数方程,也可以根据其流程直接编写Verilog硬件描述语言代码。一些外围设备,例如存储单元、地址计数器或者比较器等,也可以通过布尔代数方程来定义它们的操作,或者使用Verilog语言去描述它们的行为。
本书主要适用于电子和通信工程专业大学本科最后一年的学生,也可用于那些想快速掌握如何使用状态机来设计系统的研究生和工程师们。本书的读者应掌握数字电路基础知识,例如逻辑门电路、布尔代数等。具体章节规划如下:
前3章是帮助读者学习并掌握同步状态机的一些重要的基本概念。排版方式和课堂笔记比较类似,已经作为诺森比亚大学本科最后一年的课件使用了很多年,并取得了良好的反馈。其内容涵盖了状态机设计和综合的基本要素。从第4章开始,书面排版将和一般书籍一样,不过这并不影响其连贯性,读者仍然可以像阅读普通书籍一样来学习前3章的内容。
下面将详细地阐述各个章节所涵盖的内容。
第1章介绍了状态机的基本概念,其中包含米利(Mealy)状态机和摩尔(Moore)状态机这两个主要形态的区别,同步状态机(时钟驱动)和异步状态机(事件驱动)的概念,状态图以及如何使用状态图来表示系统的时序行为及输入和输出的状态等。随后介绍了几个代表性的例子,来帮助读者更好地理解如何使用状态机以达到某个具体的设计目的。
第2章主要对外接的硬件设备的应用进行了阐述,着重介绍了如何用状态机来控制它们。其中包括如何通过使用外接计时器产生等待状态,如何控制模-数转换器(ADC)、存储器件等。这些基于状态机的系统级设计理念,可能在其他类似的书中是不多见的。
第3章是课件部分的延续,排版和前两章类似。主要介绍了如何使用T触发器和D触发器来进行状态表的综合,以及系统初始化的方法。
第4章介绍同步(时钟驱动)状态机,并带有仿真结果。这一章主要是向读者展现一些常见的实用案例,例如数字波形发生器和串行异步收发模块等。
第5章介绍了基于“独热编码”技术的同步状态机,其中包括动态存储访问(DMA)控制器和串行数据检测系统等。
第6章介绍了Verilog HDL的基本概念,包括如何用其描述逻辑门和布尔代数方程,如何将不同功能的模块组成一个完整系统等。
第7章介绍了Verilog HDL的基本语法,重点阐述了组合逻辑和时序逻辑的描述方法。
第8章继续深入介绍了Verilog HDL,重点放在状态机的行为建模方面。通过几个实例阐述了使用硬件描述语言在行为模式下描述同步状态机的方法。
第9章专门介绍了异步(事件触发)状态机,从基本概念到设计应用都有详细的阐述。对于异步系统涉及的竞争冒险问题,也做了简要的讨论,并给出了解决方案。
第10章介绍了佩特里网络,以及如何用它实现时序和并行状态机。佩特里网络还可以用来控制同步信号引导多个并行状态机的操作。此外还介绍了如何使用D触发器来设计和综合佩特里网络。
每章都含有许多实例和解决方案,其中很多都被作者整合到实际运用的系统中。
Peter Minns BSc(H) PhD CEng MIETIan Elliott BSc(H) MPhil CEng MIET
基于FSM和Verilog HDL的数字电路设计 下载 mobi epub pdf txt 电子书 格式