实验4 数据通路 实验报告

合集下载

数据通路实验报告

数据通路实验报告

数据通路实验报告一、实验目的本实验旨在通过设计与实现一个简单的数据通路,加深对数据通路的理解,并且通过实验验证所学知识的准确性和实用性。

二、实验器材和软件实验器材:计算机、VHDL开发板、配套接口线实验软件:Quartus II三、实验内容1.设计基本数据通路的单元模块,并对其进行仿真验证。

2.将各单元模块综合到一起,形成完整的数据通路,并对其进行逻辑分析和综合。

3.编写测试代码,对数据通路进行功能验证。

四、实验步骤1.设计基本数据通路的单元模块首先,根据实验要求,设计并实现各个基本数据通路的单元模块,如加法器、减法器、乘法器等。

根据需要,还可以设计其他辅助模块,如多路选择器、寄存器等。

在设计单元模块时,需要根据实验要求确定输入和输出信号的位数,并且保证设计的模块功能的准确性和完整性。

2.仿真验证单元模块利用Quartus II提供的ModelSim进行仿真验证。

将设计好的单元模块进行连接,并通过给定的测试向量,验证各个模块的功能是否符合预期。

3.综合设计数据通路将各个单元模块综合到一起,形成完整的数据通路。

在综合的过程中,需要注意各个模块之间的连接和信号的传递。

对综合后的数据通路进行逻辑分析和综合,检查是否存在逻辑错误,并根据需要进行优化处理。

4.编写测试代码根据数据通路的功能,编写相应的测试代码,对数据通路进行功能验证。

测试代码中应包含各种不同类型的测试用例,以确保数据通路的正确性。

五、实验结果分析经过各个步骤的设计与实验,我们成功实现了一个简单的数据通路,并且通过测试代码的运行,验证了数据通路的功能的正确性。

六、实验心得通过本次实验,我深入了解了数据通路的设计与实现过程,加深了对数据通路的理解。

通过实践操作,掌握了Quartus II软件的使用技巧,提高了自己的综合设计能力。

在实验过程中,我遇到了一些问题,通过与同学和老师的交流,顺利解决了这些问题。

通过自己的努力和团队合作,成功完成了本次实验,并且对数据通路有了更深入的认识。

实验四数据通路

实验四数据通路
实验四 数据通路组成实验
一、实验目的 (1)将双端口通用寄存器堆和双端口
存储器模块联机; (2)进一步熟悉计算机的数据通路; (3)掌握数字逻辑电路中故障的一般
规律,以及排除故障的一般原则和方法; (4)锻炼分析问题与解决问题的能力,
在出现故障的情况下,独立分析故障现象, 并排除故障。
DBUS
数据指示灯
用同样的方法,依次将R1至R3中的数据写入RAM 中的0F0H、55H、0AAH单元。
(5)分别将RAM中0AAH单元的数据写入R0, 55H单元的数据写入R1,0F0H单元写入R2,0FH单 元写入R3。然后将R3、R2、R1、R0中的数据读出 到DBUS上,通过指示灯验证读出的数据是否正确, 并记录数据。
ALU_BUS S2 S1 S0
D7— D0
ALU
ISP1024
QD A7 QC A6 QB A5 QA A4 QD A3 QC A2 QB A1 QA A0
LDDR2 T3

M2 S DR2H 74HC298
DR2L
74HC298
。 RSO RS_BUS#
74HC244
LRW
。T3
。 。。 CEL# CEL# D7— D0 D7— D0 CER#
(6)进行RF并行输入输出试验。 1. 选择RS端口(B端口)对应R0,RD端口(A端口)对 应R1,WR端口对应R2,并使WRD=1,观察并行输入输 出的结果。选择RS端口对应R2,验证刚才的写入是否生效。 记录数据。
2.保持RS端口(B端口)和WR端口同时对应R2, WRD=1,而ER中置入新的数据,观察并行输入输出的结 果,RS端口输出的是旧的还是新的数据?
方法同前面的实验。 (2)用8位数据开关向RF中的四个通用寄存器分别置

计算机组成原理实验-数据通路实验

计算机组成原理实验-数据通路实验

计算机组成原理课程实验报告9.5 数据通路实验姓名:曾国江学号:系别:计算机工程学院班级:网络工程1班指导老师:完成时间:评语:得分:一、实验类型本实验类型为验证型+分析型+设计型二、实验目的1.进一步熟悉计算机的数据通路2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路.3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法.4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障.三、实验设备1、TEC-5实验系统一台2、双踪示波器一台3、逻辑测试笔一支四、实验电路数据通路实验电路图如图9.7所示。

它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。

存储器的指令端口(右端口)不参与本次实验。

通用寄存器堆连接运算器模块,本次实验涉及其中的DRl。

由于双端口存储器是三态输出,因而可以直接连接到DBUS上。

此外,DBUS还连接着通用寄存器堆。

这样,写入存储器的数据由通用寄存器提供,从RAM中读出的数据也可以放到通用寄存器堆中保存。

本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。

注意实验中的控制信号与模拟它们的开关K0~K15的连接。

五、实验任务1、将实验电路与控制台的有关信号进行连接。

2、用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:RO=0FH,R1=0F0H,R2=55H,R3=0AAH。

3、用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中.用同样的方法,依次将R1,R2,R3中的数据分别置入RAM的0F0H,55H,0AAH单元.4、分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3.然后将R0-R3中的数据读出,验证数据的正确性,并记录数据.六、实验要求1、做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。

机组实验报告四—非常简单CPU数据通路设计

机组实验报告四—非常简单CPU数据通路设计

非常简单CPU数据通路设计实验目的:1.掌握CPU的设计步骤2.学会芯片的运用及其功能即是本次实验的主要内容是利用Quarters2仿真平台设计非常简单的CPU的数据通路,加深对CPU的分析和理解。

实验方法:在Quarter2环境下实现非常简单CPU数据通路的设计实验内容:绘制非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。

其数据通路详见教材P。

注:6位寄存器、6位计数器两个元件的设计文件:reg6.gdf和cou6.gdf已经给出。

1、零件制作6位寄存器reg6.gdf(自行设计)6位计数器cou6.gdf(自行设计)8位寄存器(可选择74系列宏函数74273)8位计数器(由两个74161构成)2位寄存器(由D触发器构成,自行设计)6三态缓冲器(自行设计,可由74244内部逻辑修改而成)8三态缓冲器(选择74系列宏函数74244,或作修改)alu模块(自行设计,限于时间,其内部逻辑不作要求)2、选择器件,加入数据通路顶层图8位累加器AC:选择8位计数器6位地址寄存器AR:reg66位的程序计数器PC:cou68位的数据寄存器DR:选择8位寄存器2位的指令寄存器IR:选择2位寄存器3、为PC、DR加入三态缓冲器。

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

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

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

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

8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说明及顶层的“非常简单CPU”数据通路图。

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

数据通路实验

数据通路实验

数据通路实验预习报告1数据通路中运算器与存储器协调工作原理是什么?各个数据经过总线连接传输到运算器及存储器,并将运算结果通过数据通路传递到存储器,期间通过每个存储器及运算器的bus输出控制进行协调工作,使得数据不会在总线上冲突。

2、数据及地址在数据通路上传输方法。

通过不同数据控制信号进行传送。

地址信号及数据信号存储地方不同而且控制信号要求不同,通过这样的方法使得总线上数据不会冲突从而达到地址和数据在数据通路上的传输。

3、数据通路中需要注意各种控制信号的作用和设定值,否则不能仿真出正确的波形。

思考题:1、电路的初始状态怎么设置?有几个器件能够发送数据到总线,它们的控制信号是什么?(1)、令bus_sel全部为1,即令输出到总线的所有控制信号无效。

同时运算模块m|cn|s3|s2|s1|s0为000000,lddr信号都为无效,k输入数据为0。

(2)、能够发送数据到总线的器件为PC,R4,R5,,74244,ALU运算单元,RAM存储器单元。

其控制信号分别为PC_BUS,LDDR4,LDDR5,ALU_BUS,RD,WE。

2、画数据通路电路图时,如何连结单一总线?只需将标号标志为相同引脚即可实验数据在总线上的传送。

得到单一总线连接的数据通路电路图3、如何统一两个模块的总线数据输入端k[7..0]及inputd[7..0]?Inputd[7..0]可以不使用,直接将运算模块数据连入到存储器模块的双向输入输出部分,即可将数据送入到存储模块。

实验日志10月5日问题:RAM模块sw_bus为什么没有连接输入端?解决:发现RAM模块的sw_bus是控制inptud输出的信号线,不进行连接一样可以进行总线数据上的传送,其信号线不影响实验结果。

10月9日问题:为何资料上的波形图中ar地址显示与pc地址显示相差一个时间差?解决:通过分析数据通路的电路,发现pc的数据在更新时其之前的地址值已经传送到ar中,因此ar所得到的地址并非pc当时得到的。

运算器数据通路实验报告

运算器数据通路实验报告

运算器数据通路实验设计报告学号:姓名:成绩:学号:姓名:成绩:总线、半导体静态存储器实验二、实验目的.1.熟悉函数功能发生器的功能、使用方法。

2.熟悉运算器的数据传送通路。

3.完成几种算逻运算操作,加深对运算器工作原理的理解。

三、实验原理运算器是计算机中对数据进行运算操作的重要部件,它的核心是ALU 函数功能发生器(由EPM7064S 构成),其次还要有存放操作数和运算的中间结果之寄存器以及传送数据的总线等部分。

选用不同的控制信号,运算器可以完成不同的运算功能。

1.函数功能发生器(ALU)的功能。

该函数功能发生器(ALU),当输入为Aj、Bj,对应输出为Fj(j=0,1,2,3,4,5,6,7),它可实现8 种不同的算术运算和逻辑算,而且通过对控制参数SEL2~SEL0S0 来选择。

2.数据传送通路实验电路方案实验方案框图见图2—5 所示。

图中SA、SB 为存放两个现行操作的缓冲寄存器,其中SA 兼作存放中间结果的累加器,并且可以通过SA 所连接的八个数据灯显示。

SA、SB 接收来自总线的数据信息送入ALU 进行算术或逻辑操作。

通过移位门将运算操作结果送到总线。

并且ALU 和总线之间需用三态门隔离(采用74LS245)。

1.按照实验电路方案框图,设计一个能完成下列八种补码运算指令的八位运算器。

该运算器实现的八种功能如表2—1 所示。

表2—1:2.根据运算器设计,选择所需元器件,画出实验电路的详细逻辑图,对开关,单脉冲等定义。

因为和上次实验类似,也是绝大多数的器件在“数据通路”中已安排好,只要控制各个控制点即可,除了开关组通过三态传输门(74LS245)的接法和实验一一样外,设置一个指令寄存器(IR),用74LS573 担当IR。

通过八根连接线和“数据通路”中的八位总线连接起来。

存放ALU 的控制信息SEL2~SEL0。

为了便于观察IR 中内容,可以在IR 的输出端同时接上三个电平显示灯。

有的同学如用三个电平开关设置SEL2~SLE0。

数字通信原理实验 数据通路

数字通信原理实验 数据通路

数字通信原理实验数据通路数字通信原理实验数据通路是指用于传输和处理数字信号的各种硬件和软件组件。

数据通路由发送端和接收端组成,主要包括源编码、信道编码、调制、调制解调器、传输介质、信道、解调、信源解码等。

1. 源编码:源编码是将源数据转换为数字信号的过程。

常见的源编码方法包括无编码、霍夫曼编码和差分编码等。

无编码即将源数据直接转化为二进制数字信号。

霍夫曼编码根据源数据的概率统计特性,将出现频率较高的数据用较短的二进制码表示,出现频率较低的数据用较长的二进制码表示。

差分编码是利用当前数据与前一数据之间的差值表示源数据。

2. 信道编码:信道编码是为了提高数据传输可靠性而对源数据进行编码。

常见的信道编码方法包括奇偶校验码、循环冗余校验码(CRC)和海明码等。

奇偶校验码是一种简单的编码方式,通过在源数据中增加一个附加位表示数据中1出现的次数为偶数还是奇数。

CRC是通过与预设的生成多项式进行除法运算,将余数加到源数据后面作为编码。

海明码是具有纠错功能的编码方式,通过增加冗余数据使得接收端可以检测并纠正一定数量的错误。

3. 调制:调制是将数字信号转换为模拟信号的过程。

常见的调制方式包括振幅调制(AM)、频率调制(FM)和相位调制(PM)等。

振幅调制通过改变信号的振幅来表示数字信号的不同值。

频率调制通过改变信号的频率来表示数字信号的不同值。

相位调制则是通过改变信号的相位来表示数字信号的不同值。

4. 调制解调器:调制解调器(Modem)是用于将数字信号转换为模拟信号和从模拟信号恢复为数字信号的设备。

调制解调器通常包括数字到模拟转换器(DAC)、模拟到数字转换器(ADC)和模拟信号处理电路等。

DAC将数字信号转换为模拟信号输出,ADC将模拟信号转换为数字信号输入。

模拟信号处理电路则用于调整模拟信号的幅值、频率和相位等。

5. 传输介质和信道:传输介质是指数字信号在通信中传输的媒介,包括有线传输介质(如电缆)和无线传输介质(如无线电波)。

数据通路组成实验

数据通路组成实验

实验成绩:评阅教师签名:一.实验目的1将双端口通用寄存器堆和双端口存储器模块联机;2进一步熟悉计算机的数据通路;3掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;4锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障二.实验内容及实验结果记录1•接线,在接线前请把下表填写完整。

2 .向RF中的四个通用寄存器分别置入下表中的4个数据5.将RAM中OAAH 55H OFOH OFH单元的数据依次写入R0 R1、R2 R3o然后将R3 R2 R1、R0中的数据读出到DBUSt,通过指示灯验证读出的数据是否正确。

⑴将RAM中OAAH 55H OFOH OFH单元的数据依次写入RO R1、R2 R3,o R1=>DBUS 101110001000000 DBUS1 R2=>DBUS 101110000100000 DBUS 1 R3=>DBUS101110001100000DBUS 16•实验照片三•总结实验过程中调试所遇到的问题和解决方法,写出经验和体会。

通过对数据通路组成实验的实践过程,使我对计算机的数据通路有了较为全面的了解 与认识。

此次实验过程繁杂,实验过程中必须做到细心认真。

组员间的相互协作和监督是取 得正确实验结果的前提。

通过此次实验,书上的理论知识得到了强化与巩固, 同时实践能力 和协作能力得到了进一步的加强。

然而在实验过程中也遇到了一些问题, 在中间过程中由于 一步没有按QD 导致了实验重新来过,通过后来的认真和细心最终圆满解决。

■I*V *r!■ ■中>■ *___I L LI |1r|L L|ftIt] $i ntM1IIQj jL WII1■ 'VA A。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

班级:计算机科学与技术3班
学号:20090810310
姓名:康小雪
日期:2011-10-14
实验3
存储器实验
预习实验报告
疑问:
1、数据通路是干嘛的?
2、数据通路如何实现其功能?
3、实验书上的存储器部分总线开关接在高电平上,是不是错了?
实验报告
一、波形图:
参数设置:
Endtime:2.0us Gridsize:100.0ns
信号设置:
clk:时钟信号,设置周期为100ns占空比为50%。

bus_sel: sw|r4|r5|alu|pc_bus的组合,分别代表的是总线(sw_bus)开关,将
存储器r4的数据显示到总线上,将存储器r5的数据显示到总线上,
将alu的运算结果显示到总线上,将pc的数据打入AR中二进制
输入,低电平有效。

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

ld_reg:lddr1|lddr2|ldr4|ldr5|ld_ar的组合,分别表示将总线数据载入寄存器
r1,r2,r4, r5或AR中,二进制输入,高电平有效。

pc_sel: pc_clr|ld|en的组合,分别代表地址计数器PC的清零(pc_clr)、装
载(pc_ld)和计数使能信号(pc_en),二进制输入,低电平有效。

we_rd:信号we和rd的组合,分别代表对ram的读(we)与写(rd)的操作,
二进制输入,高电平有效
k:k [7]~ k [0],数据输入端信号,十六进制输入。

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

d~result: d [7] result ~d[0] result,最终的数据输出信号,十六进制输出。

ar: ar[7]~ ar[0],地址寄存器AR的输出结果,十六进制输出。

pc: 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],所以得到了上一个部分的仿真结果,后来不研究了一下那个高电平,发现是用来处理单一总线问题的,就改成了与书上一样的图,我以为上面出现的错误结果和这个有关,改了之后波形图有变化,但是,还是是错误的.
但是在两种情况下功能仿真的结果都是正确的:
问题解决了~
原因是周期太短,计算结果还来不及存入到内存单元中,把写入内存的时间周期延长一个周期结果就出来了。

电路本身没有问题。

实验心得:
这次实验是基于前两次实验的成果而成的综合,之前没有发现验收成果后模块中还存在什么问题,把两个模块一拼在一起,问题就出来了,而且不止我一个人出现这样的状况,一直没弄明白这是为什么,后来经过反反复复的仿真和观察,终于找出了问题的原因,并顺利解决了。

这一次又学到了许多东西。

相关文档
最新文档