- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)