Перейти к содержанию
    

Матрица взаимоисключающих переключений

25MHz это скорость передачи данных по входам? Если да, то какова частота смены матрицы, то есть как часто происходят изменения по сигналу sel и перенаправление входов к выходам.
Да 25MHz - частота данных, пакеты по 32 бита. Соответственно анализ переключений в 32 раза реже ~0,78Mhz.

 

Лучше поискать и почитать. Эти проблемы были решены, есть разные архитектуры. Гуглите статьи по switching networks.
Спасибо за ссылки очень интересные вещи. Оч понравился принцип omega network, надо будет попробовать.

 

...При коммутации же каналов, поскольку в вашем случае маршруты каналов могут меняться налету так, что любой вход может попасть на любой выход, свойство "взаимоисключения", на которое Вы надеетесь как на ключ к оптимизации никакого значения не имеет.
Я не надеюсь на то, что свойство "взаимоисключения" поможет оптимизировать матрицу, а говорю о том, что это есть необходимое условие реализации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эврика!

Допустим, имеем N входов и N выходов. В общем случае потребовались бы N-входовые мультиплексоры перед каждым из N выходов.

Из-за того, что каждый индивидуальный вход должен прийти на какой-нибудь выход (не допускается дублирование входов или выходов), схему можно упростить. Единичным элементом схемы будет двухвходовый-двухвыходовый мультиплексор-демультиплексор, управляемый одним сигналом S. Если S = 0, In0 = Out0, In1 = Out1, если S = 1, In0 = Out1, In1 = Out0. Такой вот "кроссовер" получается ;)

Такие "кроссоверы" подключаются к соседним парам входных сигналов, всего их будет N/2. К их выходам подключаются следующий слой "кроссоверов", один подключен к левым выходам предыдущих, следующий к правым. (upd. не совсем так, но точнее описать не могу) И т.д., чтобы в конце можно было из любого входа добраться до каждого выхода. Напоминает "бабочку" из БПФ.Таких слоев будет log2(N). См. рис. для 4x4. Сигналы выбора S (в данном случае их 4 шт) однозначно определяют все возможные комбинации переключений. Для 256x256 этих переключателей будет 128 x 8 = 1024, вполне достижимо.

post-10362-1288600073_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эврика!

Вынужден разочаровать.:rolleyes: Посмотрите ссылки выше.:biggrin: Все уже придумано.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вынужден разочаровать. :rolleyes: Посмотрите ссылки выше. :biggrin: Все уже придумано.

Верю! Но не разочарован. Я сам придумал. :) Ссылок не смотрел. Пойду поинтересуюсь...

Только тогда о чем здесь так много говорят?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только тогда о чем здесь так много говорят?

Мне было бы интересно, если бы кто-нибудь все это синтезировал, сравнил и придумал своё еще лучше. И рассказал. :santa2:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне было бы интересно, если бы кто-нибудь все это синтезировал, сравнил и придумал своё еще лучше. И рассказал. :santa2:

Ну кто? Автор топика, конечно! :) Ему же надо.

То, что я описал, по-моему, понятно. Каждый переключатель получается на двух LUT. Для N=256 слоев будет 8. На 25 MHz потянут без проблем.

Остается только управляющие биты организовать в "удобное" слово.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорость 25MHz.

 

В смысле?

 

Я не надеюсь на то, что свойство "взаимоисключения" поможет оптимизировать матрицу, а говорю о том, что это есть необходимое условие реализации.

 

Реализуйте это свойство внешними проверками. Скорость и безопасность - это противоречивые требования.

Или, действительно, сделайте сортирующий граф из попарных перестановок. Если при этом в дерево будете запускать слова вместе с индексами выходов, и просто сортировать по этим индексам, то сможете менять порядок хоть для каждого блока независимо. Только вот скорость и ресурсы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На форуме есть тема о создании подобных быстрых коммутаторов с небольшим ресурсом. Используйте поиск.
А можно хотя бы намекнуть на ключевые слова? А то 40 минут поиска по словам "коммутатор" и "switching networks" не дали результатов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я когда то кидал сюда (или в 'Применение FPGA' - не помню) подборку статей по Benes Network и Omega-Flip Network (там была расписана эта задача во всех подробностях). Так же кидал проект по реализации коммутатора 64->64 (во всех видах на всех network'ах) с оценками скорости и затрат ресурсов.

 

Поискал - похоже уже нету :(

 

http://rapidshare.com/files/428291892/bsw.zip

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я когда то кидал сюда...

А еще раз сюда забросить можете? По ссылке регистрироваться требует.

О, скачал!

Пробежался по картинкам. Похоже, то, что я нарисовал выше - лишь половина решения...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А еще раз сюда забросить можете? По ссылке регистрироваться требует.
Дойду до дома - заброшу исходники и таблички (если Inet заработает :) )

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел сорцы.

swntw.zip

RTL не проверял (скорее всего нужна будет отладка). Синтезируется (это проверял)

В архиве 3 версии - 2 pipeline'овые потоковые своперы (на Benes network и на Omega-flip). И итерационная версия на Omega-Flip (медленная но маленькая)

Замеры делались по результатам синтеза для Spartan 3E (64х битовый свопер)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем, получил много материалов и пищи для размышлений. Будем работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...