文档详情

EDA实验实习报告.doc

发布:2017-02-12约8.74千字共14页下载文档
文本预览下载声明
实验七、八 实验报告 班级:通工0909班 姓名: 罗威 学号班内序号: 03 实验七:移位寄存器设计 一、实验目的 1、掌握移位寄存器电路设计的方法。 2、通过开发CPLD来实现时序逻辑电路的功能。 二、实验所用仪表及主要器材 计算机,软件maxplus2,CPLD芯片 三、实验原理简述 (1)启用原理图(文本)编辑器编译; (2)保存、编辑程序语言,在程序无错后进行编译。 (3)启动波形图编译器,设置、编辑波形图并保存、仿真。 (4)指定、设置CPLD芯片——EPM7032SLC44-10;输入输出分配管脚。 (5)下载实现,按照设定的输入输出管脚,用线连接实验板上的发光二极管和开关改变输入开关的状态,观察输出端对应的发光二极管的状态。 四、实验测量记录(真值表、源程序、仿真图) 1、 设计一个带异步清零的并入串出移位寄存器,在时钟上升沿的作用下,输入的并行数据由输出端逐位输出。 原程序: library ieee; use ieee.std_logic_1164.all; entity yiweijicun is port(clk,rd,sr,sl,s1,s0:in std_logic; d:in std_logic_vector(3 downto 0); y:out std_logic_vector(3 downto 0)); end; architecture yiweijicun1 of yiweijicun is signal temp:std_logic_vector(3 downto 0); begin process(clk,rd) begin if rd=0then temp=0000; elsif(clk event and clk=1)then if(s1=0and s0=0)then temp=d; elsif(s1=1and s0=0)then temp=temp(2 downto 0)sl; elsif(s1=0and s0=1)then temp=srtemp(3 downto 1); end if; end if; end process; y=temp; end; 仿真图: 2、设计一个能自启的环形计数器,实现如图所示的状态转换图。 library ieee; use ieee.std_logic_1164.all; entity ziqixunhuan is port(clk,reset:in std_logic; yq:out std_logic_vector(3 downto 0)); end; architecture ziqixunhuan1 of ziqixunhuan is signal nextq: std_logic_vector(3 downto 0); begin process(clk,reset) begin if reset=1 then nextq=0001; elsif(clkevent and clk=1)then case nextq is when0001= nextq =0010; when0010= nextq =0100; when0100= nextq =1000; when others=nextq=0001; end case; end if; end process; yq=nextq; end; 仿真图:(自启动体现在哪?请你考虑下!) 3、设计一个8为循环移位寄存器,设计一个移位控制端dir,dir为1,则循环右移,dir为0,则循环左移,输入输出均为并行数据。 library ieee; use ieee.std_logic_1164.all; entity xunhuanyiwei is port(D:in std_logic_vector(7 downto 0); reset,clk,dir:in std_logic; Y:out std_logic_vector(7 downto 0)); end; architecture xunhuanyiwei1 of xunhuanyiwei is signal nextD: std_logic_vector(7 downto 0); begin process(clk,reset) begin if reset=1 then nextD=D;
显示全部
相似文档