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

Force a reg not to use M9K but logic

Altera_Forum
名誉分销商 II
1,571 次查看

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 项奖励
3 回复数
Altera_Forum
名誉分销商 II
567 次查看

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 项奖励
Altera_Forum
名誉分销商 II
567 次查看

That did the trick 

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

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

Thank you
0 项奖励
Altera_Forum
名誉分销商 II
567 次查看

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

0 项奖励
回复