Вопросы проектирования печатных плат для устройств на базе ПЛИС

№ 5’2006
Разработка систем на базе ПЛИС не сводится только к проектированию непосредственно цифровой части в САПР ПЛИС. Важную роль играет и качество трассировки печатной платы, поскольку оно может существенно ухудшить характеристики проекта по сравнению с тем, что доступно ПЛИС. В данной статье изложены некоторые практические наблюдения и результаты сравнительных исследований различных подходов к совместной трассировке печатной платы и программируемых соединений внутри ПЛИС.

Разработка систем на базе ПЛИС не сводится только к проектированию непосредственно цифровой части в САПР ПЛИС. Важную роль играет и качество трассировки печатной платы, поскольку оно может существенно ухудшить характеристики проекта по сравнению с тем, что доступно ПЛИС. В данной статье изложены некоторые практические наблюдения и результаты сравнительных исследований различных подходов к совместной трассировке печатной платы и программируемых соединений внутри ПЛИС.

В качестве введения

Проектирование печатных плат для электронных устройств — достаточно обширная и сложная тема, где вряд ли можно дать сколько-нибудь исчерпывающие рекомендации. В течение последних лет существенные изменения произошли как в сфере персональных компьютеров, с помощью которых выполняется проектирование, так и в области электронных компонентов, чьи характеристики напрямую обусловливают требования к САПР печатных плат. Очевидно, что мощность современных компьютеров, используемых в качестве рабочих станций, многократно возросла по сравнению с платформами 5–10-летней давности. Однако и требования к печатным платам значительно изменились. Постоянно наблюдаются тенденции к установке компонентов поверхностного монтажа, корпусов типа BGA с большим количеством выводов (и вообще увеличение числа выводов компонентов), увеличению числа слоев печатной платы, уменьшению минимального размера печатных проводников и зазоров, а также диаметра отверстий. Электронные устройства становятся компактнее, повышается плотность монтажа компонентов, и печатные платы сами по себе становятся продуктом деятельности высококвалифицированных разработчиков. Вместе с тем потребность в самостоятельном проектировании печатных плат возникает и у специалистов смежных направлений, в том числе ориентирующихся на проектирование систем на базе ПЛИС.

Необходимость уделять внимание печатной плате при проектировании ПЛИС имеет достаточно серьезные основания. Устройства с фиксированной топологией кристалла (ASIC) обладают вполне определенной цоколевкой, и назначение их выводов строго определено. Можно ожидать взаимозаменяемости некоторых линий (например, портов ввода/вывода общего назначения в микроконтроллерах), но, как правило, соединение выводов микросхемы с другими компонентами печатной платы определяется схемой устройства, то есть строго фиксировано и принципиальным изменениям не подлежит. В этом случае разработчик печатной платы должен найти способ оптимального размещения компонентов и трассировки печатных проводников. Соответствующие цели ставятся и перед САПР печатных плат.

Разумеется, такие САПР должны выполнять трассировку быстро, качественно, а получаемый продукт должен быть удобен для монтажа, отладки, ремонта, сборки, быть эргономичным и соответствовать массе дополнительных требований, которые читатели, вероятнее всего, сформулируют самостоятельно. Можно лишь заметить, что вопросы размещения компонентов на печатной плате и последующего проведения проводников относятся к достаточно сложной области с точки зрения алгоритмики. В действительности подобные задачи в своей «чистой» формулировке нельзя решить даже с учетом возросшей производительности современных компьютеров, поскольку число вариантов размещений компонентов и путей проведения линий растет (в очень грубом приближении) пропорционально факториалу от числа компонентов. Неудивительно, что в подавляющем большинстве случаев результаты автоматического размещения компонентов выглядят неприемлемыми. Для трассировки же реализуются алгоритмы, использующие некоторые частные соображения или иным путем избегающие перебора чрезмерно большого числа вариантов. Обычно разработчик печатной платы может существенно улучшить качество трассировки, правильно размещая компоненты и/или вручную редактируя наиболее ответственные цепи. Соответственно, возрастает ценность как высококвалифицированных инженерных кадров, так и профессиональных программных инструментов, способных предоставить подробную информацию о текущем состоянии проекта и автоматизировать рутинные операции.

Проект на базе ПЛИС: что изменилось?

