RU2811404C1 - Programmable logic device - Google Patents

Programmable logic device Download PDF

Info

Publication number
RU2811404C1
RU2811404C1 RU2023120319A RU2023120319A RU2811404C1 RU 2811404 C1 RU2811404 C1 RU 2811404C1 RU 2023120319 A RU2023120319 A RU 2023120319A RU 2023120319 A RU2023120319 A RU 2023120319A RU 2811404 C1 RU2811404 C1 RU 2811404C1
Authority
RU
Russia
Prior art keywords
group
transistors
additional
inverters
inputs
Prior art date
Application number
RU2023120319A
Other languages
Russian (ru)
Inventor
Сергей Феофентович Тюрин
Иван Андреевич Васенин
Юрий Афанасьевич Степченков
Юрий Георгиевич Дьяченко
Станислав Игоревич Советов
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Пермский национальный исследовательский политехнический университет"
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Пермский национальный исследовательский политехнический университет" filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Пермский национальный исследовательский политехнический университет"
Application granted granted Critical
Publication of RU2811404C1 publication Critical patent/RU2811404C1/en

Links

Abstract

FIELD: computer technology.
SUBSTANCE: invention can be used to calculate logical functions in programmable logic integrated circuits (FPLIC). The result is achieved by introducing a subgroup of k-1 additional tuning inverters for each of the 2n tuning inverters of the group of 2n tuning inverters, a subgroup of k-1 additional tuning inputs for each input from the group of tuning inputs, k additional variable inputs, 2n additional groups of transmitting transistors k transistors per group, k additional input variable inverters and 2n additional outputs.
EFFECT: reducing the time delay when implementing logical functions of a large number of variables in the FPLIC, without increasing the complexity in the number of transistors.
1 cl, 4 tbl, 3 dwg

Description

Изобретение относится к вычислительной технике и может быть использовано для вычисления логических функций в программируемых логических интегральных схемах (ПЛИС).The invention relates to computer technology and can be used to calculate logical functions in programmable logic integrated circuits (FPGAs).

Известно программируемое логическое устройство, содержащее первую, вторую и третью группы D-триггеров количеством по m·2n (n - число входных переменных, m - число выходных функций), третью группу D-триггеров количеством 2(n-1)m, группу m(n-1) элементов И, счетчик, группу m·2n элементов И с тремя состояниями на выходе, дешифратор, группу m(n-1) элементов ИЛИ, вторую группу m·2n элементов И с тремя состояниями на выходе и m блоков вычисления функций, каждый блок вычисления функций содержит группу 4·2n элементов И с тремя состояниями на выходе, два D-триггера, T-триггер, RS-триггер фиксации импульса, пять элементов ИЛИ, три элемента И, четыре инвертора, n групп элементов 2·2 НЕ-И-ИЛИ (в каждую i-ю группу входит 2n-1 элементов,i=1,n ), элемент задержки, дополнительную группу элементов И с тремя состояниями на выходе (патент РФ № 2146840 от 20.03.2000, кл. G11С 17/00, G06F7/00). A programmable logic device is known, containing the first, second and third groups of D-flip-flops with a number of m·2 n (n is the number of input variables, m is the number of output functions), a third group of D-flip-flops with a number of 2(n-1)m, a group m(n-1) AND elements, a counter, a group of m 2 n AND elements with three output states, a decoder, a group of m(n-1) OR elements, a second group of m 2 n AND elements with three output states and m function calculation blocks, each function calculation block contains a group of 4 2 n AND elements with three output states, two D-flip-flops, a T-flip-flop, an RS pulse fixation flip-flop, five OR elements, three AND elements, four inverters, n groups of elements 2·2 NAND-OR (each i-th group includes 2 n-1 elements, i=1,n), a delay element, an additional group of AND elements with three output states (RF patent No. 2146840 dated 20.03 .2000, class G11С 17/00, G06F7/00).

Недостатком известного устройства являются высокие аппаратурные затраты, выраженные в количестве транзисторов, на реализацию логической функции в программируемых логических интегральных схемах (ПЛИС).A disadvantage of the known device is the high hardware costs, expressed in the number of transistors, for implementing a logical function in programmable logic integrated circuits (FPGAs).

Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является программируемое логическое устройство, содержащее группу n инверторов, n групп передающих транзисторов (n - число входных переменных) по транзисторов в группе, группу инверторов настройки, выходной инвертор, входы n переменных, группу входов настройки, выход устройства,The closest device of the same purpose to the claimed invention in terms of the set of characteristics is a programmable logic device containing a group of n inverters, n groups of transmitting transistors (n is the number of input variables) according to transistors in a group, group inverter settings, output inverter, n variable inputs, group settings inputs, device output,

причём затвор каждого нечётного транзистора i-й группы передающих транзисторов подключен к выходу i-го инвертора группы n инверторов, затвор каждого чётного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных, истоки транзисторов n-ой группы подключены к выходам инверторов группы инверторов настройки, входы которых являются группой входов настройки, стоки чётных и нечётных транзисторов n-ой группы объединены и подключены к истокам соответствующих транзисторов n-1 ой группы, стоки которых объединены и подключены к истокам соответствующих транзисторов n-2 ой группы, стоки двух последних транзисторов 1 ой группы объединены и подключены ко входу выходного инвертора, выход которого является выходом устройства (Look up table implementation of fast carry for adders and counters: US 005274581A, 28.12.1993; Строганов А., Цыбин С. Программируемая коммутация в ПЛИС: взгляд изнутри// Компоненты и технологии. - 2010. - №11. С. 56-62, рис. 9, [Электронный ресурс]. - URL: http://www.kit-e.ru/articles/plis/2010_11_56.php 20.02.23 г.).and the gate of each odd transistor of the i-th group of transmitting transistors connected to the output of the i-th inverter of a group of n inverters, the gate of each even transistor of the i-th group of transmitting transistors is connected to the i-th input of the inputs of n variables, sources transistors of the n-th group are connected to the outputs of the inverters of the group settings inverters whose inputs are a group settings inputs, the drains of the even and odd transistors of the n-th group are combined and connected to the sources of the corresponding transistors of the n-1st group, the drains of which are combined and connected to the sources of the corresponding transistors of the n-2nd group, the drains of the last two transistors of the 1st group are combined and connected to the input of the output inverter, the output of which is the output of the device (Look up table implementation of fast carry for adders and counters: US 005274581A, 12/28/1993; Stroganov A. , Tsybin S. Programmable switching in FPGA: an inside view// Components and Technologies. - 2010. - No. 11. P. 56-62, Fig. 9, [Electronic resource]. - URL: http://www.kit- e.ru/articles/plis/2010_11_56.php 02/20/23).

Недостатком известного устройства, принятого за прототип, является высокая задержка при реализации логических функций большого числа аргументов.The disadvantage of the known device, adopted as a prototype, is the high latency when implementing logical functions of a large number of arguments.

Это обусловлено следующими обстоятельствами. Технические средства прототипа ориентированы на реализацию логической функции в совершенной дизъюнктивной нормальной форме (СДНФ) при двоичном кодировании набора n переменных, что приводит к тому, что цепочка транзисторов в соответствующем дереве содержит не менее n транзисторов. В случае n >3 необходимо применение восстановителей уровня сигнала, что еще более увеличивает задержку распространения от конфигурационной памяти, в которой записаны значения логической функции на данном конкретном наборе, до выхода значения функции. This is due to the following circumstances. The prototype's technical means are focused on implementing a logical function in perfect disjunctive normal form (PDNF) with binary coding of a set of n variables, which leads to the fact that the chain of transistors in the corresponding tree contains at least n transistors. In the case of n > 3, it is necessary to use signal level restorers, which further increases the propagation delay from the configuration memory, in which the values of the logical function on this particular set are recorded, to the output of the function value.

При использовании унитарного кодирования набора n переменных логической функции в соответствующем дереве имеется только один транзистор, однако экспоненциально возрастают количество линий связи и аппаратные затраты в количестве транзисторов на реализацию входных инверторов. Одним из возможных путей преодоления этого противоречия может быть комбинированная реализация логических функций, использующая как двоичное, так и унитарное кодирование.When using unitary encoding of a set of n variables of a logical function, there is only one transistor in the corresponding tree, but the number of communication lines and hardware costs in the number of transistors for the implementation of input inverters increase exponentially. One of the possible ways to overcome this contradiction may be a combined implementation of logical functions, using both binary and unitary coding.

Признаки прототипа, совпадающие с существенными признаками заявляемого изобретения - содержит группу n инверторов входных переменных, n групп передающих транзисторов (n - число входных переменных) по транзисторов в i-ой группе, группу инверторов настройки, инвертор, n входов переменных, группу входов настройки, выход устройства; затвор каждого нечётного транзистора i-й группы передающих транзисторов подключен к выходу i-го инвертора группы n инверторов, затвор каждого чётного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных; входы инверторов из группы инверторов настройки являются группой входов настройки; стоки соответствующих чётных и нечётных транзисторов n-ой группы 2.n объединены и подключены к истокам соответствующих транзисторов 2.n-1 ой группы, стоки которых объединены и подключены к истокам соответствующих транзисторов n-2 ой группы 2.n-2; стоки двух последних транзисторов 1-ой группы и объединены и подключены ко входу инвертора, выход которого является выходом устройства.Features of the prototype that coincide with the essential features of the claimed invention - contains a group of n inverters of input variables, n groups of transmitting transistors (n is the number of input variables) according to transistors in the i-th group, group inverter settings, inverter, n variable inputs, group settings inputs, device output; the gate of each odd transistor of the i-th group of transmitting transistors is connected to the output of the i-th inverter of the group of n inverters, the gate of each even transistor of the i-th group of transmitting transistors is connected to the i-th input of the n variable inputs; inverter inputs from the group inverter settings are a group settings inputs; the drains of the corresponding even and odd transistors of the n-th group 2.n are combined and connected to the sources of the corresponding transistors of the 2.n-1st group, the drains of which are combined and connected to the sources of the corresponding transistors of the n-2nd group 2.n-2; The drains of the last two transistors of the 1st group are combined and connected to the input of the inverter, the output of which is the output of the device.

Задачей изобретения является уменьшение временной задержки при реализации логических функций большого количества переменных в ПЛИС, при не увеличении сложности в количестве транзисторов.The objective of the invention is to reduce the time delay when implementing logical functions of a large number of variables in the FPGA, without increasing the complexity in the number of transistors.

Поставленная задача была решена за счет того, что в заявляемом устройстве, содержащем группу n инверторов входных переменных, n групп передающих транзисторов (n - число входных переменных) по транзисторов в i-ой группе, группу инверторов настройки, инвертор, n входов переменных, группу входов настройки, выход устройства, The problem was solved due to the fact that in the claimed device containing a group of n inverters of input variables, n groups of transmitting transistors (n is the number of input variables) transistors in the i-th group, group inverter settings, inverter, n variable inputs, group settings inputs, device output,

причем and

затвор каждого нечётного транзистора i-й группы передающих транзисторов подключен к выходу i-го инвертора группы n инверторов, затвор каждого чётного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных, входы инверторов из группы инверторов настройки являются группой входов настройки, стоки соответствующих чётных и нечётных транзисторов n-ой группы 2.n объединены и подключены к истокам соответствующих транзисторов 2.n-1 ой группы, стоки которых объединены и подключены к истокам соответствующих транзисторов n-2 ой группы 2.n-2, стоки двух последних транзисторов 1-ой группы и объединены и подключены ко входу инвертора, выход которого является выходом устройства, согласно изобретению дополнительно введены подгруппы k-1 дополнительных инверторов настройки для каждого из инверторов настройки группы инверторов настройки, подгруппы k-1 дополнительных входов настройки для каждого входа из группы входов настройки, k дополнительных входов переменных, дополнительных групп передающих транзисторов по k транзистора в группе, k дополнительных инверторов входных переменных, дополнительных выходов, причем k дополнительных входов переменных подключены ко входам соответствующих k дополнительных инверторов входных переменных, выходы которых подключены к затворам соответствующих i-х (i=1…k) k-х транзисторов в каждой из дополнительных групп передающих транзисторов по k транзистора в группе, истоки которых подключены к выходам соответствующих i-х (i=1…k) инверторов группы инверторов настройки и подгрупп k-1 дополнительных инверторов настройки для каждого из инверторов настройки по k инверторов в группе, а стоки транзисторов в каждой группе из дополнительных групп передающих транзисторов по k транзистора в группе объединены и подключены к истокам соответствующих транзисторов в n-ой группе передающих транзисторов (n - число входных переменных) по транзисторов в i-ой группе, а также являются выходами из дополнительных выходов.the gate of each odd transistor of the i-th group of transmitting transistors is connected to the output of the i-th inverter of the group of n inverters, the gate of each even transistor of the i-th group of transmitting transistors is connected to the i-th input of the inputs of n variables, the inputs of inverters from the group inverter settings are a group settings inputs, the drains of the corresponding even and odd transistors of the n-th group 2.n are combined and connected to the sources of the corresponding transistors of the 2.n-1st group, the drains of which are combined and connected to the sources of the corresponding transistors of the n-2th group 2.n-2 , the drains of the last two transistors of the 1st group are combined and connected to the input of the inverter, the output of which is the output of the device, according to the invention, additional subgroups k-1 of additional inverters are introduced for each of the inverters. group settings inverter settings, subgroup k-1 additional settings inputs for each input from the group setting inputs, k additional variable inputs, additional groups of transmitting transistors, k transistors per group, k additional input variable inverters, additional outputs, and k additional variable inputs are connected to the inputs of the corresponding k additional input variable inverters, the outputs of which are connected to the gates of the corresponding i-th (i=1...k) k-th transistors in each of additional groups of transmitting transistors, k transistors per group, the sources of which are connected to the outputs of the corresponding i-th (i=1...k) inverters of the group tuning inverters and subgroups k-1 additional tuning inverters for each of the tuning inverters, k inverters in a group, and drains of transistors in each group from additional groups of transmitting transistors, k transistors in the group are combined and connected to the sources of the corresponding transistors in the n-th group of transmitting transistors (n is the number of input variables) by transistors in the i-th group, and are also outputs from additional outputs.

Признаки заявляемого технического решения, отличительные от прототипа - подгруппы k-1 дополнительных инверторов настройки для каждого из инверторов настройки группы инверторов настройки, подгруппы k-1 дополнительных входов настройки для каждого входа из группы входов настройки, k дополнительных входов переменных, дополнительных групп передающих транзисторов по k транзистора в группе, k дополнительных инверторов входных переменных, дополнительных выходов, k дополнительных входов переменных подключены ко входам соответствующих k дополнительных инверторов входных переменных, выходы которых подключены к затворам соответствующих i-х (i=1…k) k-х транзисторов в каждой из дополнительных групп передающих транзисторов по k транзистора в группе, истоки которых подключены к выходам соответствующих i-х (i=1…k) инверторов группы инверторов настройки и подгрупп k-1 дополнительных инверторов настройки для каждого из инверторов настройки по k инверторов в группе, а стоки транзисторов в каждой группе из дополнительных групп передающих транзисторов по k транзистора в группе объединены и подключены к истокам соответствующих транзисторов в n-ой группе передающих транзисторов (n - число входных переменных) по транзисторов в i-ой группе, а также являются выходами из дополнительных выходов.Features of the proposed technical solution that are different from the prototype - subgroups k-1 of additional inverters settings for each of inverter group settings inverter settings, subgroup k-1 additional settings inputs for each input from the group setting inputs, k additional variable inputs, additional groups of transmitting transistors, k transistors per group, k additional input variable inverters, additional outputs, k additional variable inputs are connected to the inputs of the corresponding k additional input variable inverters, the outputs of which are connected to the gates of the corresponding i-th (i=1...k) k-th transistors in each of additional groups of transmitting transistors, k transistors per group, the sources of which are connected to the outputs of the corresponding i-th (i=1...k) inverters of the group tuning inverters and subgroups k-1 additional tuning inverters for each of the tuning inverters, k inverters in a group, and drains of transistors in each group from additional groups of transmitting transistors, k transistors in the group are combined and connected to the sources of the corresponding transistors in the n-th group of transmitting transistors (n is the number of input variables) by transistors in the i-th group, and are also outputs from additional outputs.

Отличительные признаки в сочетании с известными позволяют уменьшить временную задержку за счет комбинирования унитарного и двоичного кодирования переменных путем введения двух режимов: режима смешанного кодирования, режима только унитарного кодирования.Distinctive features in combination with known ones make it possible to reduce the time delay by combining unitary and binary coding of variables by introducing two modes: a mixed coding mode, a unitary coding only mode.

Введение подгруппы k-1 дополнительных инверторов настройки для каждого из инверторов настройки группы инверторов настройки обеспечивает подачу констант настройки на дополнительные групп передающих транзисторов по k транзистора в группе при реализации как режима смешанного кодирования, так и режима только унитарного кодирования.Introduction of subgroup k-1 additional inverter settings for each of inverter group settings tuning inverters provides the supply of tuning constants to additional groups of transmitting transistors with k transistors in a group when implementing both the mixed coding mode and the unitary coding only mode.

Введение подгруппы k-1 дополнительных входов настройки для каждого входа из группы входов настройки обеспечивает прием констант настройки на дополнительные групп передающих транзисторов по k транзистора в группе при реализации как режима смешанного кодирования, так и режима только унитарного кодирования.Introduction of a subgroup of k-1 additional configuration inputs for each input from the group tuning inputs provides reception of tuning constants for additional groups of transmitting transistors with k transistors in a group when implementing both the mixed coding mode and the unitary coding only mode.

Введение k дополнительных входов переменных обеспечивает прием входных переменных при реализации как режима смешанного кодирования, так и режима только унитарного кодирования.The introduction of k additional variable inputs ensures the reception of input variables when implementing both the mixed coding mode and the unitary coding only mode.

Введение дополнительных групп передающих транзисторов по k транзистора в группе обеспечивает вычисление заданных текущей настройкой логических функций при реализации как режима смешанного кодирования, так и режима только унитарного кодирования.Introduction additional groups of transmitting transistors, k transistors in a group, ensure the calculation of logical functions specified by the current setting when implementing both the mixed coding mode and the unitary coding only mode.

Введение k дополнительных инверторов входных переменных обеспечивает получение инверсных значений входных переменных при реализации как режима смешанного кодирования, так и режима только унитарного кодирования. The introduction of k additional inverters of input variables ensures obtaining inverse values of input variables when implementing both the mixed coding mode and the unitary coding only mode.

Введение дополнительных выходов позволяет выдавать значения логических функций внешним устройствам в режиме только унитарного кодирования.Introduction additional outputs allows you to output the values of logical functions to external devices in unitary coding mode only.

Изменение связей по сравнению с известным устройством обеспечивает уменьшение временной задержки прохождения значения логической функции на данном наборе переменных, заданного сигналом настройки, за счет реализации комбинирования унитарного и двоичного кодирования переменных путем введения двух режимов: режима смешанного кодирования, режима только унитарного кодирования.Changing the connections in comparison with the known device ensures a reduction in the time delay for the passage of the value of a logical function on a given set of variables specified by the tuning signal, due to the implementation of a combination of unitary and binary coding of variables by introducing two modes: a mixed coding mode, a unitary coding only mode.

На фиг. 1 - изображена схема электрическая функциональная программируемого логического устройства. In fig. 1 - shows an electrical functional diagram of a programmable logic device.

На фиг. 2 - изображен график сравнения сложности предлагаемого устройства относительно прототипа.In fig. 2 - shows a graph comparing the complexity of the proposed device relative to the prototype.

На фиг. 3 - изображен график сравнения сложности предлагаемого устройства относительно прототипа и варианта с полностью унитарным кодированием.In fig. 3 - shows a graph comparing the complexity of the proposed device relative to the prototype and the version with completely unitary coding.

Программируемое логическое устройство содержит The programmable logic device contains

группу n инверторов входных переменных 1, n групп передающих транзисторов 2 (n - число входных переменных) по транзисторов в i-ой группе, группу инверторов настройки 3, инвертор 4, n входов переменных 5, группу входов настройки 6, выход устройства 7.group of n inverters of input variables 1, n groups of transmitting transistors 2 (n is the number of input variables) by transistors in the i-th group, group inverter settings 3, inverter 4, n variable inputs 5, group setting inputs 6, device output 7.

Затвор каждого нечётного транзистора i-й группы передающих транзисторов 2 подключен к выходу i-го инвертора группы n инверторов 1, затвор каждого чётного транзистора i-й группы передающих транзисторов 2 подключен к i-му входу входов n переменных 5. The gate of each odd transistor of the i-th group of transmitting transistors 2 connected to the output of the i-th inverter of group n inverters 1, the gate of each even transistor of the i-th group of transmitting transistors 2 is connected to the i-th input of n variable inputs 5.

Стоки соответствующих чётных и нечётных транзисторов n-ой группы 2.n объединены и подключены к истокам соответствующих транзисторов 2.n-1 ой группы, стоки которых объединены и подключены к истокам соответствующих транзисторов n-2 ой группы 2.n-2. Стоки двух последних транзисторов 1-ой группы 2.1.1 и 2.1.2 объединены и подключены ко входу инвертора 4, выход которого является выходом 7 устройства.The drains of the corresponding even and odd transistors of the n-th group 2.n are combined and connected to the sources of the corresponding transistors of the 2.n-1st group, the drains of which are combined and connected to the sources of the corresponding transistors of the n-2nd group 2.n-2. The drains of the last two transistors of the 1st group 2.1.1 and 2.1.2 are combined and connected to the input of inverter 4, the output of which is output 7 of the device.

Дополнительно введены подгруппы k-1 дополнительных инверторов настройки для каждого из инверторов настройки 3 группы инверторов настройки, подгруппы k-1 дополнительных входов настройки для каждого входа из группы входов настройки 6, k дополнительных входов переменных 8.1,8.2,…8.k, дополнительных групп передающих транзисторов по k транзистора в группе 9.1,9.2,…9.k, k дополнительных инверторов входных переменных 10.1,10.2,…10.k, дополнительных выходов …11.1.Additionally, subgroups of k-1 additional inverters have been introduced for each of the settings inverter settings 3 groups inverter settings, subgroup k-1 additional settings inputs for each input from the group setting inputs 6, k additional variable inputs 8.1,8.2,…8.k, additional groups of transmitting transistors, k transistors in group 9.1,9.2,…9.k, k additional inverters of input variables 10.1,10.2,…10.k, additional outputs …11.1.

k дополнительных входов переменных 8.1,8.2,…8.k подключены ко входам соответствующих k дополнительных инверторов входных переменных 10.1,10.2,…10.k, выходы которых подключены к затворам соответствущих k-х транзисторов в каждой из дополнительных групп передающих транзисторов 9.1,9.2,…9.k по k транзистора в группе, истоки которых подключены к выходам соответствующих инверторов группы инверторов настройки 3 по k инверторов в группе, а стоки транзисторов в каждой группе из дополнительных групп передающих транзисторов 9.1,9.2,…9.k по k транзистора в группе объединены и подключены к истокам соответствующих транзисторов в n-ой группе передающих транзисторов 2 (n - число входных переменных) по транзисторов в i-ой группе, а также являются выходами из дополнительных выходов …11.1.k additional inputs of variables 8.1,8.2,…8.k are connected to the inputs of the corresponding k additional inverters of input variables 10.1,10.2,…10.k, the outputs of which are connected to the gates of the corresponding k transistors in each of additional groups of transmitting transistors 9.1,9.2,…9.k each with k transistors in the group, the sources of which are connected to the outputs of the corresponding inverters of the group inverters are configured with 3 k inverters in a group, and transistor drains in each group of additional groups of transmitting transistors 9.1,9.2,…9.k by k transistors in the group are combined and connected to the sources of the corresponding transistors in the n-th group of transmitting transistors 2 (n is the number of input variables) by transistors in the i-th group, and are also outputs from additional outputs …11.1.

Программируемое логическое устройство работает следующим образом:The programmable logic device works as follows:

1.Этап программирования. В этом случае на группу входов настройки 6, состоящую из k подгрупп устанавливаются сигналы настройки одной или k (зависимости от режима работы) логических функций не более чем переменных, где ближайшее большее натуральное число.1.Programming stage. In this case, per group setting inputs 6, consisting of k subgroups, setting signals for one or k (depending on the operating mode) logical functions are set to no more than variables, where the nearest larger natural number.

Пример Example

Пусть, например, необходимо реализовать логическую функцию, зависящих от четырёх переменных y2 y1 x2 x1 и заданную номерами конституент единицы:Let, for example, it is necessary to implement a logical function depending on four variables y 2 y 1 x 2 x 1 and specified by the numbers of the constituents of unity:

y2(t+1)y1y2x2x1= 4,5,6,7,12,13,14,15.y 2 (t+1) y1y2x2x1 = 4,5,6,7,12,13,14,15.

В этом случае на затворы транзисторов дополнительной группы 8 также подаётся унитарный код (одна логическая единица, остальные нули, допустим, для k =4 код 0001). In this case, a unitary code is also supplied to the gates of the transistors of additional group 8 (one logical one, the rest are zeros, for example, for k = 4 code 0001).

В прототипе и в предлагаемом устройстве, работающем в режиме двоичного кодирования переменных, настройки описываются Таблицами 1, 2:In the prototype and in the proposed device operating in binary variable coding mode, the settings are described in Tables 1, 2:

Таблица 2 table 2

Настройка входов 6 в предлагаемом устройстве, работающем в режиме двоичного кодирования переменных k =4, n=4:Setting up inputs 6 in the proposed device operating in binary coding mode of variables k =4, n=4:

В известном устройстве задержка в дереве передающих транзисторов 2 равна четырем по числу переменных. Сложность оценивается выражениемIn the known device, the delay in the tree of transmitting transistors 2 is equal to four in the number of variables. The complexity is estimated by the expression

(1) (1)

В предлагаемом устройстве возьмем , получим сложностьIn the proposed device we take , we get the complexity

(2) (2)

Таким образом, сложность не ухудшилась, а задержка стала в два раза меньше:1+1=2. Настройка входов 6 в предлагаемом устройстве, работающем в комбинированном режиме, представлена Табл. 3.Thus, the complexity did not worsen, and the delay became half as much: 1+1=2. The configuration of inputs 6 in the proposed device operating in combined mode is presented in Table. 3.

6.1
y2(t+1)
6.1
y 2 (t+1)
6.1.16.1.1 6.1.26.1.2 6.1.36.1.3 6.1.46.1.4 6.1.56.1.5 6.1.66.1.6 6.1.76.1.7 6.1.86.1.8
00 00 00 00 11 11 11 11 6.2
y2(t+1)
6.2
y 2 (t+1)
6.2.16.2.1 6.2.26.2.2 6.2.36.2.3 6.2.46.2.4 6.2.56.2.5 6.2.66.2.6 6.2.76.2.7 6.2.86.2.8
00 00 00 00 11 11 11 11

При полностью унитарной реализации, когда , задержка равна единице, выходной сигнал снимается с одного из выходов 11, сложность оценивается выражением:With a completely unitary implementation, when , the delay is equal to one, the output signal is taken from one of the outputs 11, the complexity is estimated by the expression:

(3) (3)

В выражении (3) принято, что оставлено только два транзистора 2.1.2 и 2.1.1 для сохранения многорежимной работы. В этом случае возникает возможность реализации не одной, а двух функций, например еще функцииIn expression (3), it is assumed that only two transistors 2.1.2 and 2.1.1 are left to maintain multi-mode operation. In this case, it becomes possible to implement not one, but two functions, for example, another function

y1(t+1)y1y2x2x1=0,1,2,3,4,5,6,7,14,15.y 1 (t+1) y1y2x2x1 =0,1,2,3,4,5,6,7,14,15.

Настройка входов 6 в предлагаемом устройстве в унитарном режиме с реализацией двух функций показана в Табл.4.The configuration of inputs 6 in the proposed device in unitary mode with the implementation of two functions is shown in Table 4.

Таблица 4Table 4

Настройка входов 6 в предлагаемом устройстве в унитарном режиме:Setting up 6 inputs in the proposed device in unitary mode:

6.1
y2(t+1)
6.1
y 2 (t+1)
6.1.16.1.1 6.1.26.1.2 6.1.36.1.3 6.1.46.1.4 6.1.56.1.5 6.1.66.1.6 6.1.76.1.7 6.1.86.1.8 6.1.96.1.9 6.1.106.1.10 6.1.116.1.11 6.1.126.1.12 6.1.136.1.13 6.1.146.1.14 6.1.156.1.15 6.1.166.1.16
00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 11 6.2
y1(t+1)
6.2
y 1 (t+1)
6.2.16.2.1 6.2.26.2.2 6.2.36.2.3 6.2.46.2.4 6.2.56.2.5 6.2.66.2.6 6.2.76.2.7 6.2.86.2.8 6.2.96.2.9 6.2.106.2.10 6.2.116.2.11 6.2.126.2.12 6.2.136.2.13 6.2.146.2.14 6.2.156.2.15 6.2.166.2.16
11 11 11 11 11 11 11 11 00 00 00 00 00 11 11 11

2. Этап вычислений. На этом этапе на входы n переменных 5 и k переменных 8 поступают комбинированные значения входных переменных, причём на входы n переменных 5 - в двоичном коде, а на входы k переменных 8 - в унитарном, когда единице равен только один из входов. 2. Computation stage. At this stage, the inputs of n variables 5 and k variables 8 receive combined values of input variables, and the inputs of n variables 5 are in binary code, and the inputs of k variables 8 are in unitary code, when only one of the inputs is equal to one.

2.1. Вычисления в режиме двоичного кодирования 2.1. Binary mode calculations

В этом режиме входы 8 не меняются (на них устанавливается некоторый заданные код, например, единица на 8.1), меняются входы 5 в зависимости от наборов переменных. При этом соответствующее значение логической функции, записанное на входах 6 с учетом настройки входов 8, поступает через соответствующий инвертор группы 3, транзистор группы 9 на соответствующие транзисторы групп 2.n, 2.n-1,…2.1, активируемые значениями переменных 5, через инверторы 1 так, что на выходе инвертора 4 и выходе 7 формируется значение логической функции аналогично прототипу.In this mode, inputs 8 do not change (some specified code is set on them, for example, one at 8.1), inputs 5 change depending on the sets of variables. In this case, the corresponding value of the logical function, written at inputs 6 taking into account the settings of inputs 8, is supplied through the corresponding inverter of group 3, transistor of group 9 to the corresponding transistors of groups 2.n, 2.n-1,...2.1, activated by the values of variables 5, through inverters 1 so that at the output of inverter 4 and output 7 the value of the logical function is formed similarly to the prototype.

2.2. Вычисления в режиме комбинированного кодирования2.2. Computations in combined coding mode

В этом режиме меняются и входы 8 и входы 5. Поэтому, в отличие от первого режима, унитарный код на входах 8 определяет дополнительно для каждого двоичного набора входов 5 один из входов 6, активируя соответствующий транзистор группы 9. При этом активируются k транзисторов в k группах 9, но за счет транзисторов групп 2 выбирается только один в одной из групп. Дальнейшее прохождение сигнала аналогично первому режиму. Это позволяет уменьшить задержку реализации логических функций большого числа переменных при не увеличении сложности в количестве транзисторов.In this mode, both inputs 8 and inputs 5 change. Therefore, unlike the first mode, the unitary code on inputs 8 additionally determines for each binary set of inputs 5 one of the inputs 6, activating the corresponding transistor of group 9. In this case, k transistors in k are activated there are 9 groups, but due to the transistors of groups 2, only one is selected in one of the groups. Further passage of the signal is similar to the first mode. This makes it possible to reduce the delay in the implementation of logical functions of a large number of variables without increasing the complexity in the number of transistors.

2.3. Вычисления в режиме унитарного кодирования2.3. Computations in unitary coding mode

В этом режиме меняются только входы 8, которые и определяют значение логической функции (логический функций), записанные на входах 6. Эти значения поступают через соответствующие инверторы 3, транзисторы 9 на соответствующие выходы 11. При этом обеспечивается минимальная задержка, равная задержке одного транзистора 9, а также реализация систем логических функций, зависящих от одних и тех же переменных, закодированных унитарным кодом 8.In this mode, only the inputs 8 change, which determine the value of the logical function (logical functions) recorded at the inputs 6. These values are supplied through the corresponding inverters 3, transistors 9 to the corresponding outputs 11. This ensures a minimum delay equal to the delay of one transistor 9 , as well as the implementation of systems of logical functions that depend on the same variables, encoded with unitary code 8.

Оценка технической эффективностиTechnical efficiency assessment

Оценим эффективность предложенного устройства. Сложность прототипа в количестве транзисторов в зависимости от числа переменных n оценивается выражением:Let us evaluate the effectiveness of the proposed device. The complexity of the prototype in the number of transistors depending on the number of variables n is estimated by the expression:

(4) (4)

где - сложность n уровневого дерева передающих транзисторов;Where - complexity of the n-level tree of transmitting transistors;

- сложность настройки; - complexity of setup;

2 - сложность выходного инвертора.2 - complexity of the output inverter.

При увеличении числа входов до где - ближайшее большее натуральное число, получаем: When increasing the number of inputs to Where - the nearest larger natural number, we get:

(5) (5)

Предлагаемое устройство оценивается формулой:The proposed device is evaluated by the formula:

(6) (6)

где - сложность n уровневого дерева передающих транзисторов + сложность выходного инвертора без учета настройки из выражения (1);Where - complexity of the n-level tree of transmitting transistors + complexity of the output inverter without taking into account the settings from expression (1);

- сложность настройки, увеличившаяся в k раз; - setup complexity increased by k times;

- сложность дополнительных передающих транзисторов; - complexity of additional transmitting transistors;

- сложность дополнительных инверторов по дополнительным k входам. - complexity of additional inverters for additional k inputs.

В то же время, полностью унитарная реализация оценивается выражением:At the same time, a completely unitary implementation is evaluated by the expression:

(7) (7)

где - сложность настройки;Where - complexity of setup;

- сложность инверторов по входам. - complexity of inverters entrances.

Соответствующий график при k=8 имеет вид, приведенный на Фиг. 2.The corresponding graph for k=8 has the form shown in Fig. 2.

В этом случае задержка прототипа составляла бы n+3, а в предлагаемом устройстве n+1. При этом сложность меньше, чем у прототипа. При полностью унитарном кодировании задержка единичная (один транзистор), однако сложность очень высокая (Фиг. 3). In this case, the delay of the prototype would be n+3, and in the proposed device n+1. At the same time, the complexity is less than that of the prototype. With completely unitary encoding, the delay is unity (one transistor), but the complexity is very high (Fig. 3).

Предлагаемое устройство может работать в режиме полностью унитарного кодирования (при соответствующей настройке) по k дополнительным входам переменных 8.1,8.2,…8.k, при этом задержка также единичная, значения системы их k выходных функций от переменных выдаются на выходы …11.1, при этом выход 7 не используется. The proposed device can operate in a completely unitary coding mode (with appropriate settings) using k additional inputs of variables 8.1,8.2,…8.k, while the delay is also unit, the system values of their k output functions from variables are output …11.1, while output 7 is not used.

Достижение технического результата изобретения подтверждается приведёнными оценками.The achievement of the technical result of the invention is confirmed by the above estimates.

Claims (1)

Программируемое логическое устройство, содержащее группу n инверторов входных переменных, n групп передающих транзисторов (n - число входных переменных) по транзисторов в i-й группе, группу инверторов настройки, инвертор, n входов переменных, группу входов настройки, выход устройства, причем затвор каждого нечётного транзистора i-й группы передающих транзисторов подключен к выходу i-го инвертора группы n инверторов, затвор каждого чётного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных, входы инверторов из группы инверторов настройки являются группой входов настройки, стоки соответствующих чётных и нечётных транзисторов n-й группы 2.n объединены и подключены к истокам соответствующих транзисторов 2.n-1-й группы, стоки которых объединены и подключены к истокам соответствующих транзисторов n-2-й группы 2.n-2, стоки двух последних транзисторов 1-й группы и объединены и подключены ко входу инвертора, выход которого является выходом устройства, отличающееся тем, что в него дополнительно введены подгруппы k-1 дополнительных инверторов настройки для каждого из инверторов настройки группы инверторов настройки, подгруппы k-1 дополнительных входов настройки для каждого входа из группы входов настройки, k дополнительных входов переменных, дополнительных групп передающих транзисторов по k транзистора в группе, k дополнительных инверторов входных переменных, дополнительных выходов, причем k дополнительных входов переменных подключены ко входам соответствующих k дополнительных инверторов входных переменных, выходы которых подключены к затворам соответствующих i-х (i=1…k) k-х транзисторов в каждой из дополнительных групп передающих транзисторов по k транзистора в группе, истоки которых подключены к выходам соответствующих i-х (i=1…k) инверторов группы инверторов настройки и подгрупп k-1 дополнительных инверторов настройки для каждого из инверторов настройки по k инверторов в группе, а стоки транзисторов в каждой группе из дополнительных групп передающих транзисторов по k транзистора в группе объединены и подключены к истокам соответствующих транзисторов в n-й группе передающих транзисторов (n - число входных переменных) по транзисторов в i-й группе, а также являются выходами из дополнительных выходов.A programmable logic device containing a group of n input variable inverters, n groups of transmitting transistors (n is the number of input variables) transistors in the i-th group, group inverter settings, inverter, n variable inputs, group setting inputs, device output, and the gate of each odd transistor of the i-th group of transmitting transistors is connected to the output of the i-th inverter of the group of n inverters, the gate of each even transistor of the i-th group of transmitting transistors is connected to the i-th input of the inputs of n variables, inverter inputs from the group inverter settings are a group settings inputs, the drains of the corresponding even and odd transistors of the n-th group 2.n are combined and connected to the sources of the corresponding transistors of the 2.n-1st group, the drains of which are combined and connected to the sources of the corresponding transistors of the n-2nd group 2.n -2, the drains of the last two transistors of the 1st group are combined and connected to the input of the inverter, the output of which is the output of the device, characterized in that it additionally includes subgroups k-1 of additional inverters settings for each of the inverters group settings inverter settings, subgroup k-1 additional settings inputs for each input from the group setting inputs, k additional variable inputs, additional groups of transmitting transistors, k transistors per group, k additional input variable inverters, additional outputs, and k additional variable inputs are connected to the inputs of the corresponding k additional input variable inverters, the outputs of which are connected to the gates of the corresponding i-th (i=1...k) k-th transistors in each of additional groups of transmitting transistors, k transistors per group, the sources of which are connected to the outputs of the corresponding i-th (i=1...k) inverters of the group tuning inverters and subgroups k-1 additional tuning inverters for each of the tuning inverters, k inverters in a group, and drains of transistors in each group from additional groups of transmitting transistors, k transistors in the group are combined and connected to the sources of the corresponding transistors in the n-th group of transmitting transistors (n is the number of input variables) by transistors in the i-th group, and are also outputs from additional outputs.
RU2023120319A 2023-08-02 Programmable logic device RU2811404C1 (en)

Publications (1)

Publication Number Publication Date
RU2811404C1 true RU2811404C1 (en) 2024-01-11

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7550994B1 (en) * 2004-01-09 2009-06-23 Altera Corporation Programmable logic device with on-chip nonvolatile user memory
US7839169B2 (en) * 2002-07-12 2010-11-23 Sca Technica, Inc. Programmable logic device with embedded switch fabric
US20130293263A1 (en) * 2012-05-02 2013-11-07 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
US20140015566A1 (en) * 2011-05-19 2014-01-16 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
RU2637462C1 (en) * 2016-08-01 2017-12-04 федеральное государственное бюджетное образовательное учреждение высшего образования "Пермский национальный исследовательский политехнический университет" Programmable logical device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7839169B2 (en) * 2002-07-12 2010-11-23 Sca Technica, Inc. Programmable logic device with embedded switch fabric
US7550994B1 (en) * 2004-01-09 2009-06-23 Altera Corporation Programmable logic device with on-chip nonvolatile user memory
US20140015566A1 (en) * 2011-05-19 2014-01-16 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
US20130293263A1 (en) * 2012-05-02 2013-11-07 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
RU2637462C1 (en) * 2016-08-01 2017-12-04 федеральное государственное бюджетное образовательное учреждение высшего образования "Пермский национальный исследовательский политехнический университет" Programmable logical device

Similar Documents

Publication Publication Date Title
Dizdar et al. A high-throughput energy-efficient implementation of successive cancellation decoder for polar codes using combinational logic
Zhang et al. Low-latency sequential and overlapped architectures for successive cancellation polar decoder
Hashemi et al. Decoder partitioning: Towards practical list decoding of polar codes
Gastpar et al. To code, or not to code: Lossy source-channel communication revisited
CA2411650C (en) Fpga lookup table with high speed read decoder
Hashemi et al. Memory-efficient polar decoders
US20070152710A1 (en) Single and composite binary and multi-valued logic functions from gates and inverters
Pamuk et al. A two phase successive cancellation decoder architecture for polar codes
EP2007013A9 (en) Three-valued logic function circuit
Blake et al. Energy consumption of VLSI decoders
US4107549A (en) Ternary logic circuits with CMOS integrated circuits
RU2811404C1 (en) Programmable logic device
Coppolino et al. A multi-kernel multi-code polar decoder architecture
KR20190075129A (en) A frequency divider having selectable frequency and duty cycle
JP6159240B2 (en) Binary arithmetic encoding device, binary arithmetic encoding method, and binary arithmetic encoding program
Li et al. On the encoding complexity of systematic polar codes
Balaji et al. Low power and high speed synchronous circuits using transmission gates
Wang et al. An optimized encoding algorithm for systematic polar codes
RU2554853C1 (en) Control circuit of element of manchester carry chain
Sumana et al. Design and Implementation of Low Power-High Performance Mixed Logic Line Decoders
Nirmala et al. Design of Low Power, High Performance 2-4 and 4-16 Decoders by using GDI methodology
RU2573732C2 (en) Programmable logical device
CN116781087B (en) Two-to-one serial conversion circuit
RU2637462C1 (en) Programmable logical device
Stojković et al. Complexity reduction of Toffoli networks based on FDD