-
Васисуалий
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Возник вопрос, может быть идиотский. Если не прав, прошу простить начинающего... :(
И так вопрос - а можно ли как то проверить саму микросхему ПЛИС, например EP3C10 на плате Марсоход2 ?
Есть нескромное ощущение, что в чипе завелась то ли битая ячейка, то ли группа, но иногда при компиляции проект глючит так, что "на голову не натянешь" и лечится это простой перекомпиляцией, иногда с изменением какого то незначительного куска логики на "в принципе то же самое". НапримерЮ в моем очередном проекте есть контроллер LCD дисплея. Он работал еще на EPM240, потом долго и правильно работал на EP3C10. Теперь к этому контроллеру прикручена схема с памятью, кучей логики, которая требует управления. Вношу изменения в управление и о чудо! Пропадает изо на экране! :ohmy:
Ставишь в цепь, например, энкодера пару инверторов, что никак не влияет на работу в целом и о чудо! Изображение появляется! :ohmy:
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Васисуалий
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Ну хорошо. Но вот пример. Это трехстабильный триггер, который у меня делит входную частоту на три фазы для тактирования LCD панели. Вход этой схему уже сам по себе результат деления основной тактовой на четыре, т.е. получается 100/4=25Mhz а тут ее еще делим на три и получаются несинхронные импульсы. Но они выходят из микросхемы и идут в панель. Как тут что нибудь исправить? :dry:
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Chaosorg
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
Я в свое время тоже пожаловался тут на форуме про сильные изменения качества работы проектов (помехи сильные на экране VGA) в ответ на минимальные изменения в схеме. Похоже, что даже небольшие изменение могут привести к тому, что расположение узлов на кристалле сильно поменяется. В моем случае это приводило к расположению сильно излучающих высокочастотных узлов рядом с выводами подсоединенными к R-2R. Так как это уже не совсем цифровая, а аналоговая схема, то помехи попадали на экран. В проектах с несовершенным дизайном бывали неудачные "расклады" узлов на кристалле, приводящие даже к сбоям в работе. Лучше, конечно, сделать дизайн менее чувствительным к таким неудачам, но можно и изменить расположение узлов, сменить настройку seed у fitter-а. Мне подсказали такой метод, как доступный для пользователей бесплатных версий Quartus - помогало. У платной версии есть вроде возможность самому управлять расположением узлов.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Васисуалий пишет: Как тут что нибудь исправить?
Тут не надо ничего исправлять, тк синхронная схема - на клоковые входы триггеров только клок подается, и не используются асинхронные входы установки триггеров.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Chaosorg пишет: В моем случае это приводило к расположению сильно излучающих высокочастотных узлов рядом с выводами подсоединенными к R-2R. Так как это уже не совсем цифровая, а аналоговая схема, то помехи попадали на экран.
Не верю. Имхо, проявления асинхронного дизайна. От расположения меняются задержки распространения сигналов, это влияет на поведение асинхронного дизайна. В синхронном дизайне все задержки просчитываются софтом, и "помех" нет.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Васисуалий
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Leka пишет: Васисуалий пишет: Как тут что нибудь исправить? Тут не надо ничего исправлять, тк синхронная схема - на клоковые входы триггеров только клок подается, и не используются асинхронные входы установки триггеров.
Да! Но что делать дальше? Я сейчас примерно изображу часто моей проблемы...
Вот более расширенный кусок схемы моего проекта Это вся цепочка для сигнала от кварцевого генератора на плате Марсоход2 (100Mhz) до счетчика. Идея такая... После делителя Inst33 тактовая частота, поделенная на 2 поступает на трехстабильный триггер на (Inst) 70 и 71 а первая фаза этого генератора используется для счета пикселей в строке. Разумеется, что всего отсчетов в строке 640. Да! панель моего осциллоскопа работает на нестандартной частоте, но с вполне стандартным количеством точек остчета. Эту частоту я выбрал экспериментально т.к. при нормальной частоте 15625 Кгц / строк экран несколько мерцал, а теперь он стоит как вкопанный и мне это понравилось. Но суть не в этом...
Во-первых мне не нравится сброс счетчика, который, разумеется должен происходить после 640 отсчета.
Ну и во-вторых имеем кучу включенных последовательно счетчиков, что делать не советует никто!
Раньше, пока проект не перерос за полторы тысячи ЛЕСов меня это не напрягало. Лишь изредка происходили сбои, которые очень просто исправлялись, но в последнее время эта проблема становится назойливой.
Не пинайте сильно плз. Помогите, кто может исправить ошибки или подскажите путь исправления. В принципе я готов и координально пересмотреть эту часть проекта до полной переделки счетчиков. Например, была у меня идея использовать один первый счетчик для выделения всех необходимых сигналов. Но на отладку его уйдет не один выходной, а вот тут немножко лень. В общем если есть другие способы подскажите плз... :(
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Chaosorg
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
Leka пишет: Chaosorg пишет: В моем случае это приводило к расположению сильно излучающих высокочастотных узлов рядом с выводами подсоединенными к R-2R. Так как это уже не совсем цифровая, а аналоговая схема, то помехи попадали на экран. Не верю. Имхо, проявления асинхронного дизайна. От расположения меняются задержки распространения сигналов, это влияет на поведение асинхронного дизайна. В синхронном дизайне все задержки просчитываются софтом, и "помех" нет.
Т.е. Вы хотите сказать, что я обманываю? Читайте внимательнее, пожалуйста, прежде чем делать такие заключения. Устройство работало, просто шумело на экране больше нормы. Тем более, что я написал - мне подсказали опытные люди с форума менять seed у fitter-а. И это помогло. А то устройство, которое глючило, там были ошибки и я об этом написал. Ваша вера тут и не требовалась.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Васисуалий
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
К стати об шумах...
Я внимательно прочел статью об синхронности и глючности но вот чего не понимаю...
В моем проекте есть много чего. На другой ПЛИС я слепил пульт управления, который транслирует по SPI один единственный байт информации в плату Марсоход2, но с помощью этого пульта я управляю кучей параметров. Энкодер с "нажималькой" и четыре кнопки дают возможность перебирать много параметров и вот среди них есть такой режим. Нажимаем кнопку 4 и крутиком регулируем положение уровня синхры, потом нажимаем на ручку и регулируем уровень ноля первого канала, потом еще раз нажимаем и крутим второй канал. Реально второго канала нет, а из первого выведен только маркер на экран и серая еле заметная пунктирная полоска, которая и показывает уровень синхры, так же сделано для обоих каналов. Так вот иногда компиляция заканчивается тем, что триггер из трехстабильного превращается в двухстабильный и второй канал на регулировку не вызывается. Регулировка переключается только между синхрой и первым каналом! Вот этого статья никак не обьясняет.
К стати еще одно наблюдение...
Когда я пробовал этот же синхрогенератор но на Марсоходе1 (EPM240) то глюки начались гораздо раньше, еще до отладки схемы самого генератора. Я тогда свалил все на то, что кристалл маленький и Квартусу трудно рассыпать схему по площади и все глючит. Но! Когда я перенес эту же схему в EP3C10 глюки пропали вообще! Чистый синхрогенератор работал как часы! Это позволило мне с месяц развлекаться тем, что я практически полностью изобразил на экране моего проекта все обычные элементы осциллоскопа и вывел на него сигнал, подключил управление и если бы с неделю назад не уперся в внезапно возникшую глючность, то уже мог бы во всю хвастаться моим "осциллоскопом без процессора" Но стоило проекту перевалить за тысячу ЛЕСов как началось и возникают какие то консперологические мысли по поводу халявного Квартуса! Ну не могли капиталисты просто так подарить средство разработки вполне приличного устройства не напакостив! Не верю! :evil:
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Васисуалий пишет: Вот более расширенный кусок схемы моего проекта
Так уже неправильно. Нужные частоты и сигналы, в тч синхросигналы VGA, нужно формировать счетчиками и другой логикой, тактируемыми одной системной частотой. В ПЛИС на Марсоходе-2 есть PLL, с ее помощью из 100МГц надо сформировать удобную системную частоту (например, у меня системная частота часто 75МГц, тк это пиксельклок VGA 1024*768). И весь дизайн должен тактироваться одной частотой. При помощи PLL можно сформировать кратные частоты, если необходимо, но не при помощи логики. Очень редко, когда действительно нужна асинхронная логика, для DIY часто можно слегка поменять задачу, чтобы избежать этого.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.211 секунд