《数字系统设计基础》由会员分享,可在线阅读,更多相关《数字系统设计基础(10页珍藏版)》请在金锄头文库上搜索。
1、第第 11 章章 数字系统设计基础数字系统设计基础 内容提要内容提要 本系统主要讲述系统设计的基础知识,主要内容包括: (1)数字系统的基本概念。 (2)自上而下的设计方法。 (3)ASM 图与控制器的设计。 (4)用 VHDL 对数字系统设计进行描述。 教学基本要求教学基本要求 要求掌握数字系统的基本概念。 理解数字系统自上而下的设计方法。 理解系统控制器 ASM 图的建立及根据 ASM 图进行硬件和软件的设计方法。 初步掌握 VHDL 对数字系统设计的描述。 重点与难点重点与难点 本章重点:数字系统的基本概念、自上而下的设计方法以及控制器ASM 图的建立。 本章难点: 系统控制器 ASM
2、图的建立及 VHDL 对数字系统设计的描述。 主要教学内容主要教学内容 11.1 数字系统的基本概念 11.2 自上而下的设计方法 111.3 ASM 图及控制器的设计 11.3.1 ASM 图 11.3.2 控制器设计 11.4 用 VHDL 对数字系统设计进行描述 11.1 数字系统的基本概念数字系统的基本概念 数字系统结构框图如图 1111 所示,系统的核心是控制器电路和数字信号处理器电路。 数字信号处理器电路在控制器的控制信号控制下完成各种操作,如计数运算、逻辑运算等。控制器是控制系统内各部分协同工作的电路, 它根据输入信号及数字信号处理器电路反馈的信号,产生对数字信号处理器的控制信号
3、 及系统对外界的输出信号。输入/输出接口主要用于系统和外界交换信息。有些规模较大的数字系统控制还设置了存储器,用来存储数据和各种控制信息,以供控制 器调用。 图 1111 数字系统结构框图 数字系统的规模可大可小,复杂程度也有很大差别,但它们通常都由许多的组合和时序逻辑功能连接而成,整个系统按照一定的要求,实现复杂的逻辑运算。 211.2 自上而下的设计方法自上而下的设计方法 自上而下的设计方法是设计者从整个系统的功能要求出发, 进行最上层的系统设计,而后将全局系统分成若干子系统逐级向下,再将每个子系统分为若干功能模块,模块还可继续向下划分成子模块,直至分成许多最基本的模块实现。 在自上而下的
4、划分过程中, 重要的是将系统或子系统划分成控制电路和若干受控电路(数据处理电路),对于受控电路(数据处理电路)一般都有现成的功能模 块,而系统设计的主要任务是设计控制电路,而控制电路通常相当于时序机,而且控制电路在系统或子系统中只有一个。 所以自上而下的设计方法是把一个系统设计工作量化为一个时序机和一些数据处理基本模块的问题。 自上而下的设计方法并不是一个一次就可以完成的设计过程, 它需要不断地反复改进,反复实践。 11.3 ASM 图及控制器的设计图及控制器的设计 11.3.1 ASM 图图 ASM 图是控制算法状态图, 它表面上与通常的软件流程图十分相似,但 ASM 图有表示事件比较精确的
5、时间间隔序列,而一般软件流程图没有时间概念。 ASM 图由下列符号组成。 1. 状态框 3状态框用一个矩形方框表示,其左上角括号内是该状态名称,其右上角的一组二进制码表示该状态的二进制编码 (若已经编码的话, 则写;若没有进行编码,则可不写),在时钟作用下,ASM图的状态由现状态转换到次状态。状态框内可以定义在该状态时的输出信号和命令。如图 1131 所示ASM图中,状态框为A、B、C,A框内的Z1是指在状态A时,无条件的输出命令Z1。 2. 条件分支框(判决框) 条件分支框是用一个菱形框表示,框内写出状态转移的条件。如图1131 中,菱形框内 X,表示在状态 A 时,如果输入 X = 1,则
6、状态转移到 C ,如果 X = 0,则状态转移到 B。 图 1131 ASM 图示例 条件分支框属于状态框 A,在时钟的作用下,由于输入不同,次态可能是状态 B 或 C,而状态的转换是在状态 A 结束时完成。 3. 条件输出框 在某些状态下,输出命令只有在一定条件下才能输出,为了和状态框内的输出有所区别,用椭圆形框表示条件输出框,如图 1131 中,4状态框A中的输出Z1是无条件输出,而在条件输出框内的Z2是只有在状态A而且输入X = 0 时,才输出Z2。 条件分支框和条件输出框属于状态A。 ASM图中一个状态肯定具有一个状态框,有时还包括一个或多个条件分支框和条件输出框,条件分支框除决定转换
7、的次态外,还决定条件输出。 11.3.2 控制器设计控制器设计 由 ASM 图可以方便的设计控制器。控制器可以用硬件来设计,也可以采用 VHDL 程序来设计, 用 VHDL 程序来设计最终下载到 PLD 芯片上。 1. 控制器硬件设计控制器硬件设计 控制单元的设计本质上就是同步时序电路的设计, 因此同步时序电路的设计方法基本上适用于控制单元的硬件设计,两者差别仅在于,同步时序电路设计依据是状态转换图而控制器设计依据是 ASM 图;同步时序电路设计一般需状态简化, 而 ASM 图一般不再进行状态简化;同步时序电路设计中状态分配原则也适用于控制 器的状态分配。 在图 1131 中,令状态A为Q2Q
8、1 = 00;状态B为Q2Q1 = 10;状态C为Q2Q1 = 01;因此可列出图 1131 状态转移表,如表 1131 所示。 表 1131 图 1131 示例状态转移表 5由表 1131,可以求出状态转移方程为 输出方程为 由此可以画出逻辑图。 2采用 VHDL 的软件设计 由 ASM 图可以方便地用 VHDL 程序进行如下描述: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY cont IS PORT(CP:IN STD_LOGIC; X: IN STD_LOGIC; reset: IN STD_LOGIC; Z2,Z1: OUT ST
9、D_LOGIC); END cont; ARCHITECTURE cont_a OF cont IS TYPE STATE_SPACE IS (A,B,C); SIGNAL state: STATE_SPACE; BEGIN P1:PROCESS(CP,reset) BEGIN 6IF reset = 1 THEN State IF X=1 THEN state state state= A; END CASE; END IF; END PROCESS P1; P2:PROCESS(state) BEGIN IF(state = A) THEN Z1= 1; ELSE 7Z1= 0; END
10、IF; IF(state = A AND X = 0) THEN Z2= 1; ELSE Z2= 0; END IF; END PROCESS P2; END cont_a; 11.4 用用 VHDL 对数字系统设计进行描述对数字系统设计进行描述 自上而下的设计是从系统全局出发,逐次分层次的设计。因此,首先根据系统的设计要求,进行系统顶层方案的设计,也就是确定系统的结构框图,包括系统的输入信号、输出信号,系统划分为几个部分,各个部分由哪些模块组成, 以及根据系统的功能确定各模块之间的关系等。这一步骤需反复推敲。VHDL 描述 包括以下几项。 1. 顶层实体 VHDL 描述 这一步是描述顶层的系
11、统接口,包括输入信号、输出信号以及所需传输的某些信息,例如信号的方向、信号的类型等。 2. 顶层结构体的 VHDL 描述 8顶层结构体和顶层实体一起,是整个设计的行为功能事件。顶层结构体的描述就是根据结构图(或系统的功能)确定数据处理部分由哪些功能模块组成以及这些模块与控制器之间的关系。 3. 控制器的设计与 VHDL 描述 控制器的设计是根据系统的功能要求,建立控制器的 ASM 图。关键在于控制器的状态建立和在各个状态条件下的输入、 输出指令以及各状态之间的关联。如上节所述,有了 ASM 图就可以方便的用 VHDL进行描述。 ASM 图的建立是设计控制器的关键,必须充分分析系统的工作过程和时
12、序关系,这也是系统设计的核心。 4. 数据处理部分的设计与 VHDL 描述 数据处理部分通常由逻辑功能模块组成, 如计数器、 译码器、 全加器、移位寄存器等。这些都是成熟的功能模块,关键在于各功能模块之间的连接以及在控制器作用下如何操作。 自我检测题自我检测题 1. 试设计一个检测 n 位串行输入信号 X 中包括 1 的个数的检测电路,要求画出控制器的 ASM 图(假设 n = 15)。 2. 某控制器的 ASM 图如图 P111 所示, 试用 VHDL 描述 ASM 图规定的控制过程。 9图 P111 某控制器的 ASM 图 思考题思考题 1. 数字系统主要由哪些部分组成? 2. 自上而下的设计方法的基本步骤是什么? 3. ASM 图由哪些符号模块组成?状态框中的输出信号与条件输出框中的输出信号有什么不同? 4. 什么是控制器的硬件设计方法,什么是软件设计方法?试比较这两种设计方法,并进一步理解数字系统硬件设计“软件化”的趋势。 5. 如何理解数字系统设计的核心是控制器的设计? 10