|
|
  |
использование встроенной памяти ПЛИС |
|
|
|
Nov 6 2009, 01:19
|
Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 12-10-09
Пользователь №: 52 902

|
спасибо. проработал два варианта - через wizard и через edit. Через edit описание памяти вклинивается в исходный файл проекта, но по-прежнему память синтезируется из вентилей. если делать через wizard, то создаётся отдельный файл с описанием памяти где в generic указано "M4K" тоесть из ячеек памяти делать, так? но подключить файл не удалось - как это сделать? во вторых - как с этой памятью работать? память однопортовая с we и clk. и зачем мне clk? мне нужна асинхронная память - какую там не нашёл  мне же нужно работать с памятью как с массивом std_logic_vector - и не хотелось бы всякие стробы и клоки примешивать, тоесть нужно чтоб переменные синтезировались из памяти а не из вентилей. такое возможно? если нет, то как пользоваться вышеупомянутой однопортовой памятью?
|
|
|
|
|
Nov 6 2009, 08:31
|

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

|
1. Из меню Edit вставляете template "нужная Вам RAM" (берёте бубен, набедренную повязку и в ритме тумба-умба > п. 2)  2. Настраиваете: главное меню Assignments > пункт Settings > категория Analysis & Syntethesys settings > кнопка More settings > опции (Auto RAM replacement = ON, Auto RAM to logic cell conversion = OFF) P.S. Это в QII-7.2 так, в других версиях может последовательность и направление вложения опций отличаться, но сути дела не меняет.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Nov 6 2009, 08:56
|
Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Nov 6 2009, 10:29
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 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 и заявить что это блочная память с асинхронным чтением, только маленькая. Хотя на деле будут те же яйца вид сбоку %)
--------------------
|
|
|
|
|
Nov 8 2009, 12:45
|
Местный
  
Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094

|
Цитата А RMW цикл не получилось использовать ? асинхронное чтение тут как раз рулит это Xilinx рулит... Цитата А мне вот надо было довольно много памяти сделать с byte enable по 4 бита а какой глубины нужна память? может на рассыпухе проще будет?
Сообщение отредактировал o_khavin - Nov 8 2009, 12:48
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|