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

 
 
> Как лучше сделать доступ к множественной маленькой 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
Ответов
krux
сообщение Oct 5 2013, 17:48
Сообщение #2


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

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
Скорость общения с мастером вообще не критична, более критично чтобы эта шина не сожрала большую часть логики под провода

а мне в таком случае вообще видится что-то JTAG-подобное...


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
count_enable
сообщение Oct 5 2013, 18:27
Сообщение #3


Местный
***

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



Цитата(krux @ Oct 5 2013, 20:48) *
а мне в таком случае вообще видится что-то JTAG-подобное...

daisy-chain? Нет, чтение-запись должны быть со свободным доступом к каждому блоку отдельно.

Цитата
то сделайте последовательную шину и в адресной части каждый блок выбирайте одним битом

То есть код 1 из N и у каждого блока регистр на N, и сигнал выбора подключен к одному биту из регистра? А адрес запихивается в регистр последовательно, по клоку от мастера?

Go to the top of the page
 
+Quote Post
iosifk
сообщение Oct 5 2013, 18:37
Сообщение #4


Гуру
******

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



Цитата(count_enable @ Oct 5 2013, 22:27) *
То есть код 1 из N и у каждого блока регистр на N, и сигнал выбора подключен к одному биту из регистра? А адрес запихивается в регистр последовательно, по клоку от мастера?

Ну а что тут сложного. Длинный сдвиговый регистр (СР). И у каждого блока "триггер адреса"... Произвели сдвиг. Триггеры подключены к битам СР, каждый к своему биту. Если переписалась 1, то блок выбран... Если 0, то не выбран... Минимум связей и дешифраторов. Если запишите несколько 1 в сдвиговый регистр, то можно одновременно писать данные в блоки...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post



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

 


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


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