实验七-八 寄存器堆实验
姓名:陈衍席 学号:1205110125 网工1202
【实验环境】
1. Windows 2000 或 Windows XP
2. QuartusII9.1 sp2、DE2-115计算机组成原理教学实验系统一台,排线若干。
【实验目的】
本次实验要求掌握触发器的基本原理,掌握寄存器和寄存器堆的组成原理。
【实验要求】
本次实验只需要设计并实现8位触发器和32位触发器。
【实验原理】
寄存器是数字电路中的基本模块,许多复杂的时序逻辑电路都是由它构成的。在数字系统中,寄存器是一种在某一特定信号的控制下用于存储一组二进制数据的时序逻辑电路。 通常使用触发器构成寄存器,把多个D触发器的时钟连接起来就可以构成一个存储多位二进制的寄存器。
寄存器中二进制数的位可以用两种方式移入或移出寄存器。第一种方法是以串行的方式将数据每次移动一位,这种方法称之为串行移位(Serial Shifting),线路较少,但耗费时间较多。第二种方法是以并行的方式将数据同时移动,这种方法称之为并行移位(Parallel Shifting),线路较为复杂,但是数据传送的速度较快。因此,按照数据进出移位寄存器的方式,可以将移位寄存器分为四种类型:串行输入串行输出移位寄存器(Serial In- Serial Out)、串行输入并行输出移位寄存器(Serial In- Parallel Out)、并行输入串行输出移位寄存器(Parallel In- Serial Out)、并行输入并行输出移位寄存器(Parallel In-Parallel Out)。
在CPU设计中,寄存器堆是一个可以保存指令和数据的必不可少的器件,是RISC微处理器的核心,所有内部、外部数据的读取都直接和它发生关系。它由一组寄存器组成,只要给出寄存器堆中该寄存器的编号,则其中的内容都可以读或者写。
【实验步骤】
1、8位触发器设计
8位触发器中包括,输入信号:一个8位数据源D,1位CLRN复位信号,1位EN使能信号,1位CLK时钟信号;输出信号:8位Q。它由8个1位DFFE触发器经过级联后得到。这8个1位DFFE触发器的每个D分别为D[0]-D[7],Q分别为Q[0]-Q[7],时钟信号都为CLK(注意:要一一对应,如第1个1位DFFE触发器的D为D[0],则Q应为Q[0])。8位触发器真值表如下所示:
表 8位触发器真值表(D0为D前一个状态的值)
根据图中提示,建立寄存器原理图文件。 8位触发器原理图:
仿真结果及分析:
如图所示,当EN=0时,输出为0;当CLRN=0时,输出为0;
当EN=1,CLRN=1时,CLK上升沿时,Qt=Dt;CLK下降沿时,Qt=Dt-1; 8位触发器封装图:
2、32位触发器设计 32位触发器中包括,输入信号:一个32位数据源D,1位CLRN复位信号,1位EN使能信号,1位CLK时钟信号;输出信号:32位Q。它由4个8位触发器经过级联后得到,时钟信号为CLK。32位触发器真值表如下所示:
32位触发器原理图:
仿真结果及分析:
如图所示,当EN=0时,输出为0;当CLRN=0时,输出为32位0;
当EN=1,CLRN=1时,CLK上升沿时,Qt=Dt;CLK下降沿时,Qt=Dt-1; 8位触发器封装图:
实验要求自己给定一组数据,然后进行功能仿真,得到如下仿真结果