ПОИСК Статьи Чертежи Таблицы Размещение и разводка из "Проектирование на ПЛИС архитектура, средства и методы " На Рис. 8.9 показаны только 12 из 24 возможных перестановок (читателю предлагается потренироваться и дописать недостающие варианты). На самом деле существует только 12 вариантов перестановок, имеющих практический смысл. Объясняется это тем, что существуют так называемые зеркальные перестановки, которые функционально эквивалентны, например пары ЛС-ВВ и ВВ-АС, показанные на Рис. 8.9. Эквивалентность этих пар связана с работой системы размещения и разводки, которая позволяет менять расположение двух логических блоков между собой. [c.130] Двигаясь дальше, приходим к этапу размещения элементов и разводки или трассировки соединений. Вернемся к только что рассмотренному примеру и предположим, что два логических блока необходимо соединить вместе, но применительно к нашему случаю, они могут быть расположены только так, чтобы один из них являлся смежным по горизонтали или по вертикали с другим блоком. С учётом этих ограничений конфигурируемые логические блоки могут быть расположены по одному из четырёх вариантов (Рис. 8.10). [c.130] Если КЛБ 1 содержит таблицы соответствия 4 и С, а КЛБ 2 таблицы соответствия В и В, можно получить эквивалентное расположение. Для этого надо чтобы блоки поменялись местами и обменялись своим содержимым. [c.130] При работе с двумя логическими блоками (Рис. 8.10) довольно просто определить их оптимальное расположение относительно друг друга, т. е. выбрать наиболее оптимальный вариант из четырех возможных, а также относительно других элементов на кристалле. [c.131] На практике размещение элементов является куда более сложной задачей, чем рассматривалось в примере, поскольку реальные микросхемы могут содержать чрезвычайно большое количество конфигурируемых логических блоков от нескольких сотен, на заре своего развития, и до нескольких сотен тысяч по состоянию на 2004 год. Соединенные вместе логические блоки 1 и 2 также могут подключаться к другим блокам. Например, КЛБ 1 может подключаться к КЛБ 3, 5 и 8, а КЛБ 2 может подключаться к КЛБ 4, 6, 7 и 8. Кроме того, эти блоки могут соединяться друг с другом и с другими блоками. Другими словами, хотя расположение КЛБ 1 и КЛБ 2 в непосредственной близости друг к другу может оказаться очень эффективным с точки зрения разводки соединений между ними, но с учётом их взаимосвязи с другими блоками такая расстановка может быть нежелательной. В некоторых случаях наиболее оптимальным может оказаться расположение, при котором КЛБ 1 и КЛБ 2 находятся на некотором расстоянии один от другого. [c.131] Если и размещение логических блоков является довольно сложной процедурой, оптимальная разводка соединений между этими блоками оказывается куда более сложной задачи. Сложность этих операций настолько огромна, что здесь лучше предоставить слово ребятам, безусловно, очень умным людям, которые заняты разработкой алгоритмов расположения элементов и разводки соединений, а мы перейдём к рассмотрению других вопросов. [c.131] В начале 90-х гг. некоторые поставщики вместо символической библиотеки простейших логических элементов и регистров стали использовать символические библиотеки более сложных функций, которых насчитывалось около 70. После разработки схемы формировалась таблица соединений функциональных блоков, которые, как правило, уже были сопоставлены таблицам соответствия и скомпонованы в КЛБ. Этот подход позволял лучше реализовать идею считать уровни логики между регистрами, но ограничивал возможности по оптимизации и замене элементов. [c.131] Вернуться к основной статье