Персональный сайт магистра ИССЛЕДОВАНИЕ ТЕХНИЧЕСКОГО КАРТОГРАФИРОВАНИЯ FPGA, КАК СПОСОБА ДЕКОМПОЗИЦИИ Д.В. Томах Донецкий национальный технический университет
Благодаря популярности основанных на LUT ( Look Up Table ) архитектур FPGA , была разработана огромная база алгоритмов по управлению областью LUT . Проблема минимизации области является сложной задачей для LUT входного размера четыре и меньше. Поэтому эвристика необходима, чтобы решить проблему минимизации области при разумной затрате времени для вычисления. Реконфигурируемые интегральные схемы FPGA представляют собой программируемые логические блоки, окруженные конфигурируемыми межсоединениями. Самые современные устройства FPGA содержат программируемые логические блоки, основанные на K-input LUT ( K - LUT ), каждый K - LUT содержит 2^ K конфигурируемых бит, с помощью которых реализуется любая K - input функция [1]. Число LUT -ов, необходимое для реализации предоставленной схемы, определяет размер и стоимость FPGA реализации. Поэтому одними из главных этапов автоматизированного проектирования FPGA является картографирование, которое переносит описание логической схемы на множество LUT элементов архитектуры FPGA . [2] Цель технологии картографирования[], как способа декомпозиции - сократить используемое пространство, задержку, или комбинацию того и другого в сети программируемых логических блоков. В данной работе оцениваются современные технологии алгоритмов нанесения на карту с точки зрения оптимизации занимаемого пространства. Процесс картографирования неразрывно связан с задачей о покрытии. Например, рассмотрим процесс составления схемы в LUT (Рисунок 1). Рисунок 1 a иллюстрирует начальную сеть на вентильном уровне, рисунок 1 b иллюстрирует возможное покрытие начальной сети с использованием 4- LUTs , и рисунок 1 c иллюстрирует уже покрытую сеть LUT . В предоставленной схеме вентиль с меткой x покрывается обоими LUT , т.е. дублируется. Практика показывает, что дублирование вентилей часто необходимо для минимизации области сетей LUT . Рис.1 – Пример покрытия сети LUT Фундаментальный вопрос, на который должны дать ответ исследования, таков: на сколько может быть уменьшена область для полученной сети LUT , созданной при помощи алгоритма технологического картографирования? Для маленькой подсхемы, возможно ответить на этот вопрос оптимальным способом. Рассмотрим произвольную функцию f ( i 0; i 1;… in ) с целью определения возможности уменьшения области при использовании трех или меньше двухвходовых LUT . Эта задача может быть решена при рассмотрении конфигурируемой виртуальной сети (Con fi gurable Virtual Network CVN) [3]. CVN состоит из входных линий соединенных с переменными i 0… in и три 2- LUT . Поперечная связь позволяет входам LUT выбрать любую из входных линий или выход от другого LUT . Каждый “переключатель” на перемычке - конфигурируется виртуальным битом конфигурации: «0» указывает что пересечение разъединено, «1» связь присутствует. Очевидно, что можно оперделить каждую возможную схемную конфигурацию, включающую в себя три 2- LUT , манипулируя виртуальными битами конфигурации для поперечной связи также, как и таблица истинности конфигураций битов каждого из 2- LUTs . Фактически, мы можем выразить выход fnet , как логическую формулу, включающую переменные i 0… in , виртуальные биты конфигурации V 1… Vm и конфигурационные биты таблицы истинности L 1… L 0. Получив эту формулу, необходимо определить: существуют ли значения V 1… Vm и L 1… L 0 такие, что функция fnet ( i 0; i 1; in ; V 1… Vm ; L 1… Lo ) будет идентична функции f ( i 0; i 1; in ) для всех значений i 0… in . Сложность разрешения этой задачи экспоненциально возрастает с повышением числа переменных n виртуальной сети. Множество известных алгоритмов основаны на разложении схем на набор деревьев, которые затем наносятся на карту области [4]. Проблема области минимизации для деревьев намного проще и может быть оптимально решена с использованием динамического программирования. Однако, реальные схемы редко структурированы как деревья и разложение на поиск деревьев препятствует оптимизации. Дальнейшие направления исследований связаны с реализацией устройств управления устройств управления на FPGA и дальнейшей оптимизацией логических схем по стоимостным характеристикам. Исследования направлены на подтверждение (или опровержение) теоретических предположений о том, что оптимальное преобразование подсхем позволяет использовать меньшее количество LUT , причем суммарная оптимизация занимаемого пространства может достигать 60%, что существенно влияет на уменьшение общей стоимости устройства.
Литература 1. Грушвицкий Р. И., Мурсаев А. Х., Угрюмов Е. П., "Проектирование систем на микросхемах программируемой логики", 2002г. - 608стр. 2. Максфилд К., «Проектирование на ПЛИС», 2007г. – 404стр. 3. Интернет: http://www.soccentral.com/results.asp?CatID=478&EntryID=15000 4. Зотов, «Проектирование встраиваемых приложений на основе ПЛИС фирмы Xilinx», 2006г. |