книги / Управление большими системами. УБС-2017
.pdfИнформационные технологии в управлении техническими системами и технологическими процессами
программируемых логических блоков и программируемых соединений между этими блоками.
В настоящее время технология ПЛИС используется довольно узким кругом специалистов. В основном ПЛИС используются для прототипирования микросхем и для мелкосерийных изделий, когда изготовление микросхем на основе ASIC (Appli- cation-specific integrated circluit) – интегральная схема специаль-
ного назначения – экономически нецелесообразно.
Основное отличие ПЛИС от микропроцессора – возможность создавать устройства с произвольной внутренней структурой. Упрощенно ПЛИС представляет собой набор определенных функциональных ячеек (макроячеек), соединение между которыми осуществляется с помощью программируемых пользователем ключей. Для хранения таблицы соединений используется специальная конфигурационная память. ПЛИС позволяет создавать законченное быстродействующее устройство на базе единственной микросхемы.
Помимо набора жесткой логики на кристалле, которая повышает быстродействие, ПЛИС содержит: блоки ввода/вывода, позволяющие использовать практически любой внешний вывод ПЛИС в качестве входа/выхода, блочную память, контроллер JTAG (Joint Test Action Group) и контроллер программирования flash-ПЗУ, процессорное ядро, тактовый генератор, выделенные умножители накопители и т.д.
В настоящее время не существует стандартизированного метода оценки ПЛИС, который разработчики могли бы использовать при выборе этого компонента для своих приложений [2]. Каждый производитель ПЛИС утверждает, что его компонент имеет несколько большее быстродействие, требует для компиляции несколько меньше времени и потребляет несколько меньшую мощность и т.д. Кроме того, любая компания способна придумать такие показатели, с помощью которых ее компоненты будут выглядеть гораздо лучше по сравнению с конкурирующими устройствами. Возникает вопрос, какие показатели отражают реальные характеристики, а какие служат лишь маркетинговым целям?
Компания Altera производит оценку ПЛИС с помощью программного средства разработки Quartus II, используя ком-
263
301
Управление большими системами. Выпуск XX
плексный набор типовых проектов заказчика, которые отражают различные области применения, например сетевые технологии, телекоммуникации, беспроводная и бытовая техника. К тому же проекты реализованы на основе различной технологии, например ASIC, вентильные матрицы и ПЛИС других производителей. Отобранные проекты (которые хранятся в защищенной базе данных) используются для того, чтобы сравнить функционирование реальных устройств заказчиков с разрабатываемой в текущий момент архитектурой. Проекты, не оптимизированные для ПЛИС компании Altera, оцениваются по результатам более 150 тыс. тестов [1]; затем на основе анализа предлагаются рекомендации по совершенствованию архитектуры следующих поколений ПЛИС или инструментов разработки.
На основе указанного процесса анализа (и учитывая тот факт, что в настоящее время отсутствует стандартизованный процесс тестирования и оценки) компания Altera разработала собственную объективную методику оценки, которая основана на реальных проектах и одобрена отраслевыми экспертами. Однако возникает проблема: имеющиеся проекты являются собственностью заказчиков Altera, и компания не может предоставить их другим заказчикам для оценки своих ПЛИС [3]. Несмотря на то, что все понимают смысл этого ограничения, возникает определенный скептицизм конечных пользователей. Например, из-за того что разработчики неимеют возможности собственноручно проверить утверждение, что ПЛИС семейства Stratix III в среднем на 35 % быстрее ПЛИС Virtex-5, компилируется в три раза быстрее, чем ПЛИС Virtex-5, акоэффициент заполнения кристалла в среднем равен 95 %, оно воспринимаетсяскептически.
Для сравнительного анализа были отобраны семь наиболее популярных и крупных проектов на интернет-ресурсе www.opencores.org, которые представлены в табл. 1.
Для тестирования были использованы FPGA компаний Altera и Xilinx с наибольшей логической емкостью и близкими параметрами. В табл. 2 приведены данные о выбранных для сравнения FPGA компаний Altera и Xilinx, а также о соответствующем программном обеспечении.
264
302
Информационные технологии в управлении техническими системами и технологическими процессами
Таблица 1. Проекты OpenCores
|
|
|
Числологи- |
Числоадаптив- |
|
|
ПроектыOpenCores |
|
ческихэле- |
ныхлогических |
|
||
|
|
|
ментов(ЛЭ) |
модулей(АЛМ) |
|
|
oc_aquarius (микропроцессорное |
|
6475 |
2590 |
|
||
ядроSuperH-2) |
|
|
||||
|
|
|
|
|
||
oc_des_des3perf9 (криптографиче- |
|
15670 |
6268 |
|
||
скоеядроDES3) |
|
|
||||
|
|
|
|
|
||
oc_ethernet (ядроEthernetMAC) |
|
3548 |
1419 |
|
||
oc_oc8051 (микропроцессорное |
|
4115 |
1646 |
|
||
ядро8051) |
|
|
||||
|
|
|
|
|
||
oc_or1k (микропроцессорноеядро |
|
7028 |
2811 |
|
||
OpenRISC) |
|
|
||||
|
|
|
|
|
||
ос_pci (интерфейсPCI) |
|
3630 |
1452 |
|
||
oc_usb_funct (ядроUSB 2.0) |
|
4318 |
1727 |
|
||
Таблица 2. Сравниваемые ПЛИС компаний Altera и Xilinx |
|
|||||
ПЛИС |
|
|
Altera |
|
Xilinx |
|
ТипFPGA |
|
|
EP3S340-3 |
|
XC5VLX330-2 |
|
Программноеобеспечение |
|
Quartus II v8.0 |
|
ISE 9.2i SP4 |
|
|
Показательскорости |
|
|
Средний |
|
Средний |
|
Отдельно взятые проекты OpenCores слишком малы для реализации на крупных ПЛИС (таких как EP3S340 компании
Altera и XCV5LX330 компании Xilinx). Для того чтобы мак-
симально заполнить ПЛИС и смоделировать влияние увеличения сложности проекта на производительность, коэффициент заполнения и время компиляции, в ПЛИС было реализовано копирование проектов OpenCores (путем повторения копий ядер проекта до полного заполнения устройства, насколько это допускалось программным средством разработки). При анализе и копировании проектов были соблюдены следующие условия:
–каждый блок копии проекта был подключен параллельно;
–для уменьшения числа линий ввода/вывода при усложнении проекта была использована логика свертки (сдвиговые регистры на входе и выходе);
265
303
Управление большими системами. Выпуск XX
–отсутствовали каналы с критичным временным режимом между ядрами и логикой свертки;
–логика свертки обеспечила весьма небольшие аппаратные издержки (<3 %); она была реализована путем параллельного подключения при отсутствии цепей с критичным временным режимом между ядрами и внутри самой логики.
Проекты OpenCores были скопированы в ПЛИС столько
раз, сколько допускалось емкостью прибора и программными средствами, поэтому при компиляции не было зафиксировано ошибок. Производительность, коэффициент заполнения и время компиляции ПЛИС фиксировались с интервалом в пять копий проекта OpenCores для каждого типа ПЛИС.
Литература
1.МАРАХОВСКИЙ В.Б., МЕЛЕХИН В.Ф. Проектирование средств синхронизации блоков глобально асинхронных систем с произвольной локальной синхронизацией // Информа-
ционно-управляющие системы. – 2010. – № 1. – С. 29–38.
2.СУРКОВ А.В. Использование Synopsys Design Compiler для синтеза самосинхронных схем // Программные продукты и системы. – 2014. – № 4. – С. 24–30.
3.VARSHAVSKY V.I., MARAKHOVSKY V.B., CHU T.A. Asynchronous Timing of Arrays with Synchronous Prototype // Proc. 2nd Intern. Conf. on Massively Parallel Computing Systems. – 1996. – P. 47–54.
4.SUTHERLAND I.E. Micropipelines. Communication of ACM. – June 1989. – Vol. 32. – No. 6. – P. 720–738.
IMPLEMENTATION OF SELF-TIMED CIRCUITS ON FPGA
Grekov Artem Vladimirovich, Perm Military Institute of National Guard Troops, Perm, associate professor (grekartemvl@mail.ru). Yuriy Fedosuyk, Perm Military Institute of National Guard Troops, Perm, cadet.
Victoria Patcura, Perm Military Institute of National Guard Troops, Perm, cadet (patsura_v@mail.ru).
266
304
Информационные технологии в управлении техническими системами и технологическими процессами
Abstract: The article is devoted to various aspects of the construction of a syndicated approach to the use of system logical integrated circuits, their classification and main differences from the synchronous approach are given. An analysis of the factors affecting the speed of operation of the circuits is presented, and the advantages and disadvantages of self-timed circuits are considered. The article describes the types of programmable logic integrated circuits and the ways of their construction, as well as the main manufacturers of field programmable gate arrays. The resulted schemes of construction of selftimed circuits on the basis of programmable logic integrated circuits. They studied the fundamental differences between a programmable logic circuit and a microprocessor in electronics. The analysis of used elements for construction of self-timed circuits is given. The use of programmable logic integrated circuits facilitates the creation of a flexible and efficient management system in any field of activity.
Keywords: Self-timed circuit, microprocessor, field programmable gate arrays, digital circuits, parameter analysis.
267
305
Управление большими системами. Выпуск XX
УДК 681.32 ББК 32.97
УСОВЕРШЕНСТВОВАННЫЕ МЕТОДЫ РЕАЛИЗАЦИИ ПРОГРАММИРУЕМОЙ ЛОГИКИ
Вихорев Р.В.1, Прохоров А.С.2, Скорнякова А.Ю.3, Тюрин С.Ф.4
(Пермский национальный исследовательский политехнический университет, Пермь)
В статье рассматриваются усовершенствованные методы реализации логических элементов в программируемых логических интегральных схемах (ПЛИС) на основе деревьев передающих транзисторов – LUT (Look upTable), реализующих логическую функцию, заданную в совершенной дизъюнктивной нормальной форме (СДНФ), а также на основе программируемых логических матриц (ПЛМ), реализующих логические функции в дизъюнктивной нормальной форме (ДНФ). С целью повышения эффективности реализации логики в статье предлагаются усовершенствованные варианты реализации систем функций в СДНФ, самосинхронные реализации вычисления логических функций в СДНФ и ДНФ, а также отказоустойчивые схемы программируемой логики.
Ключевые слова: логическая функция, самосинхронная схема, отказоустойчивость.
1 Руслан Владимирович Вихорев, аспирант, инженер-конструктор
(vihrusvla@gmail.com).
2 Андрей Сергеевич Прохоров, аспирант, программист (npoxop007@ yandex.ru).
3Александра Юрьевна Скорнякова (Плотникова), аспирант, инженер-
проектировщик (juris-plot@mail.ru).
4Сергей Феофентович Тюрин, доктор технических наук, профессор, заслуженный изобретатель РФ (tyurinsergfeo@yandex.ru).
268
306
Информационные технологии в управлении техническими системами и технологическими процессами
1.Введение
Ваппаратуре управления техническими системами с 70-х годов ХХ века широко применяются микросхемы программируемой логики [1]. Программирование сначала было однократным, на заводе-изготовителе, затем появилась возможность программирования пользователем с помощью специального программатора. Потом были разработаны электрически перепрограммируемые логические матрицы, реализующие логические функции в ДНФ. В настоящее время они также используются в составе программируемых логических интегральных схем (ПЛИС) типа CPLD (complex programmable logic devices) [1, 9]. В ПЛИС типа FPGA (field-programmable gate array) ис-
пользуется реализация в СДНФ в виде дерева передающих транзисторов [5, 6]. В ряде областей требуется высоконадежные устройства программируемой логики [10]. Для этого могут быть использованы так называемые функционально-полные толерантные элементы [11], а также самосинхронные схемы [4].
Целью работы является разработка устройств программируемой логики, обладающих улучшенными характеристиками реализации логических функций в СДНФ и в ДНФ.
Задачи:
1.Усовершенствовать реализацию систем логических функций в СДНФ на базе LUT.
2.Предложить самосинхронные реализации систем логических функций в СДНФ на базе LUT.
3.Повысить отказоустойчивость СДНФ и ДНФ реализаций программируемой логики.
2.Реализация логической функции, заданной в СДНФ
Логическая функция n переменных х, реализуемая на выходе дерева передающих транзисторов LUT (Look Up Table) ПЛИС FPGA [1, 5, 9], может быть представлена следующим образом:
|
|
2n |
n |
σ (i−1, j) |
|
|
|
|
|
|
|
|
|||||
(1) |
zout = |
& x j |
di |
, |
||||
|
|
i=1 j=1 |
|
|
|
|
|
269
307
Управление большими системами. Выпуск XX
где σ(i, j) – показатель инверсирования переменной в соответствующей ветви дерева передающих транзисторов, его значение противоположно значению j-го разряда в двоичной записи числа i; di {0,1} – значение i-й конфигурационной ячейки SRAM.
Для реализации самосинхронного LUT-ST предложено выражение [9]
|
|
|
|
|
= |
2n −1 |
2n |
σ (i −1, j) |
|
|
|
n |
|||
|
Zout.l.ST |
|
& |
X j |
|
Di ( & X μ X 'μ )', |
|||||||||
|
|
|
|
|
|
i |
=0 |
j =1 |
|
|
|
|
|
μ =1 |
|
(2) |
|
'out.l.ST |
= |
2n −1 |
2n |
σ (i −1, j) |
|
|
|
n |
|||||
|
|
||||||||||||||
Z |
|
|
|
& |
X j |
Di |
( & X μ X 'μ )',l = 1,m, |
||||||||
|
|
|
|
|
|
i =0 |
j =1 |
|
|
|
|
|
μ =1 |
||
|
I |
= |
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
Z |
|
|
|
Z ' |
|
|
|
|
|
|
||||
|
|
|
|
out.l.ST |
|
|
out.l.ST |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где |
n |
μ X 'μ |
– цепочки реализации Спейсера, I – индикатор |
||||||||||||
& X |
|||||||||||||||
|
μ =1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
окончания переходного процесса.
Парирование r отказов по некоторой i-й переменной предполагает реализацию выражения
|
|
2n |
n |
r +1 |
r +1 |
σ (i−1, j) |
|
|
|
|
|
|
|||||||
(3) |
zout. ft = |
&[ |
( & xi.χ )] |
di . |
|||||
|
|
i=1 j=1 |
χ =1 χ =1 |
|
|
|
|
При этом затраты по каждой переменной в каждой ветви дерева возрастают с 1 до (r +1)2. Вероятность безотказной ра-
боты транзисторов по каждой переменной для экспоненциальной модели (модели Вейбулла) имеет вид
r
(4) Ci + 2 {e−[(r+1)2 −i] λ tα (1− e−λ tα )i}, (r 1)
i=0
где λ – интенсивность отказов одного канала; α – коэффициент распределения Вейбулла; 1≤ α ≤ 2 ; t – время работы; r – число парируемых отказов.
270
308