控制器2 刘鹏 liupeng@zju.edu.cn Dept. ISEE Zhejiang University Source: 补充讲义 May 14, 2015 ZDMC – Lec. #17
复习 算法流程图ASM图中采用的符号和规则 ASM图:algorithmic state machine chart 状态框 the state box 数字系统控制序列中的状态用状态框表示,状态框的形状是一个矩形,框内标出在此状态下实现的寄存器传输操作或输出输出,状态的名称置于状态框的左上角,分配给状态的二进制代码置于状态框的右上角. Algorithmic state machines (ASMs) Finite state machine (FSM) Algorithmic state machine (ASM) chart, time relationship The state box, the decision box, and the conditional box Although the operation is written inside the state box, it actually occurs when the machine makes a transition from state to its next state. ZDMC – Lec. #17
ASM chart 判断框 (the decision box) 复习 菱形框内填写条件变量的判断条件,经判断框后状态转移出现两个或多个分支,如图8.6中(a)所示。若条件是真,选定一个分支,若条件是假,选定另一个分支。图8.6 (b)是由两个判断框构成ASM图的实例。 The decision box of an ASM chart describes the effect of an input (i.e., a primary, or external, input or a status, or internal, signal ) on the control subsystem. The box is diamond shaped and has two or more exit paths. ZDMC – Lec. #17
ASM chart conditional box 复习 ASM chart conditional box 条件框(the conditional box)的形状为椭圆形,框内填写数据子系统进行的条件操作,框外填写必需的条件输出,条件框的输入通道必定来自判断框的分支,即条件框的操作或输出必须是在同时满足状态与条件的情况下才进行。 如图8.7 (b)所示。当系统处于状态S1时,如果条件X1=0,那么CLR被清“0”,否则CLR保持不变,同时不论X1为何值,系统的下一状态都是S2。 The input path to the conditional box must come from one of the exit paths of a decision box. The outputs listed inside the conditional box are generated as Mealy-type signals during a given state; the register operation listed in the conditional box are associated with a transition from the state. In general, the Moore-type outputs of the controller are generated unconditionally and are indicated within a state box; the Mealy-type outputs are generated conditionally and are indicated in the conditional boxes connected to the edges that leave a decision box. ZDMC – Lec. #17
ASM图的时间划分 复习 ASM块描述了一个时钟周期内系统的工作情况,它包括数据子系统和控制器两个方面,即在当前状态及条件下,数据子系统所完成的各种操作以及控制器转换的后续状态。 ASM图是按时钟的节拍描述整个数字系统的操作。系统的主时钟不仅作用到数据子系统的寄存器上,而且也作用到控制器的触发器上。 ZDMC – Lec. #17
4位移位寄存器的ASM 复习 图中A是一个四位移位寄存器,同步清零和移位置数,其中A3为A的最高位,RUN为外部输入的异步变量,LODA为移位置数变量,它为条件输出即LODA=S1·A3·RUN。 ZDMC – Lec. #17
复习 4位移位寄存器状态转换表 状态机 现态 条件变量 移位寄存器内容 次态 A3 RUN A0 A1 A2 S0 Ø S1 1 … S2 S1 1 … S2 ZDMC – Lec. #17
控制单元和数据路径的硬件设计 ASM图给出了设计数字系统(控制电路和数据路径)需要的所有信息。控制电路硬件与数据路径的硬件划分。 数据路径包含了与其操作和逻辑所关联的硬件,这些逻辑用于产生提供给控制电路的状态信号。 数据路径的设计要求在ASM图的状态框和条件框中给出,由在数据路径上标注操作来确定。 控制单元包含了所有数据路径中操作控制信号逻辑。 控制逻辑有判决框和所需状态转移决定。 ZDMC – Lec. #17
控制逻辑 数字系统的设计过程可分成两个部分: 数据路径中的寄存器传输设计和控制单元中的控制逻辑设计。控制逻辑是一个有限状态机,其米里型和摩尔型输出控制着数据路径中的操作。 控制单元的输入是外部输入,内部状态信号从数据路径反馈到控制电路。 控制电路是时序电路,可以采用时序逻辑设计步骤进行设计。我们本章的方法是对时序电路设计方法的补充。 设计方法 采用序列寄存器-计数器和译码器 采用数据选择器来设计 采用一位热位设计(每个状态一个触发器) ZDMC – Lec. #17
计数器型控制器 将所要求的控制状态按一定原则进行编码分配,就可设计出一种状态计数器型控制器。 图中计数器含有n个触发器,触发器的状态作为状态变量以二进制编码的形式赋于ASM流图中的每一个状态框,而条件输出框不予赋值。 使用寄存器产生控制状态,使用译码器产生与每个状态对应的输出信号。若使用一位热位编码,就不需要使用译码器。 ZDMC – Lec. #17
计数型控制器 现态 次态 条件输出 Q2 Q1 X Q2n+1 Q1n+1 Z2 Z1 1 Ø 1 Ø 该表为简化状态转换表,因为10和11状态与输入X无关,所以对应于该两行输入值可作为任意项Ø处理。 设0l的次态为00,以保证一旦出现0l状态后(电路自启动),经过一个时钟周期可以自动回到有用状态循环。 触发器的驱动方程: 输出方程: ZDMC – Lec. #17
采用数据选择器来设计控制器 三级电路结构: 设计一个多路选择器型控制器 ,完成左图的控制算法。 根据算法流程图,得到状态转移表 数字系统设计I 采用数据选择器来设计控制器 三级电路结构: 决定寄存器次态的数据选择器组成 保存现态的寄存器 译码器,产生每个控制状态对应的输出 设计一个多路选择器型控制器 ,完成左图的控制算法。 根据算法流程图,得到状态转移表 PS(现态) NS(次态) 转换条件 编码 状态名 B A 0 (00) P R 1 Q X 2 (10) 3 (11) 1 (01) - 组合电路可以采用数据选择器实现。 序列寄存器-译码器方案:保持二进制状态的触发器、产生控制输出的译码器,以及决定次态和输出信号的门。 ZDMC – Lec. #17
采用数据选择器来设计控制器 1)设电路选用两个D型触发器FA和FB,相应地需要两个4位数据选择器。 PS(现态) NS(次态) 转换条件 编码 状态名 B A 0 (00) P R 1 Q X 2 (10) 3 (11) 1 (01) - 1)设电路选用两个D型触发器FA和FB,相应地需要两个4位数据选择器。 2)多路选择器的输出就是触发器的输入,也就是触发器的次态激励函数。 3)多路选择器的控制端分别与触发器的Q输出端相连。 4)根据状态转移表,将次态变量中真值为1的各项按转换条件写出。 ZDMC – Lec. #17
采用数据选择器来设计控制器 电路图 Z1 Z2 ASM图 ZDMC – Lec. #17
定序型控制器 一位热位(One-hot)设计,产生的电路每一个状态需要一个触发器。每次只有一个触发器为1,其余触发器都为0。 触发器的数目代表了状态数,并依赖一组最新的代码实现状态转换。 使用一位热位的方法会在时序电路中增加很多触发器。但是一位热位设计方法的优点是设计简单, 不需要译码器。 ZDMC – Lec. #17
定序型控制器例子 有一个数字比较系统,它能连续对两个二进制数据进行比较,操作过程如下:先将两个数存入寄存器RA和RB,然后进行比较,最后将大数移入寄存器RA中。其方框图和ASM流程图见图8.26所示。其中X为输入信号,LDRA,LDRB为打入控制信号,CAP是三态门使能控制信号,A>B是比较器输出信号。请设计定序型控制器。假设状态变化发生在时序T1,打入寄存器操作发生在时序T2,状态周期T=T1+T2。 ZDMC – Lec. #17
定序型控制器例子 定序型控制器采用“one-hot法”进行设计,即一个状态使用一个D触发器。对ASM流程图进行编码(写于右上角)。 状态转移表 ZDMC – Lec. #17
定序型控制器例子 ZDMC – Lec. #17
定序型控制器例子 ZDMC – Lec. #17
Homework 补充讲义 3,4 8,9,10 参考文献: 阅读讲义1-27 预习微码控制器 ZDMC – Lec. #17