Цитата(SM @ Nov 24 2005, 22:42)

1). Про то, как моделирую я. В принципе. Сначала я моделирую на верилоге. "чиста цифровым методом". Как Вы. Это так, прикидочная модель.
Вот! Вот такая "прикидочная модель" меня и интересует. И очень (!) интересует поведение Вашего триггера именно на этом уровне. Поэтому сообщите, если не трудно

Цитата(SM @ Nov 24 2005, 22:42)

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

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

Я совершенно не разделяю вашего подхода к моделированию процессов, зависящих ИСКЛЮЧИТЕЛЬНО от внутренней схемотехники транзисторного уровня.
Я здесь Вас не понял. Как раз внутреннюю схемотехнику я не трогаю. Я в этой ситуации могу только выбрать те микросхемы, которые проектируете именно Вы, зная с какой тщательностью Вы это делаете. А как Вы это делаете - я тут целиком доверяюсь Вам

Цитата(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)

Про автомат - это где же я сказал про переход в соседний автомат?

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

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

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

Вроде делаю, как и раньше. В чем промашка?
Цитата(vetal @ Nov 24 2005, 23:18)

В принципе, решение может быть простейшим - поставьте симулятор Modelsim или Active-HDL(несколько проще в освоении, с моей точки зрения).
И далее создавайте модификации RS триггера, с разной начинкой.
Не знаю найду ли время. Да и хотелось бы чтобы это сделали те, кто знают эти системы. У них это получится и быстрее и качественнее. Все это в строне от моей основной работы.
Но на всякий случай - вдруг...
В двух словах. В какой системе (меня интересует в основном Windows)? Где взять? (здесь на сайте?)