《EDA 可控脉冲发生器》由会员分享,可在线阅读,更多相关《EDA 可控脉冲发生器(2页珍藏版)》请在金锄头文库上搜索。
1、 - Title:可控脉冲发生器 - Author:Pan Hongtao - Data: 2006-10-1 -library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-entity exp9 isport( Clk : in std_logic; -时钟输入Rst : in std_logic; -复位输入NU,ND : in std_logic; -输入:控制频率的改变MU,MD : in std_logic; -输入:控制占空比的改变Fou
2、t : out std_logic -波形输出); end exp9;-architecture behave of exp9 issignal N_Buffer,M_Buffer : std_logic_vector(10 downto 0);signal N_Count :std_logic_vector(10 downto 0);signal clkin : std_logic;- signal Clk_Count : std_logic_vector(1 downto 0); -产生一个低速时钟,用于按键判断beginprocess(Clk) -计数器累加beginif(Clkeven
3、t and Clk=1) thenif(N_Count=N_Buffer) thenN_Count=N_Count) thenFoutM_Buffer) thenFout=0;end if;end if; end process;- process(Clk)- begin- if(Clkevent and Clk=1) then- Clk_Count=Clk_Count+1;- end if;- clkin=Clk_Count(1);-end process;process(Clk) -频率及占空比的改变 1beginif(Clkevent and Clk=0) then if(Rst=0) thenM_Buffer=00000000100;N_Buffer=00000001000;elsif(NU=0) thenN_Buffer=N_Buffer+1;elsif(ND=0) thenN_Buffer=N_Buffer-1;elsif(MU=0) thenM_Buffer=M_Buffer+1;elsif(MD=0) thenM_Buffer=M_Buffer-1;end if; end if;end process;end behave;