📄 m6.vhd
字号:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY M6 IS ---------x6+x5+x3+x2+1 [2 3 5 6]
PORT(clkx1024:IN STD_LOGIC;
notready:IN STD_LOGIC;
M_6:OUT STD_LOGIC);
END M6;
ARCHITECTURE generator_archi OF M6 IS
SIGNAL count:INTEGER RANGE 0 TO 64;
SIGNAL enable:STD_LOGIC;
BEGIN
PROCESS(notready,count,clkx1024)
VARIABLE shift:STD_LOGIC_VECTOR(5 downto 0);
VARIABLE tmp:STD_LOGIC;
BEGIN
IF(notready='1'OR count=64) THEN
M_6<='0';
shift:="100000";
ELSIF(enable='1') THEN
IF(clkx1024'event AND clkx1024='1')THEN
tmp:=shift(0) XOR shift(1) XOR shift(3)XOR shift(4)XOR(not shift(1)and not shift(2)and not shift(3)and not shift(4)and not shift(5));
M_6<=tmp;
FOR i IN 0 TO 4 LOOP
shift(i):=shift(i+1);
END LOOP;
shift(5):=tmp;
END IF;
END IF;
END PROCESS;
PROCESS(notready,clkx1024)
BEGIN
IF notready='1' THEN
count<=0;
ELSIF(clkx1024'event AND clkx1024='1') THEN
IF count=64 THEN
count<=1;
ELSE count<=count+1;
END IF;
END IF;
END PROCESS;
PROCESS(count,clkx1024,notready)
BEGIN
IF notready='1' THEN
enable<='1';
elsif(clkx1024'event AND clkx1024='0') THEN
IF(count=63) THEN
enable<='0';
ELSIF(count=64) THEN
enable<='1';
END IF;
END IF;
END PROCESS;
END generator_archi;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -