CPLD实验报告计数器及时序电路.doc
文本预览下载声明
内蒙古工业大学信息工程学院
实 验 报 告
课程名称:
实验名称: 实验类型: 验证性□ 综合性□ 设计性实验室名称:
班级: 学号:姓名: 组别:
同组人: 成绩:
实验日期:
预习报告成绩: 指导教师审核(签名): 年 月 日
预习报告
实验二 计数器及时序电路
实验目的:
了解时序电路的VHDL语言设计方法。
了解同步计数器的使用方法。
理解时序电路和同步计数器加译码电路的联系,设计任意编码计数器。
实验设备:
PC机
EDA实验箱(主芯片是ALTERA EPM7128SLC84-15)。
实验内容:
用VHDL语言输入法设计一个同步四位二进制加法计数器和六进制同步计数器。
用74LS161两个宏连接成八位二进制同步计数器。
用74LS161宏,同时采用清零和置数法组成六进制和十二进制计数器。
实验步骤:
采用文本编辑器输入VHDL语言源程序,或采用原理图输入法从MF库中调用器件74161,生成原理图,之后建立工程。
编译。
仿真。
对芯片进行编程。
根据管脚分配情况连线。
根据芯片特点,管脚分配时一般将时钟信号分配给83脚,复位信号分配给1脚。若有使能信号,使能信号分配给84脚。
时钟信号的连接:将实验板上提供的时钟与芯片的83脚相连。
复位信号的连接:将实验板上的某按键开关输出与芯片的1脚相连。
将计数器的输出端分别与LED灯相连。
按动复位键,观察实验结果。
改变输入时钟信号的频率,观察实验结果。
源程序
(1)library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity counter4 is
port(clk,clr: in std_logic;
count: out std_logic_vector(1 downto 0));
end counter4;
architecture beha of counter4 is
signal cnt: std_logic_vector(1 downto 0);
begin
process(clk,clr)
begin
if (clr=0) then
cnt=00;
elsif (clk=1 and clkevent) then
if cnt=11 then
cnt=00;
else
cnt=cnt+1;
end if;
end if;
count=cnt;
end process;
end beha;
(2)library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity cn6 is
port(clk,clr: in std_logic;
count: out std_logic_vector(2 downto 0));
end cn6;
architecture beha of cn6 is
signal cnt: std_logic_vector(2 downto 0);
begin
process(clk,clr)
begin
if (clr=0) then
cnt=000;
elsif (clk=1 and clkevent) then
if cnt=101 then
cnt=000;
else
cnt=cnt+1;
end if;
end if;
count=cnt;
end process;
end beha;
预习报告成绩: 指导教师审核(签名): 年 月 日
实验报告
实验二 计数器及时序电路
实验目的:
(1)了解时序电路的VHDL语言设计方法。
(2)了解同步计数器的使用方法。
(3)理解时序电路和同步计数器加译码电路的联系,设计任意编码计数器。
实验设备:
(1)PC机
(2)EDA实验箱(主芯片是ALTERA EPM7128SLC84-15)。
实验内容:
用VHDL语言输入法设计一个同步四位二进制加法计数器和六进制同步计数器。
实验内容:
源程序
(1)
library ieee;
us
显示全部