Перейти к содержанию
    

Переобозначить порты и саму мегафункцию в Квартусе

Доброго дня!

 

Применил мегафункцию lpm_rom.

При помещении в проект задал режим отображения в виде блока.

Переназвал блок, переназвал порты, в связанном файле vhdl также эти названия откорректировал.

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня!

 

Применил мегафункцию lpm_rom.

При помещении в проект задал режим отображения в виде блока.

Переназвал блок, переназвал порты, в связанном файле vhdl также эти названия откорректировал.

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

 

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

IMHO проще перейти на на "чистый" HDL.

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IMHO проще перейти на на "чистый" HDL.

С удовольствием бы...

Только блоки памяти ПЛИСки при этом не задействуются. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С удовольствием бы...

Только блоки памяти ПЛИСки при этом не задействуются. :(

Всё прекрасно задействуется:

1. Можно правильно описать память: тогда она автоматически будет синтезироваться. Как описать память см. Altera HDL coding style.

2. Можно при помощи Mega wizard генерировать необходимый блок памяти, описанный на HDL.

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С удовольствием бы...

Только блоки памяти ПЛИСки при этом не задействуются. :(

Это как же?

 

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" */;

 

И что тогда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё прекрасно задействуется:

1. Можно правильно описать память: тогда она автоматически будет синтезироваться. Как описать память см. Altera HDL coding style.

2. Можно при помощи Mega wizard генерировать необходимый блок памяти, описанный на HDL.

 

 

Это как же?

 

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое, я не знал, использую только vhdl.

вот пример

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.

Ну выше уже говорили про атрибуты синтеза. Ищите в хелпе.

Например для VHDL:

attribute ramstyle : string;
attribute ramstyle of reg : signal is "M10K";

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.

Если Вы неправильно описали блок памяти, то никакие атрибуты синтеза Вам не помогут. Советую сгенерировать HDL описание памяти и по образу и подобию описать её. Как вариант в Quartus есть заготовки описания памяти "edit" -> "insert template"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.
Вангую, вы используете сброс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вангую, вы используете сброс.
Асинхронный? Не, он мне без надобности.

 

 

Походу нашёл вожжу в Квартусе.

Включил опцию Анализа и Синтеза "Auto implement in ROM".

В компиляционном саммари появились мемори битс. :disco:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...