?? int_div.vhd
字號:
--//************************Copyright (c)**********************
--//** 廣州周立功單片機發展有限公司
--//** 研 究 所
--//** 測控事業部
--//**
--//** http://www.zlgmcu.com
--//**
--//**-----------------文件信息---------------------------------
--//**文 件 名:
--//**創 建 人: Xu hui quan (許惠泉)
--//**最后修改日期:
--//**描 述:
--//**
--//*------------------當前版本修訂------------------------------
--//** 修改人:
--//** 日 期:
--//** 描 述:此為任意分頻模塊
--//** 當為奇數倍分頻時,輸出的波形為對稱方波,
--//** 奇數倍分頻要比偶數倍分頻復雜,實現奇數倍分頻的方法不是惟一的,但最簡單的是錯位"異或"法(即相同時取"0",相反時取"1")
--//**-----------------------------------------------------------
--//**************************************************************-/
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; --這3個程序包足發應付大部分的VHDL程序設計
USE IEEE.STD_LOGIC_Arith.ALL;
USE IEEE.STD_LOGIC_Unsigned.ALL;
ENTITY int_div IS
GENERIC(N:Integer:=3);--此處定義了一個默認值N=3,即電路為3分頻電路;
Port
(Clockin:IN STD_LOGIC;
ClockOut:OUT STD_LOGIC
);
END;
ARCHITECTURE Devider OF int_div IS
SIGNAL Counter:Integer RANGE 0 TO N-1;
SIGNAL Temp1,Temp2:STD_LOGIC; --信號的聲明在結構體內,進程外部
BEGIN
PROCESS(Clockin)
BEGIN
IF RISING_EDGE(Clockin) THEN
IF Counter=N-1 THEN
counter<=0;
Temp1<=Not Temp1;
ELSE
Counter<=Counter+1;
END IF;
END IF;
IF falling_edge(clockin) THEN
IF Counter=N/2 THEN
Temp2<=NOT Temp2;
END IF;
END IF;
END PROCESS;
ClockOut<=Temp1 XOR Temp2;
END;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -