|
Моделирование RS-триггера, Создать модель и дать ответ |
|
|
|
Nov 23 2005, 08:03
|
Участник

Группа: Новичок
Сообщений: 33
Регистрация: 29-07-05
Пользователь №: 7 194

|
Думаю, что в заданном далее вопросе есть и математика и физика…  Схема RS-триггера хорошо известна. В учебниках приводится таблица истинности (ТИ), описывающая работу триггера. И уже здесь сразу возникает вопрос: RS-триггер – это последовательностная схема, которая описывается моделью конечного автомата(КА), а ТИ описывают только комбинационные схемы – автомат без памяти. Так вот об этом противоречии в учебниках обычно ни слова. О запрещенной комбинации на входах. С одной стороны, да, она переводит триггер в режим, когда на его выходах будут одинаковые сигнала. С другой стороны, кто запрещает ее? В реальной схеме она всегда может возникнуть, например, в результате гонок сигналов, неправильной работы и т.д. Но почти большинство воспринимают «запрещение» как невозможность такой комбинации. Мол, раз так написано, то «этого не может быть, потому что этого не может быть никогда». Но это в корне не так: и может и бывает. Все смотрят на таблицу истинности и … верят, что на выходах триггера всегда будут только устойчивые состояния. И мало кто знает, что это не так. Даже если на вход не подавать запрещенную комбинацию. Прекрасно известно, что при переключении триггера из одного устойчивого состояния в другое на его выходах будут кратковременно две единицы, если это триггер на элементах И-НЕ, и два нуля, если на элементах ИЛИ-НЕ. И, кстати, эту ситуацию легко отловить: подключаем выходы триггера к элементу И-НЕ и на выходе его считаем импульсы. Такая «правильная» работа триггера (при переключениях) может быть источником ошибок в работе схемы. И это тоже должно быть понятно почему: ожидаем только 01 или 10 (это по ТИ), а тут, откуда ни возьмись – 11! А теперь то, ради чего все это затевается. Внимание! Если на вход триггера подать запрещенную комбинацию – 00! То на выходах будет – 11. И то и другое запрещено. Но 11 на выходах появляется и в разрешенных случаях. Так что возникновение 00 на входах триггера ситуация тоже вполне возможная. Например, проинвертируем выходы триггера и подадим на входы другого триггера. Чем не реальная схема! Но мы поступим проще: соберем «в кучу входы триггера» и будем подавать в эту точку сначала 0, а потом 1. Что в этом случае будет (начальные условия: сигналы – двоичные, задержки у элементов триггера – равные, единичные): 1. С формальной моделью? 2. С моделью реализованной в среде моделирования? 3. С реальным триггером? Интересует ответ на последние три вопроса. Но больше даже ответ на вопрос 2, который можно получить, создав соответствующую модель. Почему больше на 2-й? Потому что первый требует владения формальными методами, а это достаточно сложно. Хотя на интуитивном уровне, думаю, можно дать ответ, оперируя значениями сигналов «на пальцах». На третий вопрос тоже не так просто получить ответ. Даже в том случае (с запрещенной выходной комбинацией), который был описан выше. Но если кто-то знает ответы на все три вопроса, то будет только хорошо. Итак. Может ли кто дать ответ хотя бы на вопрос 2, заданный выше, собрав для этого модель триггера. Для конкретики его входы должны быть соединены в одну точку. В исходном состоянии на ней ноль - 0. Через какое-то время подается «единица» - 1, которая затем держится достаточно длительное время (хоть до бесконечности). Что будет на выходах RS-триггера?
|
|
|
|
|
 |
Ответов
|
Nov 24 2005, 14:07
|
Участник

Группа: Новичок
Сообщений: 33
Регистрация: 29-07-05
Пользователь №: 7 194

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

Гуру
     
Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553

