Oldring 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба У меня нигде нет ни одной дискретной логической системы в смысле системы с дискретным временем, не было и не будет. Точнее она была когда-то прототипом, и аналоговая система уже даже не ее модель. Все мои системы от начала и до конца - аналоговые. И их нельзя рассматривать, как модели дискретной системы. Именно поэтому у меня и определение метастабильности классическое, смахивающее на классику термодинамики, откуда этот термин и пришел, а именно нахождение в неустойчивости более определенного времени без какой либо привязки к конкретному моменту времени. И пользоваться другим определением я не согласный. То есть речь идет не про процессор? Боюсь, у Вас идет речь не про "цифровую вычислительную систему". Все известные до сих пор цифровые вычислительные системы являются по сути конечными автоматами. На этой неустойчивой траектории аналоговая система может находиться сколько угодно долго со стремящейся к единице веростностью схода для любого конечного промежутка времени. Что еще нужно чтобы назвать эту траекторию "метастабильностью"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Что еще нужно чтобы назвать эту траекторию "метастабильностью"? Ничего, кроме того, что система должна находится в неустойчивом состоянии более допустимого времени. Если она находится бесконечно долго в устойчивом (для наружного наблюдателя, который ничего не знает про балансирующий внутри шарик, а непрерывно ожидает выходного импульса) состоянии - то это состояние не метастабильно. А вот если наблюдатель увидит какой либо недоимпульс - это будет метастабильным состоянием, если этот недоимпульс таков, что наблюдатель не понял, был он, или не был. Боюсь, у Вас идет речь не про "цифровую вычислительную систему". Ну разумеется, внутри моей системы нет ни одного цифрового блока. Извините, со сплошным аналогом работаю. Только полевики, полевики, полевики.... Изредка резюк-кондюк. Я вроде и не упоминал понятие "цифрового устройства", а если и упоминал, то только по неосторожности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Ну разумеется, внутри моей системы нет ни одного цифрового блока. Извините, со сплошным аналогом работаю. Только полевики, полевики, полевики.... Изредка резюк-кондюк. Я вроде и не упоминал понятие "цифрового устройства", а если и упоминал, то только по неосторожности. Не об этом речь. Вы процессоры, кажется, проектируете? В руководстве програмиста, наверно, не пишите, что если 2 умножить на 2 в результате получится с некоторой вероятностью 5? Конечно каждая цифровая машина на самом деле в глубине аналоговая. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Не об этом речь. Вы процессоры, кажется, проектируете? Не совсем. В данном случае речь о SoC, у которой все входы и выходы аналоговые. Да, внутри там есть и процессор тоже. В голом процессоре я бы и не поимел двух клокодоменов несинхронных, чтобы что-то городить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Ничего, кроме того, что система должна находится в неустойчивом состоянии более допустимого времени. Если она находится бесконечно долго в устойчивом (для наружного наблюдателя, который ничего не знает про балансирующий внутри шарик, а непрерывно ожидает выходного импульса) состоянии - то это состояние не метастабильно. А вот если наблюдатель увидит какой либо недоимпульс - это будет метастабильным состоянием, если этот недоимпульс таков, что наблюдатель не понял, был он, или не был. Вы как-то говорили про "импульс вовремя". Если система оказалась на метастабильной траектории внутри - то импульс на выходе может появиться в любой сколь угодно удаленный момент времени. То есть если на выходе наблюдался импульс - можно сказать, что событие произошло. Если импульс не наблюдался - возможно, он просто пока что не наблюдался, поэтому сказать со 100% вероятностью, что события не было, нельзя. То есть Ваш вычислитель вообще говоря не вычисляет рекурсивные логические функции. Что он вычисляет - это другой вопрос, но при попытке проинтерпретировать любой его выход как да-нет мы возвращаемся обратно к нормальным логическим системам. В данном случае речь о SoC, у которой все входы и выходы аналоговые. Да, внутри там есть и процессор тоже. Программист этого процессора в какой модели с ним работает? Вы при риске метастабильности его целиком ресетите как я понял? То есть просто убиваете возможное метастабильное состояние процессора вместе со всей его логикой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба То есть если на выходе наблюдался импульс - можно сказать, что событие произошло. Если импульс не наблюдался - возможно, он просто пока что не наблюдался, поэтому сказать со 100% вероятностью, что события не было, нельзя. Нет, не так. Похоже, но не так. Если на выходе наблюдался импульс, то событие, вероятно, произошло, и если произошло, то не ранее чем за сколько то до импульса. Если на выходе не наблюдался импульс, то события точно не происходило. Вы при риске метастабильности его целиком ресетите как я понял? То есть просто убиваете возможное метастабильное состояние процессора вместе со всей его логикой? Приблизительно так. На данный момент я лишь взвожу RS-триггер, единица с которого гарантировано передастся в клокодомен (не на первом такте, если оно не вовремя случится, так на втором). Идею проресетить все и насильно подкинули Вы, и она думается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Нет, не так. Похоже, но не так. Если на выходе наблюдался импульс, то событие, вероятно, произошло, и если произошло, то не ранее чем за сколько то до импульса. Если на выходе не наблюдался импульс, то события точно не происходило. Это наверное уже результат вычислений в такой "логике". PS На самом деле, если к заданному моменту времени на выходе нет импульса - то события точно не было. Если импульс есть - то событие возможно было (с вероятностью гораздо меньше 100%). Проблема только в том, что к заданному моменту времени может появиться полуимпульс, и при попытке обработать его в клоковом домене мы опять имеем неприятности. Приблизительно так. На данный момент я лишь взвожу RS-триггер, единица с которого гарантировано передастся в клокодомен (не на первом такте, если оно не вовремя случится, так на втором). Идею проресетить все и насильно подкинули Вы, и она думается. Ну так а что происходит сейчас если этот RS передается в клокодомен не вовремя? В клокодомене оказывается метастабильность от переднего фронта этого триггера? ;) Вы уверены что на втором клоке эта метастабильность будет сброшена, если в клокодомене остаются какие-либо результаты вычислений, зависящие от входного аналогового сигнала? Я думаю что уже можно сделать вывод что это невозможно. Если в клокодомене (дискретной системе) остаются сигналы, которые зависят от входного аналогового сигнала - то существует траектория, которая приводит к их метастабильности. Для каждого такта и для каждого такого логического сигнала своя траектория. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Вы уверены что на втором клоке эта метастабильность будет сброшена, если в клокодомене остаются какие-либо результаты вычислений, зависящие от входного аналогового сигнала? Я думаю что уже можно сделать вывод что это невозможно. Не готов точно ответить, так как это воздействие в результате запускает процесс инверсии фазы тактового генератора своего же домена с целью выхода из длительной пачки метастабильностей подряд (из-за того, что клоки относительно близки по частоте, а PLL там нереальна, слишком велика по площади, жруча, и велика вероятнось с первой итерации промахнуться с ней). Я думаю, что если фаза проинвертируется от ложного импульса, пришедшего с хрен знает какой задержки, и в результате наступит реальное событие, то просто фазу вертанут еще раз. А недовертеть фазу никак не могут. Импульс-то гарантированной длительности. А вот резетнуть весь домен к чертям - это идея все таки хорошая. Ну и не забыть взведенный флаг причины резета. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба А вот резетнуть весь домен к чертям - это идея все таки хорошая. Ну и не забыть взведенный флаг причины резета. И не забыть про неизбежную метастабильность как результат асинхронного снятия ресета домена Может проще все-таки без фанатизма? ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба И не забыть про неизбежную метастабильность как результат асинхронного снятия ресета домена Ее-то как раз нет, так как снятие асинхронного резета гарантирует то, что клок не придет раньше, чем через допустимое время, так как тактовый генератор тоже резетится. Может проще все-таки без фанатизма? ;) Дык я бы и рад, но не получается... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Ее-то как раз нет, так как снятие асинхронного резета гарантирует то, что клок не придет раньше, чем через допустимое время, так как тактовый генератор тоже резетится. Ну а тактовый генератор в метастабильном состоянии зависнуть не может? Или он - обычный мультивибратор, то есть момент снятия ресета оказывается моментом его запуска? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Ну а тактовый генератор в метастабильном состоянии зависнуть не может? Или он - обычный мультивибратор, то есть момент снятия ресета оказывается моментом его запуска? Он кондер, то заряжаемый током, то разряжаемый, а резет просто разряжает его в ноль (причем этот резет есть и так, просто на сейчас не задействован). В общем мультивибратор и есть. А текущая реализация плавно перекручивает ему фазу наоборот, выгоняя из области, опасной для метастабильности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Он кондер, то заряжаемый током, то разряжаемый, а резет просто разряжает его в ноль (причем этот резет есть и так, просто на сейчас не задействован). В общем мультивибратор и есть. А текущая реализация плавно перекручивает ему фазу наоборот, выгоняя из области, опасной для метастабильности. В принципе понятно - пожалуй он действительно зависнуть не может, и клоковый домен действительно запустится без метастабильности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба Ясное дело, универсальных схем не бывает. У меня важно немного другое - если на триггере была метастабильность, то и факт, что сигнал сброса был вовремя. А вот если не было метастабильности, а сигнал вдруг ниоткуда взявшись пришел - то это не криминал. У меня несколько другой вопрос: правильно ли я понимаю, что использованная Вами схема непригодна для синхронизатора, целью которого является передача флага между доменами? Т.е. для синронизатора, обычной реализацией которого является пара триггеров? И верно ли я понимаю, что если использовать сигнал сброса с детектора для сброса самого этого триггера, то возможна метастабильность из-за произвольного времени нахождения детектора в метастабильном состоянии (при этом на выходе детектора 1 и это не сброс) и соответсвенно возможного нарушения времен recrem из-за сброса триггера близко к следующему такту? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 2 июня, 2009 Опубликовано 2 июня, 2009 · Жалоба У меня несколько другой вопрос: правильно ли я понимаю, что использованная Вами схема непригодна для синхронизатора, целью которого является передача флага между доменами? Т.е. для синронизатора, обычной реализацией которого является пара триггеров? не то, чтобы непригодна, но не выгодна против тех же Razor/Razor-II. Но есть и принципиальная разница - Razor-вские детекторы сами впадут в метастабильность при недостатчно длинной метастабильности у основного FF, при этом у основного она и без воздействия детектора быстро закончится, а от детектора по выходу Error пойдет распространяться. Т.е. разоры дают импульс ошибки по факту достаточно долгой метастабильности, и могут не показать короткую, но приведшую к ошибке. А в моей схеме при любой метастабильности (даже теоретической ее возможности) будет гарантированный сброс и вовремя, но может быть и "левый" сброс в непредвиденный момент времени, без реального факта метастабильности у триггера. Т.е. моя схема дает информацию об ошибке в 100% случаев, ну и имеет какую-то вероятность пульснуть без ошибки, в отличие от разоров, которые 100% не дадут ничего без ошибки, и с высокой вероятностью сообщат об ошибке.. И верно ли я понимаю, что если использовать сигнал сброса с детектора для сброса самого этого триггера, то возможна метастабильность из-за произвольного времени нахождения детектора в метастабильном состоянии (при этом на выходе детектора 1 и это не сброс) и соответсвенно возможного нарушения времен recrem из-за сброса триггера близко к следующему такту? Да, возможно. Но при этом вся система все равно будет уведомлена о случае метастабильности, ввиду достаточной длительности импульса сброса (он же взводит Error), т.е. принять меры при этом остается возможным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться