ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:654.70KB ,
资源ID:717225      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/717225.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简单CPU系统设计与实现.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简单CPU系统设计与实现.docx

1、简单CPU系统设计与实现数字电路综合实验报告简单CPU系统设计与实现 1设计课题的任务要求设计一个简单的CPU及其外部模块,能够完成机器代码的输入、存储、执行和结果显示。基本要求:指令要求至少有空指令,跳转指令,加法指令,存取数据指令。 利用自己设计的指令系统编写一段机器语言,可以完成求两个小于256的数的最大公约数。机器语言通过拨码开关和按键逐条输入,通过程序执行开关控制程序执行,最后在数码管或LED灯上显示结果。提高要求:设计并实现其它指令。 2系统设计2.1 设计思路设计的简易CPU系统主要由指令存储器(可以通过拨码和按键读入指令)、控制器、内部寄存器、内存以及ALU构成。设计过程重点考

2、虑如下事项:读/写寄存器,读/写存储器以及执行指令。通过执行读入的指令以及编写好的求两个数的最大公约数的程序来测试该系统的功能。2.2 总体框图2.2.1 系统总体框图由设计思路,可绘制如下的简单CPU系统总体框图:最终在quartusII中连接好的CPU系统图如下所示(其中的ACC属于ALU部件):2.2.2 系统状态转移图如上图,系统共有3个状态:S0、S1、S2。分别为S0:在这一状态,通过拨码和按键录入要执行的指令。S1:在这一状态,CPU执行程序,即S0录入的指令。S2:在这一状态,CPU执行完全部程序,等待再次执行或等待录入指令。2.2.3 求解最大公约数的程序框图设a,b为给定的

3、两个整数,用辗转相减法求解他们的最大公约数: 2.3 分块设计2.3.1 DIV(分频器) DIV将电路板所提供的时钟分频,产生CPU工作所需要的时钟以及数码管扫描所需要的时钟。 2.3.2 MCU (控制器) MCU 用来产生系统内部所有寄存器、运算单元所需的控制信号,以及执行各条指令所需要的微操作。它是整个系统设计的核心所在。 2.3.3 ALU(算术逻辑运算单元)ALU完成数据的算术和逻辑运算。ALU有5个输入端和2个输出端,其中一个操作数固定来自累加器acc(具体编程时可用变量或信号表示),另一个操作数来自端口mbr_in(通过数据总线接到寄存器MBR)。参加运算的操作数在ALU中进行

4、规定的操作运算,运算结束后,一方面将结果送至累加器,同时将操作结果的特征状态送标志寄存器。2.3.4 MAR (地址寄存器) MAR 存放着要被读取或写入的内存单元地址。其中,读操作时,CPU从内存读。而写操作时,CPU把数据写入内存。2.3.5 MBR (缓冲寄存器) MBR存放了将要存储到内存的数据或者从内存中读取的最新数据。MBR连接到系统总线中的地址总线。2.3.6 RAM(随机存取存储器) RAM 有着相对独立的输入输出管脚,在本系统设计中它作为内存使用。它不是CPU内部的寄存器,不属于CPU的一部分。但要测试所设计的CPU的性能,需要把RAM加进系统设计中。 2.3.7 SMG (

5、数码管显示 )SMG负责将运算结果转化为BCD码形式,然后用数码馆显示。 3 仿真波形及波形分析根据波形图可以看出状态机的运行,其中一个状态占两个时钟周期。该仿真相当于CPU执行指令的时序图,反映了程序运行情况。还包括了辗转相减法的仿真,和rst的清零仿真。可以看出该CPU系统的仿真结果正确,达到下载的要求。4 源程序(含注释)各个部件对应的源程序如下(最后的连接是用图形连接完成的):4.1 DIV(分频器) library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity DIV isport( c

6、lk_in:in std_logic; clk_out1:out std_logic; clk_out2:out std_logic);end DIV;architecture behave of DIV issignal tmp:std_logic_vector(15 downto 0);beginprocess(clk_in,tmp)begin if(clk_inevent and clk_in=1)then tmp=tmp+1; end if; clk_out1=tmp(0); clk_out2ctr=00010000000;status:=status+1; -MBRctr=00001

7、000000;status:=status+1; -MAR -DECODING case opcode is when0001=status:=00100;ctr=00100000000; -Store -MBRstatus:=00101;ctr=00010000000; -Load -MBRstatus:=00111;ctr=00010000000; -Add -MBRstatus:=01001;ctr=00010000000; -Sub -MBRstatus:=11111;ctr=00000000011; -SHL -ACC-ACCstatus:=11111;ctr=00000000100

8、; -SHR -ACC1 when0111=status:=01011;ctr=00010000000; -And -MBRstatus:=01101;ctr=00010000000; -Or -MBRstatus:=11111;ctr=00000000111; -Not -ACCstatus:=00001;ctrif(cmp=0)then -JumpZ status:=00001;ctr=00000100000; else status:=00001;ctrstatus:=11111;ctrstatus:=00000;ctrctrctr=01000000000;status:=11111;

9、-Store -RAMctr=00000011111;status:=status+1; -Load -BR-MBR;ACCctr=00000000001;status:=11111; -ACCctr=00000010000;status:=status+1; -Add -BRctr=00000000001;status:=11111; -ACCctr=00000010000;status:=status+1; -Sub -BRctr=00000000010;status:=11111; -ACCctr=00000010000;status:=status+1; -And -BRctr=000

10、00000101;status:=11111; -ACCctr=00000010000;status:=status+1; -Or -BRctr=00000000110;status:=11111; -ACCctr=00000010000;status:=status+1; -Mutiply-BRctr=00000001000;status:=11111; -ACCctr=00000100000;status:=00001; -PC-PC+1;MARctrctr=00000000000;status:=00001; end case; end if; end process;end behave;4.3 ALU(算术逻辑运算单元)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ALU isport( clk:in std_logic; rst:in std_logic; mbr_in:in std_logic_vector(11 downto 0); mbr_e:in std_logic;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1