Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Моделирование RS-триггера
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
locas
Думаю, что в заданном далее вопросе есть и математика и физика… smile.gif

Схема RS-триггера хорошо известна.
В учебниках приводится таблица истинности (ТИ), описывающая работу триггера. И уже здесь сразу возникает вопрос: RS-триггер – это последовательностная схема, которая описывается моделью конечного автомата(КА), а ТИ описывают только комбинационные схемы – автомат без памяти. Так вот об этом противоречии в учебниках обычно ни слова.

О запрещенной комбинации на входах. С одной стороны, да, она переводит триггер в режим, когда на его выходах будут одинаковые сигнала. С другой стороны, кто запрещает ее? В реальной схеме она всегда может возникнуть, например, в результате гонок сигналов, неправильной работы и т.д. Но почти большинство воспринимают «запрещение» как невозможность такой комбинации. Мол, раз так написано, то «этого не может быть, потому что этого не может быть никогда». Но это в корне не так: и может и бывает.

Все смотрят на таблицу истинности и … верят, что на выходах триггера всегда будут только устойчивые состояния. И мало кто знает, что это не так. Даже если на вход не подавать запрещенную комбинацию.
Прекрасно известно, что при переключении триггера из одного устойчивого состояния в другое на его выходах будут кратковременно две единицы, если это триггер на элементах И-НЕ, и два нуля, если на элементах ИЛИ-НЕ. И, кстати, эту ситуацию легко отловить: подключаем выходы триггера к элементу И-НЕ и на выходе его считаем импульсы.
Такая «правильная» работа триггера (при переключениях) может быть источником ошибок в работе схемы. И это тоже должно быть понятно почему: ожидаем только 01 или 10 (это по ТИ), а тут, откуда ни возьмись – 11!

А теперь то, ради чего все это затевается.
Внимание! Если на вход триггера подать запрещенную комбинацию – 00! То на выходах будет – 11. И то и другое запрещено. Но 11 на выходах появляется и в разрешенных случаях. Так что возникновение 00 на входах триггера ситуация тоже вполне возможная. Например, проинвертируем выходы триггера и подадим на входы другого триггера. Чем не реальная схема! wink.gif
Но мы поступим проще: соберем «в кучу входы триггера» и будем подавать в эту точку сначала 0, а потом 1. Что в этом случае будет (начальные условия: сигналы – двоичные, задержки у элементов триггера – равные, единичные):
1. С формальной моделью?
2. С моделью реализованной в среде моделирования?
3. С реальным триггером?

Интересует ответ на последние три вопроса.
Но больше даже ответ на вопрос 2, который можно получить, создав соответствующую модель.
Почему больше на 2-й? Потому что первый требует владения формальными методами, а это достаточно сложно. Хотя на интуитивном уровне, думаю, можно дать ответ, оперируя значениями сигналов «на пальцах». На третий вопрос тоже не так просто получить ответ. Даже в том случае (с запрещенной выходной комбинацией), который был описан выше. Но если кто-то знает ответы на все три вопроса, то будет только хорошо.

Итак. Может ли кто дать ответ хотя бы на вопрос 2, заданный выше, собрав для этого модель триггера. Для конкретики его входы должны быть соединены в одну точку. В исходном состоянии на ней ноль - 0. Через какое-то время подается «единица» - 1, которая затем держится достаточно длительное время (хоть до бесконечности).
Что будет на выходах RS-триггера?
SM
Цитата(locas @ Nov 23 2005, 11:03) *
Итак. Может ли кто дать ответ хотя бы на вопрос 2, заданный выше, собрав для этого модель триггера. Для конкретики его входы должны быть соединены в одну точку. В исходном состоянии на ней ноль - 0. Через какое-то время подается «единица» - 1, которая затем держится достаточно длительное время (хоть до бесконечности).
Что будет на выходах RS-триггера?

Ответов тут куча. Вот собрал я триггер из транзисторов, развел его на кристалле несколькими методами. Потом выдрал при помощи LVS и RCX оттедова его нутряную модель. Самую что ни на есть физическую. И получил для разных вариантов разводки и схемотехники совсем разные результаты - начиная от стабильных нуля или единицы, кончая довольно продолжительной осцилляцией. Так чта - какой триггер себе сделаешь, такой результат и получится. Более того, для одной реализации в "запрещенном" состоянии схема жрала не детский сквозной ток smile.gif который в реалии мог бы ее и вышибить.
locas
Цитата(SM @ Nov 23 2005, 11:19) *
Ответов тут куча. Вот собрал я триггер из транзисторов, развел его на кристалле несколькими методами. Потом выдрал при помощи LVS и RCX оттедова его нутряную модель. Самую что ни на есть физическую. И получил для разных вариантов разводки и схемотехники

А если я работаю только на уровне логики и не опускаюсь до транзисторов, разводки и т.п. И, предположим, я заметил, что подобная схема может быть быть генератором. А почему бы и нет: когда подаем единицу на оба входа, то оба элемента через единичную задержку выдают на своих выходах нули (на их входах-то единицы). Эти нули поступают на входы и через какое-то время на выходах опять будут единицы. Эти единицы поступают на вход и ... все пошло по кругу wink.gif
Собрал я эту схему и получил...
Цитата(SM @ Nov 23 2005, 11:19) *
совсем разные результаты - начиная от стабильных нуля или единицы, кончая довольно продолжительной осцилляцией.

И тут сразу вопрос - какой результат правильный? Я-то, например, ожидал генерацию, а она выдает ... "стабильный ноль". Или того хуже - пошла осцилляция, а потом - бац, и стала!
Есть какое-то объяснение столь разных результатов? По рассуждениям-то, казалось бы, должна быть стабильная осцилляция (генерация)?
Цитата(SM @ Nov 23 2005, 11:19) *
Так чта - какой триггер себе сделаешь, такой результат и получится. Более того, для одной реализации в "запрещенном" состоянии схема жрала не детский сквозной ток smile.gif который в реалии мог бы ее и вышибить.

Так где этот параметр, который однозначно определит, что тут будет стабильный ноль, там - единица, там - непродолжительная осцилляция, где-то - продолжительная, а вот тут - то что надо - стабильная осцилляция!
Я уже сказал, что в данном случае не хотелось бы опускаться до уровня транзисторов, а создавать схему из уже готовых логических элементов И-НЕ. Но мне почему-то казалось, что даже если мы строим схему на транзисторах, то когда элементы абсолютно идентичны, то на уровне моделирования все равно должна быть генерация. И она у тебя в одном варианте есть! Опять же - "где собака порылась", что триггеры в разных вариантах работают по-разному? Но, кстати, я надеюсь, что и в этих разных вариантах схема абсолютно симметрична, т.е. ее элементы одинаковы по всем мыслимым в данном случае параметрам (схема элементов, характеристики транзисторов, режимы их работы и т.д. и т.п.)
SM
Ну Вы прямо как в детском саду. Не опускаясь до транзисторов, эту проблему Вам не разрешить. Ведь Вы считаете логические элементы черными ящиками... Причем логическими. Единица/ноль. А они вовсе не логические. Они имеют коэффициент передачи, АЧХ/ФЧХ... Соединив вход с выходом, вы получаете систему с обратной связью. АНАЛОГОВУЮ!!!! Любая цифровая схема, если вникнуть, аналоговая. Теперь возникает вопрос - а каково условие генерации в системе с обратной связью? Ну и ответ на него (точнее подсказка) - коэффициент передачи системы.... коэффициент передачи цепи ОС... Фазовый сдвиг там и тут... Узнав все это, Вы узнаете, загенерит ли данная схема, или не загенерит.

Где собака порылась? А в схемотехнике. В одном триггере задержка от входа R больше, чем от S. Вот он и встает постоянно в одно состояние. В другом - наоборот. Встает в другое. В третьем - задержка абсолютно идентична, да паразитная емкостишка где-то подкачала... Вот и заосциллировал. А в четвертом вообще топология другая - пара последовательных инверторов, выход второго слабый (или через резистор) идет на вход первого. И на этот же вход подаем жесткий ноль для переброса в ноль, жесткую 1 для переброса в 1 и обрыв (Z-состояние) для хранения. Тоже RS-триггер... И применяется он в реальных изделиях. Вот вам и ответ на вопрос #2. Про "в реальной среде моделирования". Возьмите такую реальную среду (Microcap,Spectre,HSpice, PSpice и много-много других), да помоделируйте. потыкайте кондерчиков-резючков паразитных туда-сюда, посмотрите поведение. И вопросы эти сами отпадут.
Al Volovich
Цитата(locas @ Nov 23 2005, 17:27) *
Но мне почему-то казалось, что даже если мы строим схему на транзисторах, то когда элементы абсолютно идентичны, то на уровне моделирования все равно должна быть генерация. И она у тебя в одном варианте есть! Опять же - "где собака порылась", что триггеры в разных вариантах работают по-разному? Но, кстати, я надеюсь, что и в этих разных вариантах схема абсолютно симметрична, т.е. ее элементы одинаковы по всем мыслимым в данном случае параметрам (схема элементов, характеристики транзисторов, режимы их работы и т.д. и т.п.)

Найдите два абсолютно идентичных транзистора - тогда и поговорим. На уровне физики ничего, абсолютно идентичного не существует. И у RS-триггера комбинация 11 потому и запрещена, что она приводит к непредсказуемым и неповторимым в серии последствиям. На одном экземляре может быть один результат, на другом экземпляре той же серии - другой
locas
Цитата(SM @ Nov 23 2005, 23:50) *
Ну Вы прямо как в детском саду. Не опускаясь до транзисторов, эту проблему Вам не разрешить.

Почти что smile.gif Только я том "саду", где ... нет транзисторов. Ну, например, я лично держал в руках логический элемент И-НЕ на воздушных клапанах. Это применяется там, где нужы особые требования к пожаробезопасности.
Цитата(SM @ Nov 23 2005, 23:50) *
Ведь Вы считаете логические элементы черными ящиками... Причем логическими. Единица/ноль.

Конечно, - ЧЯ. И эти ЧЯ допускают любую реализацию, а не только на транзисторах. В дополнении к "воздушному" можно, например, на реле и т.д. и т.п. Здесь для меня важно чтобы та или иная реализация ЧЯ как можно точнее реализовывала мое достаточно абстрактное понимание этого ЧЯ как логической функции.
Но есть реальные вещи, которые как бы мы не абстрагировались, скажутся и на нашем абстрактном понимании. Ну, например, ничто не происходит мгновенно. Поэтому если мы напишем y = !(x1^x2) (это я так записал И-НЕ), то между изменениями входных переменных (x1, x2) и изменением выхода будет какое-то время. Хоть умри! Оно будет сколь угодно малым, но никогда не будет равным нулю.
Эти нюансы в синтезе цифровых схем на уровне формальных моделей отражены в двух моделях - комбинационной и последовательностной. В комбинационной модели временем пренебрегают, в последовательностной (модель КА) его учитывают.
Все это я не к потому, что думаю, что Вы это не знаете, а к тому, чтобы пояснить почему к вашему "Единица/ноль" в случае с КА нужно добавить еще - задержка, которая определяется в этом случае числом тактов дискретного времени.
Хорошая схемотехника, насколько мне известно, тем лучше, чем ближе она реализует наше абстрактное представление. Например, двоичное кодирование с идеальными фронтами - 0 и 1, задержку, которая чем меньше, тем лучше и т.д. и т.п. Как это достигает - вот это уже уровень транзисторов, воздухопровода, катушек и контактов реле и т.д. и т.п.
Цитата(SM @ Nov 23 2005, 23:50) *
А они вовсе не логические. Они имеют коэффициент передачи, АЧХ/ФЧХ...

И да и нет. Логические, т.к. обязаны реализовывать некоторую логическую функцию, т.к. именно для этого и созданы (согласны?). То, что имеют АЧХ/ФЧХ? Возможно, но в идеале не должны иметь, т.к. есть на уровне определения 0, 1 и, если не принебрегать совсем уж реалиями, - задержка (как можно меньше). И в тех или иных рамках рабочего диапазона все это условно так и есть: фронты 0, 1 - идеальные, задержка - известная... Поэтому речь именно о такой работе, когда реальная работа физического элемента соответствует его абстрактному представлению.
Цитата(SM @ Nov 23 2005, 23:50) *
Соединив вход с выходом, вы получаете систему с обратной связью. АНАЛОГОВУЮ!!!! Любая цифровая схема, если вникнуть, аналоговая. Теперь возникает вопрос - а каково условие генерации в системе с обратной связью? Ну и ответ на него (точнее подсказка) - коэффициент передачи системы.... коэффициент передачи цепи ОС... Фазовый сдвиг там и тут... Узнав все это, Вы узнаете, загенерит ли данная схема, или не загенерит.

Интересный вопрос. Попробуем соединить комбинационную логическую функцию И-НЕ. Получим:
y = !(x1^y);
Явно что-то не то! smile.gif Если x1 будет 0, то ... y должен быть 1. А если x1 станет равным 1? Будет противоречие. Т.к. если взять текущий y=1, то справа будет 0, но слева-то 1.
Но если мы "нарисуем" наш И-НЕ в форме КА, то ... схема должна генерировать. Без всякого противоречия.
Выше я сочинял прямо по ходу. И поэтому было бы интересно проверить работу генератора на элементе И-НЕ. Тут уже не будет разных задержек, но, думаю, скажется АЧХ/ФЧХ. Но как? Т.к. по формальным признакам элемент схема обязана генерировать на частоте соответствующей задержке, вносимой элементом. Проверьте, если не сложно.
Кстати, если мы возьмем просто элемент И, то и противоречия не будет, но ... не будет и генерировать, т.к. нет условий для генерации. Хотя есть обратная связь и все эти АЧХ/ФЧХ. Запрещает генерацию сам смысл реализуемой логической функции. Так что условия генерации определяются еще и смыслом реализуюемой объектом функции?
Цитата(SM @ Nov 23 2005, 23:50) *
Где собака порылась? А в схемотехнике. В одном триггере задержка от входа R больше, чем от S. Вот он и встает постоянно в одно состояние. В другом - наоборот. Встает в другое.

И да и нет. Да, т.к. встает из-за разных задержек. Но нет, т.к. все еще определяется типом задержки. Если она транспортная, то триггер бы генерил бы и при разных задержках. Но все дело в том, что реальные системы имеют инерционные задержки. В этом случае генерации не будет. Ее сорвет элемент с меньшей задержкой. Это я выяснил, когда сделал триггер на реле и пытался его заставить генерировать. Величину задержек доводил до нескольких секунд, но ни в какую. А все потому, что сделать их равными реально нельзя (а вот в модели можно). Вот если бы удалось, то при равных задержках и на реле бы загенерировал wink.gif
Цитата(SM @ Nov 23 2005, 23:50) *
В третьем - задержка абсолютно идентична, да паразитная емкостишка где-то подкачала...
Вот и заосциллировал.

А откуда она берется в модели, если Вы только туда ее сами не вставите. Ведь если модели одинаковые, то одинаково все. В том числе и эти самые емкостишки. А тогда - должна генерировать. Но генерировать постоянно. Я бы мог согласится, что в реальном элементе она затухнет (хотя бы по причине того, что задержки "текут"), то в модели...?
Цитата(SM @ Nov 23 2005, 23:50) *
А в четвертом вообще топология другая - пара последовательных инверторов, выход второго слабый (или через резистор) идет на вход первого. И на этот же вход подаем жесткий ноль для переброса в ноль, жесткую 1 для переброса в 1 и обрыв (Z-состояние) для хранения. Тоже RS-триггер... И применяется он в реальных изделиях.

Тут я даже задумался Такой триггер мне не попадался еще wink.gif Спасибо. cheers.gif Я их коллекционирую. biggrin.gif
Да, это скорее всего RS-триггер. Хотя... Хотя у последнего два установочных входа, а тут один. Но, с другой стороны, выхода тоже два. Да и связи перекрестные, но только вот этот резистор. По сути в рабочем режиме он не работает (из-за жесткости установочного сигнала), а потому получаем схему, где вторая (на которую подается сигнал) определяет выход первой. Меняем сигнал - меняется состояние триггера. Кстати, в этом случае у него и переходные процессы будут иными, чем у обычного триггера. Если у обычного триггера переходное состояние одно (у триггера на И-НЕ - 11), то тут будет два - 00 или 11.
Сохраняет состояние триггера - "разрыв". И вот в этой ситуации (при разрыве) связь между элементами как бы появляется: выход первого элемента поддерживает состояние второго и тем самым сохраняется устойчивость системы.
Привлекает эта схема еще и тем, что я не вижу в ней ... генерации. Т.е. того режима, который возможен в обычном триггере. Что вызывает сомнение - это еще одно состояние сигнала - "разрыв". Его еще нужно создавать. С ноликами-единичками привычные. Потом у обычного триггера "трепыхание" одного сигнала при единичном втором не вызовет переключение триггера. Здесь триггер откликнется на любое изменение сигнала. Значит, и на ложное. Я бы даже сказал, что обычный триггер переключается фронтом сигнала, а тут будет "потенциальное" переключение (хотя это скорее условно).
Цитата(SM @ Nov 23 2005, 23:50) *
Вот вам и ответ на вопрос #2. Про "в реальной среде моделирования". Возьмите такую реальную среду (Microcap,Spectre,HSpice, PSpice и много-много других), да помоделируйте. потыкайте кондерчиков-резючков паразитных туда-сюда, посмотрите поведение. И вопросы эти сами отпадут.

В том-то и дело, что хотелось бы проектировать систему на формальном уровне. В последнем триггере, например, сразу возникают вопросы с формализацией решения. Уже, например, о булевой алгебре, автоматах говорить сложно (нужно все же подумать wink.gif, т.к. появляется третье состояние сигнала - "разрыв". Это уже специфика. Может, потому я об этом триггере впервые и услышал от Вас. И уже это хорошая компенсация за то, что я решился на постановку здесь вопроса о триггере. Не думал, что услышу что-то новое wink.gif Век живи - век ... мучайся wink.gif
А вопросы ... всегда останутся. Мне кажется, что их будет еще больше, если лезть во внутрь черных ящиков. Нужно, наверное, разделять труд. Я, например, проектирую схему в некотором идеализированном базисе (0/1, единичные задержки и т.п.), а Вы, к примеру, создаете реализацию этого базиса. Желательно без отклонений и добавлений (типа еще одного уровня сигнала "разрыв"). Хотя в данном случае мне удалось построить модель поведения последнего триггера. Но если появится еще один уровень сигнала, то ... не знаю как я вывернусь. По крайней мере тут уже будет другое проектирование на уровне формальной модели. А нынешнее проектирование, насколько я представляю, основные проблемы стремится решить именно здесь - на уровне модели устройства. Так дешевле, быстрее (с точки зрения времени проектирования), надежней (с точки зрения последующего функционирования устройства).

Цитата(Al Volovich @ Nov 24 2005, 11:05) *
Найдите два абсолютно идентичных транзистора - тогда и поговорим. На уровне физики ничего, абсолютно идентичного не существует.

Согласен. Даже не буду искать wink.gif
Цитата(Al Volovich @ Nov 24 2005, 11:05) *
И у RS-триггера комбинация 11 потому и запрещена, что она приводит к непредсказуемым и неповторимым в серии последствиям. На одном экземляре может быть один результат, на другом экземпляре той же серии - другой

Все будет повторимо, если элементы достаточно различаются. Достаточно, например, чтобы задержка одного была гарантированно больше чем у другого. Например, если взять элементы разных по быстродействию серий, то результат будет однозначно определяться тем элементом у которого задержка меньше. Так что будет и предсказуемо и повторимо. Другое дело, когда элементы почти идентичны, а их задержки меняются любым образом. Тогда и результат ... будет следовать за тем элементом, у которого текущая задержка будет меньше.
Могу даже признаться, что таких реальных экспериментов не делал, но есть твердая уверенность, что так и будет. По крайней мере, если я это смоделирую у себя. Думаю, что это будет также и в других системах моделирования цифровых схем. Надеюсь, конечно, что так будет wink.gif
SM
Насчет логических/нелогических. Они логические, пока Вы их используете в качестве логических. Но когда хотите (или наоборот, не хотите) генерации, когда рассматриваете метастабильность, и т.п., Вы обязаны их рассматривать как аналоговые. Так как условие генерации в системе с ОС, про которое я намекал, применимо исключительно к аналоговым моделям. В цифровой моделе Вы никогда не узнаете реального ответа - загенерит/не загенерит, так как задержка это условность, не учитывающая реальных пороговых напряжений, паразитов. Точно так же - модель на основе КА. Такая модель может показать генерацию единиц и нулей, а правильная, учитывающая все нюансы, в том числе сдвиг фазы в системе на тех частотах, на кторох коэфф. передачи >1, показать генерацию синусоиды, или наоборот, вход в устойчивый режим (усиления) с установлением выхода в некую среднюю точку между питанием и землей. Я естественно рассматриваю электрические (и аналогичные) схемы, где возможны состояния, отличные от 0 и 1. Тот-же воздух, клапан можно и не до конца открыть.

Про задержку. Что такое задержка? Нужно определение. Ну естественно, это производная фазового сдвига по частоте. Задержка на каждой частоте у элемента может быть своя, и обычно так оно и есть. Ну нельзя сделать аналоговый элемент с линейной ФЧХ вплоть до бесконечности по частоте. Природа так устроена. Посему можно предложить такие модель, чтобы охватить больше вариантов.
- ключ, который имеет сопротивление в открытом состоянии, сопротивление в закрытом, скорость открытия/закрытия и емкость входа (такая условная, показывающая сколько на вход должно поступить/уйти чего-то несущего, чтобы ключ начал открываться или закрываться), предполагая что сопротивление меняется линейно в процессе открытия/закрытия.
- линию передачи (условно согласованную), характеризующуюся сопротивлением и задержкой.
Все. Из этого в симуляторе собирать разные логические схемы и их анализировать. Формально. Не привязываясь к тому, что "носитель" это электрический ток. (не напряжение! а ток! Именно он перезаряжает емкости ключей! и именно он определяет работу логической схемы.) Это может быть любой [по]ток. Того-же воздуха.

Про элемент И-НЕ. Если соединить вход с выходом, и на другой вход подать 1, получим грубо говоря элемент НЕ со 100% ООС. Что мы имеем. Элемент НЕ это инвертирующий усилитель. Проанализируем его АЧХ и ФЧХ. АЧХ (я это просто знаю) будет спадать с частотой. Начиная от довольно большого усиления, кончая усилением, меньшим единицы. Нас интересует точка, где КУ=1. Смотрим там на ФЧХ. Если сдвиг фазы перешкалил за 180 град., то генерить будет. Если не перешкалил, встанет в устойчивое состояние с полпитанием на выходе. В терминах анализа усилителей разница между 180град. и фазой в точке с КУ=1 называется запас по фазе. И определяет устойчивость усилителя. А вот Вам задачка - берем элемент НЕ. Соединяем выход с входом через резистор. Через другой резистор подаем на вход внешний сигнал. Что имеем? Цифровая модель ни в жизни не даст ответа. А в реальности такой усилитель используется, и довольно широко. Например в схемах кварцевого генератора.

Откуда у меня в моделе берутся паразитные емкости и сопротивления? После разводки кристалла есть такой процесс - PEX (Parasitics EXtraction). После этого в модель без паразитов добавляются паразиты. И моделируем снова, изучая поведение схемы в данном варианте разводки.

Про RS-триггер с "разрывом". Одно его реальное применение - это блоки ОЗУ. Очень грубо говоря, при считывании подключаем ему на вход конденсатор, на котором хранится значение бита ОЗУ. Заряд (или его отсутствие) перебрасывает триггер в какую-то сторону, а потом обратная связь дозаряжает этот кондер в нужную сторону, осуществляя регенерацию. Потом отключаем ключ, значение бита сохраняется. Второе реальное применение "bus holder". Когда на шине есть кто-то активный, значение шины определяется им. Когда все отвалились, значение шины остается таким, каким его задал последний активный. Ну и т.д. Самое главное, что это все таки триггер. Который может хранить, может быть сброшен и установлен. Кто сказал, что у триггера должно быть два входа smile.gif С вашей, логической, точки зрения, он должен управляться внешними воздействиям, а через сколько входов они туда попадут, это вопрос второй. Именно рассмотрение его как автомата вполне справедливо. У него два состояния - один и ноль. И три воздействия - ноль, один, обрыв. Соответственно из каждого состояния три перехода. Два в себя, один в соседа. Самое главное - у этого триггера нет запрещенного состояния!
locas
Цитата(SM @ Nov 24 2005, 12:56) *
...Вы обязаны их рассматривать как аналоговые.

Все же мне хотелось работать в том диапазоне частот/скоростей, где элементы в рамках определенных допущений являются дискретными. Чтобы не стоял вопрос с АЧХ/ФЧХ. У дискретного элемента все эти вещи константы: какая бы ни была частота на входе такого элемента на выходе всегда будет 0 или 1. Но у реального элемента, конечно, будет предел, когда это будет нарушаться.
Цитата(SM @ Nov 24 2005, 12:56) *
Так как условие генерации в системе с ОС, про которое я намекал, применимо исключительно к аналоговым моделям.

Можно создать дискретный элемент, который тоже будет генерировать. В конце концов я это делаю программно: выбрасываю из ЧЯ микросхему И-НЕ и вставляю туда свой компьютер и все - пошла генерация. А кто знает, что там внутри ЧЯ, если он "законопачен"? wink.gif
Цитата(SM @ Nov 24 2005, 12:56) *
В цифровой моделе Вы никогда не узнаете реального ответа - загенерит/не загенерит, так как задержка это условность, не учитывающая реальных пороговых напряжений, паразитов.

Но я же узнаю... wink.gif Я даже открою "секрет". На проблемы с триггером я вышел исключительно столкнувшись с цифровыми моделями (автоматами). А уж потом взял в руки паяльник. Точнее я его и раньше держал...
Цитата(SM @ Nov 24 2005, 12:56) *
Точно так же - модель на основе КА. Такая модель может показать генерацию единиц и нулей

В том-то и дело, что показывает. И из цифровой модели выходило, что тригер должен генерировать. Но он не генерировал. Для меня это было загадкой до тех пор пока я не внил (изучая VHDL), что причина в типе задержек. У меня в модели были транспортные задерки, а потому триггер всегда генерировал. Когда я узнал, что есть еще инерционные задерки, сделал ее модель, то все стало "тип-топ". При одинаковых задержках генерирует при разных может лишь дернуться, но не генерировать.
Цитата(SM @ Nov 24 2005, 12:56) *
, а правильная, учитывающая все нюансы, в том числе сдвиг фазы в системе на тех частотах, на кторох коэфф. передачи >1, показать генерацию синусоиды, или наоборот, вход в устойчивый режим (усиления) с установлением выхода в некую среднюю точку между питанием и землей. Я естественно рассматриваю электрические (и аналогичные) схемы, где возможны состояния, отличные от 0 и 1. Тот-же воздух, клапан можно и не до конца открыть.

По-моему есть уровни логического и вентильного проектирования. Я все время остаюсь на уровне логического, а Вы, как мне кажется, - вентильного. На логическом нет ни АЧХ ни ФЧХ. Там импульс идеальной прямоугольной формы. Ключ (транзисторный) идеально передает сигнал (с какой-то задержкой) и не нарушает при этом идеальность фронтов. И думаю, что до какой-то частоты (дискретизации) все это справедливо.
Цитата(SM @ Nov 24 2005, 12:56) *
Про задержку. Что такое задержка? Нужно определение. Ну естественно, это производная фазового сдвига по частоте. Задержка на каждой частоте у элемента может быть своя, и обычно так оно и есть.

Задержка - это и есть задержка фронта импульса на какое-то время. На всех (рабочих) частотах.
Цитата(SM @ Nov 24 2005, 12:56) *
Ну нельзя сделать аналоговый элемент с линейной ФЧХ вплоть до бесконечности по частоте. Природа так устроена.

Ну да. Так вот там где ФЧХ линейна там мы и "пашем";) Выше частота - ни шагу!
Цитата(SM @ Nov 24 2005, 12:56) *
Посему можно предложить такие модель, чтобы охватить больше вариантов.
- ключ, который имеет сопротивление в открытом состоянии, сопротивление в закрытом, скорость открытия/закрытия и емкость входа (такая условная, показывающая сколько на вход должно поступить/уйти чего-то несущего, чтобы ключ начал открываться или закрываться), предполагая что сопротивление меняется линейно в процессе открытия/закрытия.

В данном случае для меня ключ как контакты реле: сопротивление - 0 и "бесконечность" и время на срабатывание контакта.
Цитата(SM @ Nov 24 2005, 12:56) *
- линию передачи (условно согласованную), характеризующуюся сопротивлением и задержкой.

Линия передачи - "мгновенная". Они просто линия и ни чего более.
Цитата(SM @ Nov 24 2005, 12:56) *
Все. Из этого в симуляторе собирать разные логические схемы и их анализировать. Формально. Не привязываясь к тому, что "носитель" это электрический ток. (не напряжение! а ток! Именно он перезаряжает емкости ключей! и именно он определяет работу логической схемы.) Это может быть любой [по]ток. Того-же воздуха.

Я бы хотел так как сказал. Уровень 0,1, задержка - в единицах тактов (так - любое реальное значение времени, но не равное нулю). Линии передачи/соединения - идельны: сопротивление - 0, задержка - 0, о сопротивлении, емкостях и т.п. и речи нет wink.gif
Цитата(SM @ Nov 24 2005, 12:56) *
Про элемент И-НЕ. Если соединить вход с выходом, и на другой вход подать 1, получим грубо говоря элемент НЕ со 100% ООС.

Сколько будет процентов и тип связи - не знаю. Я знаю в рамках соглашений, что у него есть задержка в передаче фронтов сигналов, а линии соединения идеальны.
Цитата(SM @ Nov 24 2005, 12:56) *
Что мы имеем. Элемент НЕ это инвертирующий усилитель. Проанализируем его АЧХ и ФЧХ. АЧХ (я это просто знаю) будет спадать с частотой. Начиная от довольно большого усиления, кончая усилением, меньшим единицы. Нас интересует точка, где КУ=1. Смотрим там на ФЧХ. Если сдвиг фазы перешкалил за 180 град., то генерить будет. Если не перешкалил, встанет в устойчивое состояние с полпитанием на выходе. В терминах анализа усилителей разница между 180град. и фазой в точке с КУ=1 называется запас по фазе. И определяет устойчивость усилителя.

Возможно. Но уже на моем уровне допущений эта схема должна генерировать. На цифровом. И тут только одна проблема - перейдет ли эта генерация на физический элемент, т.к. частота будет большая и тут полезут все эти АЧХ/ФЧХ и все "паразитное" wink.gif
Цитата(SM @ Nov 24 2005, 12:56) *
А вот Вам задачка - берем элемент НЕ. Соединяем выход с входом через резистор. Через другой резистор подаем на вход внешний сигнал. Что имеем? Цифровая модель ни в жизни не даст ответа. А в реальности такой усилитель используется, и довольно широко. Например в схемах кварцевого генератора.

Цифровую модель всегда можно создать. Вы же моделируете не на аналоговой технике?
Другое дело цифровую модель чего - идеального логического элемента или созданного на его базе усилителя. Я подозреваю, что резисторами (делителем) мы уже сместили рабочую точку транзистора и он из ключа стал усилителем. Но если его вернуть в ключевой режим, как до этого, когда он был элементом И-НЕ (кстати, превратить И-НЕ в НЕ можно "скрутив" его входы в узелок wink.gif, то все рассуждения останутся прежними.
Цитата(SM @ Nov 24 2005, 12:56) *
Откуда у меня в моделе берутся паразитные емкости и сопротивления? После разводки кристалла есть такой процесс - PEX (Parasitics EXtraction). После этого в модель без паразитов добавляются паразиты. И моделируем снова, изучая поведение схемы в данном варианте разводки.

Все это понятно. На вентильном уровне. К идеальному элементу (на логическом уровне) паразиты как- то ... (видимо зараза к заразе не пристает wink.gif
Цитата(SM @ Nov 24 2005, 12:56) *
Про RS-триггер с "разрывом". Одно его реальное применение - это блоки ОЗУ. Очень грубо говоря, при считывании подключаем ему на вход конденсатор, на котором хранится значение бита ОЗУ. Заряд (или его отсутствие) перебрасывает триггер в какую-то сторону, а потом обратная связь дозаряжает этот кондер в нужную сторону, осуществляя регенерацию. Потом отключаем ключ, значение бита сохраняется. Второе реальное применение "bus holder". Когда на шине есть кто-то активный, значение шины определяется им. Когда все отвалились, значение шины остается таким, каким его задал последний активный. Ну и т.д.

Тут я Вам верю просто на слово wink.gif
Цитата(SM @ Nov 24 2005, 12:56) *
Самое главное, что это все таки триггер. Который может хранить, может быть сброшен и установлен.

Так оно и есть
Цитата(SM @ Nov 24 2005, 12:56) *
Кто сказал, что у триггера должно быть два входа smile.gif

И с этим согласен wink.gif
Цитата(SM @ Nov 24 2005, 12:56) *
С вашей, логической, точки зрения, он должен управляться внешними воздействиям, а через сколько входов они туда попадут, это вопрос второй. Именно рассмотрение его как автомата вполне справедливо. У него два состояния - один и ноль. И три воздействия - ноль, один, обрыв.

Вот насчет трех воздействий - пока воздержусь... Не знаю куда "уложить" третье. Ведь до этого была двоичная логика. Тут надо вводить или троичную или ... игнорировать, ну, может, даже моделировать...
Цитата(SM @ Nov 24 2005, 12:56) *
Соответственно из каждого состояния три перехода. Два в себя, один в соседа.

Насчет в соседа - тоже... ? Уж если у автомата есть переходы, то только в себя. Других автоматов я не знаю.
Цитата(SM @ Nov 24 2005, 12:56) *
Самое главное - у этого триггера нет запрещенного состояния!

А вот тут давайте смотреть. Если рассматривать и снимать сигналы с обоих элементов (как у обычного RS-триггера), то запрещенные состояния есть. Кстати, такое парное кодирование сигналов, кажется, используется в схемотехнике, которая расчитана на надежное функционирование.
Так вот. Моя цифровая модель показывает, что этого триггера не будет генерации, но будет даже на одно запрещенное состояние больше. Например, из 01 в 10 он будет проходить через состояние 00 (запрещенное), а из 10 в 01 - через 11 (второе запрещенное). Есть, кстати, и переходы из 00 в 11 и из 11 в 00, но это если мы будем очень активно "дергать" вход установки. Т.е. моя цифровая модель (из идеальных логических элементов, конечно) работала бы именно так. Думаю, так будет у реального элемента. Вот только переходы между 00 и 11 за счет переключения сигнала установки будет сделать сложно (нужна будет большая частота)
Виктория
Locas, может поясните - зачем Вам такая упрощенная модель RS- триггера? Где она будет использоваться?
locas
Цитата(Vic1 @ Nov 24 2005, 16:01) *
Locas, может поясните - зачем Вам такая упрощенная модель RS- триггера? Где она будет использоваться?

Могу.
Собственно проектированием цифровых схем я не занимаюсь. Хотя было время. Оттуда этот триггер и появился. Тем не менее, мне не часто, но приходится моделировать работу цифровых схем и тогда я использую свои наработки, которые я "таская за собой" wink.gif тестирую часто этой простой задачкой.
Мои "наработки" - это параллельное ядро, в котором все процессы автоматы. Я прото так программирую. Все. Раньше программировал железо, потом АСУ ТП, бугалтерию и все-все. Сейчас опять есть вариант возврата к железу (см. мои мольбы по поводу CodeWarrior).
Т.е. для меня сейчас RS-триггер это достаточно объективный тест моих средств на правильное моделирование параллелизма. Любого. И здесь цифровые схемы подходят больше всего. Ведь, каждый элемент - это параллельный процесс.
На RS-триггере я отточил и свою теорию. Точнее ее расширение, связанное с параллельными автоматами. И здесь я столнулся со странностями, что в нанешнем преподавании триггер дают в корне не правильно. Выше я писал по поводу ее таблицы истинности. Я знаю только один источник, где он рассмотрен близко к тому, как рассматриваю я.
RS-триггер и реальная система, на котрой я могу оценить справедливость своей параллельной модели. Если формальные результаты совпадают с реальными, то ... "что еще надо для хорошей жизни" wink.gif До последнего времени все совпадало кроме этой самой генерации. Одни ее отвергали напрочь, не поясняя при этом почему. Другие просто отмалчивались. А мой триггер ... упорно генерировал. Меня это тоже нервировало, пока я не разобрался, что есть разные типы задержек (почерпнул из VHDL). Теперь все "хоккей": я знаю почему он генерировал, знаю почему не генерировал, знаю когда может генерировать wink.gif
Собственно зачем я тогда затеял весь разговор т.к. все уже знаю? Во-первых, конечно хочется чтобы это знали и другие wink.gif Знали, что современное образование "вешает лапшу", говоря про запрещеные состояния, что триггно устанавливается в неопределенное состояние и т.д. и т.п. Т.к. знаю как все это опровергнуть на формальном уровне (т.е. математически).
Знаю, что триггером можно проверять любые другие средства моделирования цифровых схем на уровне логики (вентили - это все же отдельная история). И вот здесь мне хотелось бы собрать информацию, о его моделировании в других системах. Т.е. четко знать где он генерирует, а где, возможно, и нет. Собственно в данной ситуации это, может быть, и есть основная цель затеянного разговора, т.к. лично я не могу такую работу сделать. Просто потому что не работаю с теми или иными средствами. Ну а тем, кто работает, надеюсь, не составит большого труда такою проверку - моделирование RS-триггера сделать. Т.е. примерно так, как это сделал SM. Только вот его результаты пока еще не очень меня устраивают. Во-первых, не нужен такой детальный уровень моделирования (транзисторный), во-вторых, - разнобой, как Вы видите в результах. То генерирует, то нет.
Причем он должен (или я так полагаю) генерировать в любой ситуации, если элементы его абсолютно одинаковы: в математических формулах нет "паразитных емкостей", "тепловых шумов" и т.п. Если их, конечно, не ввести туда сознательно (что и делал SM). Но так этого и не нужно делать. На том уровне, который обычно дается он в преподавании все ограничивается 0, 1 и задержка, которую обычно забывают, как забывают, что триггер - это КА, а не комбинационная схема. Это важно. Важно для понимания работы триггера.
И очень важно понимание триггера, как маленькой, но очень хитрой параллельной системы. Которая как дискретная и детерминированная система должна вести себя однозначно. Но обычно с программистами на эту тему говорить тяжело. Для них электроника, даже цифровая, - чума. Хотя вот недавно попалась на глаза очень интересная книжка Алгоритмы: проектировани и анализ. Она для програмистов. Там рассматриваются сортирующие сети и арифметические схемы. Но все это, так сказать, цифровые схемы без обратных связей. Там триггер не сделаешь. Но программистам, думаю, доказать это будет сложно. Если только не сунуть под нос триггер. Лучше если в форме модели. Лучше, если в разных системах моделирования. Тут чем больше независимых источников с одинаковыми результатами работы, тем больше доверия к этим результатам.
По мои предположениям триггер должен генерировать везде. Вот в этом и хочется убедиться. Но, конечно, только достаточно идеальный триггер. Но даже этот идеальный триггер должен как можно ближе объяснять работу реального триггера. А не так как оно есть сейчас. Эта жутко безобразная таблица истинности с запрещенными состояниями. Она сейчас прямо выводит меня из себя (шучу, конечно) smile.gif

Вот так длинно о такой "короткой" схеме. Но на мой взгяд очень важной. Оттого и такое мое многословие... wink.gif Наверное, проще взять и смоделировать smile.gif Вот об этом и мои просьбы к тем, кто это может сделать ... Сделать свой вклад в "науку о RS-триггере", а по большому счету - в науку о параллельных системах. Так как на мой вгляд в будущем программирование, когда станет истинно параллельным, во многом будет походить на проектирование цифровых схем. Собственно я так уже и работаю wink.gif
vetal
Цитата(locas @ Nov 24 2005, 17:07) *
Цитата(Vic1 @ Nov 24 2005, 16:01) *

Locas, может поясните - зачем Вам такая упрощенная модель RS- триггера? Где она будет использоваться?

Могу.
Собственно проектированием цифровых схем я не занимаюсь. Хотя было время. Оттуда этот триггер и появился. Тем не менее, мне не часто, но приходится моделировать работу цифровых схем и тогда я использую свои наработки, которые я "таская за собой" wink.gif тестирую часто этой простой задачкой.
Мои "наработки" - это параллельное ядро, в котором все процессы автоматы. Я прото так программирую. Все. Раньше программировал железо, потом АСУ ТП, бугалтерию и все-все. Сейчас опять есть вариант возврата к железу (см. мои мольбы по поводу CodeWarrior).
Т.е. для меня сейчас RS-триггер это достаточно объективный тест моих средств на правильное моделирование параллелизма. Любого. И здесь цифровые схемы подходят больше всего. Ведь, каждый элемент - это параллельный процесс.
На RS-триггере я отточил и свою теорию. Точнее ее расширение, связанное с параллельными автоматами. И здесь я столнулся со странностями, что в нанешнем преподавании триггер дают в корне не правильно. Выше я писал по поводу ее таблицы истинности. Я знаю только один источник, где он рассмотрен близко к тому, как рассматриваю я.
RS-триггер и реальная система, на котрой я могу оценить справедливость своей параллельной модели. Если формальные результаты совпадают с реальными, то ... "что еще надо для хорошей жизни" wink.gif До последнего времени все совпадало кроме этой самой генерации. Одни ее отвергали напрочь, не поясняя при этом почему. Другие просто отмалчивались. А мой триггер ... упорно генерировал. Меня это тоже нервировало, пока я не разобрался, что есть разные типы задержек (почерпнул из VHDL). Теперь все "хоккей": я знаю почему он генерировал, знаю почему не генерировал, знаю когда может генерировать wink.gif
Собственно зачем я тогда затеял весь разговор т.к. все уже знаю? Во-первых, конечно хочется чтобы это знали и другие wink.gif Знали, что современное образование "вешает лапшу", говоря про запрещеные состояния, что триггно устанавливается в неопределенное состояние и т.д. и т.п. Т.к. знаю как все это опровергнуть на формальном уровне (т.е. математически).
Знаю, что триггером можно проверять любые другие средства моделирования цифровых схем на уровне логики (вентили - это все же отдельная история). И вот здесь мне хотелось бы собрать информацию, о его моделировании в других системах. Т.е. четко знать где он генерирует, а где, возможно, и нет. Собственно в данной ситуации это, может быть, и есть основная цель затеянного разговора, т.к. лично я не могу такую работу сделать. Просто потому что не работаю с теми или иными средствами. Ну а тем, кто работает, надеюсь, не составит большого труда такою проверку - моделирование RS-триггера сделать. Т.е. примерно так, как это сделал SM. Только вот его результаты пока еще не очень меня устраивают. Во-первых, не нужен такой детальный уровень моделирования (транзисторный), во-вторых, - разнобой, как Вы видите в результах. То генерирует, то нет.
Причем он должен (или я так полагаю) генерировать в любой ситуации, если элементы его абсолютно одинаковы: в математических формулах нет "паразитных емкостей", "тепловых шумов" и т.п. Если их, конечно, не ввести туда сознательно (что и делал SM). Но так этого и не нужно делать. На том уровне, который обычно дается он в преподавании все ограничивается 0, 1 и задержка, которую обычно забывают, как забывают, что триггер - это КА, а не комбинационная схема. Это важно. Важно для понимания работы триггера.
И очень важно понимание триггера, как маленькой, но очень хитрой параллельной системы. Которая как дискретная и детерминированная система должна вести себя однозначно. Но обычно с программистами на эту тему говорить тяжело. Для них электроника, даже цифровая, - чума. Хотя вот недавно попалась на глаза очень интересная книжка Алгоритмы: проектировани и анализ. Она для програмистов. Там рассматриваются сортирующие сети и арифметические схемы. Но все это, так сказать, цифровые схемы без обратных связей. Там триггер не сделаешь. Но программистам, думаю, доказать это будет сложно. Если только не сунуть под нос триггер. Лучше если в форме модели. Лучше, если в разных системах моделирования. Тут чем больше независимых источников с одинаковыми результатами работы, тем больше доверия к этим результатам.
По мои предположениям триггер должен генерировать везде. Вот в этом и хочется убедиться. Но, конечно, только достаточно идеальный триггер. Но даже этот идеальный триггер должен как можно ближе объяснять работу реального триггера. А не так как оно есть сейчас. Эта жутко безобразная таблица истинности с запрещенными состояниями. Она сейчас прямо выводит меня из себя (шучу, конечно) smile.gif

Вот так длинно о такой "короткой" схеме. Но на мой взгяд очень важной. Оттого и такое мое многословие... wink.gif Наверное, проще взять и смоделировать smile.gif Вот об этом и мои просьбы к тем, кто это может сделать ... Сделать свой вклад в "науку о RS-триггере", а по большому счету - в науку о параллельных системах. Так как на мой вгляд в будущем программирование, когда станет истинно параллельным, во многом будет походить на проектирование цифровых схем. Собственно я так уже и работаю wink.gif


А.А. Шалыто "Логическое управление. Методы аппаратной и программной реализации алгоритмов."

Если пороетесь в этой книжке, то возможно найдете ответы на свои вопросы.
SM
1). Про то, как моделирую я. В принципе. Сначала я моделирую на верилоге. "чиста цифровым методом". Как Вы. Это так, прикидочная модель. Которой доверять нельзя. На ней можно сказать, соответствует цифровая схема поставленной задаче или нет на уровне логики. В процессе такого моделирования я исправляю неточности в нетлисте, которые бывают у синтезаторов. Затем все ложится на кристалл. Синтезируются деревья клоков, делается разводка. После этого делаю экстаркцию паразитов, тоже прикидочную, получаю на основе этого SDF-файл, и опять прогоняю тест-бенч на верилоге. Опять это прикидочное моделирование! Я ни за что не отправлю такое изделие, проверенное таким образом, на фабрику. Затем я собираю из вериложного нетлиста и спайс-моделей ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ аналоговую схему. Запускаю процесс верификации, который сравнивает эту схему на транзисторном уровне с тем, что разведено на кристалле. Затем делаю еще одну экстракцию паразитов, уже более точную, чем была та, которая для SDF'а, и моделирую схему в спайс-моделяторе на транзисторном уровне. Там я уже вижу все реальные задержки, все перекосы фронтов, все нарушения в скорости нарастания фронтов (ведь и такая проблема есть!). Такую симуляцию я делаю для трех точек по температуре и питанию. И только когда именна эта симуляция показала работоспособность схемы, я ее отправляю в производство. Так что окончательно симулирую я цифровые схемы именно в аналоге. Основную симуляцию. Остальные так, для скорости, так как они могут показать только очень грубые ошибки.

Я совершенно не разделяю вашего подхода к моделированию процессов, зависящих ИСКЛЮЧИТЕЛЬНО от внутренней схемотехники транзисторного уровня. Это все равно, что построить модель однотранзисторного усилителя на транзисторе, у которого из параметров задан только h21э и на такой моделе пытаться анализировать зависимость точки покоя от температуры. Вы ничего не получите! Точно также и у Вас - вы сами навесите на элементы какие-то задержки, и естественно, если захотите, оно загенерит, если не захотите - не загенерит. Это не моделирование. Это, извините за выражение, онанизм - сам задам, что схема должна генерить, и посмотрю, о!, в натуре генерит... Ай как правильно моделятор смоделировал. Но, повторю, ничего он не смоделировал. И не надо пытаться упрощать себе жизнь упрощением моделей. Не существует в природе идеальных фронтов сигналов. Не бывает их одинаковых у двух элементов. Кстати, при замыкании того-же реле еще и дребезг есть, и скорость нарастания фронта тоже вполне конечная, я уж не говорю что там при размыкании, особенно если в нагрузке еще одно реле (точнее индуктивность). В общем - моделируйте процессы в тех средах моделирования, которые смогут корректно их смоделировать, и на тех уровнях, на которых они происходят. Вы пытаетесь, грубо говоря, используя исключительно математику целых чисел с операциями + - * / доказать какую нибудь интегральную теорему и ТФКП. Не выйдет.

Про мой триггер - у него никогда не было двух выходов. У него один выход. Инверсный. Прямой выход выходом не является, это всего лишь цепь обратной связи, выполняемая на транзисторах с большим L. На такой "выход" нагрузку подключать категорически запрещено. И не надо тут придумывать запрещенные состояния на выходах, ибо он один. А на входе у него запрещенных состояний нет.

Про автомат - это где же я сказал про переход в соседний автомат? angry.gif Я говорил про два состояния, и про то, что из каждого из них есть по два перехода в себя, и по одному - в соседнее.

И про воздействия. Причем тут КА и логические уровни? При описании КА я события (воздействия) описывать имею право хоть словами, хоть рисунками. И три слова - ноль, один и обрыв это вполне полноправные внешние воздействия на конечный автомат.

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


Еще раз повторю. Есть давно и не мной сформулированный критерий генерации в системе с ОС. Если он выполнен - загенерит. Если нет - не загенерит. А если в математических формулах, описывающих модель, нет паразитных емкостей и тепловых шумов, то это модель, не пригодная для моделирования данного процесса. А именно охвата триггера обратной связью. Такая модель не достаточна, она не описывает того, из-за чего возникает или не возникает генерация.
locas
Цитата(vetal @ Nov 24 2005, 21:13) *
А.А. Шалыто "Логическое управление. Методы аппаратной и программной реализации алгоритмов."

Если пороетесь в этой книжке, то возможно найдете ответы на свои вопросы.

В этой не найду. Но найду в другой: "SWITCH-технология. Алгоритмизация и программирование задач логического управления" в 4.2. Функциональные схемы. (см. там также граф на рис. 4.23). Это близко к тому, как я представляю. Близко, но не точно.
Т.е. я знаю хорошо не только книги Шалыто, но и его самого. Как, кстати, и он меня wink.gif

Еще раз хочу повторить. Сейчас меня очень интересуют результаты моделирования RS-триггера в различных системах моделирования. И прежде всего испытания на генерацию. И сначала для идентичных элементов триггера, а потом для элементов с отличающимися задержками.

Безусловно, если всплывет что-то интересное типа триггера описанного SM, то и это очень интересно. Или доказательства типа того, что у Шалыто... Но основная цель все же сформулирована выше. Потому большая просьба к тем, кто занимается подобым моделированием, не отказать в помощи. Да и результаты такого тестирования, думаю, будут интересны не только мне wink.gif
vetal
В принципе, решение может быть простейшим - поставьте симулятор Modelsim или Active-HDL(несколько проще в освоении, с моей точки зрения).
И далее создавайте модификации RS триггера, с разной начинкой.
locas
Цитата(SM @ Nov 24 2005, 22:42) *
1). Про то, как моделирую я. ...

Вам постараюсь ответить завтра. Сейчас - валюсь. Да и заглянуть надо кой-куда wink.gif
locas
Цитата(SM @ Nov 24 2005, 22:42) *
1). Про то, как моделирую я. В принципе. Сначала я моделирую на верилоге. "чиста цифровым методом". Как Вы. Это так, прикидочная модель.

Вот! Вот такая "прикидочная модель" меня и интересует. И очень (!) интересует поведение Вашего триггера именно на этом уровне. Поэтому сообщите, если не трудно wink.gif
Цитата(SM @ Nov 24 2005, 22:42) *
Которой доверять нельзя. На ней можно сказать, соответствует цифровая схема поставленной задаче или нет на уровне логики.

Ей можно и нужно доверять, но, как правильно Вы заметили, на уровне логики. Но это и есть основной уровень отлавливания ошибок. Все остальное, что далее (здесь ниже), чтобы обеспечить правильность работы логического уровня. Я так это понимаю. Но, главное, что я нахожу подтверждение этим моим мыслям. Цитирую: "уровень логических вентилей, традиционно играет основную роль при проектировании цифровых схем и систем..." (Армстронг. Моделирование цифровых систем на языке VHDL". На этом уровне и нужно вылавливать максимум ошибок. Да, реальный триггер может и не будет генерировать, но если на вентильном уровне для этого есть предпосылки, то их нужно или устранить (на этом же уровне) или ... перенести решение этого вопроса на следующие уровни (например, создав триггера с заведомо разными задержками)...
Цитата(SM @ Nov 24 2005, 22:42) *
В процессе такого моделирования я исправляю неточности в нетлисте, которые бывают у синтезаторов. Затем все ложится на кристалл....
Синтезируются деревья клоков, делается разводка. После этого делаю экстаркцию паразитов, тоже прикидочную, получаю на основе этого SDF-файл, и опять прогоняю тест-бенч на верилоге. Опять это ... Так что окончательно симулирую я цифровые схемы именно в аналоге. Основную симуляцию. Остальные так, для скорости, так как они могут показать только очень грубые ошибки.

Такое тщательное проектирование нужно, как мне представляется, когда логика (вентили) работают на пределе своих возможностей, когда "паразиты" имеют влияние и т.д. и т.п. Для Вас, видимо, это важно. Но если, к примеру, я работаю с готовой логикой ("рассыпухой"), то мне будет достаточно и вентильного уровня. И тех проверок, которые могут быть там заложены. На этом уровне основные "паразиты" часто это просто гонкт сигналов, который сильно зависят от разброса задержек.
Цитата(SM @ Nov 24 2005, 22:42) *
Я совершенно не разделяю вашего подхода к моделированию процессов, зависящих ИСКЛЮЧИТЕЛЬНО от внутренней схемотехники транзисторного уровня.

Я здесь Вас не понял. Как раз внутреннюю схемотехнику я не трогаю. Я в этой ситуации могу только выбрать те микросхемы, которые проектируете именно Вы, зная с какой тщательностью Вы это делаете. А как Вы это делаете - я тут целиком доверяюсь Вам wink.gif
Цитата(SM @ Nov 24 2005, 22:42) *
Это все равно, что построить модель однотранзисторного усилителя на транзисторе, у которого из параметров задан только h21э и на такой моделе пытаться анализировать зависимость точки покоя от температуры. Вы ничего не получите!

Одно уточнение. Я могу создать и эту модель и модель любой другой сложности.
Цитата(SM @ Nov 24 2005, 22:42) *
Точно также и у Вас - вы сами навесите на элементы какие-то задержки, и естественно, если захотите, оно загенерит, если не захотите - не загенерит.

Тут Вы ошибаетесь. Я стараюсь делать не как мне нужно, а как должно быть. Оттого я так долго например выяснял вопрос с генерацией триггера. Теперь мне ясно - модель логического элемента должна включать задержку инерционного типа. Я ее сделал. Теперь триггер работает не так как я хочу, а примерно так, как Вы описываете.
Цитата(SM @ Nov 24 2005, 22:42) *
Это не моделирование. Это, извините за выражение, онанизм - сам задам, что схема должна генерить, и посмотрю, о!, в натуре генерит... Ай как правильно моделятор смоделировал.

Ситуация иная. Генерацию я рассчитываю строго математически (примерно, но немного не так как описано у упомянутого Шалыто). Тут как с 2x2. Как ты не хоти, но будет всегда четыре. Так и с триггером. При правильной модели элементов он при разных задержках не загенерирует ни в жизнь как бы мне этого не хотелось!
Цитата(SM @ Nov 24 2005, 22:42) *
Но, повторю, ничего он не смоделировал. И не надо пытаться упрощать себе жизнь упрощением моделей.

Я не упрощаю, а задаю условия работы своей системы, за которые я не должен выходить, чтобы гарантировать работоспособность.
Цитата(SM @ Nov 24 2005, 22:42) *
Не существует в природе идеальных фронтов сигналов. Не бывает их одинаковых у двух элементов.

Все зависит от скорости на которой работает элемент. Вы же это знаете и без меня.
Цитата(SM @ Nov 24 2005, 22:42) *
Кстати, при замыкании того-же реле еще и дребезг есть, и скорость нарастания фронта тоже вполне конечная, я уж не говорю что там при размыкании, особенно если в нагрузке еще одно реле (точнее индуктивность). В общем - моделируйте процессы в тех средах моделирования, которые смогут корректно их смоделировать, и на тех уровнях, на которых они происходят. Вы пытаетесь, грубо говоря, используя исключительно математику целых чисел с операциями + - * / доказать какую нибудь интегральную теорему и ТФКП. Не выйдет.

Да нет же. Я просто не лезу в ту область, где все это начинает сказываться.
Цитата(SM @ Nov 24 2005, 22:42) *
Про мой триггер - у него никогда не было двух выходов. У него один выход. Инверсный. Прямой выход выходом не является, это всего лишь цепь обратной связи, выполняемая на транзисторах с большим L. На такой "выход" нагрузку подключать категорически запрещено. И не надо тут придумывать запрещенные состояния на выходах, ибо он один.

На вентильном уровне все это не имеет значения. Но, безусловно, зная условия дальнейшей реализации Вы все это о чем написали будете учитывать в своей схеме. Я же вел речь о той схеме, которую Вы дали. На этом уровне - это система из двух элементов, как и обычный триггер. Как для триггера я строю и ее модель. И потому, если не выходов, то множеств состояний у Вашего триггера столько же сколько и у обычного RS-триггера - т.е. четыре (00, 01, 10, 11) и функция переходов будет такая:
00 = {11(^x1/-), 10(x1/-)},
01 = {00(x1/-)},
01 = {11(^x1/-)},
11 = {00(x1/-)}.
Это автомат Мили, знак ^ означает отрицание.
Цитата(SM @ Nov 24 2005, 22:42) *
А на входе у него запрещенных состояний нет.

Нет, конечно. А вот на выходах (не на одном выходе!) есть.
И еще раз для ясности. Речь идет об анализе данной схемы, как системы из двух вентилей. На этом уровне нагрузка учитывается лишь в том плане, что ее можно подключать или нет. Кстати, если у RS-триггера рассматривать только выход Q, то у него тоже не будет "запрещенных выходов". С той лишь разницей, что на второй выход триггера нагрузку можно подключать.
Цитата(SM @ Nov 24 2005, 22:42) *
Про автомат - это где же я сказал про переход в соседний автомат? angry.gif Я говорил про два состояния, и про то, что из каждого из них есть по два перехода в себя, и по одному - в соседнее.

Убейте, но я Вас не понимаю. Как - "в соседнее". Выше я нарисовал результирующий автомат для всей системы. Там есть и свое и соседнее состояние. Но в эту Вашу фразу я не могу врубиться. Если не сложно, то можно это как-то описать в автоматной форме?
Цитата(SM @ Nov 24 2005, 22:42) *
И про воздействия. Причем тут КА и логические уровни? При описании КА я события (воздействия) описывать имею право хоть словами, хоть рисунками. И три слова - ноль, один и обрыв это вполне полноправные внешние воздействия на конечный автомат.

Тут есть тонкий момент. Кодирование сигнала. У Вас оно троичное. Будет и другая модель и другая математика. Может, и отличия будут небольшими, но я бы пока эти вопросы оставил на потом...
Цитата(SM @ Nov 24 2005, 22:42) *
Еще раз повторю. Есть давно и не мной сформулированный критерий генерации в системе с ОС. Если он выполнен - загенерит. Если нет - не загенерит. А если в математических формулах, описывающих модель, нет паразитных емкостей и тепловых шумов, то это модель, не пригодная для моделирования данного процесса. А именно охвата триггера обратной связью. Такая модель не достаточна, она не описывает того, из-за чего возникает или не возникает генерация.

В том то и дело, что генерация может возникать и на уровне логических вентилей. Например, в книге Гивоне, Россер "Микропроцессоры и микрокомпьютеры" в пар. 5.1 в разделе MS-триггер проблемы колебательных значений рассматриваются. См. рис.5.4 Схема с RS-триггером, в которой могут возникать колебания значений. Тут не "паразитов", шумов ни слова о критериях генерации в системе с ОС (да и ОС ли там?), а генерация (колебания) возникают. И выясняют все это на вентильном уровне.
И пробуют уйти от этой проблемы, рассматривая MS-триггер...

ЗЫ
Но мне очень интересно поведение Вашей "прикидочной модели" (см. начало ответа)

Что-то перестало работать выделение цитат. sad.gif Вроде делаю, как и раньше. В чем промашка?


Цитата(vetal @ Nov 24 2005, 23:18) *
В принципе, решение может быть простейшим - поставьте симулятор Modelsim или Active-HDL(несколько проще в освоении, с моей точки зрения).
И далее создавайте модификации RS триггера, с разной начинкой.

Не знаю найду ли время. Да и хотелось бы чтобы это сделали те, кто знают эти системы. У них это получится и быстрее и качественнее. Все это в строне от моей основной работы.
Но на всякий случай - вдруг...
В двух словах. В какой системе (меня интересует в основном Windows)? Где взять? (здесь на сайте?)
SM
Цитата
Вот! Вот такая "прикидочная модель" меня и интересует. И очень (!) интересует поведение Вашего триггера именно на этом уровне. Поэтому сообщите, если не трудно

Я на этом уровне не моделирую эти процессы smile.gif, ибо это не возможно, поэтому и модель Вам такая не поможет.
Цитата
Я здесь Вас не понял. Как раз внутреннюю схемотехнику я не трогаю. Я в этой ситуации могу только выбрать те микросхемы, которые проектируете именно Вы, зная с какой тщательностью Вы это делаете. А как Вы это делаете - я тут целиком доверяюсь Вам

Так Вы ее и не трогайте. Скачайте модель выбранной микросхемы. Спайс-модель. И проанализируйте, подойдет она Вам или нет.
Цитата
Да нет же. Я просто не лезу в ту область, где все это начинает сказываться

Да нет же, лезете. Коротнув вход на выход, или подав на классический RS из двух И-НЕ пару нулей и абсолютно синхронно после этого пары единиц, вы начинаете игру на грани устойчивости схемы, на грани ее таймингов. На очень высоких частотах. Которые могут оказаться за пределами гарантированными изготовителем. А могут и не оказываться. Может загенерить лог. уровнями, может вообще синусом! Совсем не логическим! А может и не загенерить. Вот Вам еще аналогия по части триггеров. Возьмите синхронный триггер, подайте на него перепад клока, и во время где-то после сетапа и до холда, заданных изготовителем, передернете данное. Вам даст ответ на то, что произойдет, модель Вашего уровня? Нет, не даст. Потому как не предусмотрено такое поведение в моделе.
Цитата
Убейте, но я Вас не понимаю. Как - "в соседнее". Выше я нарисовал результирующий автомат для всей системы. Там есть и свое и соседнее состояние. Но в эту Вашу фразу я не могу врубиться. Если не сложно, то можно это как-то описать в автоматной форме?

пожалуйста. Только во первых. Определение триггера, которого я придерживаюсь - это "система с коэффициентом передачи, большим единицы, охваченная положительной ОС". Под это определение попадают все (известные мне) типы триггеров, включая и триггер Шмитта, разновидностью которого мой триггер и является. То есть это RS-триггер, построенный на базе триггера Шмитта.

Вот его модель на верилоге. Заметьте, она имеет один вход(двунаправленный) и один выход.

Код
`celldefine
`suppress_faults
`enable_portfaults

`timescale 1ns / 1ns
`delay_mode_distributed
`delay_mode_unit

module rstrig (I,O);

   inout I;
   output O;

   not (O,I);
   buf (weak0, weak1) (I,I);

   specify
        (I *> O)=(0.1);
   endspecify

endmodule

`endcelldefine
`disable_portfaults
`nosuppress_faults


вот его описание в виде автомата

Код
исх.сост.     вход       рез. сост.
0              0            0
0              z            0
0              1            1
1              0            0
1              z            1
1              1            1
locas
Цитата(SM @ Nov 25 2005, 14:46) *
Я на этом уровне не моделирую эти процессы smile.gif, ибо это не возможно, поэтому и модель Вам такая не поможет.

Я не понял? sad.gif Как этото невозможно? У меня - возможно. Я создаю/имею модели логических элементов в автоматной форме и их запускаю в работу. Та я и моделирую. Например модель логического элемента И-НЕ это автомат (аналитическая форма автомата Мили):
Код
INE:
   1 = {0(x1x2/-)},
   0 = {1(^x1/-), 1(^x2/-)}.

В этом случае RS-триггер это два таких элемента/модели:
Код
S:
   s1 = {s0(x1r1/-)},
   s0 = {s1(^x1/-), s1(r0/-)}.
R:
   r1 = {r0(x2s1/-)},
   r0 = {r1(^x2/-), r1(w0/-)}.

У меня есть два варианта анализа таких систем:
1. моделирование
2. построение результирующего автомата.
Моделирование - это тестирование программной модели, которая по сути совпадает с математической формой.
Результирующий автомат - это применение для этой модели алгебраической операции умножения автоматов. Если я "перемножу" автоматы, то без всякого моделирования получу результирующий автомат:
Код
SxR:
  s1r1 = { s0r0(x1x2/-), q1r0(^x1x2/-), q0r1(x1^x2/-)},
  s1r0 = { s1r1(^x2/-)},
  s0r1 = { s1r1(^x1/-)},
  s0r0 = { s1r1(-/-)}.

Из этой модели и видны условия генерации: если в состоянии s1r1 (или просто 11) на входах будет x1x2, то модель войдет в цикл, переключаясь между состояниями s1r1 и s0r0 пока x1x2.
И это же я должен увидеть при запуске модели из двух автоматов И-НЕ, соединенных перекрестными связями по схеме RS-триггера.
Цитата(SM @ Nov 25 2005, 14:46) *
Так Вы ее и не трогайте. Скачайте модель выбранной микросхемы. Спайс-модель. И проанализируйте, подойдет она Вам или нет.

Я работаю и моделирую на С++.
Цитата(SM @ Nov 25 2005, 14:46) *
Да нет же, лезете. Коротнув вход на выход, или подав на классический RS из двух И-НЕ пару нулей и абсолютно синхронно после этого пары единиц, вы начинаете игру на грани устойчивости схемы, на грани ее таймингов. На очень высоких частотах. Которые могут оказаться за пределами гарантированными изготовителем. А могут и не оказываться. Может загенерить лог. уровнями, может вообще синусом! Совсем не логическим! А может и не загенерить.

С одной строны, Вы правы. А с другой, все определяется величиной дискретного такта модели. Если это будет 1 сек - это однт условия работы схемы, если 1 нс, то другие. Но все это зависит от соглашений моделирования.
Цитата(SM @ Nov 25 2005, 14:46) *
Вот Вам еще аналогия по части триггеров. Возьмите синхронный триггер, подайте на него перепад клока, и во время где-то после сетапа и до холда, заданных изготовителем, передернете данное. Вам даст ответ на то, что произойдет, модель Вашего уровня? Нет, не даст. Потому как не предусмотрено такое поведение в моделе.

Если модель собрана по схеме (например, см. в кн. Гивоне рис.5.2), то даст.
Цитата(SM @ Nov 25 2005, 14:46) *
пожалуйста. Только во первых. Определение триггера, которого я придерживаюсь - это "система с коэффициентом передачи, большим единицы, охваченная положительной ОС". Под это определение попадают все (известные мне) типы триггеров, включая и триггер Шмитта, разновидностью которого мой триггер и является. То есть это RS-триггер, построенный на базе триггера Шмитта.

Я же исхожу из классической схемы RS-триггера для которой и строю модель (см. начало)
Цитата(SM @ Nov 25 2005, 14:46) *
Вот его модель на верилоге. Заметьте, она имеет один вход(двунаправленный) и один выход.
...

Вот тут, прошу прощения, я не вижу RS-триггера. Где два входа и выхода, который имеет RS-триггер, где его два элемента с перекрестными связями и т.п.
Цитата(SM @ Nov 25 2005, 14:46) *
вот его описание в виде автомата

Код
исх.сост.     вход       рез. сост.
0              0            0
0              z            0
0              1            1
1              0            0
1              z            1
1              1            1

Здесь чуть понятнее, но только становится яснее, что это опять же не RS-триггер. Вы тоже привели как бы результирующий автомат, но у реального RS-триггера два входа, два выхода и четыре состояния 00, 01, 10, 11. В трех из них он бывает точно, в четвертом (00) - спорная ситуация.
У Вас, как можно видеть, это некий триггер, имеющий два состояния и один вход, имеющий троичное кодирование. Уже по числу состояний это не классический RS-триггер. Ваша модель не показывает запрещенное состояние выходов, которое имеется у реального триггера при переключении из одного устойчивого состояния в другое.
Наверное, нужно вернуться к истокам и договорится какую же схему мы моделируем. Я веду речь о классической схеме RS-триггера и ее модели. У Вас - другое.
SM
Цитата
С одной строны, Вы правы. А с другой, все определяется величиной дискретного такта модели. Если это будет 1 сек - это однт условия работы схемы, если 1 нс, то другие. Но все это зависит от соглашений моделирования.

Это так в том случае, если Вас не интересует то, что произойдет с триггером, когда он, в результате Ваших махинаций с ОС, или с чем либо другим, перестанет подчиняться законам дискретной логики. Тогда, сколько не уменьшай "величину дискретного такта", работа модели перестанет соответствовать работе реальной схемы. Что и происходит с реальными триггерами, когда Вы их ставите в условия с закороченными входами на их же выходы. Или четко синхронно снимая уровень "00" с входов триггера на 2И-НЕ. В этих условиях выходное состояние триггера определяется не логическими/дискретными процессами, а, увы, линейными и непрерывными. Вы абстрагируетесь от действительности, не желая расширить Ваши модели до той степени, что бы при помощи них можно было смоделировать поведение реального физически реализуемого триггера (лог. элемента и т.д.). Кстати, эти модели тоже вполне и без проблем описываются математически. Но только математика там посложнее будет. Я, конечно, согласен, что все зависит от "соглашений моделирования". Если мы принимаем за истину гипотезу о том, что элементы имеют только уровни "1" и "0" и бесконечную скорость нарастания и спада фронтов, то да, можно моделировать Вашими методами, НО!!!! Тогда потом собирайте схему из именно таких элементов, если хотите получить ее работу в том виде, как показало моделирование, если вы ее загоняете в критические условия.
Цитата
Вот тут, прошу прощения, я не вижу RS-триггера. Где два входа и выхода, который имеет RS-триггер, где его два элемента с перекрестными связями и т.п.
.........
Здесь чуть понятнее, но только становится яснее, что это опять же не RS-триггер. Вы тоже привели как бы результирующий автомат, но у реального RS-триггера два входа, два выхода и четыре состояния 00, 01, 10, 11.

В корне не согласен. По определению, триггер это устройство с двумя (минимум с двумя, но общий случай трогать не будем) устойчивыми состояниями (высказанное в предыдущем моем посте определение как система, охваченная ПОС, это то-же самое, можно доказать, что такая система с ПОС имеет устойчивые состояния). RS-триггер, это триггер, который реагирует на внешнее воздействие "сброс" и внешнее воздействие "установка". Он не обязан иметь более одного выхода. Точнее он должен иметь как минимум один выход, ибо все остальные выходы это результат операций над текущим состоянием триггера. И точно так же не обязан иметь двух входов (одного, десяти и т.д.). Он должен просто уметь воспринимать внешние воздействия, не суть важно каким образом в него попавшие. Мой триггер имеет два устойчивых состояния и принимает внешние воздействия "сброс" и "установка". Значит он является RS-триггером. Извините, но все множество RS-триггеров не ограничивается схемой на двух элементах И-НЕ. Я Вам могу еще подкинуть схему на биполярных транзисторах, если хотите. Могу на тиристоре и транзисторе. Причем в двух вариантах. Кстати, эти схемы (с тиристором) будут иметь два входа, сброс и установку, и не будут иметь перекрестных связей.
Цитата
Если модель собрана по схеме (например, см. в кн. Гивоне рис.5.2), то даст.

У меня этой книги нет. И я не вижу смысла в потере времени на моделирование линейных процессов средствами дискретной математики. Но я Вам скажу - если взять реальный КМОП-триггер, и подать ему тот сигнал, который я сказал, то результатом (реальным) будет либо достаточно продолжительная осцилляция вокруг пол-питания амплитудой меньше, чем лог. уровни, либо просто, продолжительное находжение выхода в пол-питании. Продолжительная в данном контексте означает большая, чем в два раза, чем один период максимально допустимой (производителем) частоты для данного триггера. Это называется метастабильное состояние. Ваша модель его покажет?
Цитата
Из этой модели и видны условия генерации: если в состоянии s1r1 (или просто 11) на входах будет x1x2, то модель войдет в цикл, переключаясь между состояниями s1r1 и s0r0 пока x1x2.
И это же я должен увидеть при запуске модели из двух автоматов И-НЕ, соединенных перекрестными связями по схеме RS-триггера.

Так, если не верите мне, а уверены в достаточности Вашей модели, спаяйте триггер на этих элементах, введите его в такие условия и посмотрите результат. И потом тут скажите, совпадает ли он с результатом моделирования.

Я не пойму все таки Вашу цель... Построить при помощи средств дискретной математики обобщенную модель физически реализуемого триггера? Или наоборот, исследовать поведение идеального, физически не реализуемого триггера? Если второе, то я не вижу смысла в продолжении нашего разговора.
SM
Цитата
С одной строны, Вы правы. А с другой, все определяется величиной дискретного такта модели. Если это будет 1 сек - это однт условия работы схемы, если 1 нс, то другие. Но все это зависит от соглашений моделирования.

Это так в том случае, если Вас не интересует то, что произойдет с триггером, когда он, в результате Ваших махинаций с ОС, или с чем либо другим, перестанет подчиняться законам дискретной логики. Тогда, сколько не уменьшай "величину дискретного такта", работа модели перестанет соответствовать работе реальной схемы. Что и происходит с реальными триггерами, когда Вы их ставите в условия с закороченными входами на их же выходы. Или четко синхронно снимая уровень "00" с входов триггера на 2И-НЕ. В этих условиях выходное состояние триггера определяется не логическими/дискретными процессами, а, увы, линейными и непрерывными. Вы абстрагируетесь от действительности, не желая расширить Ваши модели до той степени, что бы при помощи них можно было смоделировать поведение реального физически реализуемого триггера (лог. элемента и т.д.). Кстати, эти модели тоже вполне и без проблем описываются математически. Но только математика там посложнее будет. Я, конечно, согласен, что все зависит от "соглашений моделирования". Если мы принимаем за истину гипотезу о том, что элементы имеют только уровни "1" и "0" и бесконечную скорость нарастания и спада фронтов, то да, можно моделировать Вашими методами, НО!!!! Тогда потом собирайте схему из именно таких элементов, если хотите получить ее работу в том виде, как показало моделирование, если вы ее загоняете в критические условия.
Цитата
Вот тут, прошу прощения, я не вижу RS-триггера. Где два входа и выхода, который имеет RS-триггер, где его два элемента с перекрестными связями и т.п.
.........
Здесь чуть понятнее, но только становится яснее, что это опять же не RS-триггер. Вы тоже привели как бы результирующий автомат, но у реального RS-триггера два входа, два выхода и четыре состояния 00, 01, 10, 11.

В корне не согласен. По определению, триггер это устройство с двумя (минимум с двумя, но общий случай трогать не будем) устойчивыми состояниями (высказанное в предыдущем моем посте определение как система, охваченная ПОС, это то-же самое, можно доказать, что такая система с ПОС имеет устойчивые состояния). RS-триггер, это триггер, который реагирует на внешнее воздействие "сброс" и внешнее воздействие "установка". Он не обязан иметь более одного выхода. Точнее он должен иметь как минимум один выход, ибо все остальные выходы это результат операций над текущим состоянием триггера. И точно так же не обязан иметь двух входов (одного, десяти и т.д.). Он должен просто уметь воспринимать внешние воздействия, не суть важно каким образом в него попавшие. Мой триггер имеет два устойчивых состояния и принимает внешние воздействия "сброс" и "установка". Значит он является RS-триггером. Извините, но все множество RS-триггеров не ограничивается схемой на двух элементах И-НЕ. Я Вам могу еще подкинуть схему на биполярных транзисторах, если хотите. Могу на тиристоре и транзисторе. Причем в двух вариантах. Кстати, эти схемы (с тиристором) будут иметь два входа, сброс и установку, и не будут иметь перекрестных связей.
Цитата
Если модель собрана по схеме (например, см. в кн. Гивоне рис.5.2), то даст.

У меня этой книги нет. И я не вижу смысла в потере времени на моделирование линейных процессов средствами дискретной математики. Но я Вам скажу - если взять реальный КМОП-триггер, и подать ему тот сигнал, который я сказал, то результатом (реальным) будет либо достаточно продолжительная осцилляция вокруг пол-питания амплитудой меньше, чем лог. уровни, либо просто, продолжительное находжение выхода в пол-питании. Продолжительная в данном контексте означает большая, чем в два раза, чем один период максимально допустимой (производителем) частоты для данного триггера. Это называется метастабильное состояние. Ваша модель его покажет?
Цитата
Из этой модели и видны условия генерации: если в состоянии s1r1 (или просто 11) на входах будет x1x2, то модель войдет в цикл, переключаясь между состояниями s1r1 и s0r0 пока x1x2.
И это же я должен увидеть при запуске модели из двух автоматов И-НЕ, соединенных перекрестными связями по схеме RS-триггера.

Так, если не верите мне, а уверены в достаточности Вашей модели, спаяйте триггер на этих элементах, введите его в такие условия и посмотрите результат. И потом тут скажите, совпадает ли он с результатом моделирования.

Я не пойму все таки Вашу цель... Построить при помощи средств дискретной математики обобщенную модель физически реализуемого триггера? Или наоборот, исследовать поведение идеального, физически не реализуемого триггера? Если второе, то я не вижу смысла в продолжении нашего разговора.
SM
Сорри за два одинаковых сообщения - я не виноватая smile.gif это какой-то MySQL Error.

Да, перекрестные связи в моей моделе на верилоге описаны. Стандартным примитивом верилога "buf". Который обеспечивает слабую (weak0,weak1) положительную ОС со входа обратно на вход.
locas
Цитата(SM @ Nov 26 2005, 23:47) *
Так, если не верите мне, а уверены в достаточности Вашей модели, спаяйте триггер на этих элементах, введите его в такие условия и посмотрите результат. И потом тут скажите, совпадает ли он с результатом моделирования.

Я паял и знаю, что эта модель точно недостаточна wink.gif И было время, когда я не знал причины ее недостаточности: по теории в рамках этой модели даже при наличии задержек должна была быть генерация, но реально ее не было. Казалось, что причина в высокой частоте на которой должны протекать такие процессы и тогда модель должна быть другой. Я попытался уйти от высокой частоты и аналоговых процесов, создав триггер на реле. Но и там не пошло. Т.е. не возникла генерация, когда частота переключения измерялась секундами wink.gif Задержки создавались RC-цепочками. И тут всплыли инерционные задержки и утверждение, что реальные задержки все инерционного типа, а не транспортного. И тут я увидел, что в моей модели задержки были именно транспортные, т.е. изменение фронта обязательно проходили на выход. Тогда я создал дискретную модель инерционной задержки. И все стало много ближе к реальности. Мой триггер перестал генерировать. И вот эту модель и инерционными задержками я уже считаю гораздо ближе к реальности, чем та, которая была (которая была приведена здесь).
Остается один невыясненный момент: по теории, если инерционные задержки равны, то модель должна устойчиво генерировать. Вот это и хотелось бы проверить. Ведь в реальной жизни создать абсолютно одинаковые задержки - это нереально. В модели можно. Причем с одной стороны эти привнесенные задержки могут быть очень большими, чтобы не работать на высоких частотах, где модель будет другая (хоть и дискретная), с другой, они могут быть абсолютно равными.
Цитата(SM @ Nov 26 2005, 23:47) *
Я не пойму все таки Вашу цель... Построить при помощи средств дискретной математики обобщенную модель физически реализуемого триггера?

Это одна из целей. Модель с имеющейся инерционной задержкой уже значительно повыжает рабочую частоту дискретной модели. Дальше эту модель задержки можно только совершенствовать, приближая дискретную модель все ближе по качествам к реальной. Но это уже как бы вопрос создания адекватной модели.
Более важная цель - создание общей дискретной модели параллельных систем. Ее я и создаю и надеюсь даже, что создал wink.gif. А вот моделирование в ее рамках реальных электронных схем это ее качественная проверка.
Наш с Вами разговор дает мне еще аргументы в ее пользу. И даже несмотря на то, что Вы не согласны с самой постановкой общности дискретной модели. Но это уже отдельный разговор. Он сводится к разногласиям между "непрерывной кибернетикой" Виннера и "дискретной кибернетикой" Неймана. Но об этом нужно разговаривать уже в другой теме wink.gif
Но если то, о чем Вы написали в отношении реального триггера, что он входит в режим осцилляции вокруг пол-питания, можно реально наблюдать, то это еще один важный аргумент в пользу моей дискретной модели.
Цитата(SM @ Nov 26 2005, 23:47) *
Или наоборот, исследовать поведение идеального, физически не реализуемого триггера? Если второе, то я не вижу смысла в продолжении нашего разговора.

Нет, конечно. С идеальным триггером все ясно. Он генерировал и будет генерировать так как я захочу wink.gif Поскольку здесь я тот Бог, который его создает smile.gif Но, создавая параллельные системы, мы имеем два варианты: создаем идеальные, которые возникают в нашей голове, и моделирует реальные, чтобы познать их работу. Но очень важно, чтобы и в том и в другом случае в основе была одна модель и одна теория.
В свете только сказанного я проектирую идеальные системы, Вы - реальные. Мне хочется, чтобы мои идеальные работали в полном соответствии с законами природы реальных систем. И если "триггер осциллирует" реально, то я еще больше спокоен за свои результаты wink.gif Замечу, что другие модели (имеются в виду дискретные параллельные модели) даже близко не покажут и намек на осцилляцию. Не говоря уж о том, чтобы ее доказать формально.
Ну вот, может быть и все wink.gif Я не собираюсь далеко лезть в физику. Тут мне бы только хотелось бы чтобы Вы развеяли мои сомнения в возможной осцилляции. Ну а Вы, насколько я вижу, не доверяете дискретным моделям. Тут я тоже не собираюсь Вас сильно переубеждать. На Вашем уровни они, действительно, должны быть много сложнее, чем я привел. Уже только введение простейшей инерционной задержки делает модель достаточно сложной. Но это уже больше вопрос создания конкретной модели, чем вопрос формулирования самой модели. Для меня в даном случае важно, что та дискретная модель, которую я использую, качественно лучше других, которые я знаю. Вы меня в этой вере пока только укрепили wink.gif Спасибо! cheers.gif
Надеюсь, что все сказанное мной не покажется так уж cranky.gif Но даже если и покажется кому-то, то это ... tongue.gif
Вам же от меня a14.gif за терпение
SM
Цитата
Остается один невыясненный момент: по теории, если инерционные задержки равны, то модель должна устойчиво генерировать. Вот это и хотелось бы проверить. Ведь в реальной жизни создать абсолютно одинаковые задержки - это нереально. В модели можно. Причем с одной стороны эти привнесенные задержки могут быть очень большими, чтобы не работать на высоких частотах, где модель будет другая (хоть и дискретная), с другой, они могут быть абсолютно равными.

Вот это - совсем другое дело. И другой подход. Моё предложение по моделированию таких систем будет чуть ниже.
Цитата
Это одна из целей. Модель с имеющейся инерционной задержкой уже значительно повыжает рабочую частоту дискретной модели. Дальше эту модель задержки можно только совершенствовать, приближая дискретную модель все ближе по качествам к реальной. Но это уже как бы вопрос создания адекватной модели.
Более важная цель - создание общей дискретной модели параллельных систем. Ее я и создаю и надеюсь даже, что создал . А вот моделирование в ее рамках реальных электронных схем это ее качественная проверка.

Вот теперь давайте опять возьмем Ваш RS-триггер. На элементах И-НЕ. И будем его упрощать. НО! Не касаясь дискретной математики, не касаясь теории автоматов... И, одновременно, не трогая уровня вентилей..... Это возможно? Да! Возможно.

Во первых, ликвидируем вентили "И". Заменим их на вентили "монтажное И". Только для упрощения модели. И перейдем к немного другой логике. Тоже двоичной. Которая имеет два состояния - ноль и обрыв. Обрыв (котрый для моделирования считаем поттяжкой резистором к +) принимаем за еденицу. Ноль за ноль.

После этого определим, что такое инвертор.... Самое страшное в этой всей истории... А инвертор - это есть такая страшная штука, как усилитель. В идеале, с коэфиициентом усиления, приближающимся к бесконечности со знаком минус. И с выходом, ограниченным напряжением питания.... И опишем его в свете преобразования Лапласа... Для начала, не трогая частотных характеритстик... Получим такую передаточную ф-йию H(s)=-Ks. Соединив такой инвертор выходом на вход, получим уравнение, для которого есть одно решение - s=0. То есть не генерируем, а впадаем в усточивое состояние с входом и выходом в нуле (примечание - за нулю берем натуральный ноль, за "логический" берем минус сколькол-то вольт, за лог. единицу берем плюс столько же, опять для упрощения). Так себя реально и поведут большинство лог. элементов, встав в такой "аналитический" ноль, равный пол-питанию.

Теперь усложним задачу... Представим себе, что этот инвертор описывается полноценным уравнением первого порядка. То есть H(s) = (a+b*s)/(1+c*s). Где a,b,и с есть комплексные величины... соединяем выход с входом, решаем соответствующее дифференциально-интегральное уравнение, и получам, что на выходе... А вдруг этот инвертор описывается передаточной ф-цией 2-го порядка? Ой... Вообще кошмар...

Ну и окончательно - переход в дискретизированную модель. Просто переходим с s-плоскости на z-плоскость. Удобнным способом. Например методом инвариантной импульсной характеристики. Которая многое упустит, но при Вашем подходе, а именно минимизации шага квантования во времени, будет скорее всего наиболее оптимальной.... И... Моделируем что будет на выходе для дискретной выборки сигнала номер N+1 зная остальные [0..N].

В общем - подводя итог, могу сказать, что это на данный момент времени классический подход. Либо решение диф-инт. уравнений итерационными методами в лоб, либо z-преобразование численными методами с переходом к dt, стремящимся к нулю. Предложите что-то более прогрессивное, и, возможно, это будет переворотом в моделировании систем. Причем серьезным переворотом.
monya
Цитата(SM @ Nov 27 2005, 21:51) *
И опишем его в свете преобразования Лапласа... Для начала, не трогая частотных характеритстик... Получим такую передаточную ф-йию H(s)=-Ks.


SM Можно уточнить? Каким образом получили уравнение передаточную функцию дифференциатора для инвертора?
исходя из
Цитата(SM @ Nov 27 2005, 21:51) *
...инвертор - это есть такая страшная штука, как усилитель. В идеале, с коэфиициентом усиления, приближающимся к бесконечности со знаком минус....


Следовательно никакой частотной зависимости, в идеале, наблюдаться не будит.
SM
Цитата(monya @ Nov 28 2005, 13:53) *
SM Можно уточнить? Каким образом получили уравнение передаточную функцию дифференциатора для инвертора?

При помощи злоупотребления алкогольными напитками smile.gif Обшибся.
Цитата(SM @ Nov 27 2005, 21:51) *
...инвертор - это есть такая страшная штука, как усилитель. В идеале, с коэфиициентом усиления, приближающимся к бесконечности со знаком минус....

Следовательно никакой частотной зависимости, в идеале, наблюдаться не будит.

В идеале, да. Но речь идет о реальных схемах.
locas
Цитата(SM @ Nov 28 2005, 00:51) *
Вот теперь давайте опять возьмем Ваш RS-триггер. На элементах И-НЕ. И будем его упрощать. НО! Не касаясь дискретной математики, не касаясь теории автоматов... И, одновременно, не трогая уровня вентилей..... Это возможно? Да! Возможно.

Возможно. Но только не для меня. У меня автьоматы тот "скелет" на который я наращиваю все. Но об этом ... в процессе
Цитата(SM @ Nov 28 2005, 00:51) *
Во первых, ликвидируем вентили "И". Заменим их на вентили "монтажное И". Только для упрощения модели. И перейдем к немного другой логике. Тоже двоичной. Которая имеет два состояния - ноль и обрыв. Обрыв (котрый для моделирования считаем поттяжкой резистором к +) принимаем за еденицу. Ноль за ноль.

Вам нравятся "обрывы". Но, в конце концов, что обозначать единицей, а что ноликом... лишь бы не появился третий (лишнийwink.gif)
Цитата(SM @ Nov 28 2005, 00:51) *
После этого определим, что такое инвертор.... Самое страшное в этой всей истории... А инвертор - это есть такая страшная штука, как усилитель. В идеале, с коэфиициентом усиления, приближающимся к бесконечности со знаком минус. И с выходом, ограниченным напряжением питания.... И опишем его в свете преобразования Лапласа... Для начала, не трогая частотных характеритстик... Получим такую передаточную ф-йию H(s)=-Ks. Соединив такой инвертор выходом на вход, получим уравнение, для которого есть одно решение - s=0. То есть не генерируем, а впадаем в усточивое состояние с входом и выходом в нуле (примечание - за нулю берем натуральный ноль, за "логический" берем минус сколькол-то вольт, за лог. единицу берем плюс столько же, опять для упрощения). Так себя реально и поведут большинство лог. элементов, встав в такой "аналитический" ноль, равный пол-питанию.

Возможно. НЕ буду спорить Тем более, что убедиться в этом реально у меня нет сейчас возможности smile.gif
Но как бы я поступил. В данном случае для меня элемент реализует некую функцию y = f(x), где f - любая функция. В прстейшем случае она переключательная, т.е. при x=0 y=1, при x=1, y=0.
Мой автомат:
Код
Инв:
   s1 = {s0(x1/y1)},
   s0 = {s1(^x1/y2)}, где
   x1() { return x;}
   y1() { y = 0; }
   y2() { y = 1; }
[code]
Запись для кого-то весьма непривычная, но отражает факт "немгновенности" мира, т.е. выход изменится строго после изменения входа. Это будет и в случае, если написать и, например,  так:
[code]
int Инв(x)
{
   if (x) return 0;
   else return 1;
}

Это проще, но для меня почти неприемлемо wink.gif
Почему? Автомат я могу замкнуть выход на вход и он будет генерировать (мы это уже разбирали), а обычную функцию - нет.
Кстати, покажу, как замкну:
Код
Инв:
   s1 = {s0(x1/y1)},
   s0 = {s1(^x1/y2)}, где
   x1() { return y;}
   y1() { y = 0; }
   y2() { y = 1; }

Нашли отличие? wink.gif
Если меня не устроит эта переключательная модель, то я могу, например, изменить лишь действия. Если, например, мне нужно реализовать sin/cos, то это будет так:
Код
Инв:
   s1 = {s0(x1/y1)},
   s0 = {s1(^x1/y2)}, где
   x1() { return x;}
   y1() { y = sin(...); }
   y2() { y = cos(...); }

Нашли отличия? wink.gif
Т.е. с таким же успехом я могу подставить все что угодно. В том числе и то, о чем Вы говорите...
Цитата(SM @ Nov 28 2005, 00:51) *
Теперь усложним задачу... Представим себе, что этот инвертор описывается полноценным уравнением первого порядка. То есть H(s) = (a+b*s)/(1+c*s). Где a,b,и с есть комплексные величины... соединяем выход с входом, решаем соответствующее дифференциально-интегральное уравнение, и получам, что на выходе... А вдруг этот инвертор описывается передаточной ф-цией 2-го порядка? Ой... Вообще кошмар...

Но в автомат таким способом можно подставить любой кошмар wink.gif
Цитата(SM @ Nov 28 2005, 00:51) *
Ну и окончательно - переход в дискретизированную модель. Просто переходим с s-плоскости на z-плоскость. Удобнным способом. Например методом инвариантной импульсной характеристики. Которая многое упустит, но при Вашем подходе, а именно минимизации шага квантования во времени, будет скорее всего наиболее оптимальной.... И... Моделируем что будет на выходе для дискретной выборки сигнала номер N+1 зная остальные [0..N].

Это ближе для меня, но я бы поступил, как ... посткпил выше.
Цитата(SM @ Nov 28 2005, 00:51) *
В общем - подводя итог, могу сказать, что это на данный момент времени классический подход. Либо решение диф-инт. уравнений итерационными методами в лоб, либо z-преобразование численными методами с переходом к dt, стремящимся к нулю. Предложите что-то более прогрессивное, и, возможно, это будет переворотом в моделировании систем. Причем серьезным переворотом.

Если применение тех же клеточных автоматов здесь "переворот", то моя модель мощнее их, т.к. не накладывает ограничения на связи между "клетками"/автоматами.
Переворот ли это - судить другим. Я же за то, чтобы считать переворотом smile.gif
SM
Цитата
Это проще, но для меня почти неприемлемо
Почему? Автомат я могу замкнуть выход на вход и он будет генерировать (мы это уже разбирали), а обычную функцию - нет.


Вот! Функцию тоже можно замкнуть вход на выход. Получится уравнение. В данном конкр. случае дифференциально-интегральное. Его решаем (при моделировании на С++ естессно численными методами) - и получаем новую ф-цию, которая и показывает, что на выходе.

Я очень давно говорю, что для каждого уровня нужна своя модель. Ну почему никто не моделирует усилители, фильтры, генераторы и т.д. при помощи автоматов? Раз это так удобно? А Вы вогнали элемент "И-НЕ" в линейный режим и мучаетесь симуляцией в виде автомата.

P.S. По-Вашему инвертор должен быть описан хотя бы так:
Код
#define K 1000  // например такой коэфф. передачи
float Инв(float x)
{
  float tmp;
  tmp = x-0.5;
  tmp *= -K;
  if (tmp>0.5) tmp=0.5;
  if (tmp<-0.5) tmp=-0.5;
  tmp += 0.5
  return tmp;
}


Соединив такой ф-ции выход со входом четко видно, что результат будет устойчивая 0.5. Что подтвердится при корочении реального инвертора.
locas
Цитата(SM @ Nov 28 2005, 17:13) *
Вот! Функцию тоже можно замкнуть вход на выход.

Это интересный момент. Как замкнуть?
Цитата(SM @ Nov 28 2005, 17:13) *
Я очень давно говорю, что для каждого уровня нужна своя модель.

А кто спорит. На одной частоте, где фронты вертикальны и мгновенны, нет паразитов и т.п. - дискретная модель с двоичным кодированием. Повышаем частоту и модель становится более детальной. Например, появляется тип задержек (до этого была у всех единичная задержка), дальше - усложняем модель инерционной задержки, еще выше скорость - другая модель и т.д. до дискретного времени близкого к нулю wink.gif
Цитата(SM @ Nov 28 2005, 17:13) *
Ну почему никто не моделирует усилители, фильтры, генераторы и т.д. при помощи автоматов? Раз это так удобно?

Сам поражаюсь smile.gif Но, думаю, все дело в том, что автоматы рассматриваются очень узко. На самом деле автомат - это лишь управление боле мощной - алгоритмической модели, котрая перерабатывает не только единички/нолики и, кроме того, перерабатывает информацию параллельно. Это уже мой "перевернутый взгляд" smile.gif
Ну и потом... Предположим Вы замкнете даже выход функции со входом (см. свой пример). А как быть с двумя такими функциями, которые работают параллельно, а? wink.gif
Удобно - понятие относительное. Удобно - когда знаешь и понимаешь ... зачем. Мне удобно. Внешне выглядит - не очень. А мне нравится, т.к. мне удобно wink.gif
Цитата(SM @ Nov 28 2005, 17:13) *
А Вы вогнали элемент "И-НЕ" в линейный режим и мучаетесь симуляцией в виде автомата.

Точнее, думаю, в переключательный с единичной задержкой. Если вводим инерционную задержку, то это уже не линейный режим, а имем функцию с внутренними состояниями. Выход в ней зависит от предыстории. В линейной функции y = kx такой зависимости нет. Это автомат с одним состоянием. У нас И-НЕ имеет большое число состояний.
Цитата(SM @ Nov 28 2005, 17:13) *
P.S. По-Вашему инвертор должен быть описан хотя бы так:
Код
#define K 1000  // например такой коэфф. передачи
float Инв(float x)
{
...
}


Соединив такой ф-ции выход со входом четко видно, что результат будет устойчивая 0.5. Что подтвердится при корочении реального инвертора.

Как скажете wink.gif Да, пусть такая модель. Но это будет модель для определенного диапазона частоты, а при более высокой или низкой. Еще есть задач иметь универсальную модель. Чтобы она работала и на низкой частоте, там где элемент войдет в режим генерации, если длительность задержки будет много выше максимальной частоты работы вентиля.
SM
Цитата
Это интересный момент. Как замкнуть?
Как это делается при анализе переходных процессов систем. Если аналитически - то находим передаточную ф-цию системы, описанной этой самой ф-цией (во времени), со 100% обратной связью. Анализируем ее с нулевым внешним воздействием на вход и с нулевыми начальными условиями, и смотрим результат - устойчива ли эта система, если не устойчива то куда и как ее "разнесет", если устойчива - то к чему устремится ее выход со временем. Кстати, какая разница, сколько таких ф-ций работает параллельно. Современные средства такого моделирования позволяют анализировать схемы из миллионов транзисторов. И никто не мешает в этом-же моделировщике (MicroCap, PSPICE, HSPICE, Spectre, ELDO и т.п.) описать свои модели вентильного уровня сразу в виде линейных систем, не разбирая их на транзисторы и т.п. Просто сразу в виде ящика с какой-то передаточной ф-цией.
Цитата
Точнее, думаю, в переключательный с единичной задержкой.

Вот именно, что так думаете. А если соедините в такую схему реальный элемент, увидите что он будет в линейном режиме. На этой способности логических элементов строятся усилители, кварцевые генераторы, где кварц выступает в роли фазосдвигающего элемента, и т.д. Недостаток автоматов для моделирования этих процессов на мой взгляд это требование дискретности времени. Пусть с очень малой величиной дискрета. Которое тут не к месту. Нет тут такого понятия задержки, которое вводите Вы. Оно не корректно. Оно корректно, пока элемент работает в "штатном" режиме, пока он не охвачен ОС.
Цитата
Как скажете Да, пусть такая модель. Но это будет модель для определенного диапазона частоты, а при более высокой или низкой.

Да эта модель была вообще без частотных свойств. Вообще в общем случае надо, конечно, рассматривать (инвертор) как нелинейную систему с отрицательным коэффициентом передачи по постоянному току. Но это - чем дальше, тем сложнее.

P.S.
Честно говоря мне уже поднадоело трепаться о моделировании процесса моделью, физически не могущей смоделировать этот процесс.
locas
Цитата(SM @ Nov 28 2005, 22:31) *
P.S.
Честно говоря мне уже поднадоело трепаться о моделировании процесса моделью, физически не могущей смоделировать этот процесс.

Собственно и мне тоже - переубеждать Вас в обратном. Да это и не есть моя цель. Не мной доказано, что дискретные процессы могут описывать любые физические процессы (все это в книгах В.М.Глушкова - Синтез цифровых автоматов, Введение в кибернетику). Из полследнего можно сослаться на работы Бандман О.Л. - Клеточно-автоматные модели пространственной динамики. И многая и многая другое. Автоматы делают все. И много болше, чем "численное моделирование на основе решения дифференциальных уравнений" (О.Л.Бандман).
Многие проблемы работы цифровых систем можно и нужно решать на вентильном уровне. Т.е. на том, который Вы "проскакиваете", а я за него не заглядываю. Для меня важно, что уже на этом уровне я просчитываю и возможные запрещенные состояния и вероятностную осцилляцию, которые Вы, похоже, тоже получаете, но применяя гораздо более сложные модели.
Собственно есть граница, до котрой работаю я, и после которой Вы. Каждый стоит на своем. Ну давайте на своих позициях и останемся. Та информация, за котрую я уже Вас благодарил, подтвердила возможности дискретной модели решать достаточно сложные проблемы без применения сложной математики.
Если у меня замкнуть просто (см. пример моего автомата), а у Вас (цитирую) - "Как это делается при анализе переходных процессов систем. Если аналитически - то находим передаточную ф-цию системы, описанной этой самой ф-цией (во времени), со 100% обратной связью. Анализируем ее с нулевым внешним воздействием на вход и с нулевыми начальными условиями, и смотрим результат - устойчива ли эта система, если не устойчива то куда и как ее "разнесет", если устойчива - то к чему устремится ее выход со временем." Нет уж - я лучше буду автоматы замыкать, чем функции wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.