1.1 数字系统概述
1.1.1 数字系统的基本概念
究竟什么是数字系统呢?在我们对它进行深入研究之前,有必要建立以下几个基本概念。
1. 数字信号
在自然界中,存在各种不同的物理量。按其变化规律可以分为两种类型:一类是连续量,另一类是离散量。
所谓连续量是指在时间上和数值上均作连续变化的物理量,例如,温度、压力、流量、速度以及声音等。在工程应用中为了处理和传送的方便,通常用某一种连续量去模拟另一种连续量,如用电流的变化模拟温度的变化等。因此,人们习惯将连续量又称为模拟量,将表示模拟量的信号称为模拟信号。例如,图1.1(a)所示为模拟信号正弦波形样例;图1.1(b)所示为模拟信号调幅波形样例。
图1.1 模拟信号波形样例
另一类物理量的变化在时间上和数值上都是不连续的,或者说离散的,其数量大小和增减变化都是某一个最小单位的整数倍,小于最小单位的数值不存在物理意义。例如,钟表上显示的时间、学生成绩记录、工厂产品统计、电路开关的状态等。这类物理量的变化可以用不同的数字反映,所以称为数字量。表示数字量的信号称为数字信号。若数字信号只由0和1两种数值表示,则称为二值数字信号。例如,图1.2(a)所示为数字信号周期性波形样例;图1.2(b)所示为数字信号非周期性波形样例。
图1.2 数字信号波形样例
2. 数字电路
数字电路是一种用来处理数字信号的电子线路。数字电路的基本工作信号是二值数字信号,即电路采用只有0、1两种取值状态的信号。两种数值表现为电路中电压的“高”或“低”、开关的“接通”或“断开”、晶体管的“导通”或“截止”两种稳定的物理状态。
由于数字电路的各种功能是通过逻辑运算来实现的,所以数字电路又称为逻辑电路或者数字逻辑电路。数字电路的发展经历了由电子管、半导体分立元件到集成电路作为基本元器件的过程。由数字电路构成的数字系统具有工作速度快、精度高、功能强、可靠性好等优点,所以其应用十分广泛。
3. 数字系统
什么是数字系统?简单地说,数字系统是一个能对数字信号进行存储、加工和传递的实体,它由实现各种功能的数字电路相互连接构成。例如,数字计算机就是一种典型的数字系统。
自1946年第一台数字计算机问世以来,计算机的发展速度是十分惊人的。通常按照组成计算机的主要电子器件来划分,计算机先后经历了电子管时代、晶体管时代、中小规模集成电路时代以及大规模和超大规模集成电路时代。图1.3给出了各种不同电子器件的样例。
图1.3 电子器件的样例
根据计算机所提供的功能和性能,通常又将计算机划分为巨型计算机、大型计算机、中型计算机和微型计算机等不同类型。不管如何划分,计算机总的发展趋势是功能、速度和可靠性不断提高,生产数量不断增长。此外,计算机迅速发展的另一个方面表现在其应用领域的不断扩展,以及对社会变革和人类进步带来的重要影响。
1.1.2 数字电路的分类
根据一个电路有无记忆功能,可将数字电路分为组合逻辑电路和时序逻辑电路两种类型。
如果一个数字电路在任何时刻的稳定输出仅取决于该时刻的输入,而与电路过去的输入无关,则称为组合逻辑电路(Combinational Logic Circuit)。由于这类电路的输出与过去的输入信号无关,所以不需要有记忆功能。例如,一个“多数表决器”,由于表决的结果仅取决于各个参与表决成员当时的态度是“赞成”还是“反对”,因此,它属于组合逻辑电路。
如果一个数字电路在任何时刻的稳定输出不仅取决于该时刻的输入,而且与过去的输入相关,则称为时序逻辑电路(Sequential Logic Circuit)。由于这类电路的输出与过去的输入相关,所以需要有记忆功能,通常由电路中记忆元件的状态来反映过去的输入信号。例如,一个统计输入脉冲信号个数的计数器,它的输出结果不仅与当时的输入脉冲相关,还与前面收到的脉冲个数相关,因此,计数器是一个时序逻辑电路。时序逻辑电路按照是否有统一的时钟信号进行同步,又可进一步分为同步时序逻辑电路和异步时序逻辑电路。
1.1.3 研究内容与方法
研究数字系统中的各类数字电路有两个主要任务:一是分析,二是设计。对一个给定的数字电路,研究它所实现的逻辑功能和工作性能称为分析;根据客观提出的功能要求,在给定条件下构造出实现预定功能的数字电路称为设计,有时又称为逻辑设计或者逻辑综合。围绕数字电路的分析和设计,研究内容包括基本知识、基本理论、基本器件以及各类电路分析与设计的基本方法。
随着集成电路技术的飞跃发展,数字电路的分析和设计方法在不断发生变化。但不管怎样变化,用逻辑代数作为理论基础对数字电路进行分析和设计的传统方法始终是最经典、最基本的方法。传统方法详细讨论了从问题的逻辑抽象到功能实现的全过程,所涉及的内容可以说是从事数字电路研究必须掌握的最基本的知识、技术和方法。该方法以技术经济指标作为评价一个设计方案优劣的主要性能指标,设计时追求的是如何使一个电路达到最简。因此,在组合逻辑电路设计时,通过逻辑函数化简,尽可能使电路中的逻辑门和连线数目达到最少。而在时序逻辑电路设计时,则通过状态化简和逻辑函数化简,尽可能使电路中的记忆元件、逻辑门和连线数目达到最少。值得指出的是,一个最简的方案并不等于一个最佳的方案,最佳方案应满足全面的性能指标和实际应用中的某些具体要求。所以,在用传统方法求出一个实现预定功能的最简设计方案之后,往往要根据实际情况进行相应调整。
随着中、大规模集成电路的出现和集成电路规模的迅速发展,单个芯片内部容纳的逻辑器件越来越多,因而,实现某种逻辑功能所需要的门和触发器数量已不再成为影响经济指标的突出问题。如何用各种廉价的中、大规模集成组件去构造满足各种功能的、经济合理的电路,这无疑给设计人员提出了新的更高的要求。要适应这种要求就必须充分了解各种器件的逻辑结构和外部特性,做到合理选择器件,充分利用每一个已选器件的功能,用灵活多变的方法完成各类逻辑电路或功能模块的设计。
可编程逻辑器件(Programmable Logic Devices,PLD)的出现,给逻辑设计带来了一种全新的方法。人们不再用常规硬线连接的方法去构造电路,而是借助丰富的计算机软件对器件进行编程来实现各种逻辑功能,这无疑给逻辑设计者带来了极大的方便。此外,面对日益复杂的集成电路芯片设计和数字系统设计,人们不得不越来越多地借助计算机辅助设计(Computer Aided Design,CAD)。目前,已有各种电子设计自动化(Electronic Design Automatic,EDA)软件在市场上出售。计算机辅助逻辑设计方法正在不断推广和应用。不少人认为计算机设计自动化已形成计算机科学中的一个独立的学科。