реклама на сайте
подробности

 
 
6 страниц V  « < 3 4 5 6 >  
Reply to this topicStart new topic
> Синхронизатор, Две тактовые, единичные импульсы
Oldring
сообщение Apr 11 2011, 13:38
Сообщение #61


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(ViKo @ Apr 11 2011, 17:27) *
Это рисунок 8, на который ссылается Мур. Думаю, часть темы стоит посвятить этой картинке.


Мур совсем недавно опубликовал схему от себя. В общем, журнальная схема Иосифа - правильная, схема Мур потенциально ошибочна.

Цитата(ViKo @ Apr 11 2011, 17:27) *
Я сейчас смотрю в TimeQuest (пришло время), и прихожу к выводу, что по ПЛИС такты приходят на триггера совсем не одновременно.


Разумеется, но все тулзы об этом знают отлично, обеспечивая согласованность прихода к каждому триггеру данных и соответствующего клока без нарушения setup/hold в самых крайних условиях эксплуатации.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 11 2011, 16:22
Сообщение #62


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(ViKo @ Apr 11 2011, 16:28) *
Про эту картинку речь идет? Пусть висит.
Если на входе Data будет импульс в 3 такта Clock1, на Output появится 2 импульса длительностью Clock2. И без всякой метастабильности.
В метастабильном состоянии триггер может висеть "между небом и землей" сколь угодно долго, в идеальном случае.

Спасибо за науку! Для меня это новость. Серый уровень на выходе триггера возможен оказывается...

тогда схема ошибочна............ wacko.gif А я поверил авторитету.

Цитата(Oldring @ Apr 11 2011, 17:38) *
Мур совсем недавно опубликовал схему от себя. В общем, журнальная схема Иосифа - правильная, схема Мур потенциально ошибочна.


Это из-за дополнительного триггера на выходе?
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 11 2011, 16:27
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Мур @ Apr 11 2011, 20:22) *
Это из-за дополнительного триггера на выходе?



Из-за дополнительного триггера в середине, который вместе со следующим триггером образуют нормальный синхронизатор.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 11 2011, 17:15
Сообщение #64


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Oldring @ Apr 11 2011, 20:27) *
Из-за дополнительного триггера в середине, который вместе со следующим триггером образуют нормальный синхронизатор.

Я понял! Проблема в первом =переходном триггере=, который берёт на себя =все грехи= метастабильности. К моей схеме надо добавить тригерок. Правильно?
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 11 2011, 17:44
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Мур @ Apr 11 2011, 21:15) *
Я понял! Проблема в первом =переходном триггере=, который берёт на себя =все грехи= метастабильности. К моей схеме надо добавить тригерок. Правильно?



Примерно там. Можно сказать, что "берет грехи".


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 11 2011, 18:30
Сообщение #66


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Мур @ Apr 11 2011, 19:22) *
Серый уровень на выходе триггера возможен оказывается...

Да, возможен. И именно в триггере. В обычной логике такое невозможно. В момент фронта тактового сигнала, если изменяется сигнал на входе данных, триггер "не знает", что ему защелкивать. И думает до-о-о-о-о-о-лго... если сигнал на входе попадает точно на порог переключения. Если не точно, то думает недо-о-олго...
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 12 2011, 05:47
Сообщение #67


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(ViKo @ Apr 11 2011, 22:30) *
Да, возможен. И именно в триггере. В обычной логике такое невозможно. В момент фронта тактового сигнала, если изменяется сигнал на входе данных, триггер "не знает", что ему защелкивать. И думает до-о-о-о-о-о-лго... если сигнал на входе попадает точно на порог переключения. Если не точно, то думает недо-о-олго...

ОК! Я считал, что проблема для триггера на входе, а не на выходе. В моём представлении триггер не может быть в сером уровне по определению.

Тогда в =моём случае= действительно возможна ситуация отсутствия или удвоенного импульса на выходе. Всё будет зависеть от трактовки серости либо элементом искл-или либо выходным триггером. А дополнительный триггер по Oldring-у, если так случится при асинхронщине, может пребывать в неопределённом состоянии серости(а не чёрно-белом!) до следующего такта.
Вот почему я его =за ненабностью= удалил!....(по сравнению с рис.8)-считал лишним. А он по грехам работает!
Всем огромное спасибо! Усвоил качественно! tort.gif

Сообщение отредактировал Мур - Apr 12 2011, 05:55
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 12 2011, 05:56
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Мур @ Apr 12 2011, 09:47) *
А дополнительный триггер по Oldring-у, если так случится при асинхронщине, может пребывать в неопределённом состоянии серости(а не чёрно-белом!) до следующего такта.


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


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 12 2011, 06:12
Сообщение #69


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Oldring @ Apr 12 2011, 09:56) *
Нет, не до следующего.
Выход из метастабильного состояния - это вероятностный процесс. Вероятность остаться в метастабильном состоянии понижается экспоненциально с увеличением премени. Поэтому достаточно несколько десятков постоянных времени выхода из метастабильности, чтобы эта вероятность стала практически нулевой. Но тонкость в том, что если после метастабильного триггера подключен на небольшом расстоянии следующий триггер, то разница между периодом клока и временем распространения сигнала превышает эти несколько постоянных времени, по крайней мере, для триггеров в FPGA. А если там еще несколько слоёв логики, то эти разница может оказаться близка а нулю, и хоть и первый триггер вывалится из метастабильного состояния к следующему фронту клока, сигнал на входах следующих триггеров, после этих слоёв логики, еще останется нелогическим или, скорее, нестабильным, с заметно отличной от нуля вероятностью.

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

