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

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

|
Прибор с кристаллом XC2S30. Загрузка кристалла 99% (хотя добавление или убирание кода не влияет на эту цифру).Одна часть работает на частоте 50 МГц. Из них формируется 1МГц на которой работает вторая часть схемы. На 1МГц работает автомат состояний, который в зависимости от разводки кристалла ЗБОИТ  , т.е. может заходить в промежуточное состояние и после этого соответсвенно нужна его инициализация. Переделка схемы на работу всего кристалла на 50 МГц, приводит к тем же результатам! Также наблюдаются збои некоторых регистров, причем самопроизвольно, без привязки ко времени и процессам Всякое видел, но такое впервые. Правда надо сказать, что разводка земель не ахти, но кондюки распаяны на каждую ногу, как положено. Какие будут мысли, рекомендации. Понятно, что плату нужно переразводить, но что-то мне подсказывает, что собака не там зарыта.
--------------------
Электроника - наука о контактах.
|
|
|
|
|
Oct 24 2005, 10:25
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(irum4 @ Oct 24 2005, 05:15) Прибор с кристаллом XC2S30. Загрузка кристалла 99% (хотя добавление или убирание кода не влияет на эту цифру).Одна часть работает на частоте 50 МГц. Из них формируется 1МГц на которой работает вторая часть схемы. На 1МГц работает автомат состояний, который в зависимости от разводки кристалла ЗБОИТ  , т.е. может заходить в промежуточное состояние и после этого соответсвенно нужна его инициализация. Переделка схемы на работу всего кристалла на 50 МГц, приводит к тем же результатам! Также наблюдаются збои некоторых регистров, причем самопроизвольно, без привязки ко времени и процессам Всякое видел, но такое впервые. Правда надо сказать, что разводка земель не ахти, но кондюки распаяны на каждую ногу, как положено. Какие будут мысли, рекомендации. Понятно, что плату нужно переразводить, но что-то мне подсказывает, что собака не там зарыта.  хммм, не совсем конечно понятно, но ИМХО 1. Если сбоит КА, то тут может сбоить : 1.1 некорректная логика функции переходов (неправильн описан автомат). 1.2 асинхронные выходы КА --- метастаильные входы ---- автомат улетает куда ему вздумаеться, если не корректно написан. 1.3. неучтенны тайминги 2. Насчет регистров смотреть нужно: 2.1 некорректно сделан переход из одного клок домена в другой. 2.2 Гонки сигналов --- некорректно прописанна нектороая логика 3. Неправильные тайминги. 4. Ваши "косяки" с DCM (если вы его пользуете). 5. Плату переразводить рано еще, проштудировать отчеты синтезатора и проверить код, "потыкаться" чипскопом (если место есть) Удачи
--------------------
|
|
|
|
|
Oct 24 2005, 10:56
|

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

|
Цитата(des00 @ Oct 24 2005, 13:25) хммм, не совсем конечно понятно, но ИМХО 1. Если сбоит КА, то тут может сбоить : 1.1 некорректная логика функции переходов (неправильн описан автомат). 1.2 асинхронные выходы КА --- метастаильные входы ---- автомат улетает куда ему вздумаеться, если не корректно написан. 1.3. неучтенны тайминги 2. Насчет регистров смотреть нужно: 2.1 некорректно сделан переход из одного клок домена в другой. 2.2 Гонки сигналов --- некорректно прописанна нектороая логика 3. Неправильные тайминги. 4. Ваши "косяки" с DCM (если вы его пользуете). 5. Плату переразводить рано еще, проштудировать отчеты синтезатора и проверить код, "потыкаться" чипскопом (если место есть) Удачи KA - работает синхронно с тактом 1 МГц, соответственно ассинхронных выходов нет, и какие там тайминги на 1 МГц. Для регистров тайминги указаны и выполняются. DCM не использую. Переход из одного клок домена в другой через блочную память - запись побитно на 1МГц, чтение из другого порта - на 50 МГц(сбоят типа адреса чтения этой памяти). Процессы записи и чтения асинхронны. С чипскоупом в напряг - места нет. Спасибо.
--------------------
Электроника - наука о контактах.
|
|
|
|
|
Oct 24 2005, 11:20
|
Частый гость
 
Группа: Свой
Сообщений: 85
Регистрация: 27-06-05
Пользователь №: 6 331

|
Цитата(irum4 @ Oct 24 2005, 13:15) Прибор с кристаллом XC2S30. Загрузка кристалла 99% (хотя добавление или убирание кода не влияет на эту цифру).Одна часть работает на частоте 50 МГц. Из них формируется 1МГц на которой работает вторая часть схемы. На 1МГц работает автомат состояний, который в зависимости от разводки кристалла ЗБОИТ  А почему загрузка кристалла то 99%? При заполнении больше 70-80% что угодно может быть... Не попробовать ли убрать часть код и посмотреть ситуацию... А разводка платы здесь 99% ни при чем.
|
|
|
|
|
Oct 24 2005, 11:34
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата KA - работает синхронно с тактом 1 МГц, соответственно ассинхронных выходов нет, и какие там тайминги на 1 МГц. я говорил про входы, а не выходы. Тайминги на 1 МГц, а если у вас там 20 уровней логики ? и у вас могут быть проблемы со временами установки и удержания. Цитата Переход из одного клок домена в другой через блочную память - запись побитно на 1МГц, чтение из другого порта - на 50 МГц(сбоят типа адреса чтения этой памяти). хммм а генераторы адресов случайно не ФСМ управляються ? какой синтезатор ? Цитата Процессы записи и чтения асинхронны. хммм не есть гут Цитата С чипскоупом в напряг - места нет. оттебажить по частям
--------------------
|
|
|
|
|
Oct 24 2005, 13:09
|

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

