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

 
 
> Параллельная шина внутри ПЛИС, можно ли упростить?
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
Ответов
ViKo
сообщение Jul 25 2016, 16:00
Сообщение #2


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

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



В FLEX10 были цепи Cascade, позволяющие объединять по И / ИЛИ сигналы после LUT. А в Cyclone III нет подобного. crying.gif
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 25 2016, 16:35
Сообщение #3


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(ViKo @ Jul 25 2016, 19:00) *
В FLEX10 были цепи Cascade, позволяющие объединять по И / ИЛИ сигналы после LUT. А в Cyclone III нет подобного. crying.gif

Ну с это и надо начинать - с того чего нет sm.gif
Древовидный mux прост в написании и минимален в latency но при большом количестве входов возникают проблемы с трассировкой. Цепочечный mux больше размером, имеет большой latency но просто трассируется особенно на большом кристалле. Универсального решения нет.

Я у себя оптимизирую регистры на чтение так - если возможно без потери функциональности то в FPGA регистры параметров/ управления WriteOnly + soft зеркало в CPU. Если программист капризничает и не хочет (а говорит что не может) возится с зеркалами а хочет читать текущее значение из FPGA то ставлю память для ReadBаck + регистр. То есть пишу и в память и в регистр а читаю только из памяти. Естественно это работает когда нет изменений состояния регистра из логики FPGA. Ну и комбинация этих способов с обычными регистрами. Гемор с переносом состояния регистров в память выгоден в очень редких случаях. Опят же все это для Xilinx где локальная память для LUT просто прелесть какая для такого использования.

Цитата(iosifk)
Вот кусок софт-процессора... Это как раз шина данных "внутри"...

Спасибо! теперь я буду знать как выглядит шина данных biggrin.gif

Удачи! Rob.
Go to the top of the page
 
+Quote Post



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

 


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


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