📄 fenpinqi.txt
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY singt IS
PORT
(
CLK : IN STD_LOGIC; --//信号源时钟
DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) --//8位波形数据输出
);
END;
ARCHITECTURE DACC OF singt IS
COMPONENT data_rom --//调用波形数据存储器LPM_ROM文件:data_rom.vhd
PORT
(
address : IN STD_LOGIC_VECTOR(5 DOWNTO 0); --//6位地址信号
inclock : IN STD_LOGIC; --//地址锁存时钟
q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END COMPONENT;
SIGNAL Q1 : STD_LOGIC_VECTOR(5 DOWNTO 0); --//内部节点作为地址计数器
BEGIN
---------------------------
PROCESS (CLK)
BEGIN
IF CLK'EVENT AND CLK= '1' THEN
Q1<=Q1+1;
END IF;
END PROCESS;
u1:data_rom PORT MAP(address=>Q1,q=>DOUT,inclock=>CLK);--//例化
END DACC;
next_state<=S4;
END IF;
WHEN S4=> OutputS<='0'; -- Detect 5th bit 0
IF InputS= '1' THEN
next_state<=S1;
ELSE
next_state<=S5;
END IF;
WHEN S5=> OutputS<='0'; -- Detect 6th bit 1
IF InputS= '1' THEN
next_state<=S6;
ELSE
next_state<=S0;
-- if not ,back to s0,since none will be fit other than the s0
END IF;
WHEN S6=> OutputS<='0'; -- Detect 7th bit 0
IF InputS= '1' THEN
next_state<=S2;
ELSE
next_state<=S7;
END IF;
WHEN S7=> OutputS<='1'; --we have got the code
IF InputS= '1' THEN -- if 1,maybe the next cycle, to s1
next_state<=S1;
ELSE
next_state<=S0; -- if 0,maybe the next cycle, to s0
END IF;
END CASE;
END PROCESS state_comb;
GOT_N<=NOT OutputS;---FOR EASY TO SHOW ON THE LOW_LEVEL SENSITIVE LED
PROCESS(CLK)
BEGIN
IF(CLK'EVENT AND CLK='1') THEN
present_state<=next_state;
END IF;
END PROCESS;
end a;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -