实验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数据通路设计实验目的: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. 理解数据通路的基本概念和组成;2. 掌握数据通路中各个模块的功能和相互关系;3. 学会搭建简单的数据通路实验电路;4. 通过实验验证数据通路在实际应用中的正确性。
实验时间:2023年10月26日实验地点:计算机组成原理实验室实验设备:数据通路实验箱、示波器、万用表、连接线等。
二、实验原理数据通路是计算机中用于数据传输的路径,它由一系列的模块组成,包括输入模块、处理模块、输出模块和存储模块等。
数据通路的主要功能是将数据从输入模块传输到处理模块,经过处理后,再将结果传输到输出模块和存储模块。
在本次实验中,我们将搭建一个简单的数据通路实验电路,包括以下几个模块:1. 输入模块:用于接收外部数据,如按键输入、串口通信等;2. 处理模块:对输入的数据进行运算或逻辑处理,如加法、减法、逻辑运算等;3. 输出模块:将处理后的数据输出到外部设备,如显示器、打印机等;4. 存储模块:用于存储数据,如RAM、ROM等。
三、实验步骤1. 搭建实验电路根据实验箱提供的原理图,将各个模块按照要求连接起来。
具体步骤如下:(1)将输入模块的输出端连接到处理模块的输入端;(2)将处理模块的输出端连接到输出模块的输入端;(3)将存储模块的输出端连接到处理模块的输入端;(4)将各个模块的电源和地线连接好。
2. 设置实验参数根据实验要求,设置各个模块的参数,如输入模块的按键输入、处理模块的运算类型、输出模块的显示格式等。
3. 运行实验启动实验程序,观察各个模块的运行情况,记录实验数据。
4. 分析实验结果根据实验数据,分析各个模块的运行情况,验证数据通路在实际应用中的正确性。
四、实验结果与分析1. 实验结果本次实验中,我们搭建了一个简单的数据通路实验电路,实现了数据的输入、处理、输出和存储。
在实验过程中,我们观察到各个模块的运行情况良好,数据传输过程稳定。
2. 实验分析通过本次实验,我们掌握了数据通路的基本概念和组成,了解了各个模块的功能和相互关系。
数据通路组成实验实验报告
数据通路组成实验实验报告数据通路组成实验实验报告一、引言数据通路是计算机系统中的重要组成部分,它负责处理和传输数据,实现各个功能模块之间的协调和通信。
本实验旨在通过构建一个简单的数据通路,探索数据通路的组成和工作原理。
二、实验目的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、由运算器实验与存储器实验原理的基础上,掌握组成计算机的数据通路,熟悉地址和数据在道路上的传输。
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、实验步骤实验可按照自己设计的电路或参考电路按照搭积木的方式进行。
先完成运算器的数据通路部分,在运算器部分能够正确完成各类运算的基础上,再增加存储器通路,并能通过带三态控制的数据开关,存入要用的初始数据。
最终的结果能够在指示灯上显示,并再回写入存储器中。
数据通路实验报告121544120
LDZ
LDC
记录
0
1
0
1
1
0
0
是否有效
无效
有效
无效
无效
有效
无效
无效
功能
无
无
无
无
无
无
无
信号
RAMBUS
LAR#
SELAR
LRW
PCINC
LPC#
CLR#
记录
0
1
0
0
0
1
0
是否有效
无效
无效
无效
无效
无效
无效
无效
功能
无
无
无
无
无
无
无
指示灯
μA5-μA0
D7-D0
A7-A0
B7-B0
C
Z
记录
10 0101
0011 0101
有效
有效
有效
有效
有效
有效
有效
功能
无
无
无
无
无
无
无
信号
SEL3
SEL2
SEL1
SEL0
LR
LDZ
LDC
记录
0
0
0
1
0
0
0
是否有效
无效
有效
无效
有效
有效
无效
无效
功能
无
无
无
无
无
无
无
信号
RAMBUS
LAR#
SELAR
LRW
PCINC
LPC#
CLR#
记录
0
0
数据通路组成实验
数据通路组成实验
一、实验目的
1.将运算器模块与存储器模块联机;
2.进一步熟悉计算机的数据通路。
二、实验设备
TDN-CM+计算机组成原理实验箱一台,排线若干
三、实验内容
1.实验原理
实验原理如图4-1所示,它是将前面进行的运算器实验模块和存储器实验模块两部分电路连接在一起形成的。
由于RAM是三态门输出,因此可以将RAM连接到运算器的数据总线BUS上。
这样,写入RAM的数据可以由运算器提供,而从RAM读出数据可以送到运算器的暂存工作寄存器保存。
图4-1
2.实验步骤
1)向寄存器DR1、DR2中置入已知数据,完成以下运算:
( DR1 + DR2 ) →DR2
( DR1 ⊕ DR2 ) →DR1
2)运算正常后,将DR1、DR2的数据分别写入到RAM的AA和AB(十六进制)单元中;
3)从RAM的AA,AB单元读出刚刚写入的数据分别写入到寄存器DR2和DR1中,并检查RAM
写入和读出的数据是否正确;
4)将全“1”和全“0”分别写入RAM的AC、AD单元中;
5)将AC、AD单元中的全“1”和全“0”分别读到DR1和DR2中,检查RAM写入和读出的
数据是否正确。
四、实验要求
1.做好实验预习,掌握实验电路的数据通路特点和集成电路的功能特性,画出连接实验线路;
2.写出实验报告。
五、实验接线图。
计算机组织与结构实验报告四
计算机组织与结构实验报告四实验四、数据通路实验一、实验目的及要求1.进一步熟识tec-8中各掌控信号的促进作用和用法。
2.介绍tec-8的数据通路结构。
3.了解数据通路中数据流动的路径。
4.将双端口数据存储器堆上和双端口存储器模块联机。
二、实验连线及表明数据通路实验中实现三种类型的操作:(1)alu运算结果载入制订寄存器(r0~r3)。
(2)alu运算结果载入制订存储单元。
(3)将制定存储单元的内容写入指定存储器(r0~r3)。
实验连线:三、实验任务本次实验是前两次实验的综合,同学们应根据实验的具体内容设计必要的步骤,给出各步操作应有的控制信号状态。
1.r0=45h,r2=49h,将r0+r2的结果取走11h单元,r0-r2的结果取走22h单元2.将12h载入33h,8ch载入44h单元,同时实现33h单元的内容与44h单元的内容相乘,结果载入r1。
3.实现r3=r0|r2,r0=r1+r2。
四、实验内容1.r0=45h:rd0和rd1用为00,sd7~sd0用为01000101,sbus复置1,drw复置1,按动qd产生t3。
r2=49h:rd0和rd1置为10,sd7~sd0置为01001001,sbus置1,drw置1,按动qd产生t3。
11h载入地址寄存器ar:drw复置0,sd0~sd7用为00010001,sbus复置1,lar复置1,按动qd。
r0+r2:s3~s0置为1001,m置0,sbus置0,abus置1,rd0、rd1置为00,rs0、rs1置为10(与实际操作视角顺序相反),按动qd结果写入数据总线。
abus置0,memw置1,按动qd,结果写入11h单元。
22h载入地址寄存器ar:drw复置0,sd0~sd7用为00100010,sbus复置1,lar复置1,按动qd。
r0-r2:s3~s0置为0110(结果还要加1),m置0,sbus置0,abus置1,rd0、rd1置为00,rs0、rs1置为10,按动qd结果写入数据总线。
《计算机组成原理数据通路实验
《计算机组成原理数据通路实验这是一个关于计算机组成原理数据通路的实验,旨在帮助学生学习数据通路的实现原理和设计方法。
实验内容:1. 实现一个简单的数据通路,包括加法器、移位器、选择器等基本模块。
2. 利用数据通路实现一个ALU(算术逻辑单元),能够进行基本的算术和逻辑运算。
3. 实现一个简单的CPU(中央处理单元),包括指令寄存器、程序计数器、控制信号产生器、数据通路等模块。
4. 编写一些简单的汇编程序,测试CPU 的正确性和性能。
实验设备:1. 一个可编程逻辑器件(FPGA)开发板,用于实现电路的硬件化。
2. 一个集成开发环境(IDE),用于编写和调试程序。
实验步骤:1. 学习数据通路的基本实现原理和设计方法。
2. 设计并实现一个简单的数据通路,包括加法器、移位器、选择器等基本模块。
3. 利用数据通路实现一个ALU(算术逻辑单元),能够进行基本的算术和逻辑运算。
4. 实现一个简单的CPU(中央处理单元),包括指令寄存器、程序计数器、控制信号产生器、数据通路等模块。
5. 编写一些简单的汇编程序,测试CPU 的正确性和性能。
6. 考虑优化CPU 的设计,提高性能和可扩展性。
7. 结合实际应用场景,设计和实现更复杂的数据通路和CPU,提高实验难度和实用性。
实验目的:1. 掌握计算机组成原理的基本知识和实现方法。
2. 熟悉数据通路和CPU 的设计原理和流程。
3. 培养创新能力和解决问题的能力。
4. 提高学生理论与实践相结合的能力。
5. 培养学生合作和交流的能力。
6. 实现自己的创意和想法,提高实验的趣味性和挑战性。
数据通路设计实验报告
数据通路设计实验报告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.数据通路的结构。
① 算术逻辑单元 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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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],所以得到了上一个部分的仿真结果,后来不研究了一下那个高电平,发现是用来处理单一总线问题的,就改成了与书上一样的图,我以为上面出现的错误结果和这个有关,改了之后波形图有变化,但是,还是是错误的.
但是在两种情况下功能仿真的结果都是正确的:
问题解决了~
原因是周期太短,计算结果还来不及存入到内存单元中,把写入内存的时间周期延长一个周期结果就出来了。
电路本身没有问题。
实验心得:
这次实验是基于前两次实验的成果而成的综合,之前没有发现验收成果后模块中还存在什么问题,把两个模块一拼在一起,问题就出来了,而且不止我一个人出现这样的状况,一直没弄明白这是为什么,后来经过反反复复的仿真和观察,终于找出了问题的原因,并顺利解决了。
这一次又学到了许多东西。