Отличается ли программируемая элементная база от других типов микросхем или же это отличие надуманно, и переход к новой версии САПР печатных плат автоматически изменит ситуацию к лучшему для всех типов изделий? Оптимизирует или ухудшит ситуацию использование ПЛИС? Постараемся рассмотреть особенности ПЛИС с точки зрения разработчика печатных плат. Прежде всего, сталкиваясь с ПЛИС впервые, разработчик будет поражен тем, что подавляющее большинство ее выводов взаимозаменяемо! После некоторых пробных проектов становится непонятно, является это достоинством или недостатком. С одной стороны, можно использовать возможности замены выводов, чтобы упростить топологию и избавиться от ряда переходных отверстий и перекрестных соединений. С другой — к огромному числу вариантов размещения компонентов и проведения линий добавилось и множество вариантов назначения выводов ПЛИС сигналам проекта! Разработчики печатных плат, ранее не имевшие опыта использования ПЛИС, крайне редко используют возможности замены выводов, ограничиваясь тем списком соединений, который передает им системный архитектор или проектировщик ПЛИС. Поэтому приходится сначала делать черновой вариант, проводить трассировку печатной платы, а затем окончательно создавать схему. При этом современные средства САПР должны обладать высокой степенью интеграции, чтобы данный процесс был автоматизирован (чего не наблюдается, например, у связки ISE+PCAD). Итогом подобной несогласованной работы может стать продукт, подобный показанному на рис. 1 (приведен фрагмент двухсторонней печатной платы, трассировка которой проведена в автоматическом режиме).

Рис. 1. Фрагмент двухсторонней печатной платы с применением автоматической трассировки
Рис. 1. Фрагмент двухсторонней печатной платы с применением автоматической трассировки

Хорошо видно, что на печатной плате имеется большое количество длинных линий и переходных отверстий, причем рабочая частота устройства оказалась существенно ниже, нежели позволяют примененные микросхемы.

На рис. 2 приведен фрагмент печатной платы аналогичной сложности, но при ее проектировании широко использовались возможности взаимозамены однотипных выводов и применялась ручная трассировка.

Рис. 2. Фрагмент двухсторонней печатной платы, разведенной вручную
Рис. 2. Фрагмент двухсторонней печатной платы, разведенной вручную

Отметим, что у представленной на рис. 2 печатной платы более короткие проводники, чем у печатной платы на рис. 1, а также меньшее количество переходных отверстий. Следовательно, частота устойчивой работы второго устройства выше, нежели первого, но удовлетворительным результат можно считать только после того, как будет проверено соответствие топологии печатной платы внутренней архитектуре ПЛИС.

Структура логической ячейки ПЛИС выглядит следующим образом: входные сигналы поступают на логический генератор, далее при необходимости фиксируются триггером и через выходные мультиплексоры выводятся из ячейки. Соответственно, нормальным путем прохождения сигнала будет направление «слева направо», если смотреть относительно матрицы логических ячеек. Цепи ускоренного переноса, позволяющие эффективнее реализовать арифметические операции над многоразрядными аргументами, расположены вертикально и имеют вполне определенное направление распространения, поэтому старший бит рекомендуется располагать сверху (также относительно матрицы ячеек). Тогда сигналы, приходящие на блоки ввода/вывода ПЛИС, будут поданы в основную матрицу ячеек по кратчайшим трассировочным линиям и наиболее эффективно задействованы выделенные ресурсы ПЛИС. Шины управления естественно разместить вдоль верхней и нижней части выводов матрицы.

Для ПЛИС среднего и большого размера можно использовать группировку сигналов управления вблизи управляемых ими шин данных. Такое решение (с учетом большей площади кристалла) позволит уменьшить задержку распространения управляющих сигналов до места их действительного применения. Кроме того, программируемые выводы ПЛИС объединяются в банки (обычно их 8), причем у различных банков может быть разное напряжение питания. Поэтому может оказаться необходимым размещение и линий данных, и линий управления в пределах одного банка.

Нельзя утверждать, что приведенные сведения исключительно важны и полностью определяют характеристики проекта. В действительности ПЛИС имеют достаточное количество трассировочных ресурсов, облегчающих трассировку сигналов от блоков ввода/вывода до наиболее подходящего места в матрице логических ячеек. А потому «неудачное» размещение выводов вряд ли окажется фатальным (сигналы все же будут разведены), однако задержки распространения станут несколько больше.

Рис. 3. Рекомендуемое распределение выводов для FPGA небольшого объема
Рис. 3. Рекомендуемое распределение выводов для FPGA небольшого объема

Исходя из изложенного, можно понять, что к САПР печатных плат, способным дать хороший результат при работе с ПЛИС, предъявляются крайне высокие требования. Такие САПР должны не только использовать возможности ПЛИС по переназначению выводов, но и выполнять подобное назначение с учетом внутренней архитектуры устройства (для чего требуется информация о типе сигналов). Задержки, вносимые ПЛИС, необходимо сопоставлять с задержками, вносимыми внешними проводниками. Из этого следует, почему профессиональные САПР печатных плат, выполняющие совместный анализ печатной платы и установленной на ней ПЛИС (например, САПР компании Mentor Graphics), имеют весьма высокую стоимость. Рассмотрим, однако, какие результаты можно получить, выполнив лишь базовые рекомендации и пользуясь простейшими инструментами трассировки. На рис. 4 представлена печатная плата устройства, в котором цифровая обработка производится на ПЛИС Spartan-IIE XC2S200E фирмы Xilinx. Для указанной печатной платы в целом соблюдены изложенные выше рекомендации.

Рис. 4. Печатная плата цифрового устройства на базе FPGA Spartan-IIE
Рис. 4. Печатная плата цифрового устройства на базе FPGA Spartan-IIE

Данный проект выбран по той причине, что синтетические тесты, призванные выявить разницу между автоматическим назначением выводов и их ручной расстановкой, не дали убедительного ответа. Проект, реализующий корреляционную обработку и фильтрацию и управляемый софт-процессором, занимает 96% ресурсов ПЛИС и функционирует на максимальной тактовой частоте 13 МГц. Соответственно, он значительно нагружает алгоритмы трассировки ПЛИС, и влияние внешних цепей становится существенным. Компоновка печатной платы выполнена с учетом удобства и наименьшей длины сигнальных проводников, а также рекомендации Xilinx—входы расположены слева по отношению к матрице логических ячеек, выходы находятся справа. Проект представляет собой реальный пример сложного устройства, на характеристики которого могла бы существенно повлиять автоматическая расстановка выводов. Однако в режиме автоматической расстановки выводов (номера выбирались САПР ISE, а не задавались пользовательским файлом ограничений) тактовая частота проекта снизилась до 12 МГц! Этот пример наиболее наглядно показывает, что в настоящий момент автоматическое назначение выводов ПЛИС штатными средствами САПР не получило удовлетворительного решения, и вмешательство разработчика, следующего определенным рекомендациям, вполне может улучшить характеристики проекта.

Некоторые сопутствующие вопросы

На печатной плате, показанной на рис. 4, можно выделить две части — аналоговую и цифровую. В левой, аналоговой части находятся операционные усилители, вторичные источники питания и АЦП. Правая часть цифровая. В центре расположена FPGA Spartan-IIE, в нижней части ПЗУ для хранения коэффициентов фильтров, реализованных в ПЛИС. Печатная плата двухсторонняя. Нижний слой (зеленый цвет) почти целиком отведен под общий проводник. Такое расположение позволяет снизить уровень шума за счет уменьшения сопротивления общего проводника и повышения эффективности фильтрации помехи по цепям питания благодаря максимально близкому размещению фильтрующих емкостей к выводам компонентов (рис. 5).

Рис. 5. Пример подключения фильтрующей емкости
Рис. 5. Пример подключения фильтрующей емкости

На рис. 5 приведен фрагмент печатной платы, где изображен делитель напряжения на резисторах R6 и R7 с фильтрующей емкостью С59, расположенной в удобном месте по пути следования сигнала.

При построении устройств цифровой обработки сигналов всегда приходится решать вопрос с питанием аналоговой и цифровой части и с расположением общих проводников. На рис. 4 видно два полигона — левый с аналоговыми цепями, а правый с цифровыми. Оба полигона соединены перемычкой в верхней части. Такое расположение не позволяет протекать импульсным токам общего проводника цифровых цепей в аналоговых цепях. АЦП объединяет цифровую и аналоговую части, поэтому имеет два типа питания. На рис. 5 видны выводы 25 и 27 АЦП. Вывод 25 общий для аналоговой части, а 27— для цифровой. С целью уменьшения шумов каждый из них подключен к своему полигону.

На рис. 6 представлены два варианта аналоговой части одинаковых устройств. На рис. 6а видна неудачная трассировка цепи аналогового питания +5А (на рис. 4 на эту цепь указывает соответствующая стрелка). К нескольким микросхемам питание подводится последовательно, в результате уровень шумов по мере удаления от конденсатора С43 возрастал до 50 мВ. Замена последовательной разводки питающей цепи на параллельную позволила снизить уровень шума до 5 мВ.

Рис. 6. Варианты исполнения печатной платы аналоговой части устройства
Рис. 6. Варианты исполнения печатной платы аналоговой части устройства

Подводя итог, отметим, что при проектировании печатных плат необходимо соблюдать несколько основных правил:

  • по возможности избегать автоматического размещения компонентов и автотрассировки связей, а выполнять эти операции вручную;
  • широко использовать полигоны для общих выводов, при этом необходимо создавать отдельные полигоны для аналоговых и цифровых цепей, а также для цепей, питающих мощную нагрузку;
  • фильтрующие емкости располагать в непосредственной близости от входных цепей, для фильтрации которых они применяются;
  • при использовании ПЛИС FPGA фирмы Xilinx входные цепи располагать в левой части (по отношению к матрице логических ячеек), а выходные — в правой. Основное внимание следует обращать на минимизацию длины проводников и отсутствие перекрестных связей.

Приведенные материалы, разумеется, охватывают достаточно малый круг вопросов, возникающих при разработке печатных плат, предназначенных для устройств на базе ПЛИС. Цель авторов — показать, что такая сложная область, как совместная разработка конфигурации ПЛИС и печатной платы, все еще требует внимания квалифицированных разработчиков, которые могут существенно улучшить характеристики проекта, не полагаясь только на автоматизированные средства. Одновременно становится понятно, какие задачи должна решать профессиональная САПР печатных плат, призванная облегчить труд специалистов.

Статьи в журнале «Технологии в Электронной промышленности» по теме печатные платы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *