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

масштабируемое решение для динамической конфигурации соединения

On 12/20/2019 at 10:38 PM, RXM said:

Добрый день!

Ищется специалист ПЛИС по теме R&D для разовой работы.

Краткое описание того, что нужно:

Необходимо предложить масштабируемое решение на ПЛИС для динамической конфигурации соединения всех имеющихся  аналоговых контактов.

Например для 6 контактов

1 вариант (соединить все контакты - одна группа): 1+2+3+4+5+6

2 вариант (соединить все  четные и нечетные контакты - две группы): 1+3+5+6 и 2+4+6

3 вариант (2 группы) 1+2+3+5 и 2+6

4 вариант (3 группы) 1+5+6 и 2+4 и 3

......

Количество контактов в целевой задаче измеряется сотнями тысяч.

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

Если есть вопросы просьба задавать их в личку.

Я наверное глупый вопрос задаю, но всё же : ПЛИС работают с цифровыми сигналами, вы предлагаете коммутировать аналог. Как вы собираетесь это делать?

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


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

Всё же чуда не будет.

Если мы хотим чтобы любые из 170 точек из N могли быть соединены вместе то нужно N ключей. И никакое знание про то что нужно подключать не всех а только 170 нам не поможет в виду того что нет информации о том кого нужно подключать. 

Соответственно для M групп нам нужно иметь N*M ключей. Опять же знание о 170 нам никак не помогает.

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


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

53 минуты назад, Aldec сказал:

Возможно тс имеет ввиду ПАИС

Возможно. Изначально я исходил из идеи того, что в ПЛИС/ПАИС уже есть большое количество готовых коммуникаций, которые можно просто динамически менять в рамках этой задачи, вместо того, чтобы собирать отдельные схемы. И до сих пор у меня нет однозначного понимания, можно ли это сделать?

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


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

15 минут назад, MegaVolt сказал:

Всё же чуда не будет.

Если мы хотим чтобы любые из 170 точек из N могли быть соединены вместе то нужно N ключей. И никакое знание про то что нужно подключать не всех а только 170 нам не поможет в виду того что нет информации о том кого нужно подключать. 

Соответственно для M групп нам нужно иметь N*M ключей. Опять же знание о 170 нам никак не помогает.

Про чудо никто не говорит. Нам не нужно соединять КАЖДЫЙ из N  контактов с КАЖДЫМ N контактом. Нам нужно соединять НЕКОТОРЫЕ из N с НЕКОТОРЫМИ из N.

Т.е.  если построить матрицу контактов N*N то по факту получаем дико разряженную (с нулевыми контактами) матрицу, которая в основном бесполезно расходуется на хранение разомкнутых ключей.

Иначе говоря это условно одно соединение на 170 контактов, 10 на 100 контактов, 100 на 20 контактов, 10000 на 10 контактов .. 300000 на 3 контакта и 5000 на 2 контакта.

Проблема в том, что в следующей конфигурации может быть 2 соединения на 180, 11 на 150 ... 400000 на 3 и 100000 на 2 контакта.

Если вместить максимальное количество контактов в матрицу 200х200, то для остальных соединений потребуются либо меньше матрицы, либо в такие-же матрицы можно упаковать большое количество малых соединений. Такие же матрицы можно использовать и для межсоединений упакованных матриц. 

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


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

6 минут назад, RXM сказал:

Про чудо никто не говорит. Нам не нужно соединять КАЖДЫЙ из N  контактов с КАЖДЫМ N контактом. Нам нужно соединять НЕКОТОРЫЕ из N с НЕКОТОРЫМИ из N.

Т.е.  если построить матрицу контактов N*N то по факту получаем дико разряженную (с нулевыми контактами) матрицу, которая в основном бесполезно расходуется на хранение разомкнутых ключей.

Во первых знание о том что не нужно все со всеми нам никак не помогает.

Во вторых я не говорил про N*N а говорил про N*M где M количество групп.

Опять же никто не мешает решать эту задачу для маленьких М и N
Например давайте зададим общее число =10 и в группу нужно собирать не более 3 штук. Групп не более 2.
Я утверждаю что нужно 20 переключателей.

Есть идеи как сделать меньше я готов обсудить это.

Опять же я считаю что получить экономии на памяти хранящий состояние можно запросто. На ключах нет.

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


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

3 часа назад, MegaVolt сказал:

Если мы хотим чтобы любые из 170 точек из N могли быть соединены вместе то нужно N ключей. И никакое знание про то что нужно подключать не всех а только 170 нам не поможет в виду того что нет информации о том кого нужно подключать. 

Бред. Для 170 точек нам нужно 170 ключей. Просто если эти точки попадут в один блок 200х200 - то они будут рядом, и достаточно будет одного блока. Избыточность низкая.

Если эти токи попадут в 200 разных блоков, то нужно будет 170 ключей между блоками (и 200 блоков :).  Избыточность высокая.

Задача состоит в том, чтобы избыточность была всегда минимальная.

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


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

Имхо, если есть некие априорные знания относительно коммутации, тогда воспользовавшись ими возможно удастся снизить кол-во ключей. Если возможны любые замыкания каждого провода с каждым, то и кол-во ключей порядка Nквадрат - без вариантов. Это задача из комбинаторики для троишника.

Отдельного внимания заслуживает желание коммутировать аналоговый сигнал Программируемой Логической Интегральной Схемой.
 

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


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

20 часов назад, prostoRoman сказал:

Отдельного внимания заслуживает желание коммутировать аналоговый сигнал Программируемой Логической Интегральной Схемой.

Я так понял, что ПЛИСка должна ключами управлять.

В 24.12.2019 в 16:56, RXM сказал:

Бред.

Давайте без Интернет-хамства. До сих пор Вы внятно задачу не поставили.

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


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

10 minutes ago, MrGalaxy said:

Я так понял, что ПЛИСка должна ключами управлять.

Да то-то и оно, что решение уже определили, а задачу ещё не поставили.

Почему ПЛИСка? А чего не микроконтроллер? Большой процессор? Или графический процессор??

А параметры системы какие? За какое время нужно скоммутировать? Насколько синхронно должны щёлкать ключи? Откуда и как будет поступать информация о коммутации?

А может основная задача решается не самым оптимальным образом, в лоб, без оптимизации и т.д.? 

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


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

Постановка задачи в начале поста

5 часов назад, prostoRoman сказал:

Да то-то и оно, что решение уже определили, а задачу ещё не поставили.

 

Постановка задачи в начале поста

5 часов назад, prostoRoman сказал:

Почему ПЛИСка?

Потому, что на сколько мне известно, в ПЛИС уже все вентили связаны связью все со всеми. Мысль была использовать готовые связи 

5 часов назад, prostoRoman сказал:

А чего не микроконтроллер? Большой процессор? Или графический процессор??

А как это может решить задачу?

5 часов назад, prostoRoman сказал:

А параметры системы какие?  

Уже описано в постановке.

5 часов назад, prostoRoman сказал:

 За какое время нужно скоммутировать? Насколько синхронно должны щёлкать ключи? 

Максимально быстро. Синхронность щелканья ключей не важна.

5 часов назад, prostoRoman сказал:

А может основная задача решается не самым оптимальным образом, в лоб, без оптимизации и т.д.? 

Есть конкретная идея? - просьба озвучить

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


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

54 minutes ago, RXM said:

Постановка задачи в начале поста

Так себе ТЗ, лишь в сильно общих чертах описано в контексте оптимизации кол-ва аналоговых ключей.
 

55 minutes ago, RXM said:

Есть конкретная идея? - просьба озвучить

Как уже говорили выше, в т.ч. и я, для оптимизации по кол-ву контактов нужно знать специфику задачи. Если её, специфики, нет, то в общем случае ко-во аналоговых ключей ~Nквадрат.

 

 

58 minutes ago, RXM said:

Потому, что на сколько мне известно, в ПЛИС уже все вентили связаны связью все со всеми. Мысль была использовать готовые связи

При чём в этой задаче ПЛИС - не ясно. Как я понимаю должен быть массив аналоговых ключей в кол-ве  ~Nквадрат. Как и кто будет управлять этими ключами (схема управления) - в первую очередь зависит от самих ключей. В любом случае нечто, с количеством ножек  ~Nквадрат (многие миллиарды) - мало представимо.

Если серьёзно, я бы смотрел в сторону заказной ИС с большим кол-вом выводов (тысячи), в которой содержалась бы матрица ключей соответствующей размерности и некая простая схема управления с интерфейсом а-ля SPI. Тогда такую задачу можно было бы подумать как решать при кол-ве таких микросхем порядка тысяч штук.
 

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


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

В 24.12.2019 в 13:46, MegaVolt сказал:

Во вторых я не говорил про N*N а говорил про N*M где M количество групп.

Опять же никто не мешает решать эту задачу для маленьких М и N
Например давайте зададим общее число =10 и в группу нужно собирать не более 3 штук. Групп не более 2.
Я утверждаю что нужно 20 переключателей.

Просьба уточнить о чем идет речь. Чего 10 - контактов, групп,кг?

Из 10 контактов можно собрать только 2 группы по 3 контакта и для этого нужно 20 переключателей? Картинку можно

В 24.12.2019 в 13:46, MegaVolt сказал:

Опять же я считаю что получить экономии на памяти хранящий состояние можно запросто. На ключах нет.

О какой "памяти хранящей состояния" идет речь? Можно по подробней?

3 часа назад, prostoRoman сказал:

Если серьёзно, я бы смотрел в сторону заказной ИС с большим кол-вом выводов (тысячи), в которой содержалась бы матрица ключей соответствующей размерности и некая простая схема управления с интерфейсом а-ля SPI. Тогда такую задачу можно было бы подумать как решать при кол-ве таких микросхем порядка тысяч штук.

Можно по подробней -  не очень понятна мысль..

Типовой пример можно прикинуть как это:

IMG_20191225_153319.jpg

Т.е. можно сгруппировать перенормированные контакты например так:

IMG_20191225_153440.jpg

Как видно пустые контакты сокращаются в 10 раз.

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


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

9 часов назад, RXM сказал:

 

Типовой пример можно прикинуть как это:

IMG_20191225_153319.jpg

В Вашей задаче сколько будет коммутируемых контактов?

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


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

3 часа назад, MrGalaxy сказал:

В Вашей задаче сколько будет коммутируемых контактов?

Контактов где? В целевой задаче сотни тысяч, я уже об этом писал в постановке. Что касается картинки, то очевидно что их 15, при этом часть этих замыкающихся контактов обозначена как ХNN (видно, что их 7)  

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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