Призрак триггера Шмидта стоит передо мной! rolleyes.gif
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 12 2011, 06:27
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Мур @ Apr 12 2011, 10:12) *
Интересно! И что, долбёжка по входу, при серости на выходе, не решает неопределённости?
...Базовый синхронизатор(в синем цвете)- это пара триггеров. По первому мы определились! А второй, получается, нужен для вероятностного вываливания первого из неопределённости?

Призрак триггера Шмидта стоит передо мной! rolleyes.gif


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


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 12 2011, 06:59
Сообщение #71


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Oldring @ Apr 12 2011, 10:27) *
Нет, долбежка по входу не поможет - это же триггеры, они переключаются по фронту клока.

Я и имел ввиду фронт клока! Понятие =неопределённо долго= я утрировал на события нескольких фронтов клока...
Цитата(Oldring @ Apr 12 2011, 10:27) *
Второй нужен только для того, чтобы оттянуть логику с выхода первого, дав ему времени на размышления о смысле его бытия. Поэтому, кстати, без отключения ретайминга через него, он бесполезен.
Триггер Шмидта тут ничем помочь не может. Метастабильность принципиально неизбежна при перехода асинхронного сигнала в синхронный домен.

А гистерезис? Уж он-то должен решать неопределённость выхода. Положительная обратная связь всё-таки!...

Цитата(Мур @ Apr 12 2011, 10:12) *
А второй, получается, нужен для вероятностного вываливания первого из неопределённости?

Можно считать второй триггер триггером Шмидта? Образно!
1.За ним последнее слово в оценке(в наихудшем истечении событий) состояния первого триггера.

2.Второй вариант- к следующему фронту клока первый триггер уже будет в норме гарантировано. И это повторит второй! Это черезвычайно важно для одноклоковых сигналов разрешения в синхронных проектах. Там всё строго и вариации длительности недопустимы

Сообщение отредактировал Мур - Apr 12 2011, 07:20
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 12 2011, 07:03
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Мур @ Apr 12 2011, 10:59) *
А гистерезис? Уж он-то должен решать неопределённость выхода. Положительная обратная связь всё-таки!...


Нет. Метастабильность и есть неустойчивое равновесие при наличии положительной обратной связи. Гистерезис тоже бесполезен, так как тут важно поведение линеаризованной системы вблизи точки неустойчивого равновесия при малом сигнале.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 12 2011, 07:15
Сообщение #73


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Oldring @ Apr 12 2011, 10:03) *
Нет. Метастабильность и есть неустойчивое равновесие при наличии положительной обратной связи. Гистерезис тоже бесполезен, так как тут важно поведение линеаризованной системы вблизи точки неустойчивого равновесия при малом сигнале.

Прошу не раздражаться на мои импровизации. Я это делаю умышленно, чтобы была полная ясность не только для меня, сомневающегося...

Т.е. если провести аналогию с перевёрнутым маятником. Метастабильность порождается ситуацией попадания маятника в вертикальное положение, откуда он может свалиться в любую сторону и в случайный момент времени. Приход следующего фронта ускорит развязку, а может быть и раньше.... и без него... smile3046.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 12 2011, 07:35
Сообщение #74


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Долбежка тактами поможет. Ведь защелкиваться будет уже новое состояние входов, которое, будем надеяться, в этот момент уже стабильное.
Гистерезис не поможет, потому что в этом случае просто появляется два порога восприятия сигнала как 0 или как 1 - при переходе из 0 в 1, и наоборот. Сами пороги технологически остаются примерно теми же.
Так как метастабильное состояние выхода триггера не обязательно совпадает с порогом восприятия 0 или 1 для следующего триггера, то следующий триггер зашелкнет уже нечто, похожее на 0 или 1. Но и такой сигнал должен увеличить время срабатывания триггера. Вероятность, что напряжение будет вблизи порога, мала. Следующий триггер уменьшает эту вероятнось почти до нуля.

P.S. нужно писать "триггер Шмитта"
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 12 2011, 07:44
Сообщение #75


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Мур @ Apr 7 2011, 16:33) *
CODE

library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity syn is
port(
clk : in STD_LOGIC;
in_level : in STD_LOGIC;
reset : in STD_LOGIC;
imp : out STD_LOGIC
);
end syn;
architecture syn_body of syn is
signal jjj : STD_LOGIC;
signal qqq : STD_LOGIC;
signal ddd : STD_LOGIC;
begin
tg: process (clk)
begin
if clk'event and clk = '1' then
if reset='1' then
jjj <= '0';
qqq <= '0';
ddd <= '0';
else
jjj <= ddd;
qqq <= jjj;
ddd <= in_level;
end if;
end if;
end process;
imp <= jjj xor qqq;
end syn_body;

Тогда первый текст должен быть таким!

Цитата(ViKo @ Apr 12 2011, 10:35) *
P.S. нужно писать "триггер Шмитта"


Призрак лейтенанта Штидта парил надо мной!...

Посыпаю голову пеплом! smile3009.gif

Сообщение отредактировал Мур - Apr 12 2011, 07:53
Go to the top of the page
 
+Quote Post

6 страниц V  « < 3 4 5 6 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01477 секунд с 7
ELECTRONIX ©2004-2016