一、实验目的
1、了解时序电路的 VHDL 语言设计方法。
2、掌握同步计数器的设计方法,设计任意进制的计数器。
二、实验内容
1、用VHDL设计一个上升沿触发、异步清零的4位二进制计数器。
三、实验设计及结果
1、实验设计
本实验设计一个上升沿触发、异步清零的4位二进制计数器,运用if语句达到预期目标。预设初始状态为A=”0000”,设计当复位为有效电平时计数器清零,当时钟信号发生,并处于上升沿时,计数器开始工作。
当复位键为有效电平,即RESET=’0’时,输出Y=”0000”,此时达到异步清零的目标;当时钟信号发生,且在其上升沿,及CLK=’1’时,A+“0001”,进而输出Y达到在上升沿进行计数的目标。
2、实验代码
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity yibu is
port(
A:in std_logic_vector(3 downto 0);
CLK: in std_logic;
RESET: in std_logic;
Y: out std_logic_vector(3 downto 0)
);
end yibu;
architecture Q of yibu is
begin
process(A,CLK,RESET)
begin
if RESET ='0' then
Y<= "0000";
elsif CLK'event and CLK='1'