С вами трудно не согласится - действительно предложенные схемы далеки от реальной схемотехники, так - теоретические упражнения. Может это одна из причин того, что это направление не нашло применения. С другой стороны может когда-нибудь этот барьер сложности будет преодолён технологически и об этой теории вспомнят и инженеры-практики.
Я пытался объяснить построение схем регистров не претендуя на изложение общей теории, которая к тому же достаточно полно излагается в книге, на которую есть ссылки в статье. При этом меня увлекала идея проследить наследование родовых свойств, которые имелись еще в регистре, предложенном Маллером. По этому принципу и отбирались описываемые схемы.
Эти картинки не из Авт.св., а скорее из книги, на которую есть ссылки в статье, да и то не все - есть одна новая. В СССР существовала ЕСКД - единая система конструкторской документации по правилам которой и рисовались схемы. Ее, вроде, не отменяли.
Спасибо за справедливое замечание. Я действительно не знаком с указанными инструментами, но постараюсь их изучить. Что касается схем - то почти у всех входы снизу, а выходы сверху, что вполне допустимо. Замеченный вам недостаток только у первых двух, которые настолько просты, что указанный недостаток не мешает их пониманию.
Интересная информация, только непонятно почему вы этот объект называете диаграммой Мамрукова. Она, например, имеется в работах Миллера и других публикациях на эту тему.
Вот именно из-за этого "кто кого перетянет" во многих системах логических элементов (ТТЛ, например) запрещено объединять выходы в точку. В нашем случае это не позволяет описать такую схему системой логических уравнений - поэтому такое объединение впрямую запрещено Миллером при определении понятия схема. Поэтому пример, конечно, интересный, но, как говорится, из другой оперы. И спасибо за интересны комментарий!
Я ж говорил, что натяжение на куб - процедура болезненная, т.к. используется тот же принцип, что и в картах Карно: показываются только переходы в соседние состояния. Остальные (если они есть) подразумеваются, но не показываются, что бы не усложнять рисунок.
Приведенная вами диаграмма не полумодулярна относительно состояний 000 и 111, т.к в них возбуждены все три выхода, а при переходе в любое рабочее состояние (- 1 возбуждение) остается возбужденным только 1 выход, следовательно еще 1 возбужденный стал устойчивым не поменяв своего значения. Не полумодулярность этой схемы доказанный факт, не зависимо от источника, откуда она срисована.
Про симуляцию я ничего возразить не могу, могу только посоветовать, если нельзя симулировать абстрактные логические элементы имеющие задержку, попробуйте вместо КМОП симулировать ТТЛ. Дорогу осилит идущий. Или не осилит.
Да, интересно было бы посмотреть обсуждаемую осцилляцию на симуляторе. А не получилось, конечно, не из-за соотношения вероятностей переходов, а либо из-за некорректного задания начальных условий моделирования, либо из-за некорректного алгоритма работы симулятора. Например, если при обработке очередного временного среза, симулятор вычисляет значение выходов элементов модели последовательно и при этом для каждого следующего использует не параметры на начало среза, а актуальные, т.е. с учетом уже вычисленных.
В начале карьеры я наблюдал обсуждаемую осцилляцию на электронном макете, правда последовательно с каждым из трех ТТЛ инверторов были включены линии задержки, но не RC, а какие-то электромагнитные, дающие задержку в миллисекундном диапазоне с большой точностью.
Хочу обратить внимание комментатора насколько симпатичней выглядит приведенный им граф переходов, если его натянуть на координатный куб (см. рис.1 статьи). Эта косметическая операция может и болезненная, но явно не бесполезная.
Когда еще сам чего-то паял (пол века назад) - это был ТТЛ и никаких проблем, типа описанных вами, не наблюдалось. С КМОП я имел дело чисто теоретически и поэтому ничего вразумительного по их поводу не сообщу, хотя некоторые мои схемы на КМОП защищены АС СССР.
Что касается отношения к самосинхронным схемам, то мое - совпадает с вашим и я их на данном этапе рассматриваю только как объекты для хобби, ну как другие хоббисты - простые числа, например. Хотя проблема подсчета количества этих объектов меня интересовала всегда.
В статье Последовательные схемы ч.3 рассматривается схемы для n=2, как композиция двух схем n=1. В Алгебре асинхронных схем рассматриваются операции объединения и пересечения, которые условно можно считать композиционными, но они не гарантируют что результат будет обладать заданными свойствами (дистрибутивность, например). Да и для поставленной задачи подсчета схем это (в смысле, композиция) бесполезно.
Вы демонстрируете недюжинные познания в программировании - я даже использованные вами термины не понимаю, но для n=3 поставленная задача на домашнем компьютере решается за несколько секунд, без сложных приемов, а при n=4 и предложенные вами ухищрения, думаю, бесполезны. Хотя никому не возбраняется попробовать. Что касается предлагаемой вами композиции, то в статьях "Последовательные схемы" из песочницы этот прием уже использован и проиллюстрирован. Ничего, кроме понимания устройства конкретных схем он не дает и для расчётов бесполезен. В обсуждаемых же статьях, автора интересовал только подсчет схем и поставленная задача, признайте, решена.
И маленькое замечание - Алгебра асинхронных схем тоже оперирует со схемами одной размерности, т. ч. ваш совет выдает ваше незнание предмета вашего суждения.
Еще раз напомню, что в статье рассматривается не синтез или композиция схем из логических элементов, а пересчет все существующих схем содержащих ровно n таких элементов. Этот процесс детализирован для схем различных классов, которые приняты в этой области знаний, а не придуманы автором.
В статьях оговорено, что указанные свойства (полумодулярнойсть, дистрибутивность, etc) проверяется для всех 2^n состояний схемы, поэтому, какое состояние не назови начальным, схема свой класс не поменяет. Кроме того в вашем вопрос закралась неточность - дистрибутивные схемы полумодулярны по определению - имеет место иерархия вложенности классов.
Вот наконец-то вопрос, свидетельствующий о понимании сути. Действительно, если схема задана на всех возможных состояниях, то выбор начального состояния - прихоть пользователя. Хотя если диаграмма имеет тупиковые состояния, то их выбор в качестве начального не может показаться неоправданным. Но возвращаясь к смыслу статей - они посвящены подсчету схем того или иного класса, а не их семантике, которая-то и определяет выбор начального состояния.
Более того на основе этого под руководством В.И. Варшавского была разработана система автоматического анализа схемы на полумодулярность успешно проработавшая много лет. Но никто и никогда не применял эту систему для подсчета таких схем, вероятно и в силу ее неэффективности. Одно дело за несколько секунд проверить одну схему, и совсем иное - несколько миллионов. Даже те упрощенные алгоритмы, что предложены авторы позволяют решить эту проблему только для n<4.
Вообще говоря минимизация эквивалентное преобразование, т.е. не должна влиять на поведение схемы, т.ч. ваше умозаключение лишено логики. А кроме того, я не могу обсуждать то, что выходит за рамки сделанных в статье предположений, а именно схемы подсчитываются схемы принадлежащие тому или иному классу для всех состояний. Т.о. схемы полностью определены и никаких don't care не имеют. Вопросы синтеза схем не рассматриваются.
С вами трудно не согласится - действительно предложенные схемы далеки от реальной схемотехники, так - теоретические упражнения. Может это одна из причин того, что это направление не нашло применения. С другой стороны может когда-нибудь этот барьер сложности будет преодолён технологически и об этой теории вспомнят и инженеры-практики.
Я пытался объяснить построение схем регистров не претендуя на изложение общей теории, которая к тому же достаточно полно излагается в книге, на которую есть ссылки в статье. При этом меня увлекала идея проследить наследование родовых свойств, которые имелись еще в регистре, предложенном Маллером. По этому принципу и отбирались описываемые схемы.
Эти картинки не из Авт.св., а скорее из книги, на которую есть ссылки в статье, да и то не все - есть одна новая. В СССР существовала ЕСКД - единая система конструкторской документации по правилам которой и рисовались схемы. Ее, вроде, не отменяли.
Спасибо за справедливое замечание. Я действительно не знаком с указанными инструментами, но постараюсь их изучить. Что касается схем - то почти у всех входы снизу, а выходы сверху, что вполне допустимо. Замеченный вам недостаток только у первых двух, которые настолько просты, что указанный недостаток не мешает их пониманию.
Интересная информация, только непонятно почему вы этот объект называете диаграммой Мамрукова. Она, например, имеется в работах Миллера и других публикациях на эту тему.
Вот именно из-за этого "кто кого перетянет" во многих системах логических элементов (ТТЛ, например) запрещено объединять выходы в точку. В нашем случае это не позволяет описать такую схему системой логических уравнений - поэтому такое объединение впрямую запрещено Миллером при определении понятия схема. Поэтому пример, конечно, интересный, но, как говорится, из другой оперы. И спасибо за интересны комментарий!
Я ж говорил, что натяжение на куб - процедура болезненная, т.к. используется тот же принцип, что и в картах Карно: показываются только переходы в соседние состояния. Остальные (если они есть) подразумеваются, но не показываются, что бы не усложнять рисунок.
Приведенная вами диаграмма не полумодулярна относительно состояний 000 и 111, т.к в них возбуждены все три выхода, а при переходе в любое рабочее состояние (- 1 возбуждение) остается возбужденным только 1 выход, следовательно еще 1 возбужденный стал устойчивым не поменяв своего значения. Не полумодулярность этой схемы доказанный факт, не зависимо от источника, откуда она срисована.
Про симуляцию я ничего возразить не могу, могу только посоветовать, если нельзя симулировать абстрактные логические элементы имеющие задержку, попробуйте вместо КМОП симулировать ТТЛ. Дорогу осилит идущий. Или не осилит.
Да, интересно было бы посмотреть обсуждаемую осцилляцию на симуляторе. А не получилось, конечно, не из-за соотношения вероятностей переходов, а либо из-за некорректного задания начальных условий моделирования, либо из-за некорректного алгоритма работы симулятора. Например, если при обработке очередного временного среза, симулятор вычисляет значение выходов элементов модели последовательно и при этом для каждого следующего использует не параметры на начало среза, а актуальные, т.е. с учетом уже вычисленных.
В начале карьеры я наблюдал обсуждаемую осцилляцию на электронном макете, правда последовательно с каждым из трех ТТЛ инверторов были включены линии задержки, но не RC, а какие-то электромагнитные, дающие задержку в миллисекундном диапазоне с большой точностью.
Хочу обратить внимание комментатора насколько симпатичней выглядит приведенный им граф переходов, если его натянуть на координатный куб (см. рис.1 статьи). Эта косметическая операция может и болезненная, но явно не бесполезная.
Спасибо за интересный комментарий!
Когда еще сам чего-то паял (пол века назад) - это был ТТЛ и никаких проблем, типа описанных вами, не наблюдалось. С КМОП я имел дело чисто теоретически и поэтому ничего вразумительного по их поводу не сообщу, хотя некоторые мои схемы на КМОП защищены АС СССР.
Что касается отношения к самосинхронным схемам, то мое - совпадает с вашим и я их на данном этапе рассматриваю только как объекты для хобби, ну как другие хоббисты - простые числа, например. Хотя проблема подсчета количества этих объектов меня интересовала всегда.
За комментарий спасибо!
В статье Последовательные схемы ч.3 рассматривается схемы для n=2, как композиция двух схем n=1. В Алгебре асинхронных схем рассматриваются операции объединения и пересечения, которые условно можно считать композиционными, но они не гарантируют что результат будет обладать заданными свойствами (дистрибутивность, например). Да и для поставленной задачи подсчета схем это (в смысле, композиция) бесполезно.
Вы демонстрируете недюжинные познания в программировании - я даже использованные вами термины не понимаю, но для n=3 поставленная задача на домашнем компьютере решается за несколько секунд, без сложных приемов, а при n=4 и предложенные вами ухищрения, думаю, бесполезны. Хотя никому не возбраняется попробовать. Что касается предлагаемой вами композиции, то в статьях "Последовательные схемы" из песочницы этот прием уже использован и проиллюстрирован. Ничего, кроме понимания устройства конкретных схем он не дает и для расчётов бесполезен. В обсуждаемых же статьях, автора интересовал только подсчет схем и поставленная задача, признайте, решена.
И маленькое замечание - Алгебра асинхронных схем тоже оперирует со схемами одной размерности, т. ч. ваш совет выдает ваше незнание предмета вашего суждения.
Еще раз напомню, что в статье рассматривается не синтез или композиция схем из логических элементов, а пересчет все существующих схем содержащих ровно n таких элементов. Этот процесс детализирован для схем различных классов, которые приняты в этой области знаний, а не придуманы автором.
В статьях оговорено, что указанные свойства (полумодулярнойсть, дистрибутивность, etc) проверяется для всех 2^n состояний схемы, поэтому, какое состояние не назови начальным, схема свой класс не поменяет. Кроме того в вашем вопрос закралась неточность - дистрибутивные схемы полумодулярны по определению - имеет место иерархия вложенности классов.
Вот наконец-то вопрос, свидетельствующий о понимании сути. Действительно, если схема задана на всех возможных состояниях, то выбор начального состояния - прихоть пользователя. Хотя если диаграмма имеет тупиковые состояния, то их выбор в качестве начального не может показаться неоправданным. Но возвращаясь к смыслу статей - они посвящены подсчету схем того или иного класса, а не их семантике, которая-то и определяет выбор начального состояния.
Я не настаиваю - я поставил - я решил. Ни кому не возбраняется ставить другие задачи и решать, если сумеет.
Более того на основе этого под руководством В.И. Варшавского была разработана система автоматического анализа схемы на полумодулярность успешно проработавшая много лет. Но никто и никогда не применял эту систему для подсчета таких схем, вероятно и в силу ее неэффективности. Одно дело за несколько секунд проверить одну схему, и совсем иное - несколько миллионов. Даже те упрощенные алгоритмы, что предложены авторы позволяют решить эту проблему только для n<4.
Спасибо, что напомнили.
Не угадали. Да и будет ли статья я еще не знаю.
Спасибо! Я обязательно учту ваши замечания при написании следующей статьи, если таковое случится.
Вообще говоря минимизация эквивалентное преобразование, т.е. не должна влиять на поведение схемы, т.ч. ваше умозаключение лишено логики. А кроме того, я не могу обсуждать то, что выходит за рамки сделанных в статье предположений, а именно схемы подсчитываются схемы принадлежащие тому или иному классу для всех состояний. Т.о. схемы полностью определены и никаких don't care не имеют. Вопросы синтеза схем не рассматриваются.