alexPec
Dec 3 2011, 13:40
Всем добрый день. Есть проект, работает на 125 мгц. Но кристалл жрет много (3С40). Если снизить частоту в 2 раза (есть возможность, но сложно, много переделывать надо) то во сколько раз можно ожидать снижение потребления? Потребляет в основном сам кристалл, снаружи быстрых линий нет - максимум 20 МГц. Наверняка был у кого-то похожий опыт, если не жалко - поделитесь.
Спасибо!
есть же эстиматор потребления в квартусе, хотя бы пропорцию то он покажет %)
Может и вообще не снизиться, если, например, возрастёт количество LE, длина роутинга и среднее количество переключений триггеров в такте.
gosu-art
Dec 27 2011, 05:25
У меня вот такой вопрос..
Делаю автономный девайс на EP3C16+проц (пока еще не знаю какой). Заполнение ~40-50%. Частота работы ПЛИС 50 МГц + 20 скоростных каналов 100МГц.
Есть режим - SLEEP, при котором нужно отключить как можно больше устройств (или отправить их в спячку).
Как лучше поступить в данном случае? Сбросить прошивку, а потом после выхода из спячки заново сконфигурировать, или просто внутри сделать коммутатор клока?
Hoodwin
Dec 27 2011, 06:16
gosu-art
Надо сравнивать статическое и динамическое потребление. Сброс конфигурации ПЛИС не уберет статическое потребление. Кроме того, появятся токи утечки, которые связаны с weak pull-ups. Насколько я помню, у циклонов до загрузки конфигурации все I/O имеют слабые подтяжки, порядка 30-100 Ком в зависимости от температуры. Для активной работы это конечно пустяки, но вот в режиме энергосбережения все это сосет немалый ток, если умножить на число выводов.
Мы тут недавно занимались вопросом оптимизации энергопотребления MSP430, хотелось как раз в режиме сна уложиться в паспортные 3-5 мкА. Там у нас в режиме сна просто снималось питание со всех внешних схем. В итоге, через защитные диоды (с катодом на шину питания) эти схемы сосали из микроконтроллера довольно прилично, поначалу было около 1500-2000 мкА. И только после правильной настройки направления и уровня сигналов всех портов удалось где-то до 7 мкА опуститься. Кстати говоря, оказалось, что шина данных NAND флешки потребляет больше, если ее настроить как 8 входов микроконтроллера, чем если ее настроить как 8 выходов и установить все в логический ноль.
Поэтому я думаю, что правильный останов тактирования и перевод выводов ПЛИС в логические состояния, соответствующие внешним подтяжкам, должен дать существенное снижение потребления. Если хочется еще больше выжать, то лучше гасить ПЛИС через управляемые вторичные источники питания. Но нужно тогда думать, как избежать утечек по линиям связи с процессором и другими цепями, питание с которых не снимается в спячке. У современных процессоров многие выводы продублированы с GPIO, так что это не должно быть большой проблемой.
gosu-art
Dec 27 2011, 07:41
Спасибо за ответ и пример!
А что можете с коммутацией клока посоветовать?
Я думаю сейчас сделать так: завести основной клок на PLL и "усыплять" ПЛИСину при помощи входа pllena.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.