|
Цитата(locas @ Nov 24 2005, 17:07)  Цитата(Vic1 @ Nov 24 2005, 16:01)  Locas, может поясните - зачем Вам такая упрощенная модель RS- триггера? Где она будет использоваться?
Могу. Собственно проектированием цифровых схем я не занимаюсь. Хотя было время. Оттуда этот триггер и появился. Тем не менее, мне не часто, но приходится моделировать работу цифровых схем и тогда я использую свои наработки, которые я "таская за собой"  тестирую часто этой простой задачкой. Мои "наработки" - это параллельное ядро, в котором все процессы автоматы. Я прото так программирую. Все. Раньше программировал железо, потом АСУ ТП, бугалтерию и все-все. Сейчас опять есть вариант возврата к железу (см. мои мольбы по поводу CodeWarrior). Т.е. для меня сейчас RS-триггер это достаточно объективный тест моих средств на правильное моделирование параллелизма. Любого. И здесь цифровые схемы подходят больше всего. Ведь, каждый элемент - это параллельный процесс. На RS-триггере я отточил и свою теорию. Точнее ее расширение, связанное с параллельными автоматами. И здесь я столнулся со странностями, что в нанешнем преподавании триггер дают в корне не правильно. Выше я писал по поводу ее таблицы истинности. Я знаю только один источник, где он рассмотрен близко к тому, как рассматриваю я. RS-триггер и реальная система, на котрой я могу оценить справедливость своей параллельной модели. Если формальные результаты совпадают с реальными, то ... "что еще надо для хорошей жизни"  До последнего времени все совпадало кроме этой самой генерации. Одни ее отвергали напрочь, не поясняя при этом почему. Другие просто отмалчивались. А мой триггер ... упорно генерировал. Меня это тоже нервировало, пока я не разобрался, что есть разные типы задержек (почерпнул из VHDL). Теперь все "хоккей": я знаю почему он генерировал, знаю почему не генерировал, знаю когда может генерировать  Собственно зачем я тогда затеял весь разговор т.к. все уже знаю? Во-первых, конечно хочется чтобы это знали и другие  Знали, что современное образование "вешает лапшу", говоря про запрещеные состояния, что триггно устанавливается в неопределенное состояние и т.д. и т.п. Т.к. знаю как все это опровергнуть на формальном уровне (т.е. математически). Знаю, что триггером можно проверять любые другие средства моделирования цифровых схем на уровне логики (вентили - это все же отдельная история). И вот здесь мне хотелось бы собрать информацию, о его моделировании в других системах. Т.е. четко знать где он генерирует, а где, возможно, и нет. Собственно в данной ситуации это, может быть, и есть основная цель затеянного разговора, т.к. лично я не могу такую работу сделать. Просто потому что не работаю с теми или иными средствами. Ну а тем, кто работает, надеюсь, не составит большого труда такою проверку - моделирование RS-триггера сделать. Т.е. примерно так, как это сделал SM. Только вот его результаты пока еще не очень меня устраивают. Во-первых, не нужен такой детальный уровень моделирования (транзисторный), во-вторых, - разнобой, как Вы видите в результах. То генерирует, то нет. Причем он должен (или я так полагаю) генерировать в любой ситуации, если элементы его абсолютно одинаковы: в математических формулах нет "паразитных емкостей", "тепловых шумов" и т.п. Если их, конечно, не ввести туда сознательно (что и делал SM). Но так этого и не нужно делать. На том уровне, который обычно дается он в преподавании все ограничивается 0, 1 и задержка, которую обычно забывают, как забывают, что триггер - это КА, а не комбинационная схема. Это важно. Важно для понимания работы триггера. И очень важно понимание триггера, как маленькой, но очень хитрой параллельной системы. Которая как дискретная и детерминированная система должна вести себя однозначно. Но обычно с программистами на эту тему говорить тяжело. Для них электроника, даже цифровая, - чума. Хотя вот недавно попалась на глаза очень интересная книжка Алгоритмы: проектировани и анализ. Она для програмистов. Там рассматриваются сортирующие сети и арифметические схемы. Но все это, так сказать, цифровые схемы без обратных связей. Там триггер не сделаешь. Но программистам, думаю, доказать это будет сложно. Если только не сунуть под нос триггер. Лучше если в форме модели. Лучше, если в разных системах моделирования. Тут чем больше независимых источников с одинаковыми результатами работы, тем больше доверия к этим результатам. По мои предположениям триггер должен генерировать везде. Вот в этом и хочется убедиться. Но, конечно, только достаточно идеальный триггер. Но даже этот идеальный триггер должен как можно ближе объяснять работу реального триггера. А не так как оно есть сейчас. Эта жутко безобразная таблица истинности с запрещенными состояниями. Она сейчас прямо выводит меня из себя (шучу, конечно)  Вот так длинно о такой "короткой" схеме. Но на мой взгяд очень важной. Оттого и такое мое многословие...  Наверное, проще взять и смоделировать  Вот об этом и мои просьбы к тем, кто это может сделать ... Сделать свой вклад в "науку о RS-триггере", а по большому счету - в науку о параллельных системах. Так как на мой вгляд в будущем программирование, когда станет истинно параллельным, во многом будет походить на проектирование цифровых схем. Собственно я так уже и работаю  А.А. Шалыто "Логическое управление. Методы аппаратной и программной реализации алгоритмов." Если пороетесь в этой книжке, то возможно найдете ответы на свои вопросы.
|
|
|
|
|
Nov 24 2005, 19:53
|
Участник

