DOI 10.25987/VSTU.2020.16.4.010 УДК 621.37
МЕТОДИКА ПРОЕКТИРОВАНИЯ КОМПАРАТОРОВ КОДА С УЧЕТОМ ЗАДАННОГО БАЗИСА
А.А. Пирогов1, Ю.А. Пирогова1, С.А. Гвозденко1, Д.В. Шардаков1, Б.И. Жилин2
воронежский государственный технический университет, г. Воронеж, Россия 2Военный учебно-научный центр Военно-воздушных сил «Военно-воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина», г. Воронеж, Россия
Аннотация: программируемые логические интегральные схемы (ПЛИС) представляют собой конфигурируемые интегральные схемы, логика работы которых определяется посредством их программирования. Применение ПЛИС позволяет получать устройства, способные менять конфигурацию, подстраиваться под определенную задачу за счет гибко изменяемой, программируемой их структуры. При разработке сложных устройств могут применяться в качестве компонентов для проектирования готовые сложно-функциональные блоки (СФ-блоки). Использование программных СФ-блоков позволяет наиболее эффективно задействовать их в конечной структуре, в значительной степени сократить затраты на проектирование. В данной работе было проведено моделирование структуры, временной анализ двоичных компараторов, выполненных по различным схемам реализации. В ходе выполнения работы были изучены инструменты построения схемы цифрового узла с использованием встроенного схемного редактора, а также стандартных библиотечных элементов, создания собственных уникальных модулей, формирование шин. Ряд модулей проекта были получены на основе прямого программирования на языке описания аппаратуры Verilog. Функциональное моделирование модулей, построение временных диаграмм работы были произведены в программе iSim. Физическая верификация проекта проведена на основе отладочной платы ПЛИС Spartan 3E
Ключевые слова: двоичный компаратор кода, карта Карно, модель, временная диаграмма
Введение
Цифровые двоичные компараторы кода предназначены для сравнения двух кодовых комбинаций. Применяются компараторы в вычислительной технике и приборостроении как в виде готовых микросхем, так и в качестве функциональных узлов системы. Актуальность реализации компараторов на ПЛИС обусловлена возможностью получения гибкой программируемой архитектуры с изменяемыми параметрами.
На рис. 1 представлено схемное обозначение цифрового компаратора. Компараторы предназначены для сравнения двух п-разрядных кодовых слов (А и В), имеют 2п входов и 3 выхода FA>в, FA=в и FA<в.
Рис. 1. Двоичный компаратор кода
© Пирогов А.А., Пирогова Ю.А., Гвозденко С.А., Шардаков Д.В., Жилин Б.И., 2020
Вырабатываемые функции цифрового компаратора FA>B, FA=B и FA<B показывают результат сравнения кодов, если результат соответствует одной из функций, функция устанавливается в единицу. Функции FA>B, FA=B и FA<B компаратора должны быть равны следующим значениям [1]:
Fa=b = АВ+ АВ
=е
при А = В при А Ф B,
FA>B =АВ =
'1 при А > В \А = 1,В = 0| А = 0,В = 1
0 при А < В
А = 0,5 = 0 А = 1,В = 1
(1)
, (2)
FA<B =АВ =
'1 при А <5 \А = 0,В = 1\ А = 1,В = 0
0 при А > 5
А = 1,В = 1 А = 0,5 = 0
. (3)
Моделирование цифрового компаратора кода
Синтезированная схема компаратора на основе данных функций для сравнения одноразрядных чисел А и В представлена ниже.
Синтез схемы компаратора для двухразрядных кодов аналогичен. Если кодовые слова равны A=a0al и B=b0bl, то получаем A>B, если al>b0 или a0>b0 при a1=b1. Аналогично, A<B,
если а1<Ь0 или а0<Ь0 при условии а1=Ь1. Если а0=Ь0 и а 1=Ь1, то получаем равенство А=В. Ниже представлена таблица истинности двухразрядного компаратора кода.
Fa<b = a1b1 + а0 atb0 + а0ЬгЬ0 =
Рис. 2. Схема одноразрядного компаратора Таблица истинности компаратора
Номер набора a: a0 b1 b0 Fa=b Fa>b Fa<b
0 0 0 0 0 1 0 0
1 0 0 0 1 0 0 1
2 0 0 1 0 0 0 1
3 0 0 1 1 0 0 1
4 0 1 0 0 0 1 0
5 0 1 0 1 1 0 0
6 0 1 1 0 0 0 1
7 0 1 1 1 0 0 1
8 1 0 0 0 0 1 0
9 1 0 0 1 0 1 0
10 1 0 1 0 1 0 0
11 1 0 1 1 0 0 1
12 1 1 0 0 0 1 0
13 1 1 0 1 0 1 0
14 1 1 1 0 0 1 0
15 1 1 1 1 1 0 0
На следующем рис. 3 представлены карты Карно функций компаратора, построенные на основе его таблицы истинности.
Используя данные карты Карно, возможно провести минимизацию СДНФ (совершенных дизъюнктивных нормальных форм) заданных функций, полученных на основе таблицы истинности.
РА=В = % а^ Ьг Ь0 + % а0 Ьг Ь0 + а1а0Ь1Ь0 + а^а0ЬгЬ0 = +
а0Ь0) + а1Ь1(а^Ь0 + а0Ь0) =
(а1®Ь1) _Са0©Ьо)
Fa>b = + «obi b0 + ata0b0 =
a1b1 a0b1 b0 a1a0b0;
(4)
(5)
агЬг a0 atb0 а0Ь0Ьг .
(6)
Функции компаратора также могут быть приведены к единому базису. На основе полученных выражений проведем синтез схемы двухразрядного компаратора кода в полном базисе [2].
\Ь[Ьа
01_11
10
00 1
01 1
11 1
10 1
vbibo
Fa?B 01_11
10
!"i 1
■4-Jj л 1 [ 1 L___
L1 _iJ
aia6
i bo
00 01 11 10
ГГ. II1-1 ll L-.-^l "11
r— 1 ¡1 !
Рис. 3. Карты Карно функций компаратора
На рис. 4 модель компаратора, в полном базисе полученная на основе синтезированной схемы в схемном редакторе программного комплекса Active HDL.
Для проведения тестирования модуля необходимо сформировать главный модуль (Top module), в котором указываются выходные порты ввода/вывода для формирования тестовых последовательностей и контроля результатов работы. Структура главного модуля представлена ниже [3]:
module CMP_top(input [0:6] sw, output [0:2] ld);
CMP impl(.A0(sw[0]), .A1(sw[1]), .B0(sw[2]), .B1(sw[3]), .F_A_B(sw[4]), .F_A_big_B(sw[5]), .F_B_big_A(sw[6]),
F1_A_B(ld[0]), .F1_A_big_B(ld[1]),
F 1_B_big_A(ld[2]));
endmodule
CMP - имя файла с расширением *.vhd. RTL код исследуемого двоичного компаратора.
Рис. 4. Модель двухразрядного компаратора кода
"UJaO Hial Щк "Щ01 Hi f a b Hi f_a_b«j_b Iii f-b_b^_a Hi f 1_а_Ь l'i f i_Oig_b Hifl b big a 0 ns 58.767 ns 200 ns ■WCrts 600 ns 800 ns
1 1 1 I i
1_ _1
1
1_
Рис. 5. Временная диаграмма работы цифрового компаратора кода
Для формирования приведенной временной диаграммы работы устройства компаратора необходимо в программном комплексе сформировать набор тестовых векторов для каждого входного сигнала. В данном случае задаются переменные импульсы с интервалом моделирования 100нс.
В результате получена временная диаграмма работы устройства (рис. 5). Проанализировав данную диаграмму, можно сделать вывод, что построенная модель компаратора работает корректно, в соответствии с заданными функциями FA>B, FA=B и FA<B [3].
Активные состояния уровней выходных сигналов модели во всех наборах таблицы истинности соответствуют единичным состояни-
ям, что подтверждает адекватность полученной модели. Для запуска компаратора на входы А=В ^_А_В) подается логическая единица, а на входы А>В (F_A_big_B) и А<В (F_B_big_A) нули.
Моделирование цифровых компараторов кода в заданных базисах
На рис. 10 и 11 представлены модели компараторов в заданных базисах. Переход между конъюнктивной и дизъюнктивной формой проведен на основе закона де Моргана:
у = Х + У = ХУ = X У ;
(7)
у = Х У ! = Х + У + ! = Х + У + 1 ; (8)
Как видно из представленных рисунков, схема, соответствующая базису «И-НЕ», в свой состав включает меньшее количество вентилей.
Я-ц
-Ф-
Рис. 7. Элемент «2ИЛИ-НЕ» в базисе «3И-НЕ»
Рис. 8. Базис «3ИЛИ-НЕ»
Рис. 9. Элемент «3И-НЕ» в базисе «3ИЛИ-НЕ»
Рис. 6. Базис «3И-НЕ»
Рис. 10. Модель компаратора в базисе «ЗИ-НЕ»
Моделирование цифрового каскадного компаратора кода
В данном исследовании проводится моделирование четырехразрядного компаратора
кода. Для расширения разрядности сравниваемых слов используется метод каскадного соединения компараторов. В данном случае не происходит усложнения схемы, и сохраняются требуемые показатели быстродействия устройства.
Рис. 11. Модель компаратора в базисе «3ИЛИ-НЕ»
Рис. 12. Схема каскадного четырехразрядного двоичного компаратора
В полученной структуре использован принцип построения иерархических модулей, где в качестве внутреннего использован уникальный блок компаратора, построенный и внесенный в библиотеку элементов. Многоразрядный компаратор получен путем соединения входов управления и соответствующих выходов.
Схема соединения компараторов для получения каскадной структуры приведена на рис. 12. На рис. 13 приведена временная диаграмма работы.
Реализация главного модуля (Top module) на языке описания аппаратуры Verilog представлена ниже:
module CMP2_top(input [0:7] sw, input [0:0] btn,
output [0:2] ld);
CMP4 impl(.A(sw[0:3]), .B(sw[4:7]), F_A_B(btn[0]),
F 1_A_B(ld[0]), .F 1_A_big_B(ld[1]), •Fl_B_big_A(ld[2]));
endmodule
CMP4 - имя файла с расширением *.vhd. RTL код проектируемого четырехразрядного двоичного компаратора.
Name 0 200 400 600 TOO 1000 1200 1400 1600 1 i i i i i i i i i i i i i i i i i i
А <9 Xo V? Хз Хз X9 X4 Xo Хз XD XF Хв Хз XE X1
А(3) I I I I I I I
А(2) ......
А(1) Ill I III I
А(0) I I I I
Б (1 X2 X° X1 X° X2 X° XF X2 X3 X2 X4 X1 X3 X2
В(3) I I
В(2) I I I I
Б(1) II III I
В(0) I II I I I I
F1_A_B I I
F1_B_big_A I II II
F1_A_big_B I II II
F_A_B
Рис. 13. Временная диаграмма работы каскадного четырехразрядного двоичного компаратора
Заключение
В результате проведенного исследования реализована методика проектирования цифровых устройств на базе ПЛИС c учетом требований заданного базиса. Как было отмечено выше, при разработке сложных устройств могут применяться в качестве компонентов для проектирования готовые СФ-блоки. Использование программных СФ-блоков позволяет наиболее эффективно задействовать их в конечной структуре, в значительной степени сократить затраты на проектирование.
Моделирование было проведено в программных комплексах Xilinx ISE и Active HDL с использованием оболочки программирования на языке Verilog. Полученные временные диаграммы вариантов исполнения компараторов подтверждают адекватную работу моделей согласно математическому описанию устройства. В независимости от выбранного базиса реализации функции компараторов не отличаются. В работе также рассмотрен такой немаловажный вопрос, как построение каскадной схемы устройства для увеличения разрядности
сравниваемых кодовых слов. Результаты работы в дальнейшем могут быть использованы в качестве готовых блоков для проектирования более сложных цифровых устройств на ПЛИС. Модели имеют открытую архитектуру, что позволяет адаптировать их в системе под требуемую задачу. Полученная архитектура также позволяет расширять и наращивать структуру, увеличивать разрядность сравниваемых кодов за счет оптимального количества задействованных вентилей.
Литература
1. Клочков Г.Л. Цифровые устройства и микропроцессоры: учебник. Воронеж: ВИРЭ, 2005. 320с.
2. Самодуров А.С., Антипов С.А. Моделирование пеленгационных характеристик трехэлементной кольцевой антенной решетки с учетом влияния носителя// Радиотехника. 2017. № 6. С. 145-148.
3. Методика получения поведенческой модели для оценки отклонения значащих моментов цифрового сигнала от идеальных положений во времени / М.Ю. Чепе-лев, А.А. Пирогов, А.В. Башкиров, И.А. Бурмистров // Вестник Воронежского института ФСИН России. 2019. № 2. С. 14-25.
Поступила 08.06.2020; принята к публикации 19.08.2020
Информация об авторах
Пирогов Александр Александрович - канд. техн. наук, доцент, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: pirogov.alx@gmail.com
Пирогова Юлия Александровна - магистрант, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: gvendilon@mail.ru
Гвозденко Сергей Анатольевич - аспирант, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: jgsar@mail.ru
Шардаков Дмитрий Вячеславович - аспирант, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: demon.shar@yandex.ru
Жилин Борис Иванович - канд. техн. наук, старший преподаватель, Военный учебно-научный центр Военно-воздушных сил «Военно-воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина» (394064, Россия, г. Воронеж, ул. Старых Большевиков, 54 «А»), e-mail: borishms@mail.ru
METHOD OF DESIGNING CODE COMPARATORS TAKING INTO ACCOUNT A GIVEN
LOGICAL BASIS
A.A. Pirogov1, Yu.A. Pirogova1, S.A. Gvozdenko1, D.V. Shardakov1, B.I. Zhilin2
Voronezh State Technical University, Voronezh, Russia 2Military Scientific Educational Center of Military-Air Forces "N.E. Zhukovsky and Ju.A. Gagarin Military-Air Academy", Voronezh, Russia
Abstract: programmable logic integrated circuits (FPGAs) are configurable integrated circuits, the logic of which is determined by programming them. The use of FPGAs makes it possible to obtain devices capable of changing the configuration, adapting to a specific task due to their flexible, programmable structure. When developing complex devices, ready-made complex functional blocks (IP-cores) can be used as components for design. The use of software IP-cores allows you to use them most effectively in the final structure, to significantly reduce the cost of design. In this work, we performed modeling of the structure, a temporary analysis of binary comparators performed according to various implementation schemes. In the course of the work, the tools for constructing a digital node circuit using the built-in circuit editor were studied: Using standard library elements, creating your own unique modules, forming buses. A number of project modules were obtained through direct programming in the Verilog hardware description language. Functional modeling of modules, construction of time diagrams of work were performed in the iSim program. Physical verification of the project was carried out on the basis of the Spartan 3E FPGA debugging board
Key words: binary code comparator, Carnot map, model, time diagram
References
1. Klochkov G.L. "Digital devices and microprocessors" ("Tsifrovye ustroystva i mikroprotsessory"), textbook, Voronezh, VIRE, 2005, 320 p.
2. Samodurov A.S., Antipov S.A. "Modeling direction-finding characteristics of a three-element ring antenna array taking into account the influence of the carrier", Radio Engineering (Radiotekhnika), 2017, no. 6, pp. 145-148.
3. Chepelev M.Yu., Pirogov A.A., Bashkirov A.V., Burmistrov I.A. "Methodology for obtaining a behavioral model for assessing the deviation of significant moments of a digital signal from ideal positions in time", Bulletin of Voronezh Institute of the Federal Penitentiary Service of Russia (Vestnik Voronezhskogo instituta FSINRossii), 2019, no. 2, pp. 14-25..
Submitted 08.06.2020; revised 19.08.2020
Information about the authors
Aleksandr A. Pirogov, Cand. Sc. (Technical), Associate Professor, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh, 394026, Russia), e-mail: pirogov.alx@gmail.com
Yuliya A. Pirogova, MA, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh, 394026, Russia), e-mail: gvendilon@mail.ru
Sergey A. Gvozdenko, Graduate student, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh, 394026, Russia), e-mail: jgsar@mail.ru
Dmitriy V. Shardakov, Graduate student, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh, 394026, Russia), e-mail: demon.shar@yandex.ru
Boris I. Zhilin, Cand. Sc. (Technical), Assistant Professor, Military scientific educational center of Military-Air forces "N.E. Zhukovsky and Ju.A. Gagarin Military-Air academy" (54A Starykh Bol'shevikov st., Voronezh 394064, Russia), e-mail: bor-ishms@mail.ru