Quartus II 实现循环计数器

期末裸考系列之 循环计数器(按照循环码(000-001-011-111-101-100-000)依次循环)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xunhuan6 is
	port(clock,enable:in std_logic;
						 q:out std_logic_vector(2 downto 0);
					 cout:out std_logic);
end xunhuan6;
architecture one of xunhuan6 is
begin
	process(clock)
		variable count:std_logic_vector(2 downto 0);
	begin
		if clock'event and clock='1' then 
			if enable='1' then
				if count<5 then count:=count+1;
					else count:="000";
				end if;
			end if;
		end if;
		if(count=5) and ( enable='1') then cout<='1';
			else cout<='0';
		end if;
case count is
	when "000"=> q<="000";
	when "001"=> q<="001";
	when "010"=> q<="011";
	when "011"=> q<="111";
	when "100"=> q<="101";
	when "101"=> q<="100";
	when others => null;
end case;
end process;
end one;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值