Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17254 Discussions

altdpram with NUMWORDS = 1

Altera_Forum
Honored Contributor II
1,569 Views

I all,  

 

I tried to instanciate an altdpram with NUMWORDS => 1 and WIDTHA => 1. 

 

 

 

According to http://quartushelp.altera.com/11.1/mergedprojects/hdl/mega/mega_file_altdpram.htm this is OK: 

Parameter ; Type ; Required ; Description NUMWORDS ; Integer ; No ; Number of words stored in memory. This value must be within the range 2^(WIDTHAD - 1) < NUMWORDS <= 2^WIDTHAD. If omitted, the default is 2^WIDTHAD.  

 

 

 

I get the following error: 

 

--- Quote Start ---  

Error: Assertion error: Value of NUMWORDS parameter requires 0 address lines, but WIDTHAD value, which defines the number of address lines, is 1 

Error: Can't elaborate user hierarchy "altdpram:ram" 

Error: Quartus II 64-Bit Analysis & Synthesis was unsuccessful. 2 errors, 494 warnings 

Error: Peak virtual memory: 1594 megabytes 

Error: Processing ended: Thu Jun 28 09:43:13 2012 

Error: Elapsed time: 00:02:23 

Error: Total CPU time (on all processors): 00:02:20 

Error: Quartus II Full Compilation was unsuccessful. 4 errors, 494 warnings 

--- Quote End ---  

 

 

 

 

Has anyone faced this issue? 

What can I do? 

 

 

 

P.S.: 

You may think that it's stupid to instanciate a memory of depth 1.  

Actually the depth is generic and may be greater than 1, which is why I need a memory. But I need the system to work even if the user wants a depth of 1. 

 

 

 

Thx 

 

 

 

Julien
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
687 Views

 

--- Quote Start ---  

I tried to instanciate an altdpram with NUMWORDS => 1 and WIDTHA => 1. 

--- Quote End ---  

Mathematically incorrect, isn't it? 2^(WIDTHAD - 1) seems simply wrong. 

 

Most likely,you need to generate a RAM with NUMWORDS = 2 and map it respectively.
0 Kudos
Altera_Forum
Honored Contributor II
687 Views

As an additional observation, I have no difficulties to set NUMWORDS values smaller than (2^widthad-1) with altsyncram, also NUMWORDS = 1 in a direct instantiation of the VHDL component. 

 

I don't know if there are any differences with altdpram, which it isn't but a wrapper of altsyncram.
0 Kudos
Reply