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

 
 
 
Reply to this topicStart new topic
> Internal Hi-Z Xilinx 6/7 семейства.
count_enable
сообщение Feb 19 2016, 12:46
Сообщение #1


Местный
***

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



Задача немного напоминает контроллер прерываний или CAN. Есть Х модулей на общей однобитной шине. В любой момент любое число модулей может выставить высокий уровень (доминант) на шину. Мастер-модуль слушает шину и при доминанте начинает опрос модулей. В состоянии покоя линия находится в низком (рецессивном состоянии). Модули шину не слушают.
ЕМНИП, Hi-Z тристейты разрешены только на пинах, а не на внутренних соединениях. Возможно ли сделать такую шину? Подключить Х линий к мастеру или мультиплексер с последовательным опросом не предлагать, интересует именно шина, чтобы был минимум соединений типа "1 к Х".
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Feb 19 2016, 13:06
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(count_enable @ Feb 19 2016, 15:46) *
ЕМНИП, Hi-Z тристейты разрешены только на пинах, а не на внутренних соединениях. Возможно ли сделать такую шину? Подключить Х линий к мастеру или мультиплексер с последовательным опросом не предлагать, интересует именно шина, чтобы был минимум соединений типа "1 к Х".


Можно взять кристалл в котором есть внутренние z-буферы. Только, боюсь, они еще в прошлом веке закончились...
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 19 2016, 13:08
Сообщение #3


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

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



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

Цитата(count_enable @ Feb 19 2016, 14:46) *
ЕМНИП, Hi-Z тристейты разрешены только на пинах, а не на внутренних соединениях. Возможно ли сделать такую шину? Подключить Х линий к мастеру или мультиплексер с последовательным опросом не предлагать, интересует именно шина, чтобы был минимум соединений типа "1 к Х".


Так и делайте - для verilog внутренние dst=oe ? src : 1'bz синтезатор превращает в комбинацию (oe && src) и затем все что на этой шине собирает с помощью OR;

Проверить это в синтезаторе 5 минут.
P.S. да еще использовать для соединения не wire а тип tri0 или tri1 если конечно синтезатор поддерживает;

Успехов! Rob.
Go to the top of the page
 
+Quote Post
count_enable
сообщение Feb 19 2016, 13:37
Сообщение #4


Местный
***

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



Вы правы, синтезатор (Xilinx ISE) это синтезирует без замечаний. Но сможет ли внутренний интерконнект реализовать шину где может быть активно 50-100 драйверов "1" одновременно? Какой документ описывает использование внутреннего Hi-Z, можно ли высокоимпендансное состояние отличить от нуля на приёмнике? Мне достаточно просто детектировать "1", но хочу разобраться для себя. Почему тогда учат что Hi-Z внутри чипа крайне нежелательны? С INOUT понятно, но у меня всё однонаправленное.

Добавлено:
Ещё о использовании ИЛИ подумалось. Если у нас будет несколько сот модулей на линии, то такой гигантский OR будет весьма неэкономичен. А дерево из двухпортовых ИЛИ будет иметь отвратительные тайминги. Поэтому привлекает идея именно общей шины. Но похоже, в ПЛИС такое не сделать.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 19 2016, 14:06
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(count_enable @ Feb 19 2016, 15:37) *

Чем Вас стандартные шины не устраивают? Например Avalon Memory-Mapped Interface или WISHBONE и др.


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
count_enable
сообщение Feb 19 2016, 14:13
Сообщение #6


Местный
***

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



Да модули там маленькие, один DSP+BRAM, и обвязка на 3-5 CLB. К ним ставить AXI (я Xilinxист) это из пушки по воробьям. У мастера, который слушает и опрашивает, будет AXI.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 19 2016, 14:26
Сообщение #7


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

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



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

Цитата(count_enable @ Feb 19 2016, 15:37) *
Добавлено:
...
Но сможет ли внутренний интерконнект реализовать шину где может быть активно 50-100 драйверов
...
Ещё о использовании ИЛИ подумалось. Если у нас будет несколько сот модулей на линии, то такой гигантский OR будет весьма неэкономичен. А дерево из двухпортовых ИЛИ будет иметь отвратительные тайминги. Поэтому привлекает идея именно общей шины. Но похоже, в ПЛИС такое не сделать.

Да хоть 1000. В любом случае шина внутри FPGA превращается... в элегантные шор... в дерево AND и OR.
Для оптимизации синтезатор может (если захочет) реализовать это растение на базе LUT и carry. Ну и никто не мешает поставить пару регистров на входе мастера - синтезатор может (опят же при желании) "забить" их с помощью retiming внутрь дерева krapula.gif .

Успехов! Rob.
Go to the top of the page
 
+Quote Post
Самурай
сообщение Feb 19 2016, 14:34
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(count_enable @ Feb 19 2016, 17:37) *
Вы правы, синтезатор (Xilinx ISE) это синтезирует без замечаний. Но сможет ли внутренний интерконнект реализовать шину где может быть активно 50-100 драйверов "1" одновременно? Какой документ описывает использование внутреннего Hi-Z, можно ли высокоимпендансное состояние отличить от нуля на приёмнике? Мне достаточно просто детектировать "1", но хочу разобраться для себя. Почему тогда учат что Hi-Z внутри чипа крайне нежелательны? С INOUT понятно, но у меня всё однонаправленное.

Добавлено:
Ещё о использовании ИЛИ подумалось. Если у нас будет несколько сот модулей на линии, то такой гигантский OR будет весьма неэкономичен. А дерево из двухпортовых ИЛИ будет иметь отвратительные тайминги. Поэтому привлекает идея именно общей шины. Но похоже, в ПЛИС такое не сделать.



Неужели так сложно осилить даташит на используемое семейство и убедиться, что никакого «внутреннего Hi-Z» давным-давно в ПЛИС-ах не делают? И тем более нет документов на такую ересь. Вот и выше коллеги Вам уже пару раз про это намекнули.

И по поводу экономичности «гигантского двухпортового ИЛИ» с отвратительными таймингами это Вы тоже о чем-то сильно о своем… На все эти ваши 100 драйверов нужно всего 3 слоя логики и 21 6-и входовых LUT-в, думаю в 10нс задержки уложитесь, особенно с правильными констрейнами. А если и это много, тогда либо конвейеризация, либо пересмотр всей концепции консерватории.
Go to the top of the page
 
+Quote Post
count_enable
сообщение Feb 19 2016, 14:59
Сообщение #9


Местный
***

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



Цитата(Самурай @ Feb 19 2016, 18:34) *
Неужели так сложно осилить даташит на используемое семейство и убедиться, что никакого «внутреннего Hi-Z» давным-давно в ПЛИС-ах не делают? И тем более нет документов на такую ересь. Вот и выше коллеги Вам уже пару раз про это намекнули.
Так я ведь и не спорю, даже написал "ЕМНИП Hi-Z тристейты разрешены только на пинах, а не на внутренних соединениях". Но ведь делают многоабонентные шины. У меня возникла красивая концепция общего провода, я поинтересовался возможностью реализации. И с задержками в дереве ИЛИ скорее всего вы правы, тем более что у меня всё синхронное.
Go to the top of the page
 
+Quote Post

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

 


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


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