Выпуск #5/2017
П.Городков
Особенности разработки HDL-проектов для реализации в базисе ПЛИС серии 5578ТС
Особенности разработки HDL-проектов для реализации в базисе ПЛИС серии 5578ТС
Просмотры: 3696
По архитектурным решениям ПЛИС серии 5578ТС, разработанные в АО "КТЦ "ЭЛЕКТРОНИКА", занимают промежуточное положение между низкобюджетной серией Altera Cyclone II и высокопроизводительными ПЛИС серии Altera Stratix III. В статье рассмотрены особенности потребления логических ресурсов ПЛИС данной серии при реализации различных проектов с использованием тестов производительности из набора Altera QUIP toolkit 9.0.
УДК 621.382
ВАК 05.27.00
DOI: 10.22184/1992-4178.2017.165.5.50.59
УДК 621.382
ВАК 05.27.00
DOI: 10.22184/1992-4178.2017.165.5.50.59
Теги: benchmarks digital signal processing fpga routing resources плис тесты производительности трассировочные ресурсы цифровая обработка сигналов
ПЛИС серии 5578ТС представляют собой программируемые пользователем вентильные матрицы (ППВМ) с логическими блоками на основе адаптивных логических модулей (АЛМ). Логический блок ПЛИС (рис.1) состоит из восьми АЛМ, каждый из которых имеет восемь входов данных и может реализовать одну произвольную 6-входовую или две произвольные 2-, 3-, 4-входовые функции [1]. АЛМ состоит из четырех 3-входовых и двух 4-входовых LUT, двух выделенных сумматоров и двух триггеров с возможностью синхронного и асинхронного сброса, синхронной загрузки из нескольких источников, использования обратной связи и обвода триггера (рис.2).*
Разработанный АЛМ по структуре схож с АЛМ ПЛИС серии Stratix III [2], обеспечивающий повышенное быстродействие ПЛИС и эффективность упаковки проектов пользователя благодаря расширенным режимам работы LUT5, LUT6 и встроенному сумматору для логико-арифметических вычислений. Однако на данный момент сумматор исключен из конфигурации, поскольку серия 5578ТС предназначена для замены ПЛИС EP2C5/EP2C8 от Altera.
При анализе использования логических ресурсов в ПЛИС серии 5578ТС будем рассматривать следующие функциональные блоки:
"LUT с триггерами" (реализация комбинационной и последовательностной логики);
"только LUT";
"только триггеры".
Кроме того, разработчик ПЛИС (АО "КТЦ "ЭЛЕКТРОНИКА") для анализа распределения ресурсов рекомендует использовать следующие параметры:
alm_ff – число задействованных функциональных блоков "LUT с триггерами" и "только триггеры" для оценки использования последовательностной логики;
lcell_comb – число задействованных функциональных блоков "LUT с триггерами" и "только LUT" для оценки использования комбинационной логики.
Для реализации решения в базисе отечественных ПЛИС необходимо создать проект в среде проектирования Quartus версий 9.0–13.1 для EP2C5 в случае разработки для ПЛИС 5578ТС014 и EP2C8 для 5578ТС024. Затем с помощью команды Analysis & Synthesis выполнить анализ и синтез проекта и с помощью команды Start VQM Writer получить на выходе файл Verilog Quartus Mapping (VQM), представляющий собой неоптимизированный список логических соединений (netlist). При разработке проекта в Quartus важно следить за ограничениями, которые налагаются на используемые логические ресурсы (табл.1). Однако некоторые проекты, выходящие за пределы ограничений, могут успешно работать в базисе ПЛИС серии 5578ТС, что можно установить лишь опытным путем.
Список соединений (netlist) загружается в среду разработки конфигурационных данных (СРКД), созданную в АО "КТЦ "ЭЛЕКТРОНИКА", которая производит анализ, размещение и трассировку ПЛИС в соответствии с извлеченной информацией о логическом содержании проекта. При настройке проекта в СРКД можно выбрать режим работы АЛМ с максимальной разрядностью LUT от 4 до 6 [2]. В последних обновлениях СРКД была добавлена возможность дополнительной оптимизации проекта, которую в рамках данной статьи анализировать не будем, поскольку она зачастую увеличивает количество потребляемых ресурсов в целях повышения предельной тактовой частоты.
Распределение логических ресурсов в базисе ПЛИС 5578ТС024 проанализируем с помощью типовых тестов производительности ПЛИС (benchmark) из свободно распространяемого комплекта QUIP toolkit 9.0 на основе 26 проектов различной сложности из этого комплекта [3]. Размещение и трассировка проектов были выполнены в двух режимах работы АЛМ: LUT4 и LUT6 (табл.2–4).
Архитектуры ПЛИС Cyclone II [4] и 5578ТС различаются, поэтому проанализируем распределение LUT. Для наглядности полученное распределение для разных проектов представим в виде диаграммы (рис.3). Из нее видно, что в режиме 4-входовых LUT ПЛИС 5578ТС024 не выигрывает в потреблении логических ресурсов, тогда как режим 6-входовых LUT демонстрирует преимущества АЛМ для большей части тестовых проектов. В 22-х из 26-ти тестовых проектов потребление логических ресурсов снизилось в среднем на 25%.
Часть проектов из набора QUIP toolkit, которые успешно раскладываются в базис ПЛИС EP2C8, не удалось реализовать в базис ПЛИС серии 5578ТС. Блоки памяти ПЛИС серии 5578ТС не поддерживают режим одновременного чтения и записи по одному адресу (в Quartus II это опция мегафункции RAM: 2-PORT Old memory contents appear). Поддерживается только режим I do not care, в котором значение выхода в момент записи будет неопределенным. Следует учитывать, что данное ограничение повлияет на работоспособность всех мегафункций, которые явно или неявно используют данный режим работы памяти, например таких, как ALTACCUMULATE, ALT_MULT_ACCUM, ALT_MEM_MULT. В табл.5 указаны все проекты, реализованные в базисе EP2C8, но завершившиеся с ошибкой для ПЛИС серии 5578ТС.
* * *
В заключение следует отметить, что ПЛИС 5578TC014 и 5578TC024 не являются прямыми аналогами ПЛИС серий Altera Cyclone II ЕР2С5 и ЕР2С8, а предназначены для их замены. В ПЛИС серии 5578ТС используются АЛМ, близкие по своей архитектуре к семейству Altera Stratix III [5, 6].
Полученные результаты представляют практическую ценность для разработчиков проектов в базисе ПЛИС серии 5578ТС, поскольку в настоящее время нет публикаций с анализом потребления логических ресурсов ПЛИС данной серии.
ЛИТЕРАТУРА
Каталог изделий АО "ВЗПП-С". – www.vzpp-s.ru/production/catalog.pdf.
Строгонов А. В., Городков П. С. Особенности проектирования устройств цифровой обработки сигналов в базисе ПЛИС серии 5578 // Вестник ВГТУ. 2016. Т. 12. № 3. С. 51–56.
Altera. Benchmark Designs For The Quartus University Interface Program (QUIP). – https://github.com/neilisaac/ece496/blob/master/reference/quip_toolkit-9.0/documents/quip_benchmarks.pdf.
Altera Corporation Cyclone II Device Handbook, Vol. 1, February 2007, ver. 3.3. – www.altera.com/literature/hb/cyc2/cyc2_cii5v1.pdf.
Altera Corporation Stratix III Device Handbook, Vol. 1, July 2010, ver. 2.3. – www.altera.com/literature/hb/stx3/stx3_siii5v1.pdf.
Золотухо Р., Комолов Д. Stratix III – новое семейство FPGA фирмы Altera // Компоненты и технологии. 2006. № 12.
Разработанный АЛМ по структуре схож с АЛМ ПЛИС серии Stratix III [2], обеспечивающий повышенное быстродействие ПЛИС и эффективность упаковки проектов пользователя благодаря расширенным режимам работы LUT5, LUT6 и встроенному сумматору для логико-арифметических вычислений. Однако на данный момент сумматор исключен из конфигурации, поскольку серия 5578ТС предназначена для замены ПЛИС EP2C5/EP2C8 от Altera.
При анализе использования логических ресурсов в ПЛИС серии 5578ТС будем рассматривать следующие функциональные блоки:
"LUT с триггерами" (реализация комбинационной и последовательностной логики);
"только LUT";
"только триггеры".
Кроме того, разработчик ПЛИС (АО "КТЦ "ЭЛЕКТРОНИКА") для анализа распределения ресурсов рекомендует использовать следующие параметры:
alm_ff – число задействованных функциональных блоков "LUT с триггерами" и "только триггеры" для оценки использования последовательностной логики;
lcell_comb – число задействованных функциональных блоков "LUT с триггерами" и "только LUT" для оценки использования комбинационной логики.
Для реализации решения в базисе отечественных ПЛИС необходимо создать проект в среде проектирования Quartus версий 9.0–13.1 для EP2C5 в случае разработки для ПЛИС 5578ТС014 и EP2C8 для 5578ТС024. Затем с помощью команды Analysis & Synthesis выполнить анализ и синтез проекта и с помощью команды Start VQM Writer получить на выходе файл Verilog Quartus Mapping (VQM), представляющий собой неоптимизированный список логических соединений (netlist). При разработке проекта в Quartus важно следить за ограничениями, которые налагаются на используемые логические ресурсы (табл.1). Однако некоторые проекты, выходящие за пределы ограничений, могут успешно работать в базисе ПЛИС серии 5578ТС, что можно установить лишь опытным путем.
Список соединений (netlist) загружается в среду разработки конфигурационных данных (СРКД), созданную в АО "КТЦ "ЭЛЕКТРОНИКА", которая производит анализ, размещение и трассировку ПЛИС в соответствии с извлеченной информацией о логическом содержании проекта. При настройке проекта в СРКД можно выбрать режим работы АЛМ с максимальной разрядностью LUT от 4 до 6 [2]. В последних обновлениях СРКД была добавлена возможность дополнительной оптимизации проекта, которую в рамках данной статьи анализировать не будем, поскольку она зачастую увеличивает количество потребляемых ресурсов в целях повышения предельной тактовой частоты.
Распределение логических ресурсов в базисе ПЛИС 5578ТС024 проанализируем с помощью типовых тестов производительности ПЛИС (benchmark) из свободно распространяемого комплекта QUIP toolkit 9.0 на основе 26 проектов различной сложности из этого комплекта [3]. Размещение и трассировка проектов были выполнены в двух режимах работы АЛМ: LUT4 и LUT6 (табл.2–4).
Архитектуры ПЛИС Cyclone II [4] и 5578ТС различаются, поэтому проанализируем распределение LUT. Для наглядности полученное распределение для разных проектов представим в виде диаграммы (рис.3). Из нее видно, что в режиме 4-входовых LUT ПЛИС 5578ТС024 не выигрывает в потреблении логических ресурсов, тогда как режим 6-входовых LUT демонстрирует преимущества АЛМ для большей части тестовых проектов. В 22-х из 26-ти тестовых проектов потребление логических ресурсов снизилось в среднем на 25%.
Часть проектов из набора QUIP toolkit, которые успешно раскладываются в базис ПЛИС EP2C8, не удалось реализовать в базис ПЛИС серии 5578ТС. Блоки памяти ПЛИС серии 5578ТС не поддерживают режим одновременного чтения и записи по одному адресу (в Quartus II это опция мегафункции RAM: 2-PORT Old memory contents appear). Поддерживается только режим I do not care, в котором значение выхода в момент записи будет неопределенным. Следует учитывать, что данное ограничение повлияет на работоспособность всех мегафункций, которые явно или неявно используют данный режим работы памяти, например таких, как ALTACCUMULATE, ALT_MULT_ACCUM, ALT_MEM_MULT. В табл.5 указаны все проекты, реализованные в базисе EP2C8, но завершившиеся с ошибкой для ПЛИС серии 5578ТС.
* * *
В заключение следует отметить, что ПЛИС 5578TC014 и 5578TC024 не являются прямыми аналогами ПЛИС серий Altera Cyclone II ЕР2С5 и ЕР2С8, а предназначены для их замены. В ПЛИС серии 5578ТС используются АЛМ, близкие по своей архитектуре к семейству Altera Stratix III [5, 6].
Полученные результаты представляют практическую ценность для разработчиков проектов в базисе ПЛИС серии 5578ТС, поскольку в настоящее время нет публикаций с анализом потребления логических ресурсов ПЛИС данной серии.
ЛИТЕРАТУРА
Каталог изделий АО "ВЗПП-С". – www.vzpp-s.ru/production/catalog.pdf.
Строгонов А. В., Городков П. С. Особенности проектирования устройств цифровой обработки сигналов в базисе ПЛИС серии 5578 // Вестник ВГТУ. 2016. Т. 12. № 3. С. 51–56.
Altera. Benchmark Designs For The Quartus University Interface Program (QUIP). – https://github.com/neilisaac/ece496/blob/master/reference/quip_toolkit-9.0/documents/quip_benchmarks.pdf.
Altera Corporation Cyclone II Device Handbook, Vol. 1, February 2007, ver. 3.3. – www.altera.com/literature/hb/cyc2/cyc2_cii5v1.pdf.
Altera Corporation Stratix III Device Handbook, Vol. 1, July 2010, ver. 2.3. – www.altera.com/literature/hb/stx3/stx3_siii5v1.pdf.
Золотухо Р., Комолов Д. Stratix III – новое семейство FPGA фирмы Altera // Компоненты и технологии. 2006. № 12.
Отзывы читателей