Altera_Forum
Honored Contributor
7 years agodcfifo "add_width" generic
Hello,
Attached is a prototype of a DCFIFO copied from altera_mf.vhdentity DCFIFO is
-- GENERIC DECLARATION
generic (
lpm_width : natural;
lpm_widthu : natural;
lpm_numwords : natural;
delay_rdusedw : natural := 1;
delay_wrusedw : natural := 1;
rdsync_delaypipe : natural := 0;
wrsync_delaypipe : natural := 0;
intended_device_family : string := "Stratix";
lpm_showahead : string := "OFF";
underflow_checking : string := "ON";
overflow_checking : string := "ON";
clocks_are_synchronized : string := "FALSE";
use_eab : string := "ON";
add_ram_output_register : string := "OFF";
add_width : natural := 1;
ram_block_type : string := "AUTO";
add_usedw_msb_bit : string := "OFF";
read_aclr_synch : string := "OFF";
write_aclr_synch : string := "OFF";
lpm_hint : string := "USE_EAB=ON";
enable_ecc : string := "FALSE";
lpm_type : string := "dcfifo");
-- PORT DECLARATION
port (
-- INPUT PORT DECLARATION
data : in std_logic_vector(lpm_width-1 downto 0);
rdclk : in std_logic;
wrclk : in std_logic;
aclr : in std_logic := '0';
rdreq : in std_logic;
wrreq : in std_logic;
-- OUTPUT PORT DECLARATION
rdfull : out std_logic;
wrfull : out std_logic;
rdempty : out std_logic;
wrempty : out std_logic;
rdusedw : out std_logic_vector(lpm_widthu-1 downto 0);
wrusedw : out std_logic_vector(lpm_widthu-1 downto 0);
q : out std_logic_vector(lpm_width-1 downto 0);
eccstatus : out std_logic_vector(1 downto 0));
end DCFIFO;
What's the purpose of the "add_width" (marked in red) generic ? I couldn't find any documentation about it online...