Изучение VHDL



         

Однотактная синхронизация против двухтактной - часть 3


В некоторых ВУ используется асинхронный способ вычислений на логи­ческом уровне, благодаря чему понижается энергопотребление до мини­мума. Но разработка таких ВУ не поддерживается стандартными САПР и тем более - САПР для ПЛИС.


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

При однотактной син­хро­низации все триггеры ВУ выпол­нены как син­хрон­ные и тактиру­ются фрон­том од­ного син­хро­сигнала (рис. 2). При этом усло­вием пра­виль­ности функци­о­ни­ро­ва­ния ВУ яв­ля­ется неравен­ство кри­ти­ческой задержки:

max(TTi+TDi,j + TПj ± ?TCi,j) < TC,                                          (1)

i,j

где TTi – задержка от фронта синхросигнала до выхода i-го триггера, TDi,j – задержка сигнала в логических схемах и линиях связи между i –м и j – м триггером, TПj – время предустановки сигнала на входе j-го триггера относи­тельно фронта синхросигнала, ?TCi,j - относительная задержка между син­хро­сигналами, приходящими на эти триггеры, называемая перекосом фазы (clock skew), TC – заданный период синхросигнала, при условии, что время удержания сигнала на входе триггера ТУ  удовлетворяет заданным ограниче­ниям.

В современных микросхемах сеть передачи синхросигнала от источника до всех триггеров выполняется с особой тщательностью и она обеспечивает минимальный перекос фаз, находящийся в пределах допусти­мого. Благодаря этому, формула (1) упрощается до следующей формулы:

max(TTi+TDi,j + TПj ) < TC .                                              (2)

i,j

Временной анализ проектов микросхем

Предсказание правильности поведения ВУ с однотактной синхрониза­ци­ей во всех САПР микросхем основано, прежде всего, на времен­ном анализе задержек схемы ВУ, который выполняет программа временного анализа. Эта программа по известным задержкам между всеми элементами проекта ВУ, включая задержки в проводниках, выполняет проверку условия (2). Также вычисляются задержки от входных выводов микросхемы до входов тригге­ров и от выходов триггеров до выходных выводов микросхем.

Задержки определяются как маршруты между вершинами графа схемы ВУ, дуги которого нагружены соответствующими задержками вентилей или проводников. Во многих ВУ используются сложные логические схемы, кото­рые можно представить многовершинными двудольными графами с боль­шим числом ребер. В этом случае количество маршрутов, по которым опре­де­ляются задержки, представленных ребрами в двудольном графе, может достигать многих миллионов. Из-за перебора всех маршрутов вре­менной анализ ВУ может длиться довольно долго.

Если в ВУ существует перекос фаз, то временной анализ усложняется, так как он выполняется по более сложной формуле (1). Во многих САПР автоматический учет перекоса фаз не выполняется или проводится только для отдельно выбранных маршрутов. Если ВУ состоит из нескольких связан­ных между собой модулей, в пределах которых действуют разные синхросе­рии, то дополнительно проверяется условие (1), в котором ?TCi,j - относи­тельная задержка между фронтами двух синхро­серий, а задержки опреде­ля­ются по маршрутам сигналов между парами блоков.

Часто, операнд за­пи­­сыва­ется в триггер i и хранится в нем несколько так­тов, в течение кото­рых сигнал операнда распространяется через логическую схему до триггера j, в который операнд записывается также через несколько тактов. Очевидно, что такой маршрут желатель­но удалить из временного ана­ли­за или анализи­ровать отдельно, так как через него практически никог­да не проходит крити­ческая задержка. Такие маршруты выделяют в виде множества много­так­товых маршрутов (multicycle paths), называемых также ложными маршрута­ми (false paths).

В результате временного анализа подтверждается, что схема ВУ работа­ет с однотактной синхронизацией, что в ней отсутствуют кри­тические пе­реко­сы фаз, а также фиксируются критический путь и его задерж­ка, которые ха­рак­­теризуют быстродействие ВУ. Это быстродействие обычно вы­ража­ется ве­личи­ной минимального тактового периода TCmin, определяе­мо­го ле­вой час­тью формулы (1) или максимальной тактовой частотой fmax = 1/TCmin.

Стадия размещения вентилей логической схемы по площади кристалла и трассировки межсоединений является ответственным этапом проектирова­ния микросхемы и прошивки ПЛИС, так как от нее зависят все основные характеристики СНК. В то же время, это одна из самых трудоемких стадий. Она сводится к серии последовательных приближений к эффективному ва­рианту размещения в плоскости микросхемы графа соединения вентилей (рис. 27).

Одним из критериев оптимизации размещения и трассировки явля­ется мини­мум задержки критического пути. На основе временного анализа выпол­ня­ется автоматическая оптимизация быстродей­ствия схемы ВУ путем сокра­щения длины найденных критических путей. Поэтому для ускорения и улуч­шения оптимизации желательно мини­мизи­ровать количество проверяемых маршрутов, например, отмечая много­цикло­вые маршруты и выделяя крити­ческие маршруты, требующие опти­мизации.

Конвейеризация вычислений, которая сводится к "расщеплению" слож­ных логических схем промежуточными конвейерными регистрами, сущест­венно (от десятков до тысяч раз) сокращает число проверяемых маршрутов. Поэтому в конвейерных ВУ достигается прирост производительности не толь­ко благодаря укорачиванию маршрутов, но и за счет улучшения работы программы, оптимизирующей проект ВУ.

Исходя из вышеизложенных особенностей проектирования микросхем, разработчики фирм – производителей микросхем предлагают следующие рекомендации :

Þ       Применять только однотактную синхронизацию и желательно, только один синхросигнал.

Þ       Если в ВУ используется несколько синхросигналов, в том числе один сигнал, но со срабатыванием по фронту и спаду, то минимизировать их число, а их распространение ограничить отдельными модулями – по одному синхросигналу на модуль; синхросигналы генерировать в одном, предназна­ченном для этого модуле.

Þ       Не допускать существенных перекосов фаз.

Þ       Минимизировать количество проверяемых маршрутов, в частности, вы­де­лением множества многоцикловых маршрутов и конвейеризацией ВУ.

Þ       Отделять быстродействующие блоки от медленных блоков и оптими­зи­ровать их раздельно.

Þ       Обеспечить запоминание в регистрах модулей ВУ выходных сигналов, а еще лучше – и входных сигналов. Благодаря этому, не только ускоряется временной анализ, повышается максимальная тактовая частота, но и упро­щается стыковка модулей между собой, упрощаются условия повторного использования модулей (вычислительных заготовок).

Þ       Реализовать преимущественно синхронные начальные установку или сброс триггеров, особенно в схемах управления.

Þ       При реализации в ПЛИС желательно все триггеры выполнить с асин­хронным сбросом или установкой по одному сигналу.




Содержание  Назад  Вперед