微操作和寄存器传送语言课件

上传人:我*** 文档编号:141685849 上传时间:2020-08-11 格式:PPT 页数:53 大小:642KB
返回 下载 相关 举报
微操作和寄存器传送语言课件_第1页
第1页 / 共53页
微操作和寄存器传送语言课件_第2页
第2页 / 共53页
微操作和寄存器传送语言课件_第3页
第3页 / 共53页
微操作和寄存器传送语言课件_第4页
第4页 / 共53页
微操作和寄存器传送语言课件_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《微操作和寄存器传送语言课件》由会员分享,可在线阅读,更多相关《微操作和寄存器传送语言课件(53页珍藏版)》请在金锄头文库上搜索。

1、5.1 微操作和寄存器传送语言 5.2 用RTL表示数字系统 5.3 复杂数字系统和RTL 5.4 实例:VHDLVHSIC硬件描述语言,第五章 寄存器传送语言,同济大学 软件学院,微操作:大部分时序数字系统的基础。 是更简单的行为。 数据从一个寄存器、存储器单元或者I/O设 备到另一个的传送 修改存储的值 执行算术或逻辑功能 修改已存储的值,确定时序数字系统:确定正确的微操作传送及其条件。 (这些条件保证微操作按正确的顺序执行) 设计时序数字系统: 首先用微操作表述系统的行为 设计硬件来匹配这些表述,5.1 微操作和寄存器传送语言,一、微操作的格式 考虑有两个1位寄存器X和Y的一个数字系统。

2、 1.拷贝寄存器Y的内容到寄存器X中的微操作 XY (有时也可以表示为YX) 2.两种实现 由直接连接实现 通过总线连接实现,X,二、传送发生的条件 1. 假定传送应发生在输入控制为高时, 则传送过程可以写为 IF THEN XY 2. 表示微操作和它们发生的条件: 条件:微操作 当所有冒号左边的条件满足时,执行微操作 (可以是多个)规定的数据传送。 3. 上面的传送可以写为 :XY,4.具有控制信号的数据传送:XY的实现 (a) 用直接通路 (b) 用总线,三、提高系统性能的一种方法 同时执行两个或多个微操作。 1. 如果某系统在= 1时执行XY和YZ的传 送,则这种情况可以表示成 : XY

3、,YZ (: YZ,XY),2同时拷贝相同的数据到多个目的地。 考虑 : XY,ZY,3数字系统不能同时往同一寄存器中写入两个不同的值。 例如: 表示 : XY,XZ 无效 四、传送常量的有效条件和微操作 : X0 : X1 实现这两个传送的三种不同方法: 通过两个传送通路装载数据来设置X的值 (用一个多路选择器来选择输入的数据), 装载数据与第一个完全相同,但它的数据直接由 信号产生。(用作为数据输入) 为简化硬件可使用寄存器的清除输入功能 (用CLR信号),问题:当和同时为1时,怎么办? 两种解决方法: 产生和的硬件能保证它们决不会被同时置为1 修改条件使它们互斥 : X0 : X0 :

4、X0 : X1 : X1 : X1,五.寄存器之间的多位数据传送 1. 同样大小寄存器对应位之间传送数据 例如: 当1时,从4位寄存器Y传送数据到4 位寄存器X。 用符号表示: : XY (a) 用直接连接 (b) 用总线,2. 访问一个寄存器的某一位或位组。 表示每一位:如X3或Y2。 3. 表示位组(用一个域表示) 如:X3、X2和X1可以写成:X(3-1)或X(3:1) : X(3-1)Y(2-0) : X3X2 : X(3-0)X(2-0),X3 (X(2-0,3)或X3X2,X2X1,X1X0,X0X3),六、执行算术运算、逻辑运算和移位运算的微操作 1一些常用的算术运算和逻辑运算的

5、微操作,2移位微操作 线性移位:每一位的值依次向左(或右)移位。 最后1位被丢弃,空位补入0值。 例如: X1011 左移一位:0110 右移一位:0101 循环移位:将在线性移位中被丢弃的位循环回来 替代补入的0值。,例如: X1011 循环左移:0111 循环右移:1101, 算术移位:用于带符号数的移位。 算术左移:各位按位左移,最高位向左移出,最低位 产生的空位填“0”。 算术右移:连同符号位一起向右移一位,符号位保持不变。 例如: X1011 算术左移:0110 算术右移:1101, 十进制移位:专门用于BCD表示。十进制移位与线性 移位很相似,但它移动1个数字或4位, 而不是移动1

6、位。 例如:X1001 0111 十进制左移:0111 0000 十进制右移:0000 1001, 移位操作和它们的表示法,例如:Xshl(X)和shl(X)是等价的。 Yshl(X) 两个寄存器均需指定 七、寄存器与存储器之间的数据传送 例如: M55AC和ACM55 寄存器AC与存储器中55号单元之间的数据传送 更好的方法:把地址存入寄存器中,然后由寄存器提供 存储器的访问地址。 (地址寄存器,标示为AR) AR55 MARAC或者ACMAR( MAC和ACM),5.2.1 数字元件表示 一、第一个例子( D触发器) 1. 用RTL描述 LD:QD,D触发器:(a)无清0输入端 (b)有清

7、0输入端,52 用RTL表示数字系统,2. 有一同步清0输入端的D触发器 LD: QD CLR: Q0 当D、LD和CLR都等于1时,系统会失败。 解决方法:改变条件使得两者互斥。 CLRLD: QD LD: QD CLR: Q0 LDCLR: Q0,二、第二个例子(一个没有CLR输入端的JK触发器) 用RTL描述: JK: Q0 JK: Q1 JK : QQ 三、最后一个例子(一个n位的移位寄存器) Qn-1是最高位,Q0是最低位; 当SHL信号为高时,它将其中的数据左移一位; 输入Sin移进最低位。 移位寄存器: SHL: QQ(n-2:0),Sin,5.2.2 简单系统的表示与实现 例如

8、: 一个有4个1位触发器的系统 用RTL代码表示传送 (假设条件j,o,h和n是互斥的) j: MA o: AY h: RM n: YR , MR 几种不同的方法实现,1用直接连接实现系统的数据通路 (1) 用直接连接实现的该RTL代码的系统的数据通路,(2) 用直接连接实现该RTL代码的系统的完整设计 在合适的时间激励触发器的LD信号来装载数 据,从而完成传送。 当j=1(MA)或n=1(MR) 时,触发器M 装载数据。 在满足单个条件o、h和n时,触发器A、R和Y 装载数据。,j: MA o: AY h: RM n: YR ,MR,2用总线和三态门实现,j: MA o: AY h: RM

9、n: YR ,MR,3. 用总线和多路选择器 实现,j: MA o: AY h: RM n: YR ,MR,5.3.1 模6计数器 目的: 设计一个模6计数器 步骤: 用RTL表示计数器的功能 用数字逻辑实现RTL的代码 模6计数器: 000001010011100101000 (0123450),53 更复杂数字系统和RTL,假设: 输入端U:控制计数 当U1时,计数器在时钟的上升沿增加它的值。 当U0时,不管时钟的值如何,它都保持当前 值不变。 输出V2V1V0:计数器的值 进位输出:C 状态:S0S1S2S3S4S5S0 (两个另外状态S6和S7),模6计数器的状态表和状态图,110,一

10、、用RTL表示系统 (S0+S1+S2+S3+S4)U: VV+1 , C0 S5U : V0 ,C1 S6 + S7 : V0 , C1 在条件(S0+S1+S2+S3+S4+S5)U 下,计数器保持当 前值与C值不变。 可以用两条RTL语句表示: (S5U和S6 + S7触发相同的微操作) (S0+S1+S2+S3+S4)U: VV+1,C0 S5US6S7: V0,C1,二、模6计数器RTL代码的两种实现 用一个寄存器,(S0+S1+S2+S3+S4)U,S5US6S7, 用一个计数器(简单),U(V 2 + V1 V0 ),V 2 V1 + V 2 V0 U,5.3.2 收费站控制器

11、1. 两个外部传感器 C显示车辆是否在收费站中 当车在时,C1,否则C0。 显示硬币是否已经投到收费站的收集篮中以及 硬币的面值。,没有硬币投入 I1I000 投入五分硬币 I1I001 投入一角硬币 I1I010 投入25分硬币 I1I011,2. 两个输出指示灯和一个警报灯 当一辆汽车驶入收费站时,红灯(R)亮, 直到司机投入35分硬币,此时红灯熄灭,绿灯 (G)亮,绿灯保持亮着直到汽车离开收费站; 当绿灯灭时,红灯又亮了。 如果没有付足够的通行费,汽车离开,红灯一直 保持亮着且警报(A)响。 警报维持到另一辆汽车驶入收费站;然后停止。 一、控制器的状态表和状态图,收费站控制器状态赋值,二

12、、将状态表转换成RTL语句 1. 当控制器状态为SNOCAR且C1,它转换到状态S0, 此状态值为0001。 (假设状态值存于4位寄存器T中) SNOCAR C: T0001 如果我们想在每次传送后设置输出值,此状 态不得不包含微操作R1,G0和A0。 2. 状态SPAID和SCHEAT各仅有一个转移情况。 SPAIDC: T0000 SCHEATC : T0001,3. 状态S0在状态表中有四种可能的转移情况。 S0C : T1001 S0CI1I0 : T0010 S0CI1I0 : T0011 S0CI1I0 : T0110 4. 对于其他状态,可以用同样的方法得到其RTL代码。 5.

13、最终的入口是所有的无用状态均无条件转移到状态 0000。 6. 整个控制器除输出之外的代码,SNOCARC:T0001 S15CI1I0:T0101 SPAIDC:T0000 S15CI1I0:T0110 SCHEATC:T0001 S15CI1I0:T1000 S0C:T1001 S20C:T1001 S0CI1I0:T0010 S20CI1I0:T0110 S0CI1I0:T0011 S20CI1I0:T0111 S10CI1I0:T1000 S30CI1I0:T1000 S15C:T1001 T3(T2+T1):0000,S0CI1I0:T0110S20CI1I0:T1000 S5C:T

14、1001 S25C:T1001 S5CI1I0:T0011 S25CI1I0:T0111 S5CI1I0:T0100 S25CI1I0:T1000 S5CI1I0:0111S25CI1I0:T1000 S10C:T1001 S30C:T1001 S10CI1I0:T0100S30CI1I0:T1000 S10CI1I0:T0101S30CI1I0:T1000,三、扩展RTL代码产生输出 SPAIDC:R1,G0 SCHEATC:R1,G0,A0 SNOCARC:R1,G0,A0 S0C:A1 S5C:A1 S10C:A1 S10CI1I0:R0,G1 S15C:A1 S15CI1I0:R0,G

15、1,S20C:A1 S20CI1I0:R0,G1 S25C:A1 S25CI1I0:R0,G1 S25CI1I0:R0,G1 S30C:A1 S30CI1I0:R0,G1 S30CI1I0:R0,G1 S30CI1I0:R0,G1 T3(T2+T1):R1,G0,A0,四、收费站控制器的完整RTL代码 (S0+S5+S10+S15+S20+S25+S30)C:T1001 SPAIDC:T0000 (SNOCAR+SCHEAT)C:T0001 S0CI1I0:T0010 S0CI1IO:T0011 S0CI1I0:T0110 S5CI1I0:T0011 S5CI1IO:T0100 S5CI1I0:T0111,S10CI1I0:T0100 S10CI1IO:T0101 S10CI1I0:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号