|
Цитата(line @ Oct 24 2005, 14:20) Цитата(irum4 @ Oct 24 2005, 13:15) Прибор с кристаллом XC2S30. Загрузка кристалла 99% (хотя добавление или убирание кода не влияет на эту цифру).Одна часть работает на частоте 50 МГц. Из них формируется 1МГц на которой работает вторая часть схемы. На 1МГц работает автомат состояний, который в зависимости от разводки кристалла ЗБОИТ  А почему загрузка кристалла то 99%? При заполнении больше 70-80% что угодно может быть... Не попробовать ли убрать часть код и посмотреть ситуацию... А разводка платы здесь 99% ни при чем. А что может быть при 99% заполнения - времяночки, то все выполняються,которые в ucf задаю? На другой плате, где использую эту же компоненту и с заполнением 78%. Эффект тот же.
--------------------
Электроника - наука о контактах.
|
|
|
|
|
Oct 24 2005, 13:21
|

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

|
Цитата(des00 @ Oct 24 2005, 14:34) я говорил про входы, а не выходы. Тайминги на 1 МГц, а если у вас там 20 уровней логики ? и у вас могут быть проблемы со временами установки и удержания. хммм а генераторы адресов случайно не ФСМ управляються ? какой синтезатор ? хммм не есть гут оттебажить по частям На вход приходит сигнал привязаный к 50 МГц , но конечно не синфазный с 1МГц, но это решается быстро, принимается. Устанавливал я тайминг на 1МГц - 20 нс максимальная задержка. Адреса збоят от компонента внешнего интерфейса, который только либо пишет в буферную память либо читает (на 50 МГц). По второму порту только запись (1 МГц). На счет дебага и несинхронности, могу сказать, что поскольку ВСЕ збои зависят от разводки кристалла, то 1/4 вариантов разводки не збоит Вот так мозги и едут... Весь парадокс в том и состоит, что все зависит от разводки, збоят регистры, збоит автомат состояний, затык может произойти сразу, может через 1-5 сек.
--------------------
Электроника - наука о контактах.
|
|
|
|
|
Oct 24 2005, 13:32
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Цитата(irum4 @ Oct 24 2005, 15:09) Цитата(line @ Oct 24 2005, 14:20) Цитата(irum4 @ Oct 24 2005, 13:15) Прибор с кристаллом XC2S30. Загрузка кристалла 99% (хотя добавление или убирание кода не влияет на эту цифру).Одна часть работает на частоте 50 МГц. Из них формируется 1МГц на которой работает вторая часть схемы. На 1МГц работает автомат состояний, который в зависимости от разводки кристалла ЗБОИТ  А почему загрузка кристалла то 99%? При заполнении больше 70-80% что угодно может быть... Не попробовать ли убрать часть код и посмотреть ситуацию... А разводка платы здесь 99% ни при чем. А что может быть при 99% заполнения - времяночки, то все выполняються,которые в ucf задаю? На другой плате, где использую эту же компоненту и с заполнением 78%. Эффект тот же.  Самая распространенная ошибка с КА - ассинхронные входы по отношению к входной тактовой частоте КА. Лечится установкой синхронных регистров на каждый управляющий вход автомата. Автомат дополняется состоянием XYZ и из всех рабочих состояний делается переход в XYZ если не выполняются все другие легальные переходы. Таким образом проверяется логика работы автомата - если XYZ появляется в процессе работы, то есть неучтенная комбинация управляющих сигналов, приводящая к ошибке. У нас даже было специальное название для этого сигнала - "хуз"  Использование выходов автомата для управления ассинхронными сбросами регистров или счетчиков (самая большая лажа). Автомат может работать правильно, но на сигналах будут тонкие "шпильки" импульсов, которых хватает для сброса части (!) триггеров в счетчиках или регистрах. BTW, пытаться увидеть эти шпильки осциллографом/чипскопом/самодельным регистратором абсолютно бесполезно. На пин не выйдет по причине инерционности драйвера пина, а чипскопу/самодельному регистратору необходимы setup/hold, тогда как ассинхронный сброс вполне на них среагирует.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Oct 24 2005, 14:41
|

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

|
Цитата(v_mirgorodsky @ Oct 24 2005, 16:32) Самая распространенная ошибка с КА - ассинхронные входы по отношению к входной тактовой частоте КА. Лечится установкой синхронных регистров на каждый управляющий вход автомата. Автомат дополняется состоянием XYZ и из всех рабочих состояний делается переход в XYZ если не выполняются все другие легальные переходы. Таким образом проверяется логика работы автомата - если XYZ появляется в процессе работы, то есть неучтенная комбинация управляющих сигналов, приводящая к ошибке. У нас даже было специальное название для этого сигнала - "хуз"  Использование выходов автомата для управления ассинхронными сбросами регистров или счетчиков (самая большая лажа). Автомат может работать правильно, но на сигналах будут тонкие "шпильки" импульсов, которых хватает для сброса части (!) триггеров в счетчиках или регистрах. 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 Тактовые на глобальных линиях? Конечно
--------------------
Электроника - наука о контактах.
|
|
|
|
|
Oct 24 2005, 15:27
|

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

|
Цитата(irum4 @ Oct 24 2005, 17:41) Симуляция показывает все ок. А Ваш тестбенч имитирует метастабильность? Еще, извините за недоверчивость  , 1МГц точно разведен на глобальную линию?
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|