计算机组成CPU数据通路verilog实验报告

2024-05-05

计算机组成CPU数据通路verilog实验报告(精选3篇)

篇1:计算机组成CPU数据通路verilog实验报告

数据通路组成实验

一、实验目的

(1)将双端口通用寄存器组和双端口存储器模块联机;

(2)进一步熟悉计算机的数据通路;

(3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;

(4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。

二、实验电路

图9.14示出了数据通路实验电路图,它是将前面进行的双端口存储器实验模块和一个双端口通用寄存器组模块连接在一起形成的,存储器的指令端口不参与本次实验,通用寄存器组连接运算器模块,本实验涉及其中的操作数寄存器DR2。

由于RAM是三态门输出,因而可以将RAM连接到数据总线BUS上。此外,BUS上还连接着双端口通用寄存器组。这样,写入RAM的数据可由通用寄存器提供,而从RAM读出的数据也可送到通用寄存器保存。

RAM和DR2在前面的实验中使用过。对于通用寄存器组RF,它由一个在系统可编程(In System Programable)芯片ispLSI 1016固化了通用寄存器组的功能而成,其功能与双端口寄存器组MC14580相类似,内含四个8位的通用寄存器,带有一个输入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。输入端口取名为WR端口,连接一个8位的缓冲寄存器ER(已集成在ispLSI 1016芯片中),输出端口取名为RS端口、RD端口,分别连接运算器模块的两个操作数寄存器DR1、DR2,其中,连接DR1的RS端口还可通过一个8位的三态门RSO直接向BUS输出。双端口通用寄存器组模块的控制信号中,RS1、RS0用于选择从RS端口读出的通用寄存器,RD1、RD0用于选择从RD端口读出的通用寄存器,上述选择信号在T1脉冲的上升沿到来时生效。而WR1、WR0则用于选择从WR端口写入的通用寄存器。WRD是写入控制信号,WRD=1时,在T2上升沿的时刻,从ER写入数据;WRD=0时,ER中的数据不写入通用寄存器中。LDER信号控制ER从BUS写入数据,RS-BUS信号则控制RS端口到BUS的输出三态门。以上控制信号各自连接一个二进制开关。

三、实验设备

(1)JYS-4计算机组成原理实验仪一台(2)双踪示波器一台(3)直流万用表一只(4)逻辑测试笔一支

四、实验任务

(1)将实验电路与操作面板的有关信号进行线路连接,方法同前面的实验。(2)用8位数据开关向RF中的四个通用寄存器分别置入以下数据(十六进制):R0=0F,R1=F0,R2=55,R3=AA。

给R0置入0F的步骤是:先用8位数码开关将0F置入ER,并且选择WR1=WR0=0,再将ER的数据置入RF。给其他通用寄存器置入数据的步骤与此类似。

(3)分别将R0至R3中的数据同时读入到DR2寄存器和BUS上,观察其数据是否存入R0至R3中的数据,并记录数据。其中BUS上的数据可直接用指示灯显示,DR2中的数据可用逻辑笔测试有关引脚。

(4)用8位数码开关向AR1送入一个地址0F,然后将R0中的0F写入RAM。用同样的方法,依次将R1至R3中的数据写入RAM中的F0、55、AA单元。

(5)分别将RAM中AA单元的数据写入R0,55单元的数据写入R1,F0单元写入R2,0F单元写入R3。然后将R3、R2、R1、R0中的数据读出到BUS上,通过指示灯验证读出的数据是否正确,并记录数据。

(6)进行RF并行输入输出试验。

1.选择RS端口对应R0,RD端口对应R1,WR端口对应R2,并使WRD=1,观察并行输入输出的结果。选择RS端口对应R2,验证刚才的写入是否生效。记录数据。2.保持RS端口和WR端口同时对应R2,WRD=1,而ER中置入新的数据,观察并行输入输出的结果,RS端口输出的是旧的还是新的数据?(7)在数据传送过程中,发现了什么故障?如何克服的?

五、实验要求(1)做好实验预习和准备工作,掌握实验电路的数据通路特点和通用寄存器组的功能特性。(2)写出实验报告,内容为

1.实验目的;

2.如碰到故障,记录故障现象,排除故障的分析思路,故障定位及故障的性质; 3.实验数据记录;

4.值得讨论的其他问题。

篇2:计算机组成CPU数据通路verilog实验报告

【实验目的】

1.掌握CPU的设计步骤 2.学会芯片的运用及其功能 【实验环境】

Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】

绘制非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。

1、零件制作

6位寄存器

(自行设计)

6位计数器

(自行设计)

8位寄存器

(可选择74系列宏函数74273)

8位计数器

(由两个74161构成)

2位寄存器

(由D触发器构成,自行设计)

6三态缓冲器

(自行设计,可由74244内部逻辑修改而成)

8三态缓冲器

(选择74系列宏函数74244,或作修改)

alu模块

(自行设计,限于时间,其内部逻辑不作要求)

2、选择器件,加入数据通路顶层图

8位累加器AC:选择8位计数器

6位地址寄存器AR:reg6

6位的程序计数器PC:cou6

8位的数据寄存器DR:选择8位寄存器

2位的指令寄存器IR:选择2位寄存器

3、为PC、DR加入三态缓冲器。

4、调整版面大小,器件位置。

5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的缓冲器。

6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。

7、(选做)编译之后,给出微操作 AR<-PC 的测试方法及仿真结果。

8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说

明及顶层的“非常简单CPU”数据通路图。

实验报告

一、实验步骤

基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下:(1)、AC累加器原理图如下:

打包后得到如下:

(2)、两位高地址寄存器IR的设计如下:

打包后得电路图如下:

(3)、6位地址寄存器AR设计如下:

打包后AR如下:

(4)、八位地址寄存器DR如下:

打包后如下:

(5)、程序计数器PC如下:(老师已给出)

打包后得:

(6)、控制8位地址总线的三态缓冲器电路如下:

打包图如下:

同理有控制6位地址总线的三态缓冲器:

打包图如下:

最重要的部分ALU设计如下:

由一个八与门电路和并行加法器连入一个16位输入的数据选择器,在受到SEL和GN控制时分别选择and8或者并行加法器得到的结果并送到AC的输入端

打包如下:

其中八输入与门为下图:

并行加法器为下图:

十六位数据选择器为下图:

最后得到简单CPU设计数据通路如下:

仿真波形为下图:

说明:从图中可以看出当PC输入为100011时AR的输出也为10011,即该CPU实现了PC到AR的功能。CPU功能验证完毕!实验结论:

整体来看,简单CPU的设计基本完工,但是有些地方不够完善,所以还没能够实现所有的 功能。实验感想:

篇3:计组实验数据通路实验报告

预习实验报告

疑问:

1、数据通路是干嘛的?

2、数据通路如何实现其功能?

3、实验书上的存储器部分总线开关接在高电平上,是不是错了?

一、波形图:参数设置:

信号设置:

clk:

bus_sel:

alu_sel:

ld_reg:

pc_sel:

we_rd:

k:

d:

d~result:

ar:

pc:

仿真波形

实验报告

Endtime:2.0us

Gridsize:100.0ns

时钟信号,设置周期为100ns占空比为50%。

sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将

存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上,将alu的运算结果显示到总线上,将pc的数据打入AR中二进制输入,低电平有效。

m|cn|s[3..0]的组合,代表运算器的运算符号选择,二进制输入,高

电平有效。

lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器

r1,r2,r4, r5或AR中,二进制输入,高电平有效。

pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装

载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作,二进制输入,高电平有效

k [7]~ k [0],数据输入端信号,十六进制输入。

d[7]~d[0],数据输出中间信号,十六进制双向信号。

d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。pc [7]~ pc [0],地址计数器PC的输出结果,十六进制输出。

以在01H单元中写入05H、02H单元中写入0AH并进行【(A加B)减(非A与B)加B】为例:

1)初始状态:bus_sel=11111,alu_sel=00000,ld_reg=00000,pc_sel=100,we_rd=00,k=00H,总线上无数据,呈高阻态。2)读取01H单元的05A:

① 置数法PC=01H:bus_sel=01111,pc_sel=101 ② PC->AR:bus_sel=11110,ld_reg=00001 ③ 读01H单元的数据放入R1中:bus_sel=11111,ld_reg=10000,we_rd=01 3)读取02H单元的0AH:

① PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111 ② 读01H单元的数据放入R2中:bus_sel=11111,ld_reg=01000,we_rd=01 4)将地址加到03H :bus_sel=11110,ld_reg=00001,pc_sel=111 5)验证数据并运算: bus_sel=11101 ① 读取R1中的数据:alu_sel=010000,得到R1=05H ② 读取R2中的数据:alu_sel=101010,得到R2=0AH ③ 计算(A加B)结果存于R4中:alu_sel=011001,ld_reg=00100,结果为0FH ④ 计算(非A与B)结果存于03H单元中:alu_sel=100010,we_rd=10,结果为0AH ⑤ 计算((A加B)加B)结果存于04H单元中:

 R4->R1:bus_sel=10111,ld_reg=10000  PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111  计算((A加B)加B)结果存于04H单元中:bus_sel=11101,alu_sel=011001,we_rd=10 ⑥ 计算(((A加B)加B)减(非A与B))结果存于05H中:

((A加B)加B)->R1:bus_sel=11111,ld_reg=10000,we_rd=01 (非A与B)->R2:

 PC=03H:k=03H,bus_sel=01111,pc_sel=101  PC->AR:bus_sel=11110,ld_reg=00001 (非A与B)->R2:bus_sel=11111,ld_reg=01000,we_rd=01  PC=05H:

 PC=05H:k=03H,bus_sel=01111,pc_sel=101  PC->AR:bus_sel=11110,ld_reg=00001 

(((A加B)加B)减(非A与B))结果存于05H中:bus_sel=11101,alu_sel=000110,we_rd=10 最后结果为0FH。结论:

本实验的设计能结合了运算器和存储器,能实现在mif文件中进行初始化,将固定地址单元中存储的数据读取到运算器中进行(((A加B)加B)减(非A与B))的运算并将结果存于指定的内存单元中,与实验要求一致,故电路设计正确。

二、实验日志

预习疑问解答:

1.通路是干嘛的?

在数字系统中,各个子系统通过数据总线连接形成的数据传送路径称为数据通路.2.通路如何实现其功能?

在这次的实验中,数据通路主要是由运算器部分和存储器部分组成的,通过运算器的运算结合存储器在mif文件的中的操作进行数据的传输与存储,从而构成一个数据通路.错

3.书上的存储器部分总线开关接在高电平上,是不是错了? 事实证明没有接错.

思考题:

1. 画数据通路电路图时,如何连结单一总线? 如图:

ALU模块的sw_bus依然连接bus_sel,存储器部分的sw_bus连接高电平.2. 如何统一两个模块的总线输入端k[7..0]及inputd[7..0]?

答:如图: 输入放在运算器部分,存储器部分无输入,存储器部分的数据要么来自总线传输,要么从mif文件中读取.实验中遇到的问题:

1.把之前的alu和ram的原理图拷到了当前工程下面。直接生成该工程的符号文件,连接起来,但是仿真有问题。

几乎是在每一次和总线交换数据的时候都得不到正确的值。下面是解决的过程:

我怀疑是两个模块之间通过总线传输的数据没有传输成功,于是把alu模块的d引了一个输出端口d_alu,从ram模块的d引出了一个输出端口d_ram,在仿真波形图上,然后就可以看到了数据到达总线上了,而且这个时候d的值也能看到了,只是后面的最后一个读操作出来的数据不对,本来应该是写进去的07,但现在是17,再仿真就会变成别的数据。

2.在连接电路图的时候,我以为存储器部分的sw_bus连在高电平上是错的,然后又连到了bus_sel[4],所以得到了上一个部分的仿真结果,后来不研究了一下那个高电平,发现是用来处理单一总线问题的,就改成了与书上一样的图,我以为上面出现的错误结果和这个有关,改了之后波形图有变化,但是,还是是错误的.但是在两种情况下功能仿真的结果都是正确的:

问题解决了~

原因是周期太短,计算结果还来不及存入到内存单元中,把写入内存的时间周期延长一个周期结果就出来了。电路本身没有问题。

上一篇:三年级英语学科总结下一篇:春季田径运动会开幕式解说词