Quatus II +CPU设计+模拟与仿真

课程名称: 硬件技术基础课程设计

年级/专业: 19计算机科学与技术
开始时间:2021 年9月9日
结束时间:2021 年11月4日

摘 要

本次实验在quatus II 9.0平台上设计了16
位单周期CPU及其对应的指令系统,包括运算类指令、传送类指令、储存类指令、控制类指令。详细指令有Clear
指令、MovN指令、MovR指令、ADD指令、ADDN指令、SUB指令、JMP指令、STORE指令、LOAD指令、CMP指令、BEQ指令等.对应操作码分别为0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010。在此基础上,我们进一步设计了7段数码显示管的驱动逻辑电路,对结果进行输出显示.最后,自己设计了一段程序并编译测试能够顺利运行。
从功能的角度来看,本次设计的CPU可以分为共分为:逻辑模块、存储模块、运算模块和时钟周期模块。逻辑模块通过逻辑电路对操作码或数码管驱动进行译码,存储模块可以存储编译好的指令或暂存运算结果,运算模块负责对数据或地址进行算数操作。时钟信号协调全局模块统一有序地执行。所有的这些模块相互配合,协调完成CPU的核心功能。
本次的硬件基础课程设计让我们对计算机的硬件认识从简单的理论认识上升到具体的,可操作的实践。从本质来看,CPU是一个有着复杂控制信号的有限状态自动机(Finite
State Machine)。各时刻存储器的存储值组成了一个个状态, 在时钟周期的控制下进行状态转换。
它无法理解任何软件,只负责01运算与存取操作。而对数据和指令的编译与解释操作都由其上层的操作系统完成。

Abstract

In this experiment, 16-bit single-cycle CPU and its corresponding instruction system were designed on Quatus II 9.0 platform, including operation instruction, transmission instruction, storage instruction and control instruction. Detailed instructions include Clear, MovN, MovR, ADD, ADDN, SUB, JMP, STORE, LOAD, CMP, BEQ and so on. The corresponding operation codes are 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, and 1010. On this basis, we further design 7 digital display tube drive logic circuit, the results of output display. Finally, I designed a program and compiled the test to run smoothly. From the functional point of view, our CPU can be divided into: logic module, storage module, operation module and clock cycle module. The logic module decodes the OpCode or digital tube driver through the logic circuit. The storage module can store compiled instructions or temporary operation results. The operation module is responsible for arithmetic operations on data or addresses. Clock signal coordination global module uniformly and orderly execution. All of these modules work together to coordinate the core functions of the CPU. The hardware foundation course design makes our understanding of computer hardware from simple theoretical understanding to concrete, operable practice. In essence, the CPU is a Finite State Machine with complex control signals. The values of the memory at each time form a state, which is converted under the control of the clock cycle. It can’t understand any software and only handles 01 operations. The data and instructions are compiled and interpreted by the upper operating system.
Keywords: CPU design, Quartus II, Finite State Machine

一、设计目的与目标

1.1 设计目的

1、掌握硬布线单周期CPU工作原理、实现方法及组成部件原理和设计方法。
2、认识和掌握指令的执行过程,掌握指令设计的流程。
3、熟练使用Quartus II进行设计与仿真,培养学生的分析和设计CPU的能力。

1.2 设计目标

完成16位单周期CPU数据通路和线路图的设计,实现功能指令:Clear 指令、MovN指令、MovR指令、ADD指令、ADDN指令、SUB指令、JMP指令、STORE指令、LOAD指令、CMP指令、BEQ指令。
目标电路设计如下图所示:
在这里插入图片描述

图1 16位单周期CPU逻辑电路图

二、课程设计器材

2.1 硬件平台

本实验所需的硬件设备:PC计算机和FPGA板–Cyclone III系列实验开发板。

2.2 软件平台

本实验所需的软件器材有:Windows操作系统、Quartus II 9.0集成开发软件。

三、CPU指令集设计

3.1 CPU执行流程分析

了解CPU的指令执行流程可以进一步加深我们对复杂状态机的理解,有助于我们设计自己的指令集和信号量。CPU指令的处理过程如下:

  1. 取指令 (IF):根据程序计数器 PC 中的指令地址,从存储器中取出一条指令,同时,正常情况下,PC根据指令字长度自动递增产生下一条指令所需要的指令地址,当遇到“地址转移”指令时,则控制器把“转移地址”送入 PC,当然得到的“地址”需要做特定变换才能够送入PC。
  2. 指令译码 (ID):对取指令操作中得到的指令进行分析并译码,确定这条指令需要完成的操作,从而产生相应的操作控制信号,用于驱动执行状态中的各种操作。
  3. 指令执行 (EXE):根据指令译码得到的操作控制信号,具体地执行指令动作,然后转移到结果写回状态。
  4. 存储器访问 (MEM):所有需要访问存储器的操作都将在这个步骤中执行,该步骤给出存储器的数据地址,把数据写入到存储器中数据地址所指定的存储单元或者 从存储器中得到数据地址单元中的据。
  5. 结果写回 (WB):指令执行的结果或者访问存储器中得到的数据写回相应的目的寄存器中。单周期CPU是在一个时钟周期内完成这五个阶段的处理。
    在这里插入图片描述

图2 CPU执行周期

3.2指令初步设计

设计的指令共有11条,分别是Clear 指令、MovN指令、MovR指令、ADD指令、ADDN指令、SUB指令、JMP指令、STORE指令、LOAD指令、CMP指令、BEQ指令。这11条指令的指令格式如下:

Clear (15-0)Register=0
Op码 43位Reserved	3位Reserved	3位目标寄存器	3位Reserved

功能:将目标寄存器清零。

MovN (15-0)Register=Number
Op码 4
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值