vhdl分频器设计

发布网友

我来回答

1个回答

热心网友

LIBRARY ieee;
USE ieee.std_logic_11.all;
use ieee.std_logic_unsigned.all;
ENTITY counter IS
PORT
( clock: IN STD_LOGIC ;
q1khz: BUFFER STD_LOGIC;
q1hz: OUT STD_LOGIC);
END counter;
ARCHITECTURE bhv OF counter IS
BEGIN

KHZ:PROCESS(clock)
VARIABLE cout:INTEGER:=0;
BEGIN
IF clock'EVENT AND clock='1' THEN
cout:=cout+1;
IF cout<=500 THEN q1khz<='0';
ELSIF cout<1000 THEN q1khz<='1';
ELSE cout:=0;
END IF;
END IF;
END PROCESS;

HZ:PROCESS(q1khz)
VARIABLE cout:INTEGER:=0;
BEGIN
IF q1khz'EVENT AND q1khz='1' THEN
cout:=cout+1;
IF cout<=500 THEN q1hz<='0';
ELSIF cout<1000 THEN q1hz<='1';
ELSE cout:=0;
END IF;
END IF;
END PROCESS;
END bhv;
我测试过可以用的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com