В. Соловьев, А. Климович Синтез на ПЛИС одноуровневых комбинационных схемРассматриваются два метода синтеза одноуровневых комбинационных схем на ПЛИС: без использования монтажного соединения выходов (метод М1) и в случае использования монтажного соединения выходов для реализации функции "ИЛИ" (метод М2). Указываются отличия методов для тр╦х архитектурных моделей ПЛИС: "классических" PAL, универсальных PAL и CPLD. Провед╦нные экспериментальные исследования показали высокую эффективность метода М2, который, по сравнению с методами пакета MAX+PLUSII, позволяет для отдельных примеров снизить стоимость реализации более чем в 25 раз, а быстродействие повысить в 15 раз. Отмечаются положительные и отрицательные качества каждого из методов, а также области их наиболее эффективного использования. ВведениеПод одноуровневой комбинационной схемой на ПЛИС понимается комбинационная схема, в которой сигналы на пути со входов на выходы схемы не проходят через скрытые макроячейки и только один раз проходят через выходные макроячейки ПЛИС. Одноуровневые комбинационные схемы заслуженно пользуются большой популярностью среди разработчиков цифровых систем благодаря своей простоте и высокому быстродействию. Кроме того, все выходные сигналы в одноуровневых схемах имеют одну и ту же временную задержку. В общем случае возможны два подхода к синтезу одноуровневых комбинационных схем на ПЛИС: когда допускается монтажное соединение выходов ПЛИС по ИЛИ и когда монтажное соединение выходов запрещено. В предлагаемых методах синтеза рассматриваются три архитектурные модели ПЛИС: "классические" PAL (Programmable Array Logic), универсальные PAL и CPLD (Complex Programmable Logic Device) [1]. "Классические" PAL характеризуются числом входов n, числом выходных макроячеек m и числом q промежуточных шин, подсоединяемых к каждой макроячейке. Универсальные PAL характеризуются числом входов n, числом выходных макроячеек с одной обратной связью m, числом выходных макроячеек с двумя обратными связями m2, а также множеством Q = {q1,...,qk}, где qs - число промежуточных шин, подсоединяемых к макроячейке MCs, qs € Q, s = ¯1,¯k, k = m + m2. Функциональный блок CPLD характеризуется числом входов n, выходных макроячеек m, суммарным числом промежуточных шин функционального блока qe и максимальным числом промежуточных шин qmax, которые могут быть подсоединены к одной макроячейке. Пусть комбинационная схема задана системой булевых функций (СБФ), представленных в дизъюнктивной нормальной форме (ДНФ). СБФ будем характеризовать числом N выходных функций (выходных переменных) множества Y = {y1,...,yN} и числом L аргументов функций (входных переменных) множества X = {x1,...,xL}. Кроме того, каждая функция yi характеризуется числом Q(yi) слагаемых (элементарных конъюнкций) в ДНФ функции yi, yi € Y. Предлагаемые методы синтеза одноуровневых комбинационных схем на ПЛИС включают два этапа: на первом этапе определяется множество Y* реализуемых функций, на втором этапе выполняется разбиение множества Y* на минимальное число T подмножеств Y1,...,YT таким образом, чтобы каждое подмножество Yt, t = ¯1,¯T, допускало реализацию на t-й PAL (функциональном блоке CPLD). При описании методов синтеза вначале приводится метод синтеза на универсальных PAL, а затем метод уточняется для "классических" PAL и CPLD. Синтез одноуровневых комбинационных схем без использования монтажного соединения выходов ПЛИС по ИЛИ (метод М1)При построении одноуровневых комбинационных схем на универсальных PAL главным препятствием является ограничение на число промежуточных шин, подсоединяемых к одной макроячейке. С другой стороны, поскольку универсальные PAL позволяют программировать уровень активности (высокий или низкий) логического сигнала каждого выхода, можно реализовать прямое или инверсное представление каждой функции yi, yi € Y, в зависимости от того, какое из значений меньше - Q(yi) или Q(¯yi). Синтез усложняется также тем, что с различными макроячейками универсальных PAL связано различное число промежуточных шин. Необходимыми и достаточными условиями реализации СБФ Y одноуровневой схемой на универсальных PAL является выполнение неравенств: |X(ýi)| n + k √ 1, (1) где X(ýi) - число аргументов функции ýi; ýi - одна из функций yi или ¯yi; qmax - максимальный элемент множества Q. На первом этапе синтеза в множество Y* из двух функций yi и ¯yi, i = ¯1,¯N, выбирается функция, для которой выполняются условия (1) и значение Q(ýi) для которой меньше. На втором этапе синтеза решается следующая задача. Задача 1Разбить множество Y* на минимальное число T подмножеств Y1,...,YT таким образом, чтобы для каждого подмножества выполнялись условия: |Yt| k; а также, чтобы для каждой функции yi, yi € Y, нашлось значение qs, qs € Q, такое, что Q(ýi) qs, (2) прич╦м различным функциям ýi, ýi € Y*, должны соответствовать различные значения qs, qs О Q, где Xt - множество аргументов функций подмножества Yt, t = ¯1,¯T. Алгоритм решения задачи 1 имеет вид. Алгоритм 1
Пример 1Пусть универсальные PAL имеют следующие параметры: n = 3, m = 2, m2 = 1 и Q = {1,2,4}, а СБФ Y задана следующими логическими уравнениями: y1 = ¯x1 + x5 + x6 + x8; Инверсии функций имеют следующий вид: ¯y1 = x1╥¯x5╥¯x6╥¯x8; Исходные данные для работы алгоритма 1 представлены в табл. 1. Поскольку для всех функций справедливо Q(¯yi) < Q(yi), то в множество Y* включаются только инверсные представления функций. Таблица 1. Исходные данные для работы алгоритма 1
В соответствии с пунктом 2 алгоритма 1, первым в множество Y1 включается функция ¯y8, так как только для этой функции |X(¯y8)| = 5 = max. На этом формирование множества Y1 заканчивается, поскольку нельзя добавить ни одной функции из-за нарушения условий (3). В качестве опорного элемента множества Y2 выбирается функция ¯y2, затем в множество Y2 добавляется единственная функция ¯y1. Аналогично формируются множества Y3 и Y4. Окончательная реализация СБФ показана на рис. 1. Здесь возле каждого вывода записано число промежуточных шин, связанных с соответствующей макроячейкой. Необходимые и достаточные условия реализации СБФ Y на "классических" PAL имеют вид: |X(yi)| n + m √ 1; qeсли принять k := m, qs := q и Y* := Y, то метод М1 для "классических" PAL полностью совпадает с методом М1 для универсальных PAL. Необходимым и достаточным условием возможности реализации СБФ Y одноуровневой схемой на CPLD является выполнение неравенств: |X(ýi)| n; Реализация СБФ Y* одноуровневой комбинационной схемы на CPLD сводится к разбиению множество Y* на минимальное число T подмножеств Y1,...,YT таким образом, чтобы для каждого подмножества выполнялись условия: |Yt| m; Некоторая функция yi, yi € Y*, может быть добавлена в подмножество Yt, t = ¯1,¯T, если выполняются условия: |Yt|+ 1 m; Метод М1 синтеза одноуровневой комбинационной схемы на CPLD аналогичен методу М1 для универсальных PAL, только в пункте 3 алгоритма 1 вместо условий (3) учитываются условия (4), а также отпадает необходимость в выборе макроячейки для реализации конкретной функции, так как все выходные макроячейки CPLD равнозначны. Синтез одноуровневых комбинационных схем с использованием монтажного соединения выходов ПЛИС по ИЛИ (метод М2)Многие ПЛИС допускают монтажное объединение внешних выводов с целью реализации логической функции ИЛИ. Для возможности такого объединения выходные буферы ПЛИС должны быть изготовлены по технологии с открытым коллектором или обладать свойством программирования открытого стока (open-drain) для каждого выхода. Необходимым и достаточным условием реализации СБФ Y на универсальных PAL с использованием монтажного объединения выходов по ИЛИ является выполнение неравенств: r(yi) n + k √ 1 для всех i = ¯1,¯N, где r(¯yi) - максимальный ранг (число литералов) конъюнкций в представлении функции ¯yi, i = ¯1,¯N. В качестве реализуемых функций принимается множество Y* = {¯y1,...,¯yN}, поскольку монтажное ИЛИ реализуется только в инверсной логике. СБФ Y* представим в виде двух матриц: троичной А и булевой В. Матрицы А и В имеют одинаковое число строк, соответствующих элементарным конъюнкциям k1,...,kP. Столбцы матрицы А соответствуют аргументам, а матрицы В - функциям множества Y. На пересечении строки i и столбца j матрицы А ставится единица, если входная переменная xj, xj € X, входит в i-ю конъюнкцию в прямом значении, ноль - в инверсном значении и прочерк ("√"), если xj не входит в i-ю конъюнкцию. На пересечении строки i и столбца j матрицы В ставится единица, если i-я конъюнкция входит в ДНФ функции yj, yj € Y. Каждой строке матрицы B поставим в соответствие множество X(ki) аргументов, имеющих в строке i матрицы A значения, отличные от безразличных, i = ¯1,¯P. На втором этапе синтеза решается следующая задача. Задача 2Покрыть матрицу B минимальным числом T миноров B1,...,BT таким образом, чтобы для каждого минора выполнялись условия: |Yt| k; а также для каждого столбца j минора BT нашлось значение qs, qs € Q, такое, что выполняется Qjt qs, прич╦м различным столбцам минора BT должны соответствовать различные значения qs, qs € Q, где Yt - множество функций, соответствующих столбцам минора BT; Xt - множество аргументов, соответствующих строкам минора BT; Kt - множество конъюнкций, соответствующих строкам минора BT; Qjt - число единиц в столбце j минора BT, t = ¯1,¯T. Решение задачи 2 выглядит следующим образом. Алгоритм 2
Пример 2Работу алгоритма 2 рассмотрим на примере синтеза комбинационной схемы, заданной СБФ из примера 1 на универсальной PAL со следующими параметрами: n = 3, m = 2, mБыгиЮ2 = 1 и Q = = {1,2,2}. Отметим, что реализация СБФ Y* на PAL с заданными параметрами с помощью метода М1 невозможна. Матрицы A и B реализуемой СБФ Y* приведены в табл. 2. В соответствии с пунктом 2 алгоритма 2 в качестве опорных в минор B1 включаются строка 15 и столбец 8, то есть пара (15,8), так как |X(k15)| = 5 = max и столбец 8 содержит максимальное число единиц. Затем минором B1 покрывается единица, соответствующая паре (16,8). На этом формирование минора B1 заканчивается из-за нарушения условий (5). Аналогичным образом формируются миноры B2,...,B7. Результаты выполнения алгоритма и формируемые при этом значения приведены в табл. 3. Монтажными соединениями выходы PAL объединяются так, как показано на рис. 2. Таблица 2. Реализуемая СБФ из примера 2
Таблица 3. Результаты выполнения алгоритма 2
Рисунок 2. Реализация СБФ из примера 2 одноуровневой схемой на универсальных PAL с использованием монтажного объединения выходов по ИЛИ Если принять k := m, а также qs := q для всех qs, qs € Q, то метод М2 на универсальных PAL может быть примен╦н для синтеза комбинационных схем на "классических" PAL. Необходимым и достаточным условием реализации СБФ Y на CPLD с использованием монтажного объединения выходов по ИЛИ является выполнение неравенств: r(¯yi) n для всех i = ¯1,¯N, где n - число входов функционального блока CPLD. Задача синтеза комбинационных схем на CPLD с помощью метода М2 сводится к покрытию матрицы B минимальным числом T миноров B1,...,Bt таким образом, чтобы для каждого минора выполнялись условия: |Yt| m; а также для каждого столбца j минора Bt выполнялось Qjt qmax. При построении очередного минора Bt, t = ¯1,¯T, некоторая единица матрицы B на пересечении строки i и столбца j может быть покрыта минором Bt при выполнении неравенств: |Yt {yj}| m; а также, если выполняется неравенство: Qjt + 1 qmax. (8) Алгоритм синтеза комбинационных схем на CPLD с использованием монтажного соединения выходов по ИЛИ совпадает с алгоритмом 2, за исключением того, что в пункте 3 вместо условий (5) и (6) рассматриваются условия (7) и (8). Результаты экспериментальных исследованийМетоды М1 и М2 реализованы программно в пакете ZUBR. В качестве эталонных примеров для проверки предлагаемых методов синтеза использовались комбинационные схемы, разработанные в центре MCNC [2]. Предложенные методы М1 и М2 синтеза одноуровневых комбинационных схем сравнивались с методами синтеза, реализованными в пакете MAX+PLUSII версии 10.1 фирмы Altera. В качестве ПЛИС рассматривались универсальные PAL семейства CLASSIC, CPLD семейства MAX 7000, а также FPGA семейства FLEX 10K. Результаты синтеза оценивались по двум параметрам: стоимости и быстродействию. В качестве стоимости было принято число макроячеек ПЛИС, затрачиваемых на реализацию комбинационной схемы, а в качестве быстродействия принята максимальная задержка прохождения сигналов со входа на выход синтезированной схемы. Параметры логического синтеза пакета MAX+PLUSII были настроены на минимизацию стоимости (Global Project Synthesis Style: NORMAL; Optimize: Area), при этом допускалось использование всех архитектурных особенностей каждого семейства (Automatic Open-Drain Pins: ON; Minimization: Full; XOR Synthesis: ON; Parallel Expanders: ON; Automatic Implement in EAB: ON; Carry Chain: Auto; Cascade Chain: Auto; Advanced Options: все ON). Поскольку синтезировались одноуровневые схемы, параметр Multi-level Synthesis был установлен в OFF. Провед╦нные экспериментальные исследования метода М1 показали, что данный метод имеет малую область использования (около 10% для всех эталонных примеров) из-за нарушения необходимых и достаточных условий применения, а для тех примеров, где метод М1 применим, результаты совпадают с результатами, полученными с помощью пакета MAX+PLUSII. Результаты экспериментальных исследований метода М2, в сравнении с методами синтеза пакета MAX+PLUSII, приведены в табл. 4, 5 и 6 для ПЛИС семейств CLASSIC, MAX 7000 и FLEX 10K, соответственно, где CA - стоимость реализации СБФ с помощью метода пакета MAX+PLUSII; C2 - стоимость реализации СБФ с помощью метода М2; CA/C2 - отношение CA к C2; DA - максимальная задержка, измеряемая в наносекундах, прохождения сигналов со входа на выход комбинационной схемы, синтезированной с помощью метода пакета MAX+PLUSII; D2 - то же, но для комбинационной схемы, синтезированной с помощью метода М2; DA/D2 - отношение DA к D2. Таблица 4. Результаты сравнения метода М2 с методом пакета MAX+PLUSII для семейства CLASSIC
Таблица 5. Результаты сравнения метода М2 с методом пакета MAX+PLUSII для семейства MAX 7000
Анализ полученных результатов показывает, что применение метода М2, по сравнению с методом пакета MAX+PLUSII, при синтезе комбинационных схем на ПЛИС семейства CLASSIC (табл. 4) позволяет значительно снизить стоимость реализации (в среднем, в 4,8 раза, а для отдельных примеров - в 25,5 раза) и значительно повысить быстродействие (в среднем, в 5,79 раза, а для отдельных примеров - в 15,2 раза). Для семейства MAX 7000 (табл. 5) метод М2, по сравнению с методом пакета MAX+PLUSII, обеспечивает примерно одинаковую стоимость реализации (снижение стоимости, в среднем, составляет 1,04 раза, а для отдельных примеров - в 1,88 раза), однако позволяет значительно повысить быстродействие (в среднем, в 3,97 раза, а для отдельных примеров - в 13,64 раза). Применение метода М2 при синтезе комбинационных схем на ПЛИС семейства FLEX 10K (табл. 6) позволяет, по сравнению с методом пакета MAX+PLUSII, как снизить стоимость (в среднем, в 1,19 раза, а для отдельных примеров - в 3,26 раза), так и повысить быстродействие (в среднем, в 1,22 раза, а для отдельных примеров - в 1,9 раза). Выводы
Литература
|
Ваш комментарий к статье | ||||