




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档精简8位cpu实验设计报告实验介绍: 实验分为两个部分,第一部分为16*8 ROM 设计与仿真 第二部分为SAP-1 设计与仿真实验流程:16*8 ROM 的设计与仿真 地址汇编语言机械码地址汇编语言机械码0HLDA 9H0000 10017HXXX0000 00001HADD AH0001 10108HXXX0000 00002HADD BH0001 1011 9H10H0001 00003HSUB CH0010 1100AH14H0010 01004HOUT1110 0000BH18H0001 10005HHLT1111 0000CH20H0010 00006HXXX0000 0000部分程序代码:Rom16_8.VHDL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ROM16_8 is PORT( DATAOUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -Data Output ADDR :IN STD_LOGIC_VECTOR(3 DOWNTO 0); -ADDRESS CE :IN STD_LOGIC -Chip Enable );END ROM16_8;ARCHITECTURE a OF ROM 16_8 IS BEGIN DATA=“00001001”WHEN ADDR=“0000”AND CE=0 -LDA 9H “00011010”WHEN ADDR=“0001”AND CE=0ELSE -ADD AH “00011011”WHEN ADDR=“0010”AND CE=0ELSE -ADD BH “00101100”WHEN ADDR=“0011”AND CE=0ELSE -SUB CH “11100000”WHEN ADDR=“0100”AND CE=0ELSE -OUT “11110000”WHEN ADDR=“0101”AND CE=0ELSE -HLT “00010000”WHEN ADDR=“1001”AND CE=0ELSE “00010100”WHEN ADDR=“1010”AND CE=0ELSE “00011000”WHEN ADDR=“1011”AND CE=0ELSE “00100000”WHEN ADDR=“1100”AND CE=0ELSE “00000000”;END a;程序说明:rom的使能CE,只有为0时,才接受读数据的命令。SAP-1 CPU设计与仿真 工作任务: 1.取指令周期(Fetch Cycle) (1)状态S0:(寻址状态, Address State) 这个状态下,“程序计数器”负责将所要执行的指令地址值传递至MAR存放。 (2)状态S2:(增加状态,Increment State) 这个状态下,“程序计数器”的值加1,代表计数器将指针指向下一个要执行的指令地址值。 (3)状态S2:(记忆状态,Memory State) 这个状态下,将把记录在 “MAR”里的指令地址值,送入 “RAM”里后,由 “RAM”读出该地址的指令码,再将该指令放入 “指令寄存器”。 指令执行周期: (1)LDA指令 状态S3:这个状态下,上述的09H数据传入MAR,以便下个状态能取出该数值所代表的地址里的值,比如20H。 状态S4:这个状态是将存放在 “MAR”里的09数据,通过RAM读出09H地址的数据,比如是数值20H数值至 “累加器”。状态S5:这个状态下的LDA指令并没有作用。 (2)ADD指令状态S3:这个状态下,上述的AH数据将传入MAR,以便下个状态取出该数值所代表地址里的内容值,比如是数值14H。状态S4:这个状态是将存放 “MAR”里的AH数据,通过RAM读出AH地址内的数据,放到B寄存器中。状态S5:这个状态是将存在 “累加器”和 “B 寄存器”的数值内容存放入 “加减法器”相加后,再将相加结果放回 “累加器” 。 (3)SUB指令 状态S3:这个状态下,上述的BH数据传入MAR,以便下个状态能取出该数值所代表地址里的值。 状态S4:这个状态是将存放在 “MAR”的BH数据,通过RAM读出BH地址内的数据,并放到B寄存器中。 状态S5:这个状态是将存放在 “累加器”和 “B寄存器”的数值放入 “加减法器”相减后,再将相减后结果放回 “累加器”。(4)OUT指令 状态S3:这个状态下,累加器的内容将经Wbus传至 “输出寄存器”,然后显示在二进制显示装置。 状态S4:这个状态OUT指令没有作用。状态S5:这个状态OUT指令没有作用。 (5)HLT指令状态S3:这个状态下 “控制器/序列发生器”将停止送出脉冲信号CLK,这时SAP-1 CPU会停止执行工作。状态S4:这个状态HLT指令没有作用。状态S5:这个状态HLT指令没有作用。SAP-1 CPU 设计1.使用Process与Case When命令架构出6个脉冲的指令周期。ARCHITECTURE a OF SAP1 IS TYPE STATE IS (S0,S1,S2,S3,S4,S5); -state type declare SIGNAL PState :STATE; -present state SIGNAL NState :STATE; -next state BEGINChangeStateMode:PROCESS(CR,RST) -state s0s5BEGIN IF RST=1THEN -reset cpu PC =“0000”; -pogram counter=0H ACC=”0000000”; -accumulator=0H RUN=1; -CPU run program enable PState -(address state & fetch cycle-1) NState -(increment state & fetch cycle-2) NState -(memory state & fetch cycle-3) NState -STATE S3 (Execution cycle -1) NState -STATE S4 (Execution cycle-2) NState -STATE S5 (Execution cycle-3) NState=S0; -cpu next stateEND CASE;PState=NState; -切换状态END IF;END IF;END PROCESS ChangeStateMode;END a;2.编写“指令捕捉周期(fetch cycle)即状态S0S2的命令Changestatemode:process(cp,rst) -state s0s5 variable flag,f1:boolean; begin if rst =1 then Pstate nstate=s1; mar nstate =s2; if flag=ture then pc nstate =s3;flag :ture;Ir end case;3.编写”指令执行周期(fetch cycle)”,即状态S3S5的命令(IR)截取高4位指令至TMP里 Elsif cpevent and cp=0 then when s2= When s3= nstate=s4; temp changestatemode : process(cp,rst) variable flag, F1:boolean;BeginIf rst =1 then Elsif cpevent and cp=0 thenIf run=1then case pstate is when s0= nstate=s1; end case; pstate=nstate;End if; If pstate =s3 thenIf(tmp=“0000”)or(tmp=“0001”)or(tmp=“0010”)thenMar=ir(3 downto 0); elsif tmp =“1110”then outreg=acc; elsif tmp =“1111”then run=0;End ifElsif pstate=s4 then if tmp=“0000”then acc=databus;elsif tmp=“0001”then breg=databus;elsif tmp=“0010”then breg=databus; end if;Elsif pstate=s5 then if tmp =“0001”and f1=ture thenNum =unsigned(acc)+unsigend(breg);Acc =s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 活动舞蹈老师合同范本
- 住建部 房屋合同范本
- 酿酒作坊出售合同范本
- 运送车辆服务合同范本
- 家庭教育心得体会怎么写10篇
- 植物综合题目大全及答案
- 直面困境申论题目及答案
- 零售策略市场分析研究
- 婚庆活动方案
- 环境监测行业智能化转型路径与2025年数据质量控制要点报告
- 工程施工队伍管理制度
- 2025年室内设计师劳动雇佣合同范文
- 2025睿实消防自动跟踪定位射流灭火系统说明书
- 《数字技术应用 基础模块(WPS Office 上册)》 课件全套 第1-3单元 探索数字世界 数字技术应用基础 -编程的魅力 程序设计入门
- 餐饮服务与数字化运营 习题及答案 项目二
- 鼻的症状学相关知识
- 中职生劳动教育试题答案
- 现代学徒制课题:市域产教联合体与行业产教融合共同体内开展现场工程师培养的机制创新研究(研究思路模板、技术路线图)
- 2024年《数字摄影技术》考试复习题库(含答案)
- 医疗纠纷讲座
- 一氧化碳安全培训
评论
0/150
提交评论