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

 
 
> осторожно: метастабильность!, ( старое название: Спартан збоит!?... )
irum4
сообщение Oct 24 2005, 10:15
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



Прибор с кристаллом XC2S30. Загрузка кристалла 99% (хотя добавление или убирание кода не влияет на эту цифру).Одна часть работает на частоте 50 МГц. Из них формируется 1МГц на которой работает вторая часть схемы. На 1МГц работает автомат состояний, который в зависимости от разводки кристалла ЗБОИТ blink.gif , т.е. может заходить в промежуточное состояние и после этого соответсвенно нужна его инициализация. Переделка схемы на работу всего кристалла на 50 МГц, приводит к тем же результатам! Также наблюдаются збои некоторых регистров, причем самопроизвольно, без привязки ко времени и процессам excl.gif
Всякое видел, но такое впервые. Правда надо сказать, что разводка земель не ахти, но кондюки распаяны на каждую ногу, как положено.
Какие будут мысли, рекомендации. Понятно, что плату нужно переразводить, но что-то мне подсказывает, что собака не там зарыта. ninja.gif


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
3.14
сообщение Oct 24 2005, 14:18
Сообщение #2


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



2 irum4
Тактовые на глобальных линиях?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
irum4
сообщение Oct 24 2005, 14:41
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



Цитата(v_mirgorodsky @ Oct 24 2005, 16:32)
Самая распространенная ошибка с КА - ассинхронные входы по отношению к входной тактовой частоте КА. Лечится установкой синхронных регистров на каждый управляющий вход автомата.

Автомат дополняется состоянием XYZ и из всех рабочих состояний делается переход в XYZ если не выполняются все другие легальные переходы. Таким образом проверяется логика работы автомата - если XYZ появляется в процессе работы, то есть неучтенная комбинация управляющих сигналов, приводящая к ошибке. У нас даже было специальное название для этого сигнала - "хуз" smile.gif

Использование выходов автомата для управления ассинхронными сбросами регистров или счетчиков (самая большая лажа). Автомат может работать правильно, но на сигналах будут тонкие "шпильки" импульсов, которых хватает для сброса части (!) триггеров в счетчиках или регистрах. BTW, пытаться увидеть эти шпильки осциллографом/чипскопом/самодельным регистратором абсолютно бесполезно. На пин не выйдет по причине инерционности драйвера пина, а чипскопу/самодельному регистратору необходимы setup/hold, тогда как ассинхронный сброс вполне на них среагирует.
*

Такой пример. СИНХРОННЫЙ автомат имеет 6 состояний:а,б,в,г,д,е,ж. Каждому синтезатор присваивает код 000001,000010,000100,001000,010000,100000.
Входной управляющий сигнал привязан к 50МГц из которого формируется 1МГц (пробовал автомат и на 50 МГц - ничего не дало)
После запуска автомат бегает по определенным состояниям согласно алгоритму, но в какой-то момент (типа кто-то голове грохнул) автомат переходит в состояние 000000! (никаких конфликтов внутри нет). И все... стоим-с.
Асинхронными сбросами, управлением я уже давно не пользуюсь - на рассыпухе их наелся.
Бред какой-то. В какой-то момент становиться просто смешно, но потом становится очень грустно - не первый день сижу,
Цитата(tegumay @ Oct 24 2005, 16:34)
а как это все отпахало в Modelsim'e?
*

Симуляция показывает все ок.
Цитата(3.14 @ Oct 24 2005, 17:18)
2 irum4
Тактовые на глобальных линиях?
*

Конечно


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
3.14
сообщение Oct 24 2005, 15:27
Сообщение #4


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Цитата(irum4 @ Oct 24 2005, 17:41)
Симуляция показывает все ок.

А Ваш тестбенч имитирует метастабильность?
Еще, извините за недоверчивость smile.gif, 1МГц точно разведен на глобальную линию?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Doka
сообщение Jan 10 2008, 13:20
Сообщение #5


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(3.14 @ Oct 24 2005, 18:27) *
А Ваш тестбенч имитирует метастабильность?


детский вопрос: а разве симулятором (кроме spice-симулятора) вообще можно проверить метастабильность??? (вернее то, верно ли она отрабатывается вашей схемой синхронизатора клоковых доменов)

я так понимаю все эти схемы рекомендованных синхронизаторов предполагают, что априори работают "как надо" и тем самым исключают необходимость моделирования корректной отработки метастабильности.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jan 10 2008, 15:34
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Doka @ Jan 10 2008, 16:20) *
детский вопрос: а разве симулятором (кроме spice-симулятора) вообще можно проверить метастабильность???

Запросто: нормальные модели триггеров выдают на выходе X, когда нарушается setup/hold.
Go to the top of the page
 
+Quote Post
Doka
сообщение Jan 10 2008, 19:00
Сообщение #7


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(DmitryR @ Jan 10 2008, 18:34) *
Запросто: нормальные модели триггеров выдают на выходе X, когда нарушается setup/hold.

у меня практический интерес в этом вопросе: что мне делать с этим Х, если я хочу промоделировать правильность работы собственной схемы синхронизатора клоковых доменов (а точнее передачи данных) при возникновении нарушения времён setup/hold?


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 11 2008, 16:50
Сообщение #8


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(Doka @ Jan 10 2008, 22:00) *
у меня практический интерес в этом вопросе: что мне делать с этим Х, если я хочу промоделировать правильность работы собственной схемы синхронизатора клоковых доменов (а точнее передачи данных) при возникновении нарушения времён setup/hold?


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


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Jan 12 2008, 21:02
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(makc @ Jan 11 2008, 19:50) *
Нужно, чтобы для первого триггера в цепочке синхронизатора в симуляторе была отключена проверка нарушения времён setup/hold. Либо, нужно отключить для синхронизатора трансляцию состояния X через триггеры синхронизатора, чтобы обеспечить подобие его правильной работы в реальных условиях.

А для эмуляции метастабильности можно описать триггер так:
при нарушении setup/hold выход переходит в X, а затем в D. Где D - 0 или 1 произвольно. При любых значениях должно работать нормально.
Длительность X - длительности метастабильного состояния. (можно взять 1/2 или 3/4 периода)
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jan 14 2008, 07:45
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(den_realan @ Jan 13 2008, 00:02) *
А для эмуляции метастабильности можно описать триггер так:
при нарушении setup/hold выход переходит в X, а затем в D. Где D - 0 или 1 произвольно. При любых значениях должно работать нормально.
Длительность X - длительности метастабильного состояния. (можно взять 1/2 или 3/4 периода)

Это самоуспокоение какое-то. Триггер НЕ ДОЛЖЕН попадать в метастабильное состояние. Поэтому и ставится там X на весь период.
Потом, если вы сделаете случайное выпадение в валидное состояние через пол-периода - то будете ошибку искать вечность. Так делаете в симуляторе ChaseX на любом развалившемся выходе - и он вас приводит в то место и время, когда у элемента входы валидны, а выход - X. А так будете ручками все, ручками, а postPAR модели ох как велики. Я уж не говорю про случаи, когда случайные ошибки будут друг друга компенсировать.
Go to the top of the page
 
+Quote Post
Kopart
сообщение Jan 14 2008, 08:40
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 1-03-05
Из: Spb
Пользователь №: 2 972



Цитата(DmitryR @ Jan 14 2008, 10:45) *
Это самоуспокоение какое-то. Триггер НЕ ДОЛЖЕН попадать в метастабильное состояние.

В "физическом" мире может набежать задержка, что изменение на входе D тригерра произойдет одновременно с фронтом тактовой. И что - делаем растарт? smile.gif

Первопричина статистически возможна - соответственно требуется устранять последствия. А как - только с помощью адекватной модели метастабильности!


--------------------
Насколько проще была бы жизнь, если бы она была в исходниках
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- irum4   осторожно: метастабильность!   Oct 24 2005, 10:15
- - des00   Цитата(irum4 @ Oct 24 2005, 05:15)Прибор с кр...   Oct 24 2005, 10:25
|- - irum4   Цитата(des00 @ Oct 24 2005, 13:25)хммм, не со...   Oct 24 2005, 10:56
|- - des00   ЦитатаKA - работает синхронно с тактом 1 МГц, соот...   Oct 24 2005, 11:34
|- - irum4   Цитата(des00 @ Oct 24 2005, 14:34)я говорил п...   Oct 24 2005, 13:21
- - line   Цитата(irum4 @ Oct 24 2005, 13:15)Прибор с кр...   Oct 24 2005, 11:20
|- - irum4   Цитата(line @ Oct 24 2005, 14:20)Цитата(irum4...   Oct 24 2005, 13:09
|- - v_mirgorodsky   Цитата(irum4 @ Oct 24 2005, 15:09)Цитата(line...   Oct 24 2005, 13:32
- - pergunt   Могу еще посоветовать вывести на свободные ноги (е...   Oct 24 2005, 11:59
- - tegumay   а как это все отпахало в Modelsim'e?   Oct 24 2005, 13:34
||- - DmitryR   Цитата(Doka @ Jan 10 2008, 22:00) у меня ...   Jan 11 2008, 10:27
|||- - NiOS   Цитата(DmitryR @ Jan 11 2008, 13:27) Как ...   Jan 11 2008, 11:38
|||- - DmitryR   Цитата(NiOS @ Jan 11 2008, 14:38) А как п...   Jan 11 2008, 12:00
|||- - NiOS   Цитата(DmitryR @ Jan 11 2008, 15:00) А си...   Jan 11 2008, 12:44
||- - Doka   Цитата(den_realan @ Jan 13 2008, 00:02) А...   Jan 13 2008, 22:10
||- - Vadim   Цитата(DmitryR @ Jan 14 2008, 10:45) Это ...   Jan 14 2008, 08:37
|||- - DmitryR   Цитата(Vadim @ Jan 14 2008, 11:37) Я изви...   Jan 15 2008, 04:55
|||- - NiOS   Цитата(DmitryR @ Jan 15 2008, 07:55) А пр...   Jan 15 2008, 08:54
|||- - Vadim   Цитата(DmitryR @ Jan 15 2008, 07:55) Этог...   Jan 15 2008, 13:49
||- - sazh   Цитата(NiOS @ Jan 14 2008, 11:40) В ...   Jan 14 2008, 08:51
|- - v_mirgorodsky   Цитата(irum4 @ Oct 24 2005, 16:41)Такой приме...   Oct 24 2005, 16:42
|- - arexol   Цитата(irum4 @ Oct 24 2005, 18:41) Такой ...   Jan 15 2008, 11:04
- - pergunt   v_mirgorodsky На счет инерционности драйвера пина ...   Oct 24 2005, 14:43
- - 3.14   Еще, можете показать отчет PAR?   Oct 24 2005, 15:57
- - irum4   Заработало. Всем спасибо . Всему виной преславута...   Oct 25 2005, 13:40
|- - des00   Цитата(irum4 @ Oct 25 2005, 08:40)Заработало....   Oct 26 2005, 03:29
- - Tiro   Спасибо, познавательно.   Jan 13 2008, 22:23
- - den_realan   ЦитатаVadim Чего избежать? Одновременного прихода ...   Jan 16 2008, 20:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 00:07
Рейтинг@Mail.ru


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