Pull to refresh

Ответ Л.П. Плеханова на замечания по книге «Основы самосинхронных электронных схем»

Reading time 7 min
Views 9.6K
Предисловие: Меня зовут Виктор, и я сотрудник Института Проблем Информатики РАН. В нашем отделе ведутся две разработки: рекуррентный процессор и самосинхронная схемотехника. Сам я занят первым, но не смог пройти мимо Мои замечания о книге Л.П. Плеханова «Основы самосинхронных электронных схем», т.к. Л.П. Плеханов работает у нас и данная тематика и «внутренняя кухня» мне близки и знакомы. Я попросил Леонид Петровича подготовить ответ, который с удовольствием сегодня опубликую.

Для справки: У коллектива, в котором работает Плеханов Л.П. довольно много наработок по части самосинхронной схемотехники. Более 20 патентов по самосинхронике, включая международные патенты (США).

Также решения являются не только теоретическими, но и практическими. Например, буквально недавно вышла книга «Библиотека функциональных ячеек для проектирования самосинхронных полузаказных микросхем серий 5503 и 5507». САПР «Ковчег» позволяет проектировать самосинхронные схемы в базисе БМК серий 5503 и 5507.

Кроме того, уже выполнен по технологии 65 нм самосинхронный делитель и блок FMA для процессора КОМДИВ-64. В силу разных обстоятельств данные труды пока не имеют заслуженной на мой взгляд огласки, и посему лично я надеюсь, что этот первый пост нашего отдела ИПИ РАН не будет последним и в ближайшее время мы расскажем публике о самосинхронной схемотехнике подробнее. Ну а пока, передаю слово Леониду Петровичу.

Пошумим!



Вообще-то, если появляется компетентная рецензия, то это благо для автора. Но здесь другой случай.

1. Общее впечатление


Автор замечаний (далее — Рецензент), находясь в плену своих событийных представлений, непоколебимо считает, что и все другие исходят (или должны исходить) из того же.

А с какой стати?

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

2. Напомню


Событие — это переключение сигнала — выхода элемента из 0 в 1 и из 1 в 0. В событийном подходе надо описывать все эти переключения при работе схемы. Ясно, что чем больше и сложнее схема, тем больше переключений. То есть событийный подход не позволяет иметь дело с большими схемами — разве до 10-20 элементов. Далее уже тысячи, сотни тысяч и т.д. переключений.

Это главный недостаток событийных методов. Другой, менее очевидный, но не менее важный — замкнутость всех событийных диаграмм. Без нее ничего сделать нельзя. В функциональном подходе элементы изначально описываются логическими функциями выход от входов вида Y=F(Xi) и никак иначе. Событийных описаний в нем нет. В этом и новизна функционального подхода, позволившая иначе, чем прежде, рассмотреть наши схемы и получить новые результаты.

Смысл функционального подхода:

а) Отказаться от событийного описания.
б) При составлении (проектировании) схемы рассматривать разомкнутые схемы. То есть замыкать схему на самом конечном этапе ее использования.
в) Проектировать иерархически.
Это написано в предисловии. В анализе и синтезе нет событийных описаний. Как можно было не заметить этого в книге — не понимаю. Здесь можно было поставить точку, так как бессмысленно обсуждать что-то при разных подходах.

Но на ряд некоторых высказываний общего характера все же следует ответить.

3. О терминологии


Цитата:
«А вот определение самосинхронной схемы:
Самосинхронной схемой (СС-схемой) называется схема, обладающая
двумя свойствами безошибочной работы:
отсутствием гонок при любых конечных задержках элементов;
отказобезопасностью.
Данное определение подразумевает гипотезу о задержках Маллера.
Второй пункт есть следствие первого. А первый пункт не что иное, как определение
давно устоявшегося термина speed-independent (SI).
То есть получается, что самосинхронные схемы это не отдельный класс схем,
а схемы, синтезированные определенным методом, который гарантирует свойство SI.
Таким образом «самосинхронный» это не характеристика класса схем,
а характеристика метода синтеза.»
Да, есть устоявшийся термин SI, появившийся более 50 лет назад. Но он непонятен: о какой скорости идет речь? Возможно поэтому термин «самосинхронный» ввел В.И.Варшавский, как более понятный: схема сама себя синхронизирует.

По существу он эквивалентен SI. Я же конкретизировал определение с целью дальнейшего развития функционального подхода. Это обычный путь, например, в математике: дал определение и построил на нем теорию (вспомним Лобачевского).

Любой автор имеет неотъемлемое право вводить свои определения и строить на них свои конструкции. Например, Маллер ввел определение полумодулярной схемы. Теперь «отказобезопасность» — термин из ГОСТа. Означает, что схема останавливается (прекращает работу) сразу после появления определенного отказа, например, сгорел элемент. Оба свойства в схеме обеспечиваются по-разному: первое — дисциплиной изменения входов элементов в двух фазах работы, второе — индикацией сигналов. Так что «Второй пункт» НЕ ЕСТЬ следствие первого. Обсуждаемые схемы относятся к классу асинхронных. А их принадлежность к разновидностям этого класса — вопрос формальный, не считаю важным тут ломать копья.

Интересно, что для разработчика практических схем (или практического разработчика схем) ближе и понятнее: те два упомянутые свойства или полумодулярность, необходимая в событийном подходе? Решает разработчик.

4. О проблемах событийного описания


В книге оно не используется, но все же.

Цитата:
«Очевидно, что таких проблем две: не ограниченный базис реализации логических
элементов и экспоненциальная сложность вычисления логических функций.»
Неограниченный базис реализации — это не проблема, а рабочий инструмент. Ограниченный базис 2И-НЕ, 2ИЛИ-НЕ, к которому призывает Резензент, нигде не используется (кроме теории) из-за максимальных затрат в транзисторах. Иначе зачем существуют обширные базовые библиотеки в 200, 300 и более элементов, можно было бы иметь их всего два.

Цитата:
«При этом получаются вот такие ужасающие штуки
image
»
Такие элементы давно никого не ужасают, подобного полно в базовых библиотеках.

А экспоненциальная сложность в событийном подходе — это да, проблема, которую не объехать, не спасают ни диаграммы изменений, ни Петри, ни STG. И это не «сложность вычисления логических функций», коих нет, а громоздкость представления событий — переключений сигналов. Эта громоздкость и порождает огромный объем необходимых компьютерных вычислений. К тому же обязательная замкнутость всех событийных диаграмм с вовлечением
внешней среды, учет которой — лишний груз.

Обычно в событийном подходе описывают процесс (! а не функции) переключений для одного начального состояния. А где все другие состояния, которые должны быть пройдены для гарантии полумодулярности?

Цитата:
«Как известно логические функции вычисляются по таблицам истинности с помощью карт Карно, кубов и тому подобное.»
Надо бы открыть большую тайну Рецензенту: существует т.н. булева алгебра, по которой также можно вычислять функции.

Цитата о событийном описании:
«Отсюда трудности с иерархическим описанием. Я бы назвал это древними нелепыми предрассудками. Взяты они по всей видимости из работ Варшавского 30-летней
давности. Причем без какого-то осмысления.»
Какие предрассудки? Разве нет трудностей? Попробуйте составить событийное описание хотя бы 4-разрядного АЛУ или счетчика, не говоря уже о 8, 16 и т.д. разрядах, с прохождением всех состояний и внешней средой. А что такое иерархическое событийное описание? Если оно есть, то пусть меня поправят. Кроме того, столь пренебрежительное отношение к работам В.И.Варшавского с группой неприлично — неприлично не знать этих работ.

Если Маллер доказал существование обсуждаемых схем и дал метод анализа, то В.И.Варшавский с группой разработали методы их создания, в том числе метод диаграмм изменений, которым пользуется Рецензент (см. следующуя цитату). Уже одно то, что у них 150 изобретений, должно вызывать уважение. Впрочем, все это есть в книге.

Цитата:
" К тому же функциональный подход вторичен по отношению к
событийному подходу. Функциональное описание есть не что иное,
как результат применения метода Маллера к событийному описанию.
Действительно, по диаграмме изменений получаем таблицу истинности, по ней
вычисляем логические функции. В итоге получаем функциональное описание.
Фактически получается, что самосинхронный метод является надстройкой
над методом Маллера."
Это набор заблуждений Рецензента — опять событийное первенство. Что такое «метод Маллера» в применении к событийному описанию? Маллер исследует поведение схем в событийном описании (диаграммы переходов) и выявляет конфликтные переходы, нарушающие полумодулярность. Это чистый АНАЛИЗ.

Далее, синтез по диаграммам изменений разработан В.И.Варшавским с группой как метод синтеза. При чем здесь метод анализа Маллера? И при чем здесь вторичность, надстройка и вообще все утверждения в той цитате? См. п.2 ответа.

Цитата:
«Схема без описания дисциплины изменений входных сигналов смысла не имеет.»
Именно, и в книге детально прописана эта дисциплина.

Цитата:
«В конце концов автор вынужден ввести чисто событийные понятия:
инициатор и континуатор (для сигналов).»
Здесь ошибка. Это структурные понятия. Континуатор структурно — через другие
элементы — следует за инициатором.

5. Анализ самосинхронности


Рецензент совсем не видит одой из главных проблем проектирования самосинхронных (или, что то же, SI) схем — анализа.

Разработчик таких схем (практик) делает так:
— собирает фрагмент схемы,
— анализирует на самосинхронность/полумодулярность,
— из корректных фрагментов собирает схему на следующем уровне,
— опять анализирует и т.д.

То есть анализ — это рабочий инструмент проектирования практических схем. А событийный синтез по диаграммaм изменений, Петри и STG — это удел маленьких схем — до 10-20 элементов. Далее — экспонента. В нашей практике для конкретных фрагментов событийный анализ длился и 4 суток, и 7 суток, и это не предел. И только для одного начального состояния, а не для
всех, как надо!

Функциональный подход, как описано в книге, радикально решает проблему: анализ по всем состояниям любой глубины иерархии, реально было до 8-10, длится считанные секунды или минуты.

6. Судя по замечаниям, Рецензент не видит проблем в событийных описаниях. Рискну предположить, что он не разрабатывал достаточно больших схем и не сталкивался с их проблемами. А все проблемы — в больших схемах.

7. Небольшая ссылка


Одна из синтезированных схем Рецензента на сайте — C-элемент в двухвходовом базисе — приведена в классической книге 30-летней давности п/ред В.И.Варшавского «Автоматное управление асинхронными процессами в ЭВМ и дискретных системах», 1986, на рис. 5.27.
Неплохо бы для научной этики сослаться на предшественника-классика.

Л.П.Плеханов
Tags:
Hubs:
+36
Comments 63
Comments Comments 63

Articles