📄 m6_2.vhd
字号:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY m6_2 IS ---------x6+x5+1 [5 6]
PORT(clkx1024:IN STD_LOGIC;
notready:IN STD_LOGIC;
pn:OUT STD_LOGIC);
END m6_2;
ARCHITECTURE generator_archi OF m6_2 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
pn<='0';
shift:="100000";
ELSIF(enable='1') THEN
IF(clkx1024'event AND clkx1024='1')THEN
tmp:=shift(0) XOR shift(1);
pn<=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 + -