- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组合逻辑控制单元设计
一、实验课题
实验要求:
按照题目要求用硬布线(组合逻辑)控制法设计一个简单模型机的控制单元CU(微操作信号产生电路),决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。
主要元件设计:
1.指令译码器
功能要求:3-8译码器。
2.控制单元
功能要求:假设该模型机有8条不同类型的指令。包括:算术运算、逻辑运算、移位、数据传送、访存操作、转移等。根据每条指令的功能和时序,分析其执行过程中需要在各个阶段产生的全部微操作,导出产生这些微操作控制信号的逻辑。
3.用层次结构设计的方法设计一个控制单元CU(微操作控制信号产生电路)。包括指令译码器和控制单元。
功能要求:能够正确产生8条不同指令在执行过程中(每个机器周期、每拍)发出的全部微操作。
二、逻辑设计
写该实验的逻辑设计,包括:顶层系统框图,下层各主要元件的系统框图。顶层和下层各主要元件的端口(引脚)描述:端口名称、功能、有效电平、位数等。逻辑图,必须在图中清楚地标出每个内部连接线的Signal(与VHDL程序中的Signal一致)。根据所用的描述方式,可能还需要有:真值表/功能表/逻辑函数等。
1、3-8译码器:
系统框图:
S是工作信号,当S=1时,3-8译码器工作;当S=0时,3-8译码器不工作。A是输入信号,Y是输出信号
S A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
1 0 0 0 0 0 0 0 0 0 0 1 加法
1 0 0 1 0 0 0 0 0 0 1 0 与
1 0 1 0 0 0 0 0 0 1 0 0 或
1 0 1 1 0 0 0 0 1 0 0 0 左移
1 1 0 0 0 0 0 1 0 0 0 0 右移
1 1 0 1 0 0 1 0 0 0 0 0 数据传送
1 1 1 0 0 1 0 0 0 0 0 0 取数
1 1 1 1 1 0 0 0 0 0 0 0 无条件转移
0 × × × 0 0 0 0 0 0 0 0
Y(0)=S and (not A(2)) and (not A(1)) and (not A(0));
Y(1)=S and (not A(2)) and (not A(1)) and A(0);
Y(2)=S and (not A(2)) and A(1) and (not A(0));
Y(3)=S and (not A(2)) and A(1) and A(0);
Y(4)=S and A(2) and (not A(1)) and (not A(0));
Y(5)=S and A(2) and (not A(1)) and A(0);
Y(6)=S and A(2) and A(1) and (not A(0));
Y(7)=S and A(2) and A(1) and A(0);
2、控制单元:
设计过程:把每条指令的实现分成取指令、分析指令、执行指令三个步骤,每一步由一个机器周期实现,一条指令的实现需要三个机器周期,即M1(取指周期)、M2(分析周期)、M3(执行周期);每个机器周期由三个节拍组成,即T0、T1、T2。如下图所示:
1、加法指令:寄存器R1中的一个数与寄存器R0中的一个数相加,结果放在R1中。
即实现(R0)+(R1)→R1
2、与指令:寄存器R1中的一个数与寄存器R0中的一个数,结果放在R1中。
即实现(R1)and (R0) → R1
3、或指令:寄存器R1中的一个数或寄存器R0中的一个数,结果放在R1中。
即实现(R1)or (R0) → R1
4、逻辑左移指令:寄存器R1中的数左移,移动位数存放在寄存器R0中,结果放在R1中。
即实现(R1)R1
5、逻辑右移指令:寄存器R1中的数左移,移动位数存放在寄存器R0中,结果放在R1中。
即实现(R1)R1
6、数据传送指令:寄存器R0
文档评论(0)