选做实验(CPLD)课案.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选做实验(CPLD)课案

实验十、总线控制实验(选做) 一、实验目的: 1. 了解总线的概念及其特性。 2. 掌握总线的传输控制特性。 二、实验连线 见连线图。(连线时应按如下方法:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上) 三、实验说明 在本实验中,挂接在数据总线上的有输入设备、输出设备、存储器和堆寄存器。为了使它们的输出互不干扰,就需要这些设备都有三态输出控制,且任意两个输出控制信号不能同时有效。本实验的流程为: 输入设备将一个数打入R0寄存器。 输入设备将另一个数打入地址寄存器。 将R0寄存器中的数写入当前地址的存储器中。 将当前地址的存储器中的数用数码管显示出来。 四、实验步骤 按照上图所示将所有连线接好。 总线初始化。关闭所有三态门置控制开关PC-G=1(寄存器堆控制信号),CA1=1(显示输出),CA2=1(数据输入),CE=1(存储器片选)。其它控制信号为LOAD=0,LAR=0,C=1,WE=1,A=1,B=1。 将D15—D8拨至,置CA2=0,LOAD=1,然后置LOAD=0,将打入R0寄存器。 将D15—D8拨至,置LAR=1,然后置LAR=0,将打入地址寄存器。 置CA2=1,PC-G=0,CE=0,WE=0,将R0寄存器中的数写入当前地址的存储器中。然后置WE=1,CE=1。 置PC-G=1,CE=0,CA1=0,C=0,将当前地址的存储器中的数输出至数码管,然后置C=1,CE=1,CA1=1。 五、实验结果 照以上六步操作完成后,输出显示电路LED的低8位显示“F0”。 实验十一、可重构原理计算机组成实验(选做) 一、实验目的: 1、掌握用CPLD实现CPU某一部分功能的方法。 二、实验说明 在本实验中,用CPLD实现运算器(ALU)的功能。ALU部分的原理图见实验一。本实验的VHDL程序如下: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity reconst is port (S: in std_logic_vector(3 downto 0); LDR1,LDR2,T4,ALU_G,M,CN: in std_logic; data: inout std_logic_vector(7 downto 0) ); end reconst; architecture doit of reconst is signal data1,data2,data3 : std_logic_vector(7 downto 0); begin P1: process(T4,LDR1) begin if(T4event and T4=1) then if(LDR1=1) then data1=data; end if; end if; end process P1; P2: process(T4, LDR2) begin if(T4event and T4=1) then if(LDR2=1) then data2=data; end if; end if; end process P2; data3=data1 when S=0000 and M=0 and CN=1 else data2 when S=0011 and M=0 and CN=1 else data1-data2-1 when S=0110 and M=0 and CN=1 else data1+data2 when S=1001 and M=0 and CN=1 else data1+data1 when S=1100 and M=0 and CN=1 else data1-1 when S=1111 and M=0 and CN=1 else data=data3 when ALU_G=0 else ZZZZZZZZ; end doit; 注:本程序实现不带进位的加法器功能。其功能表如下:(Data1为被加数,Data2为加数) 选择 结果 S3 S2 S1 S0 M Cn 0000 0 1 Data1 0011 0 1 Data2 0110 0 1 Data1+Data2-1 1001 0 1 Data1+Data2

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档