clock_con.vhd
来自「个人设计的基于VHDL的数字电子日历 在MAX+PLUSH软件平台上编译、仿真」· VHDL 代码 · 共 43 行
VHD
43 行
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTITY clock_con IS
PORT(
clk,set,model : IN STD_LOGIC;
setmin,sethour: OUT STD_LOGIC
);
END clock_con;
ARCHITECTURE a OF clock_con IS
type fsm IS (st0, st1, st2);
signal temp :fsm;
BEGIN
reg: PROCESS (clk)
begin
if clk'event and clk='1' then
CASE temp IS
WHEN st0 => IF model= '0' THEN temp <= st1; END IF;
WHEN st1 => IF model= '0' THEN temp <= st2; END IF;
WHEN st2 => IF model= '0' THEN temp <= st0; END IF;
WHEN OTHERS => temp <= st0;
END CASE ;
END IF;
end process reg;
COM1: PROCESS(temp,set)
BEGIN
CASE temp IS
WHEN st0 => setmin <= '1'; sethour<='1';
WHEN st1 => IF set = '0' THEN setmin <= '0'; sethour<='1';
ELSE setmin <= '1'; sethour<='1';
END IF ;
when st2=> if set='0' then setmin <= '1'; sethour<='0';
else setmin <= '1'; sethour<='1';
end if ;
WHEN OTHERS => setmin <= '1'; sethour<='1';
END CASE ;
END PROCESS COM1 ;
END a;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?