_4afc_ 24 4 октября, 2019 Опубликовано 4 октября, 2019 · Жалоба 19 hours ago, vitaly_n said: Однако, если я изменяю проект - вывожу с PLL сигнал LOCKED на IOB пин, к которому подключен транзистор со светодиодом, чтобы визуально проконтролировать, эта сволочь запускается всегда! Т.е. отличие только в том, вывожу ли я LOCKED на пин или нет. Очевидно, дело вообще не в этом, а просто проект иначе раскладывается, но поведение удивительное. Подскажите, пожалуйста, на что обратить внимание, чтобы разобраться в проблеме? В UCF прописаны тайминги на входной клок 100 МГц (период 10 нс 50%), остальное ISE 14.7 само понимает из параметров конфигурации PLL. All constraints, само собой, met. А как выглядит LOCKED при подаче питания? Может у вас ПЛИС грузится быстрее, чем 100 МГц LVDS с хорошего кварцевого осциллятора приходит в норму. Можно пропустить ваш 80 МГц через BUFGCE от LOCKED... Ну или правильный ресет на PLL придумать... BUFGCE: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitaly_n 0 4 октября, 2019 Опубликовано 4 октября, 2019 · Жалоба 27 minutes ago, _4afc_ said: А как выглядит LOCKED при подаче питания? А кто бы его знал... Когда я его вывожу на пин - всё замечательно работает! 28 minutes ago, _4afc_ said: Ну или правильный ресет на PLL придумать... Спасибо за подсказку! Попробую... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitaly_n 0 4 октября, 2019 Опубликовано 4 октября, 2019 · Жалоба 1 hour ago, _4afc_ said: Ну или правильный ресет на PLL придумать... Сделал процесс, тактируемый от референсного клока, который смотрит на LOCKED. Если LOCKED в течение 1 ms не поднялся (согласно DS162 PLL должен выставлять LOCKED max 100 us), то выставляю PLL_RESET на 50 ns (согласно всё тому же DS162 RST min 5 ns). С таким "костылём" вроде бы заработало. 30 раз питанием щёлкал - всегда заводится. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться