Vengin 0 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба 25MHz это скорость передачи данных по входам? Если да, то какова частота смены матрицы, то есть как часто происходят изменения по сигналу sel и перенаправление входов к выходам.Да 25MHz - частота данных, пакеты по 32 бита. Соответственно анализ переключений в 32 раза реже ~0,78Mhz. Лучше поискать и почитать. Эти проблемы были решены, есть разные архитектуры. Гуглите статьи по switching networks.Спасибо за ссылки очень интересные вещи. Оч понравился принцип omega network, надо будет попробовать. ...При коммутации же каналов, поскольку в вашем случае маршруты каналов могут меняться налету так, что любой вход может попасть на любой выход, свойство "взаимоисключения", на которое Вы надеетесь как на ключ к оптимизации никакого значения не имеет.Я не надеюсь на то, что свойство "взаимоисключения" поможет оптимизировать матрицу, а говорю о том, что это есть необходимое условие реализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Эврика! Допустим, имеем 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, вполне достижимо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyF 0 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Эврика! Вынужден разочаровать.:rolleyes: Посмотрите ссылки выше. Все уже придумано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Вынужден разочаровать. :rolleyes: Посмотрите ссылки выше. Все уже придумано. Верю! Но не разочарован. Я сам придумал. :) Ссылок не смотрел. Пойду поинтересуюсь... Только тогда о чем здесь так много говорят? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyF 0 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Только тогда о чем здесь так много говорят? Мне было бы интересно, если бы кто-нибудь все это синтезировал, сравнил и придумал своё еще лучше. И рассказал. :santa2: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Мне было бы интересно, если бы кто-нибудь все это синтезировал, сравнил и придумал своё еще лучше. И рассказал. :santa2: Ну кто? Автор топика, конечно! :) Ему же надо. То, что я описал, по-моему, понятно. Каждый переключатель получается на двух LUT. Для N=256 слоев будет 8. На 25 MHz потянут без проблем. Остается только управляющие биты организовать в "удобное" слово. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Скорость 25MHz. В смысле? Я не надеюсь на то, что свойство "взаимоисключения" поможет оптимизировать матрицу, а говорю о том, что это есть необходимое условие реализации. Реализуйте это свойство внешними проверками. Скорость и безопасность - это противоречивые требования. Или, действительно, сделайте сортирующий граф из попарных перестановок. Если при этом в дерево будете запускать слова вместе с индексами выходов, и просто сортировать по этим индексам, то сможете менять порядок хоть для каждого блока независимо. Только вот скорость и ресурсы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба На форуме есть тема о создании подобных быстрых коммутаторов с небольшим ресурсом. Используйте поиск.А можно хотя бы намекнуть на ключевые слова? А то 40 минут поиска по словам "коммутатор" и "switching networks" не дали результатов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Я когда то кидал сюда (или в 'Применение FPGA' - не помню) подборку статей по Benes Network и Omega-Flip Network (там была расписана эта задача во всех подробностях). Так же кидал проект по реализации коммутатора 64->64 (во всех видах на всех network'ах) с оценками скорости и затрат ресурсов. Поискал - похоже уже нету :( http://rapidshare.com/files/428291892/bsw.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Я когда то кидал сюда... А еще раз сюда забросить можете? По ссылке регистрироваться требует. О, скачал! Пробежался по картинкам. Похоже, то, что я нарисовал выше - лишь половина решения... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба А еще раз сюда забросить можете? По ссылке регистрироваться требует.Дойду до дома - заброшу исходники и таблички (если Inet заработает :) ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Нашел сорцы. swntw.zip RTL не проверял (скорее всего нужна будет отладка). Синтезируется (это проверял) В архиве 3 версии - 2 pipeline'овые потоковые своперы (на Benes network и на Omega-flip). И итерационная версия на Omega-Flip (медленная но маленькая) Замеры делались по результатам синтеза для Spartan 3E (64х битовый свопер) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyF 0 1 ноября, 2010 Опубликовано 1 ноября, 2010 · Жалоба Спасибо, очень интересно! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 2 ноября, 2010 Опубликовано 2 ноября, 2010 · Жалоба Спасибо всем, получил много материалов и пищи для размышлений. Будем работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться