реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Переобозначить порты и саму мегафункцию в Квартусе, как?
MrGalaxy
сообщение Oct 24 2017, 10:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 20-10-10
Из: город самоваров и пряников
Пользователь №: 60 298



Доброго дня!

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

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


--------------------
Вечный студент
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Oct 24 2017, 10:38
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 430
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(MrGalaxy @ Oct 24 2017, 13:37) *
Доброго дня!

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

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

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

Сообщение отредактировал Flip-fl0p - Oct 24 2017, 10:39
Go to the top of the page
 
+Quote Post
MrGalaxy
сообщение Oct 24 2017, 13:07
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 20-10-10
Из: город самоваров и пряников
Пользователь №: 60 298



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

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


--------------------
Вечный студент
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Oct 24 2017, 13:15
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 430
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



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

Всё прекрасно задействуется:
1. Можно правильно описать память: тогда она автоматически будет синтезироваться. Как описать память см. Altera HDL coding style.
2. Можно при помощи Mega wizard генерировать необходимый блок памяти, описанный на HDL.

Сообщение отредактировал Flip-fl0p - Oct 24 2017, 13:15
Go to the top of the page
 
+Quote Post
iosifk
сообщение Oct 24 2017, 13:19
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 3 714
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(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" */;

И что тогда?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
MrGalaxy
сообщение Oct 24 2017, 16:35
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 20-10-10
Из: город самоваров и пряников
Пользователь №: 60 298



Цитата(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.


--------------------
Вечный студент
Go to the top of the page
 
+Quote Post
Maverick
сообщение Oct 24 2017, 19:19
Сообщение #7


я только учусь...
******

Группа: Модераторы
Сообщений: 3 395
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



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

вот пример


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
MrGalaxy
сообщение Oct 25 2017, 11:10
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 20-10-10
Из: город самоваров и пряников
Пользователь №: 60 298



Цитата(Maverick @ Oct 24 2017, 22:19) *

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


--------------------
Вечный студент
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Oct 25 2017, 13:19
Сообщение #9


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 474
Регистрация: 15-07-06
Из: г.Донецк
Пользователь №: 18 832



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

Ну выше уже говорили про атрибуты синтеза. Ищите в хелпе.
Например для VHDL:
Код
attribute ramstyle : string;
attribute ramstyle of reg : signal is "M10K";
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Oct 25 2017, 13:38
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 430
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



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

Если Вы неправильно описали блок памяти, то никакие атрибуты синтеза Вам не помогут. Советую сгенерировать HDL описание памяти и по образу и подобию описать её. Как вариант в Quartus есть заготовки описания памяти "edit" -> "insert template"
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 26 2017, 05:25
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 834
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(MrGalaxy @ Oct 25 2017, 14:10) *
Я в принципе так и описываю, только размещение происходит в логических блоках, а не в ячейках памяти.
Вангую, вы используете сброс.
Go to the top of the page
 
+Quote Post
MrGalaxy
сообщение Oct 26 2017, 11:27
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 20-10-10
Из: город самоваров и пряников
Пользователь №: 60 298



Цитата(andrew_b @ Oct 26 2017, 08:25) *
Вангую, вы используете сброс.
Асинхронный? Не, он мне без надобности.


Походу нашёл вожжу в Квартусе.
Включил опцию Анализа и Синтеза "Auto implement in ROM".
В компиляционном саммари появились мемори битс. disco.gif


--------------------
Вечный студент
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th December 2017 - 10:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01283 секунд с 7
ELECTRONIX ©2004-2016