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

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


Гуру
******

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



Цитата(penauch @ Nov 5 2009, 16:48) *
но он по прежнему не использует биты памяти!!!

Отсюда можно сделать лишь два выводы. В мегавизарде Вы ему специально указали делать память из логики, а не из памяти. Либо пытаетесь делать то, чего не надо - описывать память самостоятельно HDL-конструкциями.
Go to the top of the page
 
+Quote Post
AndrewS6
сообщение Nov 5 2009, 14:43
Сообщение #17


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

Группа: Участник
Сообщений: 125
Регистрация: 9-10-05
Из: С.-Петербург
Пользователь №: 9 418



В квартусе есть шаблоны языковых конструкций, а также полные схемы в т.ч. и памяти.
Edit->Insert Template->VHDL->Full Designs->RAMs and ROMs
Go to the top of the page
 
+Quote Post
penauch
сообщение Nov 6 2009, 01:19
Сообщение #18


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

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



спасибо. проработал два варианта - через wizard и через edit. Через edit описание памяти вклинивается в исходный файл проекта, но по-прежнему память синтезируется из вентилей.

если делать через wizard, то создаётся отдельный файл с описанием памяти где в generic указано "M4K" тоесть из ячеек памяти делать, так?

но подключить файл не удалось - как это сделать?

во вторых - как с этой памятью работать?
память однопортовая с we и clk.

и зачем мне clk? мне нужна асинхронная память - какую там не нашёл sad.gif

мне же нужно работать с памятью как с массивом std_logic_vector - и не хотелось бы всякие стробы и клоки примешивать, тоесть нужно чтоб переменные синтезировались из памяти а не из вентилей.
такое возможно?

если нет, то как пользоваться вышеупомянутой однопортовой памятью?
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 6 2009, 04:21
Сообщение #19


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(penauch @ Nov 5 2009, 19:19) *
и зачем мне clk? мне нужна асинхронная память - какую там не нашёл sad.gif


блин да прочитайте даташит на используемую ФПГА в конце то концов, в альтерах асинхронной блочной памяти после флексов небыло, нет и скорее всего не будет !!!


--------------------
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Nov 6 2009, 08:31
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



1. Из меню Edit вставляете template "нужная Вам RAM"
(берёте бубен, набедренную повязку и в ритме тумба-умба > п. 2) smile.gif
2. Настраиваете: главное меню Assignments > пункт Settings > категория Analysis & Syntethesys settings > кнопка More settings > опции (Auto RAM replacement = ON, Auto RAM to logic cell conversion = OFF)
P.S. Это в QII-7.2 так, в других версиях может последовательность и направление вложения опций отличаться, но сути дела не меняет.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 6 2009, 08:46
Сообщение #21


Гуру
******

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



Цитата(des00 @ Nov 6 2009, 07:21) *
в альтерах асинхронной блочной памяти после флексов небыло, нет и скорее всего не будет !!!

Во первых с ацексов, а во вторых будет - в арриях и стратиксах последних вернули в виде распределенки.
Go to the top of the page
 
+Quote Post
Костян
сообщение Nov 6 2009, 08:47
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Цитата(penauch @ Nov 5 2009, 23:19) *
 Через edit описание памяти вклинивается в исходный файл проекта, но по-прежнему память синтезируется из вентилей.


чтобы этого не происходило , нужно явно задавать тип памяти через настройки синтезатора (как Вам уже написали выше) либо через атрибуты языка hdl (читайте документацию на используемый синтезатор).
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 6 2009, 08:50
Сообщение #23


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SM @ Nov 6 2009, 02:46) *
Во первых с ацексов, а во вторых будет - в арриях и стратиксах последних вернули в виде распределенки.


насчет асексов мог ошибаться и я говорил о блочной памяти, а не о распределенной %)


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 6 2009, 08:56
Сообщение #24


Гуру
******

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



Цитата(penauch @ Nov 6 2009, 04:19) *
но подключить файл не удалось - как это сделать?

Файл просто добавить в проект, а в тот файл, где используется память. Описание компонента - генерируется визардом, его только включить не забыть. Ну и экземпляр - через memory_inst: memory_name PORT MAP ( .... );

Цитата(penauch @ Nov 6 2009, 04:19) *
Через edit описание памяти вклинивается в исходный файл проекта, но по-прежнему память синтезируется из вентилей.

И будет из вентилей, пока хотите асинхронную. Так как, как уже сказали, асинхронного режима у M4K нет.

Цитата(des00 @ Nov 6 2009, 11:50) *
о блочной памяти, а не о распределенной %)


Так они распределенку сделали в виде блочной - один блок = 1 MLAB = 640 бит = 64x10 | 32x20
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 6 2009, 10:29
Сообщение #25


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SM @ Nov 6 2009, 02:56) *
Так они распределенку сделали в виде блочной - один блок = 1 MLAB = 640 бит = 64x10 | 32x20


я бы не стал так однозначно утверждать. Назвать можно все что угодно и как угодно, вот из даташита на стратикс 4
Цитата
The LAB of Stratix IV has a new derivative called Memory LAB (MLAB), which adds look-up table (LUT)-based SRAM capability to the LAB as shown in Figure 2–2.
....
You can use MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM, as shown

будет тоже самое если назвать SLICEM у хилых каким нить RAMD и заявить что это блочная память с асинхронным чтением, только маленькая. Хотя на деле будут те же яйца вид сбоку %)


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 6 2009, 10:45
Сообщение #26


Гуру
******

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



Цитата(des00 @ Nov 6 2009, 13:29) *
я бы не стал так однозначно утверждать. Назвать можно все что угодно и как угодно, вот из даташита на стратикс 4

Так одно дело было бы, если бы отдельно взятый ALM можно было бы переключить в режим памяти 64х1 или 32х2, так нет - только блок целиком. И название - MLAB - буква B означает Block. И заметьте, не я это придумал wink.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 6 2009, 11:01
Сообщение #27


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SM @ Nov 6 2009, 04:45) *
Так одно дело было бы, если бы отдельно взятый ALM можно было бы переключить в режим памяти 64х1 или 32х2, так нет - только блок целиком. И название - MLAB - буква B означает Block. И заметьте, не я это придумал wink.gif


прекрасно понимаю что вы тут не причем %) ну не сделали альтеровцы адресный генератор на каждый ALM, а сделали общий на LAB. Но самой сути это не меняет, память эта асинхронная по той причине что на LUT е основана, который и является памятью. ИМХО LUT ресурс более распределенный чем блочный, полагаю на этом можно спор о терминах окончить %)


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Nov 6 2009, 11:11
Сообщение #28


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

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



Можно я еще скажу? У этого MLAB всего два входа byte enable, поэтому если вы делаете память 32x20 на MLAB, то byte enable получается на 10 бит. А мне вот надо было довольно много памяти сделать с byte enable по 4 бита - и половина блока пропадает впустую, ее уже как логику тоже не использовать. Короче это безобразие, а не память.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 6 2009, 11:20
Сообщение #29


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(DmitryR @ Nov 6 2009, 05:11) *
Можно я еще скажу? У этого MLAB всего два входа byte enable, поэтому если вы делаете память 32x20 на MLAB, то byte enable получается на 10 бит. А мне вот надо было довольно много памяти сделать с byte enable по 4 бита - и половина блока пропадает впустую, ее уже как логику тоже не использовать. Короче это безобразие, а не память.


А RMW цикл не получилось использовать ? асинхронное чтение тут как раз рулит smile.gif


--------------------
Go to the top of the page
 
+Quote Post
o_khavin
сообщение Nov 8 2009, 12:45
Сообщение #30


Местный
***

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



Цитата
А RMW цикл не получилось использовать ? асинхронное чтение тут как раз рулит

это Xilinx рулит... rolleyes.gif
Цитата
А мне вот надо было довольно много памяти сделать с byte enable по 4 бита

а какой глубины нужна память? может на рассыпухе проще будет?

Сообщение отредактировал o_khavin - Nov 8 2009, 12:48
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 - 16:57
Рейтинг@Mail.ru


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