40M 分频模块源代码
--File:fp40m.vhd ….头文件
--Designer:沈小霞
--Module:1Hz clock …时钟频率 1HZ
--Description: It is a 1Hz clock, convert 40mHz to 1Hz.
--Simulator:MAX plusII 10.0.9/Window XP …仿真平台
--Synthesizer:MAX plusII 10.0.9/Window XP
--Date:11/27/16
--Modify date:11/27/16
LIBRARY IEEE; ...使用的设计库
USE IEEE.STD_LOGIC_1164.ALL; ...使用的程序包
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY fp40m IS …时钟实体描述
PORT(clk:IN STD_LOGIC; --40MHz
fp:OUT STD_LOGIC);--1Hz
END fp40m;
ARCHITECTURE bev OF fp40m IS …时钟结构体描述
SIGNAL f:STD_LOGIC; …在芯片内部定义一个数据的暂存结点
BEGIN
PROCESS(clk) ……产生脉冲信号
VARIABLE Q:STD_LOGIC_VECTOR(24 DOWNTO 0);
--VARIABLE Q:STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
IF clk'EVENT AND clk='1' THEN
IF Q="1001100010010110011111111" THEN--若 q=19999999
Q:="0000000000000000000000000";
--IF Q="10011" THEN—此为仿真用代码
--Q:="00000";
f<=NOT f;
ELSE Q:=Q+1;
f<=f;
END IF;
END IF;
END PROCESS;
fP<=f; …将内部的暂存数据向端口输出
END bev;
十进制模块源代码:
--File:counter10.vhd ….定义头文件
--Designer:沈小霞
--Module: counter10