RobFPGA 27 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 10 minutes ago, Мур said: способ выявить разные уровни. Еще раз - разные уровни для перекидывания определяет сам триггер. Без доп. логики. Будет на входе 0 - перекинется в 0. Будет 1 - перекинется в 1. Будет X.. - перекинется в X.._знает_во_что. Каков будет результат операции X.._знает_что XOR 1/0? Для чего нужна цепочка я уже написал: 30 minutes ago, RobFPGA said: При этом если первый триггер не успеет выйти из состояния метестабильности до момента следующего клока (триггер медленный или клок быстрый) то следующий триггер тоже может попасть в состояние метастабильности! Но с меньшей вероятностью. Отсюда и необходимость цепочки. И наличие лишней XOR на первом триггере в цепочке, только ухудшает ситуацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 40 minutes ago, RobFPGA said: Вот именно - и это состояние убивает вашу идею с XOR. Позвольте вмешаться. Разумное в этом коде все же есть, хоть это и странно. Правда не понимаю почему не нужен второй триггер. Положим пусть dou = 0, din=1. Если метасостояние не возникает, то будет dou=1, если возникает, то спустя время триггер свалится либо в 0, что приведет к dout = 0 либо в 1, что не приведет к разрешению работы ena, но оно и не нужно dout=1. Но мне не ясно почему игнорируется фаза метастабильного состояния dout, на высокой тактовой или разветвленном дереве сидящем на dout оно все равно может уйти за второй триггер. Конечно вероятность этого мала, да и эти триггеры неявно есть в схеме дальше, но тем не менее. И в итоге все равно схема приходит к двум триггерам. Так в чем цимус? 10 minutes ago, RobFPGA said: Каков будет результат операции X.._знает_что XOR 1/0? как я понимаю результат может быть любой и он не влияет на конечный результат: значение dout спустя 2-3 такта. Но вот что будет происходит в интервале до этого момента, это вопрос) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 7 minutes ago, RobFPGA said: Еще раз - разные уровни для перекидывания определяет сам триггер. Без доп. логики. Будет на входе 0 - перекинется в 0. Будет 1 - перекинется в 1. Будет X.. - перекинется в X.._знает_во_что. Каков будет результат операции X.._знает_что XOR 1/0? Для чего нужна цепочка я уже написал: И наличие лишней XOR на первом триггере в цепочке, только ухудшает ситуацию. Пока не будет разрешения на переброс триггера - никаких переключений! Кстати,- это отсутствие динамики экономит энергию... Нет иного управления триггером, кроме самого входа! 6 minutes ago, des00 said: Но мне не ясно почему игнорируется фаза метастабильного состояния dout, на высокой тактовой или разветвленном дереве сидящем на dout оно все равно может уйти за второй триггер. конечно вероятность этого мала, да и эти триггеры неявно есть в схеме дальше, но тем не менее. И в итоге все равно схема приходит к двум триггерам. Так в чем цимус? Вы правы. При сильной динамике на входе сюда просится триггер на выходе. Но если учесть, что у меня при не удачном расположении выводов и необходимости тянуть связь по диагонали ПЛИС такие регистры стоят в последовательной цепочке... Если быть честным - надо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 22 minutes ago, des00 said: Положим пусть dou = 0, din=1. Если метасостояние не возникает, то будет dou=1, если возникает, то спустя время триггер свалится либо в 0, что приведет к dout = 1 либо в 1, что не приведет к разрешению работы ena, но оно и не нужно, т.к. dout=1. В том то и дело что это только кажется. Если метастабильность возникла то смысла в логике XOR нет. Триггер в состоянии метастабильности, выход триггера не определен. Еще раз - выход и не 0 и не 1! Результат операции XOR тоже не определён!. И эта неопределённость подается на вход этого же триггера. Это только затягивает выход триггера из метастабильного состояния. Какой тогда смысл этого XOR??? Поэтому я сразу и сказал что для устранения метастабильности этот XOR бесполезен, и даже вреден. 19 minutes ago, Мур said: Пока не будет разрешения на переброс триггера - никаких переключений! Кстати,- это отсутствие динамики экономит энергию... Переброс обычного D триггера происходит только при смене входа, как и в вашей схеме. Это может будет экономит энергию в каком либо ASIC со специальном дизайном триггера в котором ENA снимает питание со клоковых цепей внутри этого триггера. Но ни как не в FPGA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 7 minutes ago, RobFPGA said: В том то и дело что это только кажется. Если метастабильность возникла то смысла в логике XOR нет. Триггер в состоянии метастабильности, выход триггера не определен. Еще раз - выход и не 0 и не 1! Результат операции XOR тоже не определён!. И эта неопределённость подается на вход этого же триггера. Это только затягивает выход триггера из метастабильного состояния. Какой тогда смысл этого XOR??? но все равно он либо свалится в 0 и переключится, либо в 1цу и там останется. Ну а то что выход затянут, ну чтож теперь, все равно через пару тактов все будет нормально. А XOR, ну метастабильность вещь вероятностная, на современных плис ее длительность мала, может в общем случае 98% событий XOR действительно работает и уменьшает "латентность". Но это надо собирать стенды и измерять) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба Когда я прогонял решение на симуляторе, то видел повтор входа с задержкой в один такт. С учетом не своевременности тактирования будет два. Дизайн родился в задаче тактирования одной частотой, но с разной задержкой, в зависимости от расположения на ПЛИС. Пропадание разрядов, если решать в лоб, и побудило к поиску простого решения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 9 minutes ago, des00 said: но все равно он либо свалится в 0 и переключится, либо в 1цу и там останется. Опять 25 И обычный D триггер сделает то же самое если попадет в метастабильность - либо свалится из метастабильности в 0 или 1. Либо останется в ней до следующего такта клока. И проблема именно в том что будет если триггер не свалится из метастабильности до следующего такта! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 7 minutes ago, RobFPGA said: Опять 25 И обычный D триггер сделает то же самое если попадет в метастабильность - либо свалится из метастабильности в 0 или 1. Потому и вопрос мой был про цимус подобной схемы. Quote Либо останется в ней до следующего такта клока. ЕМНП память про статьи от Altera, Xilinx и AD время выхода из метастабильного состояния не зависит от тактовой, а зависит от технологических параметров триггера. И именно соотношение этого времени и периода тактовой частоты приемника определяет количество триггеров в цепочке CDC. Там даже графики выхода приводились, для разных технологий, в том числе для разных поколений ПЛИС. Если что-то изменилось в политике партии, то дайте ссылку на статью. Интересно почитать что это за новые веяния Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба Мой опыт говорит, что "серый" уровень метастабильности трактуется как лог 1. А значит, что время переключения в фронте из 1 в 0 будет идти быстрее, чем наоборот. Потому как XOR помогать уже не будет 2м циклом. Это для самого тяжелого случая... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 6 minutes ago, des00 said: ЕМНП память про статьи от Altera, Xilinx и AD время выхода из метастабильного состояния не зависит от тактовой, а зависит от технологических параметров триггера. И именно соотношение этого времени и периода тактовой частоты приемника определяет количество триггеров в цепочке CDC. Там даже графики выхода приводились, для разных технологий, в том числе для разных поколений ПЛИС. Так и есть - тут ничего не менялось. Но на высоких частотах целевой частоты этого времени может быть недостаточно для гарантированного выхода из метастабильности. Тем более этот процесс носит вероятностный характер. Поэтому в формулах расчета MBTF для CDC участвует и целевая частота. 3 minutes ago, Мур said: Мой опыт говорит, что "серый" уровень метастабильности трактуется как лог 1. ??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 5 minutes ago, RobFPGA said: ??? Вам не известен такой термин?.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 3 minutes ago, RobFPGA said: Так и есть - тут ничего не менялось. Но на высоких частотах целевой частоты этого времени может быть недостаточно для гарантированного выхода из метастабильности. Тем более этот процесс носит вероятностный характер. Ну так я про это и писал. В чем тогда предмет спора то?) ЕМНП для плис по технологии 28нм, время этого выхода уже было порядка сотен пс, что в принципе позволяет не ставить "пацанские" CDC, а обойтись одним триггером) И это не мои слова, это было в какой то wp от Xilinx) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 11 minutes ago, des00 said: Ну так я про это и писал. В чем тогда предмет спора то?) ЕМНП для плис по технологии 28нм, время этого выхода уже было порядка сотен пс, что в принципе позволяет не ставить "пацанские" CDC, а обойтись одним триггером) И это не мои слова, это было в какой то wp от Xilinx) Быстродействие и время выхода из метастабильности не одно и тоже. И похоже не все в Xilinx знают какие они крутые транзисторы делают 12 minutes ago, Мур said: Вам не известен такой термин?.. Какой термин? Метастабильность - известен. А как трактовать это состояние и конвертировать его в 1 или 0 не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 10 minutes ago, RobFPGA said: Быстродействие и время выхода из метастабильности не одно и тоже. И похоже не все в Xilinx знают какие они крутые транзисторы делают Ну, у того же спартана 3 го это время было порядка сотен нс, софт то общий для всех. Таблица режимов DRC совсем не показатель. Вот из древнего, как раз где то в 2006-2008 году плотно погружался в эту тему Xilinx XAPP094 Metastable Recovery in Virtex-II Pro FPGAs, Application Note были новые доки, по свежим семействам, но искать лень. Таблица Figure 3: Metastable Progress и это на 2002 год) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 16 февраля, 2022 Опубликовано 16 февраля, 2022 · Жалоба 13 minutes ago, RobFPGA said: Какой термин? Метастабильность - известен. А как трактовать это состояние и конвертировать его в 1 или 0 не знаю. Понимаю. Тут речь о жесткой логике (это для нашего XOR), которая уровни выше 0,8В ("серая" зона) для 5 вольтовой логики воспринимает как лог.1... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться