本模块的主要作用是将输入的200Mhz分频至200Khz,程序如下。其中,CLK为输入时钟。CLKOUT为输出时钟。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164,ALL;
ENTITY FENPIN IS
PORT
(
CLK : IN STD_LOGIC;
CLKOUT : OUT STD_LOGIC
);
END FENPIN;
ARCHITECTURE A OF FENPIN IS
SIGNAL NUMBER : INTEGER RANGE 0 TO 498;
SIGNAL DATA : STD_LOGIC;
BEGIN
PROCESS (CLK)
BEGIN
IF(CLK ‘EVENT AND CLK=’1’)THEN
IF(DATA='1')THEN
CLKOUT<='1';
END IF;
IF(DATA='0')THEN
CLKOUT<='0';
END IF;
NUMBER<=NUMBER+1;
IF(NUMBER>=1)THEN
IF(NUMBER=498)THEN
NUMBER<=0;
DATA<=NOT DATA;
END IF;
END IF;
END IF;
END PROCESS;
END A;
由图4-13可以看出,FD模块将输入CLK(图4-12)分频至CLKOUT。