Перейти к содержанию
    

Может ли FPGA частично "зависнуть" ?

Можете ли вы объяснить механизм, природу этого явления - если автомат закодирован, к примеру, состояниями "0001", "0010", "0100", "1000", и нигде в проекте ему не назначается другая константа, то КАК он может оказаться в состоянии "1100" ? Если это возможно - то так далеко можно зайти, а что, если при других операциях другим сигналам будут произвольно меняться биты ? Да и не из всех алгоритмов можно безболезненно выйти, если вдруг состояние автомата стало непредвиденным.

 

 

Интересно, от напряжения питания и температуры синтезатор что-то меняет в своём синтезе ? Не знал об этом.

 

1) автомат сработает неправильно если:

- какие-либо сигналы на его входах асинхронны клоку (напр. внешний ресет....)

- set-up\hold тайминги не выполнились (например изза нештатного PVT (Process Voltage Temperature), т.е. не того что задан при SP&R )

- джитер\скважность клока не такие как при SP&R.

- шум по питанию.

- FPGA тоже бывают битые (имеют stack-at fault) (хотя при 80-% плат тот-же отказ, врядли)

 

2) Синтезатор делает синтез с учётом PVT corner. STA кстати то-же.

И напр. новая FPGA хоть и того-же типа может иметь слегка другую временную зависимость от PVT на 3-м году выпуска.... Это должно учитываться в новой версии FPGA CAD....

 

3) А как можна плату в нормальное состояние вернуть? Никак, ресетом, поверофом....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И тогда в нём нужно обязательно предусмотреть выход из состояний наподобие "0000" или "1100". Ввести дополнительные операторы else if для этого например. Не знаю как ISE, а Квартус умеет сам изменять кодирование автоматов, и в том числе в небезопасную сторону. Нужно тогда найти и отключить опцию, разрешающую изменять кодирование автоматов.

 

 

3) А как можна плату в нормальное состояние вернуть? Никак, ресетом, поверофом....

 

В квартусе как раз для такой ситуации вроде можно выставить тип "Safe state mashine".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... прошивка в FPGA через какое-то время (от 15 мин до нескольких часов) частично перестаёт выполнять свои функции, как бы "зависает". ....

Я теряюсь в догадках - что тут может быть, куда копать и что смотреть ?

 

К данному случаю не относиться но так, для общего розвития....

 

Как-то у меня попалась Altera Cyclon которая частично не работала после прошивки (но статично).

Вылечилась небольшим изменением топологии (перероутом).

 

Пришли к выводу - FPGA имела stack-at fault (залипание в 0\1) в какой-то ячейке....

Такое может быть, ведь не зря же ATPG придумывали....

 

А вот в ASIC попадались фолты и похуже - сопротивление цепи зависимо от напряжения и температуры.

То работает чип, то не работает....

Такие вещи не так-то и легко поймать в производстве.... Надо знать как аккуратно тесты делать.....

Допускаю, что подобные фолты могут и в FPGA попадаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчёт Spartan-3:

 

Первые партии микросхем позволяли изменять фазу выходного сигнала DCM при работе в режиме HIGH. ISE это тоже позволял. Через некоторое время ISE перестал такие разводить прошивки. Но старые прошивки работали. А ещё через некоторое время, старые прошивки на новых партиях уже перестали работать. Вывод - серия Spartan 3 со временем изменилась.

 

 

Может у Вас тоже что-то аналогичное ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...