Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
994 Views

dcfifo "add_width" generic

Hello,  

 

Attached is a prototype of a DCFIFO copied from altera_mf.vhd 

 

entity 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...
0 Kudos
7 Replies
Altera_Forum
Honored Contributor I
47 Views

According to dcfifo_inf.xml the parameter is sim_only.

Altera_Forum
Honored Contributor I
47 Views

What about "lpm_hint" generic ? 

Have you seen any good documentation about it ?  

For example - the XML mentions only "UNUSED" as a possible entry. But I've seen it accept also other values...
Altera_Forum
Honored Contributor I
47 Views

google would have found you this about lpm_hint: 

https://alteraforum.com/forum/showthread.php?t=33551
Altera_Forum
Honored Contributor I
47 Views

Contrary to what's written in this 6 year old post - I see LPM_HINT assigned different values by the tool (when I change some parameters in the GUI) , so I assume these ARE necessary for proper instantiation of the IP... 

 

What I'm looking for is good documentation of this generic.
Altera_Forum
Honored Contributor I
47 Views

The only thing I ever used lpm_hint for in the past was for passing ALTSYNCRAM generics through a SC/DCFIFO. But they added those generics to the top of the FIFOs. I havent needed LPM_HINT since. 

What are you seeing passed through LPM_HINT?
Altera_Forum
Honored Contributor I
47 Views

 

--- Quote Start ---  

The only thing I ever used lpm_hint for in the past was for passing ALTSYNCRAM generics through a SC/DCFIFO 

--- Quote End ---  

 

But does this mean that you can now ignore "lpm_hint" altogether? 

Shouldn't the string entered into "lpm_hint" coexist (and match) with all the new generics you mentioned ?
Altera_Forum
Honored Contributor I
47 Views

Raise a my_support ticket if you want a better explination. 

Or just dont use it. Ive lived without it for years.
Reply