数据通路实验

合集下载

数据通路实验报告

数据通路实验报告

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

二、实验器材和软件实验器材:计算机、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中的四个通用寄存器分别置

实验三数据通路组成实验

实验三数据通路组成实验

实验三数据通路组成实验一实验目的1.进一步熟悉计算机的数据通路2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法4.锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障.二实验电路数据通路实验电路图如图所示。

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

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

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

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

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

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

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

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

三、实验设备1. TEC-5计算机组成原理实验系统1台2.逻辑测试笔一支(在TEC-5实验台上)3.双踪示波器一台(公用)4.万用表一只(公用)四、实验任务1.将实验电路与控制台的有关信号进行连接。

2.用8位数据开关SW7-SW0向RF中的四个通用寄存器分别置入以下数据:R0=OFH,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.做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性和使用方法。

2.写出实验报告,内容是:(1)实验目的。

(2)写出详细的实验步骤、记录实验数据及校验结果。

实验03 数据通路实验

实验03 数据通路实验

实验三数据通路实验一、实验目的1、通过实验进一步熟悉运算器与存储器之间的数据通路的组成结构。

2、通过实验理解顺序节拍发生器的应用和设计方法。

3、通过实验理解系统总线的设计方法。

二、实验步骤1、打开已有的实验工程目录:“DATAPATH”。

通过双击目录中的Quartus II工程文件“DATAPATH.qpf”,利用Quartus II软件打开已经建好的实验工程。

图1打开Quartus II工程2、打开工程后,Quartus II软件的界面如图2所示。

在软件窗口的左边区域的“Project Navigator”列表栏中,选择“files”选项卡,我们可以看到列表栏中列出了这个工程中的设计文件。

本工程的设计文件说明在表1中列举出来。

表1工程设计文件说明表设计文件说明对应组件文件ALU.vhd VHDL设计文件,设计一个四位ALU ALU.bsfMEM.vhd VHDL设计文件,设计一个16*4的ROM存储器用来模拟主存MEM.bsfREG.vhd VHDL设计文件,设计一个带锁存和清零功能的四位寄存器REG.bsf PULSEGEN.vhd VHDL设计文件,设计一个顺序节拍发生器PULSEGEN.bsf DATAPATH.bdf数据通路设计文件其中,设计文件“DATAPATH.bdf”完成了基本功能,实验者首先对其进行验证,需要由实验者在原有设计基础上添加合理设计,完成数据通路时序控制的设计。

图2工程界面图3、如图3上所示,“数据通路”构建在DATAPATH.bdf的设计文件中,除去几个寄存器的脉冲信号,其它模块已经实现连接。

图3数据通路设计图数据通路是数据信号在各个寄存器和存储器之间的传输过程。

这里的设计文件模拟了最简单的数据通路模型。

图3中的“MEM”单元是一个用VHDL语言设计的16*4存储器,为了实验的简便,这里将它设计为ROM,而且从地址0000~1111依次存储的数据也是0~15(比如:地址为0011的存储单元存储的数据也是3)。

实验二数据通路实验

实验二数据通路实验

实验二数据通路实验
一、实验目的
1.了解运算模块与存储器模块如何连接;
2.了解各寄存器控制信号作用;
3.掌握数据通路实验的设计方法。

二、实验仪器
COP2000实验仪。

三、实验原理
数据通路实验是将前面进行过的运算器实验模块和存储器实验模块两部分电路连在一起组成的。

数据通路指CPU中各个寄存器之间信息传递的通路,建立数据通路的方法,例如:寄存器X输出控制信号有效,寄存器Y输入控制信号有效,就建立了X—>Y的数据通路。

寄存器部分控制信号:
寄存器选择信号:输出寄存器选择信号:
四、实验内容及步骤
1.自行设计一个寄存器间进行数据传送的实验,并且完成,写明操作步骤和所用到的控制信号状态。

2.下面给出一个例子。

完成R1+R2=R0的实验。

填写表2-1。

表2-1 数据通路实验结果记录表
3.自己设计操作骤,完成A=(B*2+C)/2-D,并设计表格2-2记录操作步骤和实验结果。

其中:A,B分别为存储单元,C、D为寄存器,B、C、D的内容事先自行写入。

五、实验报告要求
1.自己设计例子或使用上面的例子,写在实验报告上。

2.按实验报告上要求,完成实验报告。

六、思考题
将存储单元的内容送入寄存器R?,需用到哪些控制信号?。

TEC-8 数据通路实验

TEC-8 数据通路实验

开关
TEC-8
K12
K13
K14
K15
8
北京邮电大学计算机学院实验中心系统结构实验室

3.参考接线:
信号 CIN LDC LDZ 开关 GND GND GND
TEC-8
北京邮电大学计算机学院实验中心系统结构实验室
9
K6 K7 K8 K9 K10 GND
K11 GND GND K0 K1
K14 K15
TEC-8
北京邮电大学计算机学院实验中心系统结构实验室
6

六、实验步骤
㈠独立方式 1.将运算器、存储器模块的外部连线按参考 接线,将控制器转换开关拨到独立位置, “独立”灯亮, 将编程开关设置为正常位置, 将开关DP拨到向上位置。打开电源。 2.系统复位,读、写寄存器,设置存储器地 址,将寄存器数据写入存储器,并检测写入 的数据是否正确;重新设置存储器地址,将 存储器数据写入寄存器,并检测写入的数据 是否正确。

TEC-8
北京邮电大学计算机学院实验中心系统结构实验室
5
5 .顺序完成下列指令的执行:
指令 寄存器初值 存储器初值 LD R0, [R2] R2=60H [60H]=24H LD R1, [R3] R3=61H [61H]=83H ADD R0, R1 R0=? R1=? ST R0, [R1] [R1]=? OUT R0 R0=?

TEC-8
北京邮电大学计算机学院实验中心系统结构实验室
2
TEC-8
北京邮电大学计算机学院实验中心系统结构实验室
3
Hale Waihona Puke 五、实验任务 1.将数75H写到寄存器R0,数28H写到寄 存器R1,数89H写到寄存器R2,数32H写 到寄存器R3。 2.将寄存器R0中的数写入存储器20H单元, 将寄存器R1中的数写入存储器21H单元, 将寄存器R2中的数写入存储器22H单元, 将寄存器R3中的数写入存储器23H单元。

数据通路实验实验报告

数据通路实验实验报告

一、实验概述实验名称:数据通路实验实验目的:1. 理解数据通路的基本概念和组成;2. 掌握数据通路中各个模块的功能和相互关系;3. 学会搭建简单的数据通路实验电路;4. 通过实验验证数据通路在实际应用中的正确性。

实验时间:2023年10月26日实验地点:计算机组成原理实验室实验设备:数据通路实验箱、示波器、万用表、连接线等。

二、实验原理数据通路是计算机中用于数据传输的路径,它由一系列的模块组成,包括输入模块、处理模块、输出模块和存储模块等。

数据通路的主要功能是将数据从输入模块传输到处理模块,经过处理后,再将结果传输到输出模块和存储模块。

在本次实验中,我们将搭建一个简单的数据通路实验电路,包括以下几个模块:1. 输入模块:用于接收外部数据,如按键输入、串口通信等;2. 处理模块:对输入的数据进行运算或逻辑处理,如加法、减法、逻辑运算等;3. 输出模块:将处理后的数据输出到外部设备,如显示器、打印机等;4. 存储模块:用于存储数据,如RAM、ROM等。

三、实验步骤1. 搭建实验电路根据实验箱提供的原理图,将各个模块按照要求连接起来。

具体步骤如下:(1)将输入模块的输出端连接到处理模块的输入端;(2)将处理模块的输出端连接到输出模块的输入端;(3)将存储模块的输出端连接到处理模块的输入端;(4)将各个模块的电源和地线连接好。

2. 设置实验参数根据实验要求,设置各个模块的参数,如输入模块的按键输入、处理模块的运算类型、输出模块的显示格式等。

3. 运行实验启动实验程序,观察各个模块的运行情况,记录实验数据。

4. 分析实验结果根据实验数据,分析各个模块的运行情况,验证数据通路在实际应用中的正确性。

四、实验结果与分析1. 实验结果本次实验中,我们搭建了一个简单的数据通路实验电路,实现了数据的输入、处理、输出和存储。

在实验过程中,我们观察到各个模块的运行情况良好,数据传输过程稳定。

2. 实验分析通过本次实验,我们掌握了数据通路的基本概念和组成,了解了各个模块的功能和相互关系。

实验六 运算器数据通路

实验六  运算器数据通路

实验六 运算器数据通路一、实验目的1、熟悉74LS181函数功能发生器的功能,提高器件在系统中应用的能力2、熟悉运算器的数据传送通路3、完成几种算逻运算操作,加深对运算器工作原理的理解 二、实验内容按图6-1所示参考框图自行设计一个能完成表6-1所列补码运算指令的运算器(为简单化电路,进位和结果触发器可以不设置)。

选择适当元件,画出详细实验电路逻辑图(包括对开关的定义),并组装成电路。

表6-1:在电路上进行表6-1中指令的手动单指令操作(操作数、指令码由数据开关输入)。

设计提示:1、运算器的输入缓存器A S 、B S 分别用一片74LS161来实现,但只用到74LS161的置数功能,禁止其计数功能。

2、用一片74LS273作为运算器操作指令寄存器,只用到6位。

3、用一片74LS244控制运算器的运算结果能否送总线。

三、实验仪器及器材1、实验台和+5V 直流稳压电源各一台。

2、器件由附录A “集成电路清单”内选用。

四、实验电路原理(实验电路原理图)1、四位函数功能发生器(ALU )74LS181的功能74LS181通过“控制参数”3S ~0S 和“模式控制”M ,可对两个输入操作数完成32种算、逻运算,并可以工作于正逻辑输入输出或负逻辑输入输出方式(本实验为正逻辑方式)。

控制端0M =时,属算术运算;1M =时,属逻辑运算。

进位采用补码形式输入输出,电路亦可进行数的比较运算。

其操作功能可查阅实验五中的功能表。

2、数据传送通路实验电路方案运算器是计算机对数据进行运算的重要部件,它的核心是ALU 函数功能发生器,其次还要有存放操作数和运算中间结果的寄存器、移位门、传送数据的总线等部件,在不同的控制信号下,运算器完成不同的运算功能。

如图6-1所示。

图6-1 运算器数据通路框图在图6-1中,A S 、B S 为存放两个现行操作数的缓冲寄存器。

其中A S 兼作存放中间结果的累加器,并给予显示。

它们仅接收来自总线的数据信息,送入ALU 进行算、逻运算。

数据通路组成实验实验报告

数据通路组成实验实验报告

数据通路组成实验实验报告数据通路组成实验实验报告一、引言数据通路是计算机系统中的重要组成部分,它负责处理和传输数据,实现各个功能模块之间的协调和通信。

本实验旨在通过构建一个简单的数据通路,探索数据通路的组成和工作原理。

二、实验目的1. 理解数据通路的基本概念和功能;2. 掌握数据通路的组成和工作原理;3. 实践数据通路的设计和实现。

三、实验设备和材料1. 计算机;2. Verilog HDL开发环境;3. 开发板;4. 连接线。

四、实验步骤1. 设计数据通路的功能模块:包括输入模块、输出模块、运算模块等;2. 使用Verilog HDL语言编写各个功能模块的代码;3. 将各个功能模块进行连接,形成完整的数据通路;4. 在开发板上下载并运行数据通路的代码;5. 输入测试数据,观察数据通路的运行情况。

五、实验结果与分析在实验过程中,我们成功地设计并实现了一个简单的数据通路。

通过输入测试数据,我们观察到数据在各个功能模块之间的传输和处理过程。

数据通路能够正确地完成各个功能模块的任务,并将最终结果输出。

六、实验总结通过本次实验,我们深入了解了数据通路的组成和工作原理。

数据通路在计算机系统中起着至关重要的作用,它负责处理和传输数据,保证各个功能模块的正常运行。

通过实践,我们掌握了数据通路的设计和实现方法,提高了我们的计算机系统设计能力。

七、实验心得本次实验让我对数据通路有了更深入的了解。

通过实践,我不仅掌握了数据通路的组成和工作原理,还学会了使用Verilog HDL语言进行代码编写和调试。

这对我的计算机系统设计能力的提升具有重要意义。

八、参考文献[1] 《计算机组成与设计:硬件/软件接口》- David A. Patterson, John L. Hennessy[2] 《数字系统设计与Verilog HDL》- Mark Zwolinski九、附录实验代码和测试数据见附件。

以上为数据通路组成实验实验报告的简要内容。

数据通路实验

数据通路实验

数据通路实验一、实验目的1、进一步熟悉TEC-8模型计算机的数据通路的结构2、进一步掌握数据通路中各个控制信号的作用和用法3、掌握数据通路中数据流动的路径二、实验仪器或设备1、TEC-8计算机硬件综合实验系统2、直流万用表3、逻辑测试笔实验电路数据通路实验的电路图:三、总体设计(设计原理、设计方案及流程等)实验任务(1)将数75H写到寄存器R0,数28H写道寄存器R1,数89H写到寄存器R2,数32H 写到寄存器R3。

(2)将寄存器R0中的数写入存储器20H单元,将寄存器R1中的数写入存储器21H单元,将寄存器R2中的数写入存储器22H单元,将寄存器R3中的数写入存储器23H单元。

(3)从存储器20H单元读出数到存储器R3,从存储器21H单元读出数到存储器R2,从存储器21H单元读出数到存储器R1,从存储器23H单元读出数到存储器R0。

(4)显示4个寄存器R0、R1、R2、R3的值,检查数据传送是否正确。

在进行数据运算操作时,由RD1、RD0选中的寄存器通过4选1选择器A送往ALU 的A端口,由RS1、RS0选中的寄存器通过4选1选择器B送往ALU的B端口;信号M、S3、S2、S1、S1和S0决定ALU的运算类型,ALU对A端口和B端口的两个数连同CIN 的值进行算数逻辑运算,得到的数据运算结果在信号ABUS为1时送往数据总线DBUS;在T3的上升沿,数据总线DBUS上的数据结果写入由RD1、RD0选中的寄存器。

在寄存器之间进行数据传送操作时,由RS1、RS0选中的寄存器通过4选1选择器B 送往ALU的B端口;ALU将B端口的数在信号ABUS为1时送往数据总线DBUS;在T3的上升沿将数据总线上的数写入由RD1、RD0选中的寄存器。

ALU进行数据传送操作由一组特定的M、S3、S2、S1、S0、CIN的值确定。

在进行运算操作时,由RS1、RS0选中的寄存器通过4选1选择器B送往ALU的B端口;由RD1、RD0选中的寄存器通过4选1选择器A送往ALU的A端口;ALU对数A和B进行运算,运算的数据结果在信号ABUS为1时送往数据总线DBUS;在T3 的上升沿将数据总线上的数写入由RD1、RD0选中的寄存器。

数据通路设计实验报告

数据通路设计实验报告

数据通路设计实验报告1. 引言数据通路是计算机中的核心部分,负责处理和传输数据。

在本次实验中,我们设计了一个简单的数据通路来实现特定的功能。

本报告将介绍实验设计的目标、方法和实验结果,并进行讨论和总结。

2. 实验目标本次实验的目标是设计一个数据通路,该数据通路能够执行数据输入、运算和输出的功能。

具体而言,我们需要设计以下模块:1. 输入模块:从外部读取输入数据;2. 运算模块:对输入数据进行运算;3. 输出模块:将运算结果输出到外部。

3. 实验方法为了实现上述目标,我们采用了以下步骤和方法:3.1 模块划分首先,我们将整个数据通路划分为三个模块:输入模块、运算模块和输出模块。

这样的划分既便于理解,又便于设计和实现。

3.2 模块设计接下来,我们对每个模块进行详细的设计。

具体而言,我们需要设计以下部分:3.2.1 输入模块输入模块负责从外部读取输入数据。

我们设计了一个输入寄存器,用于存储输入数据。

输入模块通过读取输入寄存器的内容,将数据传输到运算模块。

3.2.2 运算模块运算模块是整个数据通路的核心部分,负责对输入数据进行运算。

我们设计了一个加法器和一个乘法器来执行相应的运算。

运算模块从输入模块读取数据,并将计算结果存储到输出寄存器中。

3.2.3 输出模块输出模块将运算结果输出到外部。

我们设计了一个输出寄存器,用于存储运算结果。

输出模块从运算模块读取结果,并将其传输到外部。

3.3 数据通路连接最后,我们将各个模块连接起来,形成完整的数据通路。

具体而言,我们将输入模块与运算模块连接,将运算模块与输出模块连接,从而实现数据的输入、运算和输出。

4. 实验结果经过设计和实现,我们成功完成了数据通路的构建。

经过测试,数据通路能够正确地执行输入、运算和输出功能。

具体而言,我们测试了不同的输入数据和运算操作,并验证了结果的正确性。

5. 讨论在实验过程中,我们遇到了一些困难和挑战。

首先,我们在模块设计和连接中需要考虑各个模块之间的数据传输和时序管理。

数据通路实验实训报告

数据通路实验实训报告

一、实验目的本次数据通路实验实训旨在通过实际操作,加深对计算机系统数据通路组成、工作原理及性能分析的理解。

通过实验,使学生掌握数据通路的基本结构、信号流程、时序关系以及数据通路性能的测试方法。

同时,培养学生独立分析问题、解决问题的能力,提高动手实践能力。

二、实验环境1. 硬件环境:- 计算机一台,配置符合实验要求。

- 实验箱一套,包含数据通路实验模块、测试模块、示波器等。

2. 软件环境:- 操作系统:Windows 10- 软件工具:数据通路实验软件、示波器软件等。

三、实验原理数据通路是计算机系统的重要组成部分,主要负责数据的传输和处理。

本实验主要研究以下内容:1. 数据通路的基本结构:包括数据总线、地址总线、控制总线、运算器、存储器等。

2. 数据通路的信号流程:从输入数据到输出结果的过程。

3. 数据通路的时序关系:各模块之间的时间配合和协调。

4. 数据通路性能的测试方法:通过实验测试数据通路的带宽、延迟等性能指标。

四、实验内容1. 数据通路结构认识:- 观察实验箱各模块的连接方式,了解数据通路的基本结构。

- 分析各模块的功能和作用。

2. 数据通路信号流程分析:- 通过实验软件,模拟数据通路中的信号流程。

- 分析信号在数据通路中的传输路径和时序关系。

3. 数据通路时序关系分析:- 观察实验箱中各模块的时钟信号,分析时序关系。

- 通过实验软件,调整时序参数,观察对数据通路性能的影响。

4. 数据通路性能测试:- 使用示波器测量数据通路中的信号波形,分析信号延迟等性能指标。

- 通过实验软件,模拟不同负载下的数据通路性能,分析其带宽、延迟等指标。

五、实验过程1. 数据通路结构认识:- 打开实验箱,观察各模块的连接方式,了解数据通路的基本结构。

- 通过实验指导书,分析各模块的功能和作用。

2. 数据通路信号流程分析:- 启动实验软件,设置输入数据。

- 观察信号在数据通路中的传输路径和时序关系。

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,总线上无数据,呈高阻态。

数据通路实验

数据通路实验

实验五数据通路实验一、实验目的1、由运算器实验与存储器实验原理的基础上,掌握组成计算机的数据通路,熟悉地址和数据在道路上的传输。

2、要求运算结果能够回写到存储器里存储并读出显示。

3、了解怎样将运算器和存储器两个模块连接起来。

4、地址设计为4位,数据设计为8位。

5、能够对运算的结果进行一位或多位移位处理,并再次参加运算。

二.实验设备及器件JZYL—Ⅱ型计算机组成原理教学实验仪一台;芯片:74LSl81:运算器芯片2片74LS373:八D锁存器3~4片74LS244:数据开关2片74LSl61:同步4位计数器1片6116存储器或2114存储器1~2片三、实验任务自己设计一个电路和利用实验参考电路进行实验,实验要求先将多个运算数据事先存入存储器中,再由地址选中,选择不同的运算指令,进行运算,并将结果显示,还可以进行连续运算和移位,最后将最终结果回写入存储器中。

复习前两个实验电路中各个信号的含义和作用,重点是运算与存储器之间的数据通路。

四.实验电路1.自己设计电路:可以自由设计,位数任意。

2.给出的参考电路:(按8位设计)数据通路参考电路分别如图3.13和3.15所示。

五.实验要求及步骤1、实验前的准备1)复习有关运算器和存储器的内容:复习《计算机组成原理》中有关数据通路的章节内容。

对数据通路的构成、数据在数据通路中的流动及控制方法有基本的了解。

2)熟悉电路中各部分的关系及信号间的逻辑关系3)参考芯片手册,自己设计实验电路,画出芯片间管脚的连线图,标上引脚号,节省实验的时间。

4)对所设计的电路进行检查,重点是检查能否控制数据在电路中不同部件之间的传输。

2、实验步骤实验可按照自己设计的电路或参考电路按照搭积木的方式进行。

先完成运算器的数据通路部分,在运算器部分能够正确完成各类运算的基础上,再增加存储器通路,并能通过带三态控制的数据开关,存入要用的初始数据。

最终的结果能够在指示灯上显示,并再回写入存储器中。

实验五处理器数据通路实验

实验五处理器数据通路实验

实验五数据通路的设计和验证一、实验目的1、通过数据通路的的设计和验证,掌握CPU数据通路的基本原理和控制信号的顺序。

2、了解QUARTUS II硬件描述语言和原理图混合输入设计的过程。

3、掌握Simplest CPU的数据通路的控制方法,为控制器实验奠定基础。

二、实验原理如图1所示是本次实验所设计的Simplest CPU的数据通路和存储器部分的原理框图,该处理器支持的指令集如表1所示,只有4条指令。

该CPU的寄存器如表2所示,数据通路的控制信号如表2所示。

表1 SimplestCPU的指令集该处理器的存储器为64单元,编址0~63,通过地址总线Addr[5..0]进行选择;每个单元数据宽度8位,分别通过Dout[7..0]和Din[7..0]进行数据的读写,存储器的读、写控制信号分别为MRD和MWR。

表2 寄存器介绍表3 数据通路控制信号实验内容本实验由多个设计文件构成,并且顶层设计采用原理图输入方式,如图2所示是本次实验的顶层设计原理图。

图中的各个模块采用verilog硬件描述语言设计,对应的模块分别是时钟分频器ClockInput、数据通路datapath、存储器mem、显示输出display和与PC机的输入输出调试接口PC_InOut,对应的设计文件分别是ClockInput.v、datapath.v、mem.v、display.v和PC_InOut.v,如表4所示。

表4 本实验所用的设计文件图2 本次实验的顶层设计原理图四、实验步骤(请参考实验演示文档)1、打开QUARTUSII软件,新建一个工程。

2、建完工程之后,新建一个原理图文件,并保存为EXP5.bdf。

3、再新建一个Verilog File,打开编辑器。

4、按照实验原理和自己的想法,在编辑窗口编写Verilog代码,请参考实验所提供的实验代码文件。

5、编写完Verilog代码后,保存起来。

6、对自己编写的Verilog代码生成符号文件“Create Symbol File from current file”,对程序的错误进行修改。

常规数据通路组成实验3

常规数据通路组成实验3

实验三常规数据通路组成实验一、实验目的1.在线连接双端口通用寄存器和双端口内存模块。

2.熟悉电脑的数据路径。

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

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

第二,实验类型认证类型。

第三,实验仪器1.TEC-4计算机构成原理实验仪器。

2.一个双踪示波器。

3.一个DC万用表。

4.一支逻辑测试笔。

四、实验原理图3为数据通路实验的电路图,由双端口内存实验模块和双端口通用寄存器模块(RF)连接而成。

本实验不涉及双端口内存的指令端口。

通用寄存器文件连接到运算器模块,这个实验涉及到操作数寄存器DR2。

由于双端口内存RAM是三态输出,因此可以直接连接到数据总线DBUS。

此外,DBUS还连接了一个双端口通用寄存器文件。

这样,写入内存的数据可以由通用寄存器提供,从内存RAM 读取的数据也可以发送到通用寄存器文件保存。

实验2使用了双端口RAM,实验1使用了DR2。

通用寄存器文件RF(U32)由一个ISP1016实现,功能类似于两个4位并行的MC14580组成的寄存器文件。

射频包含四个8位通用寄存器R0、R1、R2和R3,带有一个写端口和两个输出端口,因此一个通道的数据可以同时写入。

读出两种数据。

名为WR端口的写端口连接到一个8位临时寄存器(U14)ER,它是一个74HC374。

名为RS(端口b)和RD(端口a)的输出端口连接到算术单元模块的两个操作数寄存器DR1和DR2。

RS端口(B端口)的数据输出也可以通过8位三态门RSO(U15)直接输出到DBUS。

在双端口通用寄存器文件模块的控制信号中,RS1和RS0用于选择从RS端口(B端口)读取的通用寄存器,RD1和RD0用于选择从RD端口(A端口)读取的通用寄存器。

而WR1和WR0用于选择从WR端口写入的通用寄存器。

WRD是写控制信号。

当WRD=1时,在T2上升沿将临时寄存器er中的数据写入通用寄存器文件中RD1和RD0选择的寄存器;当WRD=0时,电流变位寄存器中的数据不写入通用寄存器,并且电流变位信号控制电流变位寄存器从数据总线写入数据。

数据通路的实验报告

数据通路的实验报告

数据通路实验报告数据通路实验报告一.实验概述。

1.数据通路的设计原则。

数据通路的设计直接影响到控制器的设计,同时也影响到数字系统的速度指标和成本。

一般来说,处理速度快的数字系统,其中独立传递信息的通路较多。

当然,独立数据传送通路的数量增加势必提高控制器设计复杂度。

因此,在满足速度指标的前提下,为使数字系统结构尽量简单,一般小型系统中多采用单一总线结构。

在较大系统中可采用双总线结构或者三线结构。

2.数据通路的结构。

① 算术逻辑单元 ALU:有 S3,S2,S1,S0,M,CN 等 6个控制端,用于选择运算类型。

② 暂存器 A 和 B:保存通用寄存器组读出的数据或BUS 上来的数据。

数据通路实验报告③ 通用寄存器组 R:暂时保存运算器单元ALU 算出的结果。

④ 寄存器 C:保存 ALU 运算产生的进位信号。

⑤ RAM 随机读写存储器:受读/写操作以及时钟信号等控制。

⑥ MAR:RAM 的专用地址寄存器,寄存器的长度决定 RAM 的容量。

⑦ IR:专用寄存器,可存放由 RAM 读出的一个特殊数据。

⑧ 控制器:用来产生数据通路中的所有控制信号,它们与各个子系统上的使能控制信号一一对应。

⑨ BUS:单一数据总线,通过三态门与有关子系统进行连接。

二.实验设计及其仿真检测。

一,运算器。

8 位运算器VHDL波形仿真二,存储器。

顶层设计:其中sw_pc_ar 的VHDL 语言描述:波形仿真三,原仿真实验电路。

仿真结果:四,修改电路。

因为此次实验结果需要下载到FPGA 板中进行操作及观察,而原始电路中,需要输入的变量数量过多,导致电板中的输入按键不够用,所以需要对电路进行修改。

此时我们引入一个计数器PC 来代替需要手动输入的指令alu_sel[5..0]以及数据d[7...0]。

同时还需要引入数码管的位选信号译码器 choose 和段选信号译码器xianshi。

计数器 PC 的VHDL 语言描述位选信号译码器 choose 的 VHDL 语言描述段选信号译码器的VHDL 语言描述经过修改和完善以后的电路图为完善后的电路的引脚分配情况三.实验过程。

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

数据通路实验
预习报告
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当时得到的。

所以在我自己进行仿真的时候,将pc的新地址送入ar后,才将写信号改为有效,从而可以解决困惑。

10月12日
问题:
出现了d[7..0]与后面的数据输入不能运用总线的方法进行输入。

解决:
解决方法不太好,因为其中不太明白为何出现这样的问题,可能是因为该八个端口是双向输入输出,所以不能直接用于输入。

最后只能将输出与输入直接相连,编译成功。

10月13日
问题:
数据通路实验的输入端过多,需要进行化简,想到了运用译码的方法进行简化,从而将输入端减少至实验箱够用的个数。

但经过译码后发现输出没问题的情况下PC保持状态时并没有进行保持,而是进行了清零。

解决:
经观察输出波形及输入数据发现,可能是因为输入端的en信号影响的反应,最后决定将pc状态的数据不进行译码,而直接进行输入,最后下载到试验箱时没有该问题出现。

10月14日
问题:
下载到试验箱时发现en为0,pc为111时数码管显示为计数情况。

解决:
经观察电路发现,pc为111,pc_bus为0时该状态一直保持着,即使en为0信号,所以在时钟信号有效地时候就会计数,最后想到运用一个与门将clk信号计数屏蔽掉,如图:
10月18日
问题:ram单元数据不能送入到dr1等寄存器。

解决:发现问题出在d[7..0]的数据不能送到总线上,只需将代码进行改变。

改动如下:
说明:由于d的数据只需在we_rd为01的时候送到dr等寄存器中,所以在x输入信号有效时将d的数据付给总线即可。

X端口连接rd
信号如图:,we_rd[0]为rd信号。

实验报告
一、附加电路设计思想:
(1)、输入部分:运用译码方法,用sw_bus为例,其有六种状态分别为11111,11110,11101,11011,10111,01111,(同一状态下只有一个bus线为有效),所以只需用000至101,来进行译码,译码部
分语言为
其他输入部分一样运用此方法。

另一种方法可以用计数器,但是操作起来感觉有点麻烦,所以没有使用。

(2)、显示部分
显示部分需要进行0到16的显示,用十六进制就是0到F的数码管显示,所以7449器件不能使用。

当然可以自己用电路进行连接,三态门进行实现。

设计起来比较麻烦。

此处运用vhdl语言。

译码部分为:
二、数据通路部分波形仿真结果及说明:
波形仿真说明:
1、设定初始状态使bus_sel全部为1,alu_sel为0,ld_reg为
0.,从而将输出控制信号设定为无效状态。

同时pc控制为
100即保持不变状态。

Ram控制读写为00即没进行任何操作。

数据输入端k[7..0]为0,得到总线输出为zz高阻态。

2、将pc设定为计数状态,bus_sel为11110,从而pc_bus为有
效将计数得到的数据输出到总线上,alu控制单元一样处于
无效状态。

Ld_reg中为00001,we_rd为00即AR存储器为有
效但不进行读写操作,然后pc_sel为100成为保持状态,
ld_ar为0选中ar,使得ar处于地址为01H处。

3、将数据写入R1和R2。

控制信号bus_sel为01111使得数据输
入为有效此时k[7..0]输入为09H和02H,ld信号分别选中
为10000和01000使得R1和R2能够存储输入的数据。

4、将alu_sel设定为011001进行dr1与dr2加计算,得到的数
据0BH存入r4寄存器中,同时将we_rd设定为10进行写入
RAM操作,其写入地址为01H单元。

(从ar显示数据可以看
出)
5、将计数器控制端pc_sel置为111,进行计数,得到02H地址,
并将其打入ar中,确定下次写入时地址无误。

6、将alu_sel设定为000110进行dr1与dr2加计算,得到的数
据07H存入r5寄存器中,同时将we_rd设定为10进行写入
RAM操作,其写入地址为02H单元。

(从ar显示数据可以看
出)
7、将pc进行清零操作,令pc_sel为000,即可进行清零,同时
令pc_bus为0,使得pc的数据传到总线上。

然后进行加计
数,pc_sel为111,并使ldar有效使地址处于01H状态。

8、进行读操作,读出01H中存在的数据,令bus_sel为11111,
we_rd为01,pc_sel为100处于保持状态,ld信号为0无效。

读出数据位0BH,此为刚09H加02H的结果,可见存入RAM
中成功。

9、再令计数器加计数到02H,同时ldar有效处于02H地址中。

然后读操作,令bus_sel为11111,we_rd为01,pc_sel为
100处于保持状态,ld信号为0无效,读出数据位07H,此
即为刚刚算出的09H减02H的结果,同样存入RAM成功。

10、再进行加计数pc_sel为111,将地址变为03H,便于下次操
作。

11、进行R4和R5的数据计算。

将R4和R5的bus控制端分别设
定为0,使其数据分别进入R1和R2,方便进行算术运算。


状态需要we_rd为00,R1和R2的ld信号有效使数据能够进
入。

12、Alu_sel设定为011001,进行DR4加DR5的计算,同时alu_bus
为0使计算的输出可以到总线。

再令we_rd为10,将加计算
的结果12H存入RAM中地址为03H的单元,然后令we_rd为
01读出此处数据位03H,说明没有错误,正确存入了数据。

13、再进行加计数,使pc计数到04H单元,并令ldar为1使AR
为处于该地址。

再令pc_sel为100保持当前地址,alu_sel
为000110进行dr1减dr2,同时we_rd为10将得到的结果
04H写入AR。

最后再读操作,令we_rd为01,得到仍为04H。

下面是对01H 和02H 单元数据的操作运算,只进行了01H 和02H 单元的加运算,减运算省略不做。

相关文档
最新文档