Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17268 Discussions

dcfifo "add_width" generic

Altera_Forum
Honored Contributor II
2,017 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
1,070 Views

According to dcfifo_inf.xml the parameter is sim_only.

0 Kudos
Altera_Forum
Honored Contributor II
1,070 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...
0 Kudos
Altera_Forum
Honored Contributor II
1,070 Views

google would have found you this about lpm_hint: 

https://alteraforum.com/forum/showthread.php?t=33551
0 Kudos
Altera_Forum
Honored Contributor II
1,070 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.
0 Kudos
Altera_Forum
Honored Contributor II
1,070 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?
0 Kudos
Altera_Forum
Honored Contributor II
1,070 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 ?
0 Kudos
Altera_Forum
Honored Contributor II
1,069 Views

Raise a my_support ticket if you want a better explination. 

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