发布网友
共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;
我测试过可以用的