哪位大哥帮我写写分频器的VHDL语言

来源:百度知道 编辑:UC知道 时间:2024/05/23 21:10:54
输入是reset,clk,输出是fout

八位的分频:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DVF IS
PORT(CLK:IN STD_LOGIC;
RESET:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
FOUT:OUT STD_LOGIC);
END;
ARCHITECTURE ONE OF DVF IS
SIGNAL FULL:STD_LOGIC;
SIGNAL F_T:STD_LOGIC;

BEGIN
P_REG:PROCESS(CLK)
VARIABLE CNT8:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF CNT8="11111111"THEN
CNT8:=RESET;
FULL<='1';
ELSE CNT8:=CNT8+1;
FULL<='0';
END IF;
END IF;
END PROCESS P_REG;
P_DIV:PROCESS(FULL)
VARIABLE CNT2:STD_LOGIC;
BEGIN
IF FULL'EVENT AND FULL='1' THEN
CNT2:=NOT CNT2;
IF CNT2='1' THEN
F_T<='1';
ELSE F_T<='0';
END IF;
END IF;
END PROCESS P_DIV;
FOUT<=F_T;
END;

若是要其它位数的,只要将那个位数改一上即可,不过分数还是少了点哦。