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

Quartus - Technology Mapper option

Altera_Forum
Honored Contributor II
1,393 Views

Hello. At Altera Quartus Prime Standard Edition Settings FileReference Manual in some descriptions i found a "Technology Mapper option". Where in the application can I find these settings? I need this to implement some elements on ROM instead of LUT.

0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
513 Views

Chosing the mapping can be done with attributes in HDL - but this will only work if the logic is suitable. Why not post the code so we have some idea of whether it will work. 

As a note though, Quartus will generally use Memory elements when it can, and only use LUTs if necessary. If it didnt default to RAM, there is probably an issue with the code.
0 Kudos
Altera_Forum
Honored Contributor II
513 Views

 

--- Quote Start ---  

Chosing the mapping can be done with attributes in HDL - but this will only work if the logic is suitable. Why not post the code so we have some idea of whether it will work. 

As a note though, Quartus will generally use Memory elements when it can, and only use LUTs if necessary. If it didnt default to RAM, there is probably an issue with the code. 

--- Quote End ---  

 

 

I'm novice at VHDL development. So, as I understand, the logic described in this way should use internal memory. 

 

library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.numeric_std.all; entity ROM_ent is port( Q : in STD_LOGIC_VECTOR(5 downto 0); Y2 : out STD_LOGIC_VECTOR(1 to 3) ); TYPE Base IS ARRAY (50 DOWNTO 0) OF STD_LOGIC_VECTOR(1 TO 3); constant ROM: Base := ( 0 => "000", 1 => "110", 2 => "000", 3 => "011", ................ 50 => "000"); end ROM_ent; architecture ROM_ent of ROM_ent is signal addr_u : unsigned(5 downto 0); signal addr : natural range 0 to 50; begin addr_u <= unsigned(Q); addr <= to_integer(addr_u); Y2 <= ROM(addr); end ROM_ent;  

Also in the literature on the older versions of Quartus, I found references to the fact that it is possible to selectively select the type of logic on which the elements will be implemented.
0 Kudos
Altera_Forum
Honored Contributor II
513 Views

It wont use internal memory, as it is asynchronous code. Asynchronous ROMs can only be generated with LUTS. To use memory elements, you must make the code synchronous.

0 Kudos
Reply