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

 
 
> Как лучше сделать доступ к множественной маленькой RAM?, концепция контроллера массива памяти на Spartan 3 или Virtex 5
count_enable
сообщение Oct 5 2013, 16:06
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Дано большое число (25-100) простых вычислительных блоков, у каждого блока есть свое маленькое ОЗУ на 10-100 8битных слов. Число слов одинаково на всех модулях (назвём их ВБ). Каждый ВБ только читает свою память, и есть один глобальный контроллер который читает и пишет эти памяти, адресуя их 16-битно как номерВБ в старшем байте смещение слова в младшем.
Я так понимаю что памяти будут синтезироваться из BRAM. Но смотрю я на схему CLB Spartan 3 и ломаю голову как минимализировать глобальную шину от контроллера до каждой памяти. Сделать локально махонький улавливатель адреса к каждой ОЗУ, который будет пропускать только запросы к своему адресу, или тянуть линии типа CS (chip select) от контроллера к каждой памяти? Запись-чтение будут выборочными и огромный daisy-chain не выбор. Так же возможен переход на Virtex 5, где уже будет несколько сот блоков.
Как сделать это "по-умному"? Скорость чтения-записи контроллером не имеет значения, доступ для ВБ минимальный - один такт.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
count_enable
сообщение Oct 6 2013, 09:25
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Большое спасибо всем за дельные советы! В который раз убедился что этот форум лучшая площадка профессиональной помощи.

Теперь несколько другой вопрос: допустим что память ВБ это CAM, то есть приходить будет не линейный адрес, а 16-битный ключ А. Если в данном ВБ в памяти есть такой ключ, то память выставляет значение Б внутри ВБ. Множественные совпадения исключены, каждому А отвечает только одно значение Б.
В школе меня учили делать САМ циклом-перебором, т.е. каждый клок последовательно сравнивать входящий ключ с ключами в памяти. А Core Generator умеет синтезировать САМ с чтением в один цикл. Как я понимаю внутри есть по одному компаратору на каждый ключ. Стоит ли использовать Core Generator для создания маленьких САМ или же вручную набросать компараторов?
Go to the top of the page
 
+Quote Post



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

 


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


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