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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> использование встроенной памяти ПЛИС
penauch
сообщение Nov 5 2009, 06:27
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 12-10-09
Пользователь №: 52 902



как использовать встроенную память в ПЛИС? (как объявить в vhdl?)

а то создание большив массивов из std_logic_vector отъедает кучу времени на компиляцию и количество логических вентилей быстро нарастает до единиц тысяч!
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Nov 5 2009, 07:01
Сообщение #2


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Надо почитать документацию на то программное обеспечение, которым вы пользуетесь. Там в примерах расписано, как надо кодить распространенные конструкции, чтобы они синтезились предсказуемо.
Go to the top of the page
 
+Quote Post
penauch
сообщение Nov 5 2009, 07:13
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 12-10-09
Пользователь №: 52 902



Цитата(DmitryR @ Nov 5 2009, 10:01) *
Надо почитать документацию на то программное обеспечение, которым вы пользуетесь. Там в примерах расписано, как надо кодить распространенные конструкции, чтобы они синтезились предсказуемо.


тоесть насколько я понял из вашего ответа, что в Vhdl нету такой синтаксической конструкции для работы с памятью?
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Nov 5 2009, 08:07
Сообщение #4


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

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



Цитата(penauch @ Nov 5 2009, 11:13) *
тоесть насколько я понял из вашего ответа, что в Vhdl нету такой синтаксической конструкции для работы с памятью?
В VHDL памяти как таковой нет. Скажу Вам по секрету: в нем много чего нет. Вот как именно написать нечто, чтобы синтезатор воспринял это как память, -- это и есть задача разработчика. Таки читайте доку на Ваш синтезатор. Там это написано.

Или воспользуётесь поиском по форуму -- вопрос уже обуждался.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Nov 5 2009, 08:44
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(penauch @ Nov 5 2009, 10:27) *
как использовать встроенную память в ПЛИС? (как объявить в vhdl?)

Такие вещи, как правило, не описываются в HDL. В Альтере для этого пользуются Мегавизардом - генерится компонент с нужными характеристиками. В ксайлинксах, наверное, тоже что-то подобное есть.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Nov 5 2009, 08:49
Сообщение #6


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Мегавизардом - это если платформенно-независимый код не нужен.
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 5 2009, 08:52
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Наиболее правильный подход - сгенерировать блок памяти при помощи Memory Compiler и подключить его в проект как модуль. А вот эти самые Memory Compiler-ы они могут называться по-разному в разном софте. Где-то это мегавизард, где-то еще что-то. Описывать память конструкциями языка есть смысл только в том случае, если синтез этого модуля не планируется, а только моделирование.

Цитата(DmitryR @ Nov 5 2009, 11:49) *
Мегавизардом - это если платформенно-независимый код не нужен.

Как раз с точностью до наоборот - мегавизардом, если платформонезависимый код НУЖЕН. Так как на любой платформе есть свой мемори компилер. Или конструкцией HDL, если четко привязываться к определенному синтезатору и рекомендациям по инферрингу от него.
Go to the top of the page
 
+Quote Post
Builder
сообщение Nov 5 2009, 09:00
Сообщение #8


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(SM @ Nov 5 2009, 12:52) *
Как раз с точностью до наоборот - мегавизардом, если платформонезависимый код НУЖЕН. Так как на любой платформе есть свой мемори компилер. Или конструкцией HDL, если четко привязываться к определенному синтезатору и рекомендациям по инферрингу от него.

добавлю. Если компилится на разных платформах, выносим память в отдельный модуль, где по дефайну
вставляется нужная версия для нужной платформы.
Дефайн выводим на верхний уровень, для всего проекта.
Go to the top of the page
 
+Quote Post
o-henry
сообщение Nov 5 2009, 09:03
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069



Цитата(dvladim @ Nov 5 2009, 10:44) *
В ксайлинксах, наверное, тоже что-то подобное есть.
В ксайлинксах это называется Core Generator.

Еще в ISE есть волшебная кнопочка в виде лампочки и с названием Language Template.
После нажатия на волшебную кнопочку можно заглянуть в раздел
VHDL->Synthesis Construct->CodingExamples->RAM

Еще есть и документация - но этим путем редко кто идет laughing.gif
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 5 2009, 09:05
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Builder @ Nov 5 2009, 12:00) *
добавлю. Если компилится на разных платформах, выносим память в отдельный модуль, где по дефайну
вставляется нужная версия для нужной платформы.
Дефайн выводим на верхний уровень, для всего проекта.

Ага. Именно так. Только дефайн я предпочитаю выносить не на верхний уровень (кстати не очень понимаю, как это возможно), а вообще в опции синтезатора.
Go to the top of the page
 
+Quote Post
penauch
сообщение Nov 5 2009, 13:09
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 12-10-09
Пользователь №: 52 902



меня интересует в vhdl, квартус, альтера циклон-2

вот с них пожалста... по конкретнее...

напишите шаблон памяти хотя бы 1k x 8
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 5 2009, 13:21
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(penauch @ Nov 5 2009, 16:09) *
меня интересует в vhdl, квартус, альтера циклон-2

Найдите в меню квартуса мегавизард, в нем сгенерируйте нужную память, он сгенерирует все что надо, и шаблон, как ее подключить в проект, и модуль самой памяти.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Nov 5 2009, 13:29
Сообщение #13


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(penauch @ Nov 5 2009, 16:09) *
напишите шаблон памяти хотя бы 1k x 8
Прочитайте хотя бы http://www.altera.com/literature/hb/qts/qts_qii51007.pdf

Как что там не поймете - пишите.
Go to the top of the page
 
+Quote Post
penauch
сообщение Nov 5 2009, 13:48
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 12-10-09
Пользователь №: 52 902



разобрался, спасибо.

но он по прежнему не использует биты памяти!!!

ниже лог компиляции - желаемое здействовать обведено красным
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Nov 5 2009, 14:26
Сообщение #15


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Значит плохо разобрались.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th July 2025 - 19:05
Рейтинг@Mail.ru


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