简易计算机系统综合设计设计报告.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
简易计算机系统综合设计设计报告 班级##学号 一、设计目的 连贯运用《数字逻辑》所学到的知识,熟练掌握EDA工具的使用方法,为学习好后续《计算 机原理》课程做铺垫。 二、设计内容 按给定的数据格式和指令系统,使用EDA工具设计一台用硬连线逻辑控制的简易计算 机系统; 要求灵活运用各方面知识,使得所设计的计算机系统具有较佳的性能; 对所做设计的性能指标进行分析,整理出设计报告。 3. 详细设计 1.指令计数器〔zhiling_PC〕 元件: 输入端口:CLK,RESET,EN; 输出端口:PC[3..0]; CLK:时钟信号; RESET:复位信号; EN:计数器控制信号,为1的时候加一; PC[3..0]:地址输出信号; 代码: 波形图: 总共有九条指令,指令计数器从0000到1000; 功能: 实现指令地址的输出; 存储器〔RAM〕 元件: 输入端口:PC[3..0],CLK; 输出端口:zhiling[7..0]; CLK:时钟信号; PC[3..0]:指令地址信号; zhiling[7..0]:指令输出信号; 代码: 波形图: 功能: 根据输入的地址输出相应的指令; 3.指令译码器〔zlymq〕 元件: 输入端口:zhiling[7..0]; 输出端口:R1[1..0],R2[1..0],M[3..0]; zhiling[7..0]:指令信号; R1:目标寄存器地址; R2:源寄存器地址; M[3..0]:指令所代表的操作编号; 代码: 波形图: 功能: 实现指令的操作译码,同时提取出目标寄存器和源寄存器的地址; 4.算术逻辑运算器〔ALU〕 元件: 输入端口:EN_ALU,a[7..0],b[7..0],M[3..0]; 输出端口:c[7..0],z; EN_ALU:运算器的使能端; a[7..0]:目标寄存器R1的值; b[7..0]:源寄存器R2的值; M[3..0]:指令所代表的操作编号; c[7..0]:运算结果; z:运算完成的信号; 代码: 波形图: 功能: 实现算术逻辑运算,输出运算结果; 5.选择器〔cpu_counter〕 元件: 输入端口:CLK,R1[1..0],R2[1..0]; 输出端口:EN_A,EN_B,EN_ALU,R,C,AD[1..0]; CLK:时钟信号; R1[1..0]:目的寄存器地址; R2[1..0]:源寄存器地址; EN_A:暂存器A的控制信号; EN_B:暂存器B的控制信号; EN_ALU:运算器alu的控制信号; C:指令计数器的控制信号; AD[1..0]:寄存器的地址; R:通用寄存器的可读控制信号; 代码: 波形图: 功能: 控制运算器ALU的运行时间,控制暂存器A,B的数据输入,控制通用寄存器的输出, 控制指令计数器的技术,实现时序的统一性; 6.暂存器〔jcq〕 元件: 输入端口:CLK,RESET,K,s[7..0]; 输出端口:Q[7..0]; CLK:时钟信号; RESET:复位信号; K:暂存器输入控制端口; Q[7..0]:数据输出端口; 代码: 波形图: 功能: 实现运算数据的暂时储存; 7.通用寄存器组〔tyjcqz〕 元件: 输入端口:CLK,RESET,R,W,AD[1..0],WR[7..0]; 输出端口:s[7..0]; CLK:时钟信号; RESET:复位信号; R:数据读取控制信号; W:数据写入控制信号; AD[1..0]:寄存器的地址; WR[7..0]:写入的数据; s[7..0]:数据输出端口; 代码: 波形图: 功能: 实现寄存器ABC,保存ABC中的数据,实现运算结果的保存; 4. 系统测试 4.1 测试环境 4.2 测试代码 "指令的汇编符号 "指令的功能 "指令的二进制编码 " "MOV R1,R2 "〔R2〕 R1 "0011 R1 R2 " "MOV M,R2 "〔R2〕 〔C〕 "0011 11 R2 " "MOV R1,M "〔〔C〕〕 R1 "0011 R1 11 " "ADD R1,R2 "〔R1〕+〔R2〕 R1 "1001 R1 R2 " "SUB R1,R2 "〔R1〕-〔R2〕 R1 "0110 R1 R2 " "AND R1,R2 "〔R1〕 〔R2〕 R1 "1110 R1 R2 " "NOT R1 "/〔R1〕 R1 "0101 R1 ## " "SHR R1 "〔R1〕逻辑右移一位 R1 "1010 R1 00 " "SHL R1 "〔R1〕逻辑左移一位 R1 "1010 R1 11 " A:00000111 B:00001000 C:00000011 3. 测试结果 5. 总结 刚开始做CPU的时候什么思路都没有,后来经过小组讨论才找到一点思路,决定才寄 存器做起,后面经过几天的讨论和努 简易计算机系统综合设计设计报告是基于《数字逻辑》和EDA工具的知识,旨在为学习《计算机原理》打下基础。设计内容涉及多个核心组件,包括指令计数器、存储器、指令译码器、算术逻辑运算器、选择器、暂存器和通用寄存器组,这些组件共同构建了一个硬连线逻辑控制的简易计算机系统。 1. 指令计数器(zhiling_PC):此组件用于生成指令地址,通过输入时钟信号(CLK)、复位信号(RESET)和计数器控制信号(EN),产生4位地址输出(PC[3..0])。它能够顺序执行9条指令,从0000到1000。 2. 存储器(RAM):接收时钟信号(CLK)和指令地址信号(PC[3..0]),并根据地址输出对应的8位指令(zhiling[7..0])。 3. 指令译码器(zlymq):接收8位指令信号,解码后输出目标寄存器(R1[1..0])、源寄存器(R2[1..0])地址以及操作编号(M[3..0]),实现指令的操作解析。 4. 算术逻辑运算器(ALU):由使能信号(EN_ALU)控制,处理两个8位数据(a[7..0], b[7..0])并根据操作编号(M[3..0])执行算术和逻辑运算,产生运算结果(c[7..0])和完成信号(z)。 5. 选择器(cpu_counter):协调整个系统时序,控制ALU运行、暂存器A和B数据输入、通用寄存器输出以及指令计数器(C)的行为,确保时序一致性。 6. 暂存器(jcq):提供暂存功能,存储运算数据,输入包括时钟信号(CLK)、复位信号(RESET)和写入控制(K),输出8位数据(Q[7..0])。 7. 通用寄存器组(tyjcqz):支持读写操作,通过时钟信号(CLK)、复位(RESET)、读写控制(R/W)、地址(AD[1..0])和写入数据(WR[7..0]),实现数据的存储和提取,特别提到ABC三个寄存器。 系统测试部分展示了基本的汇编指令,如MOV(数据转移)、ADD(加法)、SUB(减法)、AND(逻辑与)、NOT(逻辑非)、SHR(逻辑右移)和SHL(逻辑左移),以及它们的功能和对应的二进制编码。 在设计过程中,团队经历了一段探索和讨论的阶段,从最初的无从下手到最后逐步理清思路,设计出各个组件,实现了计算机系统的集成。这个过程体现了理论知识与实践应用相结合的重要性。
- 粉丝: 107
- 资源: 9354
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java airplay 安卓端实现,优化中,站在巨人的肩膀上.zip
- hook surfaceflinger进程的eglSwapBuffers方式实现较差,适用arm64 root下的安卓真机.zip
- Hackpku作品一款Android端的声控跑酷游戏 .zip
- Go(golang)包,用于将错误列表表示为单个错误 .zip
- GotaGo(Golang)中的 DataFrames 和数据整理.zip
- Gophercloud适用于 Go 的 OpenStack SDK.zip
- Gopher360 是一款免费的零配置应用程序,可立即将您的 Xbox 360、Xbox One 甚至 DualShock 控制器变成鼠标和键盘 只需下载、运行,然后放松即可 .zip
- Google 广告 API 的 Python 客户端库.zip
- Google Maps API Web 服务的 Go 客户端库.zip
- Google Drive 上的 FUSE 文件系统.zip