Группа: Новичок
Сообщений: 33
Регистрация: 29-07-05
Пользователь №: 7 194

|
Цитата(vetal @ Nov 24 2005, 21:13)  А.А. Шалыто "Логическое управление. Методы аппаратной и программной реализации алгоритмов."
Если пороетесь в этой книжке, то возможно найдете ответы на свои вопросы. В этой не найду. Но найду в другой: "SWITCH-технология. Алгоритмизация и программирование задач логического управления" в 4.2. Функциональные схемы. (см. там также граф на рис. 4.23). Это близко к тому, как я представляю. Близко, но не точно. Т.е. я знаю хорошо не только книги Шалыто, но и его самого. Как, кстати, и он меня  Еще раз хочу повторить. Сейчас меня очень интересуют результаты моделирования RS-триггера в различных системах моделирования. И прежде всего испытания на генерацию. И сначала для идентичных элементов триггера, а потом для элементов с отличающимися задержками. Безусловно, если всплывет что-то интересное типа триггера описанного SM, то и это очень интересно. Или доказательства типа того, что у Шалыто... Но основная цель все же сформулирована выше. Потому большая просьба к тем, кто занимается подобым моделированием, не отказать в помощи. Да и результаты такого тестирования, думаю, будут интересны не только мне
|
|
|
|
Сообщений в этой теме
locas Моделирование RS-триггера Nov 23 2005, 08:03 SM Цитата(locas @ Nov 23 2005, 11:03) Итак. ... Nov 23 2005, 08:19 locas Цитата(SM @ Nov 23 2005, 11:19) Ответов т... Nov 23 2005, 12:27  Al Volovich Цитата(locas @ Nov 23 2005, 17:27) Но мне... Nov 24 2005, 08:05 SM Ну Вы прямо как в детском саду. Не опускаясь до тр... Nov 23 2005, 20:50 locas Цитата(SM @ Nov 23 2005, 23:50) Ну Вы пря... Nov 24 2005, 08:49 SM Насчет логических/нелогических. Они логические, по... Nov 24 2005, 09:56 locas Цитата(SM @ Nov 24 2005, 12:56) ...Вы обя... Nov 24 2005, 12:44 SM 1). Про то, как моделирую я. В принципе. Сначала я... Nov 24 2005, 19:42 locas Цитата(SM @ Nov 24 2005, 22:42) 1). Про т... Nov 24 2005, 20:30 locas Цитата(SM @ Nov 24 2005, 22:42) 1). Про т... Nov 25 2005, 08:03 vetal В принципе, решение может быть простейшим - постав... Nov 24 2005, 20:18 SM ЦитатаВот! Вот такая "прикидочная модель... Nov 25 2005, 11:46 locas Цитата(SM @ Nov 25 2005, 14:46) Я на этом... Nov 26 2005, 13:16 SM ЦитатаС одной строны, Вы правы. А с другой, все оп... Nov 26 2005, 20:46 SM ЦитатаС одной строны, Вы правы. А с другой, все оп... Nov 26 2005, 20:47 locas Цитата(SM @ Nov 26 2005, 23:47) Так, если... Nov 27 2005, 14:46 SM Сорри за два одинаковых сообщения - я не виноватая... Nov 26 2005, 20:51 SM ЦитатаОстается один невыясненный момент: по теории... Nov 27 2005, 21:51 monya Цитата(SM @ Nov 27 2005, 21:51) И опишем ... Nov 28 2005, 10:53  SM Цитата(monya @ Nov 28 2005, 13:53) SM Мож... Nov 28 2005, 11:01 locas Цитата(SM @ Nov 28 2005, 00:51) Вот тепер... Nov 28 2005, 12:09 SM ЦитатаЭто проще, но для меня почти неприемлемо
П... Nov 28 2005, 14:13 locas Цитата(SM @ Nov 28 2005, 17:13) Вот! ... Nov 28 2005, 17:26 SM ЦитатаЭто интересный момент. Как замкнуть? Как это... Nov 28 2005, 19:31 locas Цитата(SM @ Nov 28 2005, 22:31) P.S.
Чест... Nov 28 2005, 20:49
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|