📄 key.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY key IS
PORT(
reset,clk1024 : IN STD_LOGIC;
up1s,up2s,up3s : IN STD_LOGIC;
dn2s,dn3s,dn4s : IN STD_LOGIC;
to1s,to2s,to3s,to4s : IN STD_LOGIC;
cup1,cup2,cup3 : IN STD_LOGIC;
cdn2,cdn3,cdn4 : IN STD_LOGIC;
cto1,cto2,cto3,cto4 : IN STD_LOGIC;
lup1,lup2,lup3 : OUT STD_LOGIC;
ldn2,ldn3,ldn4 : OUT STD_LOGIC;
lto1,lto2,lto3,lto4 : OUT STD_LOGIC);
END key;
ARCHITECTURE a OF key IS
signal up1,up2,up3 : STD_LOGIC;
signal dn2,dn3,dn4 : STD_LOGIC;
signal to1,to2,to3,to4 : STD_LOGIC;
BEGIN
locklabel:
PROCESS (clk1024)
BEGIN
IF clk1024'event AND clk1024='1' THEN
up1<=up1s;
up2<=up2s;
up3<=up3s;
dn2<=dn2s;
dn3<=dn3s;
dn4<=dn4s;
to1<=to1s;
to2<=to2s;
to3<=to3s;
to4<=to4s;
END IF;
END PROCESS locklabel;
up1label:
PROCESS (reset,up1,cup1)
BEGIN
IF cup1='1' or reset='1' THEN
lup1<='0';
ELSIF up1'event AND up1='1' THEN
lup1<='1';
END IF;
END PROCESS up1label;
up2label:
PROCESS (reset,up2,cup2)
BEGIN
IF cup2='1' or reset='1' THEN
lup2<='0';
ELSIF up2'event AND up2='1' THEN
lup2<='1';
END IF;
END PROCESS up2label;
up3label:
PROCESS (reset,up3,cup3)
BEGIN
IF cup3='1' or reset='1' THEN
lup3<='0';
ELSIF up3'event AND up3='1' THEN
lup3<='1';
END IF;
END PROCESS up3label;
dn2label:
PROCESS (reset,dn2,cdn2)
BEGIN
IF cdn2='1' or reset='1' THEN
ldn2<='0';
ELSIF dn2'event AND dn2='1' THEN
ldn2<='1';
END IF;
END PROCESS dn2label;
dn3label:
PROCESS (reset,dn3,cdn3)
BEGIN
IF cdn3='1' or reset='1' THEN
ldn3<='0';
ELSIF dn3'event AND dn3='1' THEN
ldn3<='1';
END IF;
END PROCESS dn3label;
dn4label:
PROCESS (reset,dn4,cdn4)
BEGIN
IF cdn4='1' or reset='1' THEN
ldn4<='0';
ELSIF dn4'event AND dn4='1' THEN
ldn4<='1';
END IF;
END PROCESS dn4label;
to1label:
PROCESS (reset,to1,cto1)
BEGIN
IF cto1='1' or reset='1' THEN
lto1<='0';
ELSIF to1'event AND to1='1' THEN
lto1<='1';
END IF;
END PROCESS to1label;
to2label:
PROCESS (reset,to2,cto2)
BEGIN
IF cto2='1' or reset='1' THEN
lto2<='0';
ELSIF to2'event AND to2='1' THEN
lto2<='1';
END IF;
END PROCESS to2label;
to3label:
PROCESS (reset,to3,cto3)
BEGIN
IF cto3='1' or reset='1' THEN
lto3<='0';
ELSIF to3'event AND to3='1' THEN
lto3<='1';
END IF;
END PROCESS to3label;
to4label:
PROCESS (reset,to4,cto4)
BEGIN
IF cto4='1' or reset='1' THEN
lto4<='0';
ELSIF to4'event AND to4='1' THEN
lto4<='1';
END IF;
END PROCESS to4label;
END a;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -