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

 
 
> Параллельная шина внутри ПЛИС, можно ли упростить?
ViKo
сообщение Jul 25 2016, 08:59
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Есть внешняя шина, подключенная к микроконтроллеру. Внутри ПЛИС к шине подключено несколько устройств. В ПЛИС они объединяются по "или", не смотря, что сигналы описаны с z-состоянием. Потому что внутри ПЛИС таких буферов нет (экзотику обсуждать не предлагаю). Представим 8 16-битовых устройств, и все по "или" объединить. Много логики отъедается. Кстати, я хочу так и описать эту шину, как она реально создается. Если проще не станет, так хотя бы, понятнее.
Нет ли иного способа прочитать устройства? Например, медленные читать последовательно? Точно, сковать всех одной цепью! rolleyes.gif И по SPI выбросить. А еще как...?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
iosifk
сообщение Jul 25 2016, 09:05
Сообщение #2


Гуру
******

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



Цитата(ViKo @ Jul 25 2016, 11:59) *
Есть внешняя шина, подключенная к микроконтроллеру. Внутри ПЛИС к шине подключено несколько устройств. В ПЛИС они объединяются по "или", не смотря, что сигналы описаны с z-состоянием. Потому что внутри ПЛИС таких буферов нет (экзотику обсуждать не предлагаю). Представим 8 16-битовых устройств, и все по "или" объединить. Много логики отъедается. Кстати, я хочу так и описать эту шину, как она реально создается. Если проще не станет, так хотя бы, понятнее.
Нет ли иного способа прочитать устройства? Например, медленные читать последовательно? Точно, сковать всех одной цепью! rolleyes.gif И по SPI выбросить. А еще как...?

Да, шина в ПЛИС разделится на две. Одна - шина на запись пройдет ко всем абонентам в ПЛИС параллельно. А от этих абонентов соберется куча шин и пройдет через мультиплексор и далее на выход через трехстабильные буфера...
Но, поскольку клоки в ПЛИС на порядок быстрее, то дело можно упростить...
Сначала надо написать за сколько времени происходит обмен по шине "снаружи" ПЛИС и какова тактовая внутри ПЛИС? Возможно удастся сделать на "входе" в ПЛИС преобразователь из паралл. в послед (например хотя бы в тетрады или в байты). и внутри далее разрядность шины уменьшить...
И, кстати, при чтении из ПЛИС надо давать 1 такт задержки на открытие шинников из ПЛИС, иначе они греются сильно...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 25 2016, 09:19
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(iosifk @ Jul 25 2016, 12:05) *
Сначала надо написать за сколько времени происходит обмен по шине "снаружи" ПЛИС и какова тактовая внутри ПЛИС? Возможно удастся сделать на "входе" в ПЛИС преобразователь из паралл. в послед (например хотя бы в тетрады или в байты). и внутри далее разрядность шины уменьшить...

В микроконтроллере использую аппаратную мультиплексированную адрес-данные 16-битовую шину, там можно задать длительности в тактах (120 МГц) достаточно свободно. Сейчас у меня 11 тактов. Внутри ПЛИС есть 250 МГц, 125 МГц, 25 МГц. Сколько захочу. rolleyes.gif Для шины использую 125 МГц.
Как ни преобразовывай, при чтении биты придется объединять. И мне представляется, чем шире шина, тем проще это сделать.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 22:14
Рейтинг@Mail.ru


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