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

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


Местный
***

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



То есть один большой СР на все блоки, и к каждому биту по триггеру? А чем это отличается от пучка линий CS, выходящих из мастера?
Go to the top of the page
 
+Quote Post
_pv
сообщение Oct 5 2013, 23:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(count_enable @ Oct 6 2013, 00:46) *
То есть один большой СР на все блоки, и к каждому биту по триггеру? А чем это отличается от пучка линий CS, выходящих из мастера?

зачем большой? много маленьких. все сидят на одной spi шине, по которой прилетает 24битное слово, каждый смотрит в старший байт и если находит свой адрес ВБ берет смещение из среднего и данные из младшего, если нет - игнорирует, никаких чипселектов.
правда чем это лучше 24х разрядной шины - не знаю.
но для шины на 100+ потребителей в источник наверное сигнала должен быть не простым, соответственно если это будет всего 2 линии, а не 24 может и есть смысл.
расскажите, кто знает, что внутри FPGA происходит когда для один выход нагружен на слишком много входов, что роутер с этим сделает?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:22
Рейтинг@Mail.ru


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