📄 fifo2.vhd
字号:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY fifo2 IS
PORT(data : IN STD_LOGIC_VECTOR (7 DOWNTO 0); --输入数据
wrreq : IN STD_LOGIC ; --写入请求
rdreq : IN STD_LOGIC ; --读出请求
clock : IN STD_LOGIC ; --工作时钟
aclr : IN STD_LOGIC ; --异步清0
q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0); --数据输出
full : OUT STD_LOGIC ); --溢出标志
END fifo2;
ARCHITECTURE SYN OF fifo2 IS
SIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0);
SIGNAL sub_wire1 : STD_LOGIC ;
COMPONENT lpm_fifo --调用LPM_FIFO声明
GENERIC (lpm_width :NATURAL; --类属 数据宽度 自然数数据类型
lpm_numwords :NATURAL; --类属 数据深度 自然数数据类型
lpm_widthu :NATURAL; --类属 地址宽度 自然数数据类型
lpm_showahead :STRING; --类属 数据读出方式 字符串数据类型
lpm_hint : STRING ); --类属 优化方式 字符串数据类型
PORT ( rdreq : IN STD_LOGIC ;
aclr : IN STD_LOGIC ;
clock : IN STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);
wrreq : IN STD_LOGIC ;
data : IN STD_LOGIC_VECTOR (7 DOWNTO 0);
full : OUT STD_LOGIC );
END COMPONENT;
BEGIN
q <= sub_wire0(7 DOWNTO 0); full <= sub_wire1;
lpm_fifo_component : lpm_fifo
GENERIC MAP ( LPM_WIDTH => 8, --类属映射语句,数据宽度8位
LPM_NUMWORDS => 512, --8位字节数512个
LPM_WIDTHU => 9, --地址线位宽9位
LPM_SHOWAHEAD => "OFF", --关闭先行数据输出开关
-- 打开内部EAB,最大速度约束等级为5
LPM_HINT => "USE_EAB=ON,MAXIMIZE_SPEED=5" )
PORT MAP (rdreq => rdreq, aclr => aclr, clock => clock,
wrreq => wrreq, data => data, q => sub_wire0,
full => sub_wire1 );
END SYN;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -