总线数据传输实验.doc_第1页
总线数据传输实验.doc_第2页
总线数据传输实验.doc_第3页
总线数据传输实验.doc_第4页
总线数据传输实验.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实 验 报 告实验日期:学 号:姓 名:实验名称:总线数据传输实验总 分:一、 实验设计方案 实验框图 实验原理1、 SW_BUS低电平有效,此时将K7.0的数据送到总线,通过L7.0双向数据端口输出显示总线的数据,使用的芯片是74244八位单向三态缓冲器;2、 R3_BUS、R2_BUS、R1_BUS低电平有效,其功能是将数据要传入的寄存器打开,若相应的lddr为1(高电平有效),将数据传入相应的寄存器;3、 总线数据传输时,控制信号中只能有一个有效,寄存器的端口送至数据总线,所以每个BUS接口对应每个R寄存器的显示;4、 通过读写的双重作用,实现R1和R2的数据交换。 表达式Reg3Reg1;Reg1Reg2;Reg2Reg3 方法一:vhdl代码library ieee;use ieee.std_logic_1164.all;entity exp_bus isport(clk:in std_logic; sw_bus,r1_bus,r2_bus,r3_bus:in std_logic; k:in std_logic_vector(7 downto 0); lddr:in std_logic_vector(3 downto 1); l:inout std_logic_vector(7 downto 0);end exp_bus;architecture rtl of exp_bus issignal r1,r2,r3,bus_Reg:std_logic_vector(7 downto 0);begin ldreg:process(clk,lddr,bus_reg) begin if clkevent and clk=1 then if lddr(1)=1then r1=bus_reg; elsif lddr(2)=1then r2=bus_reg; elsif lddr(3)=1then r3=bus_reg; end if; end if; end process;bus_reg0);lZ);end rtl; 方法二:bdf实验原理图 二、 功能验证 波形图(图): 1 2 3 4 5 6 7 8 9 10 操作步骤(对应波形图列表说明每步状态、有效控制信号)设置初值,swr3r2r1_bus=1111,lddr=000,数据初始置k为00,总线输出为高阻态;设置数据k=E1,swr3r2r1_bus=0111,lddr=001,将数据E1传至总线,通过L7.0显示总线数据,数据E1存入r1并显示出来;swr3r2r1_bus=1110,lddr3=100,将R1的数据E1写入总线并存入R3,总线显示从R1传至总线的数据E1;swr3r2r1_bus=1011,lddr=000,将R3的数据E1写入总线中;设置数据k7.0=D2,swr3r2r1_bus=0111,lddr2=010,将数据D2传至总线并存入R2,通过L7.0显示总线数据D2;swr3r2r1_bus=1101,lddr=100,将R2的数据D2写入总线并存入R3,总线显示从R2传至总线的数据D2;swr3r2r1_bus=1011,lddr=000,将R3的数据D2写入总线中;swr3r2r1_bus=1110,lddr=100,将R1的数据E1传至总线并存入R3中,实现R1数据传输到R3中,并显示数据E1;swr3r2r1_bus=1101,lddr=001,将R2的数据D2传至总线并存入R1中,实现R2数据传输到R1中,并显示数据D2;swr3r2r1_bus=1011,lddr=010,将R3的数据E1传至总线并存入R2中,实现R3数据传输到R2中,并显示数据E1,交换完毕。 数据记录R1R2R3初态E1HD2HR1R3D2HE1HR2R1D2HE1HR3R2D2HE1H 仿真结论波形仿真逻辑功能验证正确,通过总线数据传输的原理,用一个八位单向三态缓冲器74244和三个带三态输出的八位寄存器74374实现了数据的显示和交换。三、 实验日志 实验问题Q1. 在使用bdf实验原理图方法中的仿真未出现LresultA1. 在对L7.0的定义中将bidir双向数据端口定义为output单向数据端口 思考题 Q1. 总线数据传输的基本特性是什么? A1. 总线是一组进行互联和传输信息(指令、数据和地址)的信号线,总线的基本特性是不允许挂在总线上的部件同时有一个以上的部件向总线发出信息,但允许挂在总线上的多个部件同时从总线上接收信息。 Q2. 从74374和74244内部电路结构图上说明它们的逻辑功能? A2. 74244是八位单项三态缓冲器,使用了两个反相器(端口是1G和2G)和8个三态缓冲器构成,所以低电平有效,在有效时,输入传至输出,当1G、2G为高电平即无效时,输出端口为高阻态; 74374是带三态输出的八位寄存器,低电平有效,由一个反相器,8个D锁存器和8个三态反相器所构成。OEN是控制端口,为高电平时,输出为高阻态,低电平时有效,时钟的上升沿触发,将输入传至输出端口,时钟处于低电平时,输出保持不变。 Q3. 实验电路中BIDIR端口的用途是什么? A3. BIDIR是双向数据端口,实际应用中,数据总线是双向的,所以要有双向的数据端口,不仅做信号的输入也做信号的输出。 Q4. 举例说明画电路图中连线bus line(粗线)和node line(细线)区别。总线与支线命名方式是什么?A4. 在电路图中,lddr3.1是粗线,通过它的命名方式可以知道lddr有三条与之对应的支线,分别是lddr3、lddr2、lddr1,这三条分线要与总线对应命名。 Q5. 实验需要互换R1和R2数据,但是电路图中R3的连线有问题,错在哪里?为什么?A5. 电路图中R3的连线错误在于R3的输出支线命名全是LE,只是用来显示R3上的数据,而无法让R3上的数据传至总线,所以更改方法是将R3的输出与R1,R2一样,全部改为L,那么便可向总线传输数据。 Q6. exp_bus.vhd代码中如何实现双向总线的端口定义与缓冲? A6. 双向总线线的端口定义是通过inout来实现的。 Q7. 写出exp_bus.vhd代码中(others=”Z”)的其他描述方式? A7. 高阻态。 Q8. 编写VHDL的组合逻辑是如何实现多路选择器?A8. 用when else的语句来实现的。bus_reg0); Q9. 编写VHDL代码时如何

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论