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

Force a reg not to use M9K but logic

Altera_Forum
Honored Contributor II
1,567 Views

Hi 

 

I do use M9K for ROM tables and this works fine 

I also have to use quite some latches since I works as pipeline 

 

The problem are when I do use latches then QuartusII on some of the latches do use M9K and other a logic , then I do not have enough M9K for ROM 

 

I have tried different combination with ramstyle="logic" in my verilog 

 

(* ramstyle = "logic" *) reg [63:0] Block_out; 

reg [63:0] Block_out /* synthesis ramstyle = "logic" */; 

 

And still some of my reg do use M9K 

 

Any hint?
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
563 Views

There are different synthesis attributes to control RAM inference for memory arrays and for shift registers. Apparently your construct refers to the latter. http://www.alteraforum.com/forum/showthread.php?t=37702

0 Kudos
Altera_Forum
Honored Contributor II
563 Views

That did the trick 

Assignments -> settings -> analysis and synthesis settings -> more settings 

"auto shift register placements". Change this to "off". 

Thank you
0 Kudos
Altera_Forum
Honored Contributor II
563 Views

A global assignment works too, of course. As in the linked thread, the assignment is often required for specific objects.

0 Kudos
Reply