Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15322 Discussions

dcfifo "add_width" generic

Altera_Forum
Honored Contributor II
1,061 Views

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 II
114 Views

According to dcfifo_inf.xml the parameter is sim_only.

Altera_Forum
Honored Contributor II
114 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 II
114 Views

google would have found you this about lpm_hint: 

https://alteraforum.com/forum/showthread.php?t=33551
Altera_Forum
Honored Contributor II
114 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 II
114 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 II
114 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 II
113 Views

Raise a my_support ticket if you want a better explination. 

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