Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Переобозначить порты и саму мегафункцию в Квартусе
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Среды разработки - обсуждаем САПРы
MrGalaxy
Доброго дня!

Применил мегафункцию lpm_rom.
При помещении в проект задал режим отображения в виде блока.
Переназвал блок, переназвал порты, в связанном файле vhdl также эти названия откорректировал.
Нажимаю "апдэйт блок", а он гад переименовывается опять в lpm_rom, а порты опять q и address.

Как побороть это дело? Не очень хочется расписывать таблицы соединений.
Flip-fl0p
Цитата(MrGalaxy @ Oct 24 2017, 13:37) *
Доброго дня!

Применил мегафункцию lpm_rom.
При помещении в проект задал режим отображения в виде блока.
Переназвал блок, переназвал порты, в связанном файле vhdl также эти названия откорректировал.
Нажимаю "апдэйт блок", а он гад переименовывается опять в lpm_rom, а порты опять q и address.

Как побороть это дело? Не очень хочется расписывать таблицы соединений.

IMHO проще перейти на на "чистый" HDL.
MrGalaxy
Цитата(Flip-fl0p @ Oct 24 2017, 13:38) *
IMHO проще перейти на на "чистый" HDL.

С удовольствием бы...
Только блоки памяти ПЛИСки при этом не задействуются. sad.gif
Flip-fl0p
Цитата(MrGalaxy @ Oct 24 2017, 16:07) *
С удовольствием бы...
Только блоки памяти ПЛИСки при этом не задействуются. sad.gif

Всё прекрасно задействуется:
1. Можно правильно описать память: тогда она автоматически будет синтезироваться. Как описать память см. Altera HDL coding style.
2. Можно при помощи Mega wizard генерировать необходимый блок памяти, описанный на HDL.
iosifk
Цитата(MrGalaxy @ Oct 24 2017, 16:07) *
С удовольствием бы...
Только блоки памяти ПЛИСки при этом не задействуются. sad.gif

Это как же?

Verilog HDL Synthesis Attributes and Directives
http://quartushelp.altera.com/14.1/mergedP...og_file_dir.htm


А аттрибуты синтеза написать?
А если вот так:
(* ramstyle = "M512" *) reg [0:7] my_ram[0:63];
Или так:
reg [0:7] my_ram[0:63] /* synthesis ramstyle = "M512" */;

И что тогда?
MrGalaxy
Цитата(Flip-fl0p @ Oct 24 2017, 16:15) *
Всё прекрасно задействуется:
1. Можно правильно описать память: тогда она автоматически будет синтезироваться. Как описать память см. Altera HDL coding style.
2. Можно при помощи Mega wizard генерировать необходимый блок памяти, описанный на HDL.



Цитата(iosifk @ Oct 24 2017, 16:19) *
Это как же?

Verilog HDL Synthesis Attributes and Directives
http://quartushelp.altera.com/14.1/mergedP...og_file_dir.htm


А аттрибуты синтеза написать?
А если вот так:
(* ramstyle = "M512" *) reg [0:7] my_ram[0:63];
Или так:
reg [0:7] my_ram[0:63] /* synthesis ramstyle = "M512" */;

И что тогда?



Спасибо большое, я не знал, использую только vhdl.
Maverick
Цитата(MrGalaxy @ Oct 24 2017, 19:35) *
Спасибо большое, я не знал, использую только vhdl.

вот пример
MrGalaxy
Цитата(Maverick @ Oct 24 2017, 22:19) *

Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.
_Anatoliy
Цитата(MrGalaxy @ Oct 25 2017, 14:10) *
Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.

Ну выше уже говорили про атрибуты синтеза. Ищите в хелпе.
Например для VHDL:
Код
attribute ramstyle : string;
attribute ramstyle of reg : signal is "M10K";
Flip-fl0p
Цитата(MrGalaxy @ Oct 25 2017, 14:10) *
Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.

Если Вы неправильно описали блок памяти, то никакие атрибуты синтеза Вам не помогут. Советую сгенерировать HDL описание памяти и по образу и подобию описать её. Как вариант в Quartus есть заготовки описания памяти "edit" -> "insert template"
andrew_b
Цитата(MrGalaxy @ Oct 25 2017, 14:10) *
Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.
Вангую, вы используете сброс.
MrGalaxy
Цитата(andrew_b @ Oct 26 2017, 08:25) *
Вангую, вы используете сброс.
Асинхронный? Не, он мне без надобности.


Походу нашёл вожжу в Квартусе.
Включил опцию Анализа и Синтеза "Auto implement in ROM".
В компиляционном саммари появились мемори битс. disco.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.