📄 setdata.vhd
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
ENTITY setdata IS
PORT(
sele: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
sel : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
pulse: in std_logic;
jishusel: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
shansel: OUT STD_LOGIC_VECTOR(2 downto 0);
en: out std_logic;
dinsel,dincon: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));
END setdata;
ARCHITECTURE a OF setdata IS
BEGIN
PROCESS (sele,sel)
BEGIN
IF sele="0001" THEN
dincon<="000";
dinsel<="000";
IF sel="001" THEN
en<='0';
jishusel(5 downto 1)<="00000";
jishusel(0)<=pulse;
shansel<="001";
ELSIF sel="010" THEN
en<='0';
jishusel(5 downto 2)<="0000";
jishusel(1)<=pulse;
jishusel(0)<='0';
shansel<="010";
ELSIF sel="100" THEN
en<='0';
jishusel(5 downto 3)<="000";
jishusel(2)<=pulse;
jishusel(1 downto 0)<="00";
shansel<="100";
ELSIF sel="000" THEN
en<='1';
jishusel(5 downto 0)<="000000";
shansel<="000";
END IF;
ELSIF sele="0010" THEN
dincon<="000";
dinsel<="000";
IF sel="001" THEN
en<='0';
jishusel(5 downto 4)<="00";
jishusel(3)<=pulse;
jishusel(2 downto 0)<="000";
shansel<="001";
ELSIF sel="010" THEN
en<='0';
jishusel(5)<='0';
jishusel(4)<=pulse;
jishusel(3 downto 0)<="0000";
shansel<="010";
ELSIF sel="100" THEN
en<='0';
jishusel(5)<=pulse;
jishusel(4 downto 0)<="00000";
shansel<="100";
ELSIF sel<="000" THEN
en<='1';
jishusel(5 downto 0)<="000000";
shansel<="000";
END IF;
ELSIF sele="0100" THEN
jishusel<="000000";
en<='1';
dincon<="000";
IF sel="001" THEN
dinsel(2)<='0';
dinsel(1)<='0';
dinsel(0)<=pulse;
shansel<="001";
ELSIF sel="010" THEN
dinsel(2)<='0';
dinsel(1)<=pulse;
dinsel(0)<='0';
shansel<="010";
ELSIF sel="100" THEN
dinsel(2)<=pulse;
dinsel(1)<='0';
dinsel(0)<='0';
shansel<="100";
END IF;
ELSIF sele="1000" THEN
jishusel<="000000";
en<='1';
dinsel<="000";
IF sel="001" THEN
dincon(2)<='0';
dincon(1)<='0';
dincon(0)<=pulse;
shansel<="001";
ELSIF sel="010" THEN
dincon(2)<='0';
dincon(1)<=pulse;
dincon(0)<='0';
shansel<="010";
ELSIF sel="100" THEN
dincon(2)<=pulse;
dincon(1)<='0';
dincon(0)<='0';
shansel<="100";
end if;
END IF;
END PROCESS ;
END a;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -