Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Управление большими системами. УБС-2017

.pdf
Скачиваний:
2
Добавлен:
12.11.2023
Размер:
17.48 Mб
Скачать

Информационные технологии в управлении техническими системами и технологическими процессами

программируемых логических блоков и программируемых соединений между этими блоками.

В настоящее время технология ПЛИС используется довольно узким кругом специалистов. В основном ПЛИС используются для прототипирования микросхем и для мелкосерийных изделий, когда изготовление микросхем на основе 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

σ (i1, 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

σ (i1, 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

Информационные технологии в управлении техническими системами и технологическими процессами

Однако выражения (1)–(4) справедливы лишь до ограничения n = < d в связи с требованиями Мида–Конвей на число последовательно соединённых транзисторов r, их не может быть больше d; если больше, то необходимо восстанавливать сигнал, например, используя инверторы [8]. На современном уровне технологии, как правило, d = 4. То есть требуется декомпозиция дерева (1) передающих транзисторов по d. При декомпозиции сложного дерева по k-LUT, k Є {1,2,3, 4…d}, n> = k

(5)

где

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ln.k = 2 n 8 + (2 k +1 + 6 k )

2 n i k +

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

n

 

 

k +1

 

n

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

(2

 

 

 

 

n

 

 

 

 

 

 

 

+ 6

k

 

 

k ) + 6 n ,

 

 

 

 

 

 

 

 

 

 

 

 

2 k +1 + 6 k

сложность одного k-дерева;

... – округление

внижнюю строну (floor); таких деревьев (k-LUT) необходимо

впервом слое 2 n k , затем нужно провести декомпозицию k-LUT этого первого слоя, получаем 2 n k k . Всего необхо-

 

n

 

 

димо i k-LUT, где i определяется из соотношения i =

 

всего

 

 

 

 

 

k

 

 

 

 

n

 

 

 

 

k

2 n i k i=1

 

n

 

и последний LUT на n

k переменных.

 

 

k

 

 

 

 

 

Таким образом, получим вероятность безотказной работы отказоустойчивого LUT с резервированием каждого транзистора:

 

r

 

(6)

P(t)LUT.FT = [ Ci(r+1)2 {e[(r+1)

2 i] λ tα (1eλ tα )i}]Ln.k .

 

i=0

 

Необходимо также оценивать временную задержку в количестве транзисторов. Соответствующее выражение имеет вид

(7)

T

= n + 2

n

 

 

+ 2

[

 

n

 

 

n

 

].

 

 

 

 

 

 

 

 

n.k

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

k

 

271

309

Управление большими системами. Выпуск XX

Очевидно, что должно выполняться условие (r +1) ≤ d.

Так, для парирования одного отказа при d = 4 возможна декомпозиция по не более чем 1-LUT (k = 1,2).

3. Реализация систем логических функций, заданных в СДНФ

Для реализации системы из m логических функций в предложенной ПЛИС FPGA [8] необходимо

(8)

 

2n

n

σ (i 1, j)

 

 

 

 

 

zout.l =

& xj

di ,l = 1,m.

 

 

i =1 j =1

 

 

 

 

Ортогональность обеспечивается ( d in = 1) в случае

 

 

n

 

 

 

(9)

dout.i

= &(xσj

(i1, j) xσj

(i1, j ) );i = 1,2n.

 

 

j=1

 

 

 

Выражение (9) описывает обеспечение ортогональности по каждой переменной в каждой ветви дерева. Для реализации систем логических функций в СДНФ на основе дешифратора разработан элемент DC LUT-ST, описываемый выражением

Dout.i

(10)D'out.i

n

 

 

 

σ (i, j ) D

 

= &(

D

in X

in

j=1

 

 

j

 

 

 

 

 

n

 

 

σ (i, j)

 

 

= &(D

in

X

D

in

j=1

 

j

 

 

 

 

 

 

I = [(Dout.i )(D'out.i

 

 

 

n

X σj

(i, j) ) ( & X μ X 'μ )';

 

 

 

μ =1

 

 

 

n

X σj

 

(i, j) ) ( & X μ X 'μ )';

 

 

 

μ =1

)]';i = 0,2n −1.

Предлагаемая отказоустойчивая реализация имеет вид

 

 

n

r+1

r+1

 

)]σ

(11) d

 

= &([ (& x

 

out.i

j=1

χ =1

χ =1

i.χ

j

r+1

r+1

 

 

 

 

(i1, j) [ (& x

)]σ (i1, j) );i =1,2n.

χ =1

χ =1

i.χ

 

j

Для программирования значений m логических функций предлагается

 

2n

r+1

r+1

(12)

zθ = ([

(& di.χ

 

i=1

χ =1 χ =1

r+1 r+1

)]out.i [ (& hi.χ )]l.i );l = 1, m.

χ =1 χ =1

где h – настройка вхождения конституент i в данную функцию zθ из m функций системы.

272

310