RU2674934C1 - Data groups shifting device - Google Patents

Data groups shifting device Download PDF

Info

Publication number
RU2674934C1
RU2674934C1 RU2018103557A RU2018103557A RU2674934C1 RU 2674934 C1 RU2674934 C1 RU 2674934C1 RU 2018103557 A RU2018103557 A RU 2018103557A RU 2018103557 A RU2018103557 A RU 2018103557A RU 2674934 C1 RU2674934 C1 RU 2674934C1
Authority
RU
Russia
Prior art keywords
groups
elements
modules
module
cascade
Prior art date
Application number
RU2018103557A
Other languages
Russian (ru)
Inventor
Игорь Михайлович Ядыкин
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ)
Priority to RU2018103557A priority Critical patent/RU2674934C1/en
Application granted granted Critical
Publication of RU2674934C1 publication Critical patent/RU2674934C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes

Abstract

FIELD: computer engineering.SUBSTANCE: invention relates to the field of computing and can be used in signal processing processors and general-purpose processors, devices for converting information, encoding and decoding data, and cryptography devices. Device contains N groups of external input data DG1, DG2, …, DGN with bit width W1, W2, …, WN, respectively, U bits of the external inputs of the task value of the number of shifts V0, V1, …, V(U-1) by the amount of shift groups from 0 to L, where U=[logL]+1(smaller integer), (N+L) groups of external output data QG1, QG2, …, QG(N+L), U cascades of modules of elements from the 0th to (U-1), each i-th stage of which, where i=0, 1, …, (U-1), contains by (N+2-1) modules of elements combined in three sections, (U+1) internal shear tires SB0, SB1, …, SBU with digit capacity of groups K (i, j), where j=1, 2, …, (N+2-1) – the module number in the cascade, the first sections of the cascades consist of modules containing groups of 2AND gates with a second inverse input, the second sections of cascades consist of modules containing groups of 2AND gates with a second inverse input, 2AND gates and 2OR gates, and the third sections of cascades consist of modules containing groups of 2AND gates.EFFECT: technical result is the ability to shift groups of binary data of different bit widths without losing the advanced discharges and reducing hardware costs.1 cl, 1 dwg, 5 tbl

Description

Изобретение относится к области вычислительной техники и может быть использовано в процессорах обработки сигналов и процессорах общего назначения, устройствах преобразования информации, кодирования и декодирования данных, устройствах криптографии.The invention relates to the field of computer technology and can be used in signal processors and general purpose processors, information conversion devices, data encoding and decoding, cryptography devices.

Известно устройство Circuit for rotating, left shifting, or right shifting bits (US 5978822 (А) МПК G06F 5/01, G06F 7/76, заявлено 29.12.1995, опубликовано 02.11.1999), в котором описано устройство для выполнения логических, циклических и арифметических сдвигов входных данных влево и вправо на заданное количество разрядов. Устройство содержит матрицу мультиплексоров сдвига только в одну сторону - влево, старших разрядов, мультиплексор передачи входных данных в прямом или в «перевернутом» обратном порядке разрядов, мультиплексор передачи разрядов кода величины сдвига или их инверсию, выходы которого управляют матрицей мультиплексоров, выходной мультиплексор передачи сдвинутых данных в прямом порядке разрядов или в «перевернутом» обратном порядке разрядов со сдвигом на один разряд.A device Circuit for rotating, left shifting, or right shifting bits is known (US 5978822 (A) IPC G06F 5/01, G06F 7/76, claimed December 29, 1995, published November 2, 1999), which describes a device for performing logical, cyclic and arithmetic shifts of the input data left and right by a given number of bits. The device contains a matrix of shift multiplexers in only one direction — to the left, higher bits, a multiplexer for transmitting input data in the forward or “inverted” reverse order of bits, a multiplexer for transmitting bits of a code for the shift value or their inversion, the outputs of which control the matrix of multiplexers, and an output transfer multiplexer for shifting data in the direct order of the bits or in the “inverted” reverse order of the bits with a shift of one bit.

Недостатками данного устройства является низкое быстродействие, так как входные данные кроме матрицы мультиплексоров дополнительно проходят через мультиплексор передачи входных данных и выходной мультиплексор, и потеря старших выдвигаемых разрядов при логическом сдвиге.The disadvantages of this device is the low speed, since the input data, in addition to the matrix of multiplexers, additionally passes through the input data transmission multiplexer and the output multiplexer, and the loss of the most advanced extended bits during a logical shift.

Известно устройство Fast conversion two's complement encoded shift value for a barrel shifter (US 5948050 (А) МПК G06F 5/01, заявлено 19.12.1996, опубликовано 07.09.1999), в котором описано устройство для выполнения циклических или логических сдвигов влево или вправо N разрядных входных данных на величину сдвига в диапазоне от 0 до N-1 разряда, который задается М разрядами, где M=log2N. Устройство сдвига содержит N разрядные входные данные, N разрядные выходные данные, М разрядов задания значения количества сдвигов, двунаправленную матрицу сдвига размерностью N×N, группу из М элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, дешифратор направления сдвига, дешифратор и мультиплексор количества и направления сдвига.A device is known Fast conversion two's complement encoded shift value for a barrel shifter (US 5948050 (A) IPC G06F 5/01, claimed 19.12.1996, published 07.09.1999), which describes a device for performing cyclic or logical shifts left or right N bit input data for a shift value in the range from 0 to N-1 bits, which is set by M bits, where M = log 2 N. The shift device contains N bit input data, N bit output data, M bits sets the number of shifts, a bi-directional matrix shear dimension N × N, a group of M elements EXCLUSIVE LEE, decoder shift direction, decoder and multiplexer amount and shift direction.

Недостатками данного устройства является большой объем оборудования и низкое быстродействие, а также не возможность выполнения сдвигов на N и более N разрядов и потеря старших выдвигаемых разрядов при логическом сдвиге.The disadvantages of this device is the large amount of equipment and low speed, as well as the inability to perform shifts of N or more N digits and the loss of senior extended digits in a logical shift.

Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является, принятое за прототип, устройство сдвига (RU №2613533 С1, МПК G06F 5/01, G11C 19/00, Н03М 13/00 заявлено 08.02.2016, опубликовано 16.03.2017, Бюл. №8), содержащее N разрядов внешних входных данных D0, D1, …, D(N-1), N разрядов выходных данных Y0, Y0, …, Y(N-1), V разрядов задания значения количества сдвигов К0, К1, …, К(V-1), двунаправленную матрицу сдвига размерностью N×M, где M≤log2N, из М каскадов, содержащих группы элементов 2И-2И-2И-3ИЛИ и 2И-2И-2ИЛИ, блок модификации количества сдвигов, блок управления направлением сдвига и блок формирования флага нулевого результата, причем в матрице сдвигов каскады содержат по три группы элементов.The closest device of the same purpose to the claimed invention in terms of features is the shear device adopted for the prototype (RU No. 2613533 C1, IPC G06F 5/01, G11C 19/00, H03M 13/00 announced on 02/08/2016, published on 03/16/2017 , Bull. No. 8), containing N bits of external input data D0, D1, ..., D (N-1), N bits of output data Y0, Y0, ..., Y (N-1), V bits of setting the value of the number of shifts K0 , K1, ..., K (V-1), a bi-directional shift matrix of dimension N × M, where M≤log 2 N, from M cascades containing groups of elements 2I-2I-2I-3ILI and 2I-2I-2OR, modification block amount of shift s, the direction of shift control unit and forming unit zero result flag, wherein the matrix shift stages comprise three groups of elements.

Недостатками данного устройств является потеря старших выдвигаемых разрядов при логическом сдвиге, не возможность выполнения групповых сдвигов входных данных заданной разрядности и большой объем оборудования.The disadvantages of this device are the loss of the most advanced extended bits during a logical shift, the inability to perform group shifts of input data of a given bit depth and a large amount of equipment.

Техническим результатом предлагаемого устройства является возможность сдвига групп двоичных данных различной разрядности без потери выдвигаемых разрядов и снижение аппаратных затрат.The technical result of the proposed device is the ability to shift groups of binary data of different capacities without loss of extended bits and reduce hardware costs.

Указанный технический результат при осуществлении изобретения достигается тем, что устройство сдвига групп данных содержитThe specified technical result in the implementation of the invention is achieved by the fact that the device shift data groups contains

N групп внешних входных данных DG1, DG2, …, DGN, с разрядностью групп W1, W2, …, WN соответственно, U разрядов внешних входов задания значения количества сдвигов V0, V1, …, V(U-1) на величину сдвига групп от 0 до L, где U=[log2L]+1 (меньшее целое), (N+L) групп внешних выходных данных QG1, QG2, …, QG(N+L), (U+1) внутренних шин сдвига SB0, SB1, …, SBU, U каскадов модулей элементов с 0-го по (U-1), из которых каждый i-й каскад, где i=0, 1, …, (U-1), содержит по (N+2i+1-1) модулей элементов объединенных в три секции,N groups of external input data DG1, DG2, ..., DGN, with bits of groups W1, W2, ..., WN, respectively, U bits of the external inputs to specify the number of shifts V0, V1, ..., V (U-1) by the group shift from 0 to L, where U = [log 2 L] +1 (smaller integer), (N + L) groups of external output data QG1, QG2, ..., QG (N + L), (U + 1) internal shift buses SB0 , SB1, ..., SBU, U cascades of modules of elements from 0 to (U-1), of which each i-th cascade, where i = 0, 1, ..., (U-1), contains (N + 2 i + 1 -1) modules of elements combined in three sections,

причем первые секции каскадов состоят из модулей содержащих группы элементов 2И со вторым инверсным входом, вторые секции каскадов состоят из модулей содержащих группы элементов 2И со вторым инверсным входом, элементов 2И и элементов 2ИЛИ, а третьи секции каскадов состоят из модулей содержащих группы элементов 2И,moreover, the first sections of cascades consist of modules containing a group of elements 2I with a second inverse input, the second sections of cascades consist of modules containing a group of elements 2I with a second inverse input, elements 2I and 2IL elements, and the third sections of cascades consist of modules containing a group of elements 2I,

причем в каждом i-м каскаде первые секции содержат по 2i модулей элементов, начиная с первого до 2i модуля i-го каскада, вторые секции содержат по (N-1) модулей элементов, начиная с (2i+1)-го до (N+2i-1) модуля i-го каскада, а третьи секции содержат по 2i модулей элементов, начиная с (N+2i)-го до (N+2i+1-1) модуля i-го каскада,moreover, in each i-th cascade, the first sections contain 2 i modules of elements, starting from the first to 2 i modules of the i-th cascade, the second sections contain (N-1) modules of elements, starting from (2 i +1) to the (N + 2 i -1) module of the i-th cascade, and the third sections contain 2 i modules of elements, starting from the (N + 2 i ) th to (N + 2 i + 1 -1) modules of the i-th cascade cascade

причем N групп внешних входных данных DG1, DG2, …, DGN являются N группами разрядов 0-й внутренней шины сдвига SB0 с разрядностью групп K(0, 1), K(0, 2), …, K(0, N) соответственно, а выходы модулей элементов каждого i-го каскада образуют соответствующие группы выходов каскадов и являются группами разрядов последующей (i+1)-й внутренней шины сдвига SB(i+1) с разрядностью групп К(i+1, j), где j=1, 2, …, (N+2i+1-1) - номер модуля в каскаде, при этом разряды групп первых U внутренних шин сдвига SB0, SB1, …, SB(U-1), кроме последней внутренней шины SBU, соединены с входами групп модулей элементов соответствующих одноименных каскадов с 0-го по (U-1)-й каскад,moreover, N groups of external input data DG1, DG2, ..., DGN are N groups of bits of the 0th internal shift bus SB0 with the bits of the groups K (0, 1), K (0, 2), ..., K (0, N), respectively , and the module outputs of the elements of each i-th cascade form the corresponding groups of cascade outputs and are the bit groups of the subsequent (i + 1) -th internal shift bus SB (i + 1) with the bit depth of the groups K (i + 1, j), where j = 1, 2, ..., (N + 2 i + 1 -1) is the number of the module in the cascade, while the bits of the groups of the first U internal shift buses SB0, SB1, ..., SB (U-1), except for the last internal SBU bus connected to the inputs of the groups of modules eleme comrade respective stages with the same names 0th to (U-1) th stage,

причем в каждом i-м каскаде в первых секциях модулей в каждом j1-м модуле, где j1=1, 2, …, 2i, содержится группа из К(i, j1) элементов 2И со вторым инверсным входом, выходы которых являются выходами первых младших 2i модулей, с первого до (2i)-го модуля i-го каскада,and in each i-th cascade in the first sections of the modules in each j1-th module, where j1 = 1, 2, ..., 2 i , there is a group of K (i, j1) elements 2I with a second inverse input, the outputs of which are outputs the first lower 2 i modules, from the first to the (2 i ) -th module of the i-th cascade,

во вторых секциях модулей каждого i-го каскада в каждом j2-м модуле содержится К(i, j2) элементов 2И со вторым инверсным входом, К(i, j2-2i) элементов 2И, где j2=2i+1, 2i+2, …, (2i+N-1) и (min(К(i, j2), К(i, j2-2i))) элементов 2ИЛИ, у которых первые и вторые входы соединены с выходами соответствующих первых элементов 2И со вторым инверсным входом и соответствующих первых элементов 2И j2-го модуля, при этом каждый j2-й модуль имеет (max(К(i, j2), К(i, j2-2i))) выходов, из которых первые (min(К(i, j2), К(i, j2-2i))) выходы j2-го модуля соединены с выходами элементов 2 ИЛИ, а выходы j2-го модуля с (min(К(i, j2), К(i, j2-2i))+1)-го до (max(К(i, j2), К(i, j2-2i)))-го соединены с выходами одноименных элементов 2И со вторым инверсным входом модуля при К(i, j2)>К(i, j2-2i) или соединены с выходами одноименных элементов 2И модуля при К(i, j2)<К(i, j2-2i),in the second sections of the modules of each i-th cascade, each j2-th module contains K (i, j2) elements 2I with a second inverse input, K (i, j2-2 i ) elements 2I, where j2 = 2 i +1, 2 i +2, ..., (2 i + N-1) and (min (К (i, j2), К (i, j2-2 i ))) elements 2 OR, in which the first and second inputs are connected to the outputs of the corresponding first elements 2I with the second inverse input and the corresponding first elements 2I of the j2nd module, with each j2nd module has (max (К (i, j2), К (i, j2-2 i ))) outputs, of which the first (min (К (i, j2), К (i, j2-2 i ))) the outputs of the j2th module are connected to the outputs of the elements 2 OR, and the outputs of the j2th module with (min (К ( i, j2), К (i, j2-2 i )) + 1) th to (max (К (i, j2), К (i, j2-2 i ))) of the second connected to the outputs of the same elements 2I with the second inverse input of the module at K (i, j2)> K (i, j2-2 i ) or connected to the outputs of the same elements 2and the module at K (i, j2) <K (i, j2-2 i ),

а в третьих секциях каждого i-го каскада в каждом j3-м модуле, где j3=2i+N, 2i+N+1, …, (2i+1+N-1), содержится группа из К(i, j3) элементов 2И, выходы которых являются выходами последних старших 2i модулей, с (N+2i)-го до (N+2i+1-1)-го модуля i-го каскада,and in the third sections of each i-th cascade in each j3-th module, where j3 = 2 i + N, 2 i + N + 1, ..., (2 i + 1 + N-1), contains a group from K (i , j3) elements 2I, the outputs of which are the outputs of the last senior 2 i modules, from the (N + 2 i ) th to the (N + 2 i + 1 -1) th module of the i-th cascade,

причем в каждом i-м каскаде первые входы всех элементов 2И со вторым инверсным входом соединены с первыми входами соответствующих одноименных элементов 2И и также соединены с соответствующими разрядами групп соответствующей i-й внутренней шины сдвига SBi, а вторые инверсные входы всех элементов 2И со вторым инверсным входом соединены между собой, а также соединены со вторыми входами всех элементов 2И и соединены с соответствующим Vi-м разрядом внешних входов задания значения количества сдвигов,moreover, in each i-th cascade, the first inputs of all elements 2I with a second inverse input are connected to the first inputs of the corresponding elements of the same name 2I and are also connected to the corresponding bits of the groups of the corresponding i-th internal shift bus SBi, and the second inverse inputs of all elements 2I with a second inverse the input is interconnected and also connected to the second inputs of all elements 2I and connected to the corresponding Vi-th discharge of the external inputs of the value of the number of shifts,

выходы (N+L) групп последней старшей (U+1)-й внутренней шины сдвига SBU являются (N+L) группами внешних выходных данных QG1, QG2, …, QG(N+L) с разрядностью групп К(U, 1), К(U, 2), …, К(U, (N+L)) соответственно.the outputs of (N + L) groups of the last highest (U + 1) -th internal shift bus SBU are (N + L) groups of external output data QG1, QG2, ..., QG (N + L) with the capacity of groups K (U, 1 ), K (U, 2), ..., K (U, (N + L)), respectively.

На фиг. 1 представлена схема предлагаемого устройства сдвига групп данных при количестве групп N=5 с разрядностью групп соответственно W1=2, W2=2, W3=3, W4=2, W5=1 и величиной сдвига L=7.In FIG. 1 shows a diagram of the proposed device for shifting data groups with the number of groups N = 5 with the group widths W1 = 2, W2 = 2, W3 = 3, W4 = 2, W5 = 1 and the shift value L = 7.

На фиг. 1 и в тексте введены следующие обозначения:In FIG. 1 and the following notation is introduced in the text:

DG1, DG2, …, DGN - N групп внешних входных данных, с разрядностью W1, W2, …, WN соответственно,DG1, DG2, ..., DGN - N groups of external input data, with bits W1, W2, ..., WN, respectively,

L - величина сдвига групп,L is the magnitude of the shift groups

V0, V1, …, V(U-1) - U разрядов внешних входов задания значения количества сдвигов, где U=[log2L]+1 (меньшее целое),V0, V1, ..., V (U-1) - U bits of the external inputs of setting the value of the number of shifts, where U = [log 2 L] +1 (smaller integer),

QG1, QG2, …, QG(N+L) - (N+L) групп внешних выходных данных,QG1, QG2, ..., QG (N + L) - (N + L) groups of external output data,

К(U, 1), К(U, 2), …, К(U, (N+L)) - разрядность групп внешних выходных данных,K (U, 1), K (U, 2), ..., K (U, (N + L)) - the width of the groups of external output data,

SB0, SB1, …, SBU - (U+1) внутренних шин сдвига,SB0, SB1, ..., SBU - (U + 1) internal shift buses,

i - номер каскада, где i=0, 1, …, (U-1),i is the cascade number, where i = 0, 1, ..., (U-1),

j1 - номер модуля в первых секциях каждого i-го каскада, где j1=1, 2, …, 2i,j1 - the module number in the first section of each i-th stage, where j1 = 1, 2, ..., 2 i,

j2 - номер модуля во вторых секциях каждого i-го каскада, где j2=2i+1, 2i+2, …, (2i+N-1),j2 is the module number in the second sections of each i-th cascade, where j2 = 2 i +1, 2 i +2, ..., (2 i + N-1),

j3 - номер модуля в третьих секциях каждого i-го каскада, где j3=2i+N, 2i+N+1, …, (2i+1+N-1),j3 is the module number in the third sections of each i-th cascade, where j3 = 2 i + N, 2 i + N + 1, ..., (2 i + 1 + N-1),

j - номер модуля в каскаде, где j=1, 2, …, (N+2i+1-1),j is the module number in the cascade, where j = 1, 2, ..., (N + 2 i + 1 -1),

К(i, j) - разрядность групп j-го модуля в i-м каскаде,K (i, j) is the bit depth of the groups of the j-th module in the i-th cascade,

1j - j-й модуль элементов в каскаде,1j - j-th module of elements in the cascade,

2 - элемент 2И со вторым инверсным входом,2 - element 2I with a second inverse input,

3 - элемент 2И,3 - element 2I,

4 - элемент 2ИЛИ.4 - element 2 OR.

Устройство имеет N групп внешних входных данных DG1, DG2, …, DGN, с разрядностью групп W1, W2, …, WN соответственно, U разрядов внешних входов задания значения количества сдвигов V0, V1, …, V(U-1) на величину сдвига групп от 0 до L, где U=[log2L]+1 (меньшее целое), (N+L) групп внешних выходных данных QG1, QG2, …, QG(N+L), (U+1) внутренних шин сдвига SB0, SB1, …, SBU, U каскадов модулей элементов с 0-го по (U-1), из которых каждый i-й каскад, где i=0, 1, …, (U-1), содержит по (N+2i+1-1) модулей элементов объединенных в три секции.The device has N groups of external input data DG1, DG2, ..., DGN, with a capacity of groups W1, W2, ..., WN, respectively, U bits of the external inputs to specify the number of shifts V0, V1, ..., V (U-1) by the amount of shift groups from 0 to L, where U = [log 2 L] +1 (smaller integer), (N + L) groups of external output data QG1, QG2, ..., QG (N + L), (U + 1) internal buses shift SB0, SB1, ..., SBU, U cascades of modules of elements from 0 to (U-1), of which each i-th cascade, where i = 0, 1, ..., (U-1), contains by ( N + 2 i + 1 -1) modules of elements combined in three sections.

Первые секции каскадов состоят из модулей содержащих группы элементов 2И со вторым инверсным входом, вторые секции каскадов состоят из модулей содержащих группы элементов 2И со вторым инверсным входом, элементов 2И и элементов 2ИЛИ, а третьи секции каскадов состоят из модулей содержащих группы элементов 2И.The first sections of cascades consist of modules containing a group of elements 2I with a second inverse input, the second sections of cascades consist of modules containing a group of elements 2I with a second inverse input, elements 2I and 2IL elements, and the third sections of cascades consist of modules containing a group of elements 2I.

В каждом i-м каскаде, где i=0, 1, …, (U-1), первые секции содержат по 2i модулей элементов, начиная с первого до 2i модуля i-го каскада, вторые секции содержат по (N-1) модулей элементов, начиная с (2i+1)-го до (N+2i-1) модуля i-го каскада, а третьи секции содержат по 2i модулей элементов, начиная с (N+2i)-го до (N+2i+1-1) модуля i-го каскада.In each i-th cascade, where i = 0, 1, ..., (U-1), the first sections contain 2 i modules of elements, starting from the first to 2 i modules of the i-th cascade, the second sections contain (N- 1) modules of elements, starting from (2 i +1) th to (N + 2 i -1) modules of the i-th cascade, and the third sections contain 2 i modules of elements, starting from (N + 2 i ) -th to (N + 2 i + 1 -1) the module of the i-th cascade.

N групп внешних входных данных DG1, DG2, …, DGN являются N группами разрядов 0-й внутренней шины сдвига SB0 с разрядностью групп K(0, 1), K(0, 2), …, K(0, N) соответственно. Выходы модулей элементов каждого i-го каскада образуют соответствующие группы выходов каскадов и являются группами разрядов последующей (i+1)-й внутренней шины сдвига SB(i+1) с разрядностью групп К(i+1, j), где j=1, 2, …, (N+2i+1-1) - номер модуля в каскаде. Разряды групп первых U внутренних шин сдвига SB0, SB1, …, SB(U-1), кроме последней внутренней шины SBU, соединены с входами групп модулей элементов соответствующих одноименных каскадов с 0-го по (U-1)-й каскад.N groups of external input data DG1, DG2, ..., DGN are N groups of bits of the 0-th internal shift bus SB0 with the bits of the groups K (0, 1), K (0, 2), ..., K (0, N), respectively. The outputs of the modules of the elements of each i-th cascade form the corresponding groups of outputs of the cascades and are groups of bits of the subsequent (i + 1) -th internal shift bus SB (i + 1) with the bit depth of the groups K (i + 1, j), where j = 1 , 2, ..., (N + 2 i + 1 -1) - the number of the module in the cascade. The discharges of the groups of the first U internal shift buses SB0, SB1, ..., SB (U-1), in addition to the last internal SBU bus, are connected to the inputs of groups of modules of elements of the corresponding cascades of the same name from the 0th to the (U-1) th cascade.

В каждом i-м каскаде в первых секциях модулей в каждом j1-м модуле, где j1=1, 2, …2i, содержится группа из К(i, j1) элементов 2И со вторым инверсным входом, выходы которых являются выходами первых младших 2i модулей, с первого до (2i)-го модуля i-го каскада.Each i-th cascade in the first sections of the modules in each j1-th module, where j1 = 1, 2, ... 2 i , contains a group of K (i, j1) elements 2I with a second inverse input, the outputs of which are the outputs of the first junior 2 i modules, from the first to the (2 i ) -th module of the i-th cascade.

Во вторых секциях модулей каждого i-го каскада в каждом j2-м модуле содержится К(i, j2) элементов 2И со вторым инверсным входом, К(i, j2-2i) элементов 2И, где j2=2i+1, 2i+2, …, (2i+N-1) и (min(К(i, j2), …, К(i, j2-2i))) элементов 2ИЛИ, у которых первые и вторые входы соединены с выходами соответствующих первых элементов 2И со вторым инверсным входом и соответствующих первых элементов 2И j2-го модуля. При этом каждый j2-й модуль имеет (max(К(i, j2), К(i, j2-2i))) выходов, из которых первые (min(К(i, j2), К(i, j2-2i))) выходы j2-го модуля соединены с выходами элементов 2 ИЛИ, а выходы j2-го модуля с (min(К(i, j2), К(i, j2-2i))+1)-го до (max(К(i, j2), К(i, j2-2i)))-го соединены с выходами одноименных элементов 2И со вторым инверсным входом модуля при К(i, j2)>К(i, j2-2i) или соединены с выходами одноименных элементов 2И модуля при К(i, j2)<К(i, j2-2i).In the second sections of the modules of each i-th cascade, each j2-th module contains K (i, j2) elements 2I with a second inverse input, K (i, j2-2 i ) elements 2I, where j2 = 2 i +1, 2 i +2, ..., (2 i + N-1) and (min (К (i, j2), ..., К (i, j2-2 i ))) 2 OR elements in which the first and second inputs are connected to the outputs the corresponding first elements 2I with a second inverse input and the corresponding first elements 2I of the j2nd module. Moreover, each j2nd module has (max (К (i, j2), К (i, j2-2 i ))) outputs, of which the first (min (К (i, j2), К (i, j2- 2 i ))) the outputs of the j2nd module are connected to the outputs of the 2 OR elements, and the outputs of the j2th module from (min (К (i, j2), К (i, j2-2i)) + 1) -st to ( max (K (i, j2), K (i, j2-2 i ))) of the second connected to the outputs of the elements of the same name 2I with the second inverse input of the module at K (i, j2)> K (i, j2-2 i ) or connected to the outputs of the elements of the same module 2I at K (i, j2) <K (i, j2-2 i ).

В третьих секциях каждого i-го каскада в каждом j3-м модуле, где j3=2i+N, 2i+N+1, …, (2i+1+N-1), содержится группа из К(i, j3) элементов 2И, выходы которых являются выходами последних старших 2i модулей, с (N+2i)-го до (N+2i+1-1)-го модуля i-го каскада.In the third sections of each i-th cascade in each j3-th module, where j3 = 2 i + N, 2 i + N + 1, ..., (2 i + 1 + N-1), contains a group from K (i, j3) elements 2I, the outputs of which are the outputs of the last senior 2 i modules, from the (N + 2 i ) th to the (N + 2 i + 1 -1) th module of the i-th cascade.

Кроме того в каждом i-м каскаде первые входы всех элементов 2И со вторым инверсным входом соединены с первыми входами соответствующих одноименных элементов 2И и также соединены с соответствующими разрядами групп соответствующей i-й внутренней шины сдвига SBi, а вторые инверсные входы всех элементов 2И со вторым инверсным входом соединены между собой, а также соединены со вторыми входами всех элементов 2И и соединены с соответствующим Vi-м разрядом внешних входов задания значения количества сдвигов.In addition, in each ith cascade, the first inputs of all elements 2I with a second inverse input are connected to the first inputs of the corresponding elements of the same name 2I and are also connected to the corresponding bits of the groups of the corresponding i-th internal shift bus SBi, and the second inverse inputs of all elements 2I to the second the inverse input are interconnected, and also connected to the second inputs of all elements 2I and connected to the corresponding Vi-th discharge of the external inputs to set the number of shifts.

Выходы (N+L) групп последней старшей (U+1)-й внутренней шины сдвига SBU являются (N+L) группами внешних выходных данных QG1, QG2, …, QG(N+L) с разрядностью групп К(U, 1), К(U, 2), …, К(U, (N+L)) соответственно.The outputs of the (N + L) groups of the last highest (U + 1) -th internal shift bus SBU are (N + L) groups of external output data QG1, QG2, ..., QG (N + L) with the capacity of the groups K (U, 1 ), K (U, 2), ..., K (U, (N + L)), respectively.

Принцип работы устройства состоит в следующем.The principle of operation of the device is as follows.

Устройство предназначено для групповых сдвигов влево в сторону старших групп N групп внешних входных данных DG1, DG2, …, DGN, с заданной разрядностью групп W1, W2, …, WN соответственно, на величину сдвига групп от 0 до L. Группы входных данных являются целыми числами без знака. Во входных данных группа DG1 является младшей группой, а группа DGN является старшей группой. Сдвиг групп данных осуществляется в U каскадах модулей содержащих группы элементов 2И со вторым инверсным входом, элементов 2И и элементов 2ИЛИ, где U=[log2L]+l (меньшее целое). Величина сдвига групп L задается U разрядами внешних входов задания значения количества сдвигов V0, V1, …, V(U-1).The device is designed for group left shifts towards the older groups of N groups of external input data DG1, DG2, ..., DGN, with a given bit depth of the groups W1, W2, ..., WN, respectively, by the amount of shift of the groups from 0 to L. The input data groups are integer unsigned numbers. In the input, the DG1 group is the youngest group, and the DGN group is the senior group. The shift of data groups is carried out in U cascades of modules containing a group of elements 2I with a second inverse input, elements 2I and elements 2OR, where U = [log 2 L] + l (a smaller integer). The magnitude of the shift of the groups L is set by U bits of the external inputs to set the number of shifts V0, V1, ..., V (U-1).

В каждом i-м каскаде на первые входы всех элементов 2И со вторым инверсным входом и первые входы всех элементов 2И поступают данные соответствующих разрядов групп с внутренней шины SBi, а на вторые входы всех элементов 2И со вторым инверсным входом и вторые входы всех элементов 2И поступает значение с соответствующего Vi-го разряда задания значения количества сдвигов. Но так как элементы 2И расположены в модулях каскадов со сдвигом влево (в сторону старших групп) относительно элементов 2И с инверсным входом на 2i модулей, то данные с внутренних шин на выходы элементов 2И инверсным входом передаются без сдвига при Vi=0, а на выходы элементов 2И со сдвигом на 2' групп при Vi=1.In each i-th cascade, the first inputs of all elements 2I with a second inverse input and the first inputs of all elements 2I receive data of the corresponding bits of groups from the internal bus SBi, and the second inputs of all elements 2I with a second inverse input and the second inputs of all elements 2I receive the value from the corresponding Vi-th digit of the task of the value of the number of shifts. But since the elements 2I are located in cascade modules with a left shift (towards the older groups) relative to the elements 2I with an inverse input to 2 i modules, the data from the internal buses to the outputs of the elements 2I with an inverse input are transmitted without a shift at Vi = 0, and to the outputs of the elements 2I with a shift of 2 'groups at Vi = 1.

При сдвиге разряды входных данных по группам сдвигаются влево в сторону старших групп на величину сдвига L без потери выдвигаемых разрядов групп. При этом разряды L младших групп заполняются нулями. В таблице 1 приведен пример сдвига восьми групп входных данных DG1, DG2, …, DG8 на величину сдвига в диапазоне от 0 до 7 групп. В таблице 2 приведен пример сдвига входных групп данных по каскадам. В каждом i-м каскаде, где i=0, 1, …, (U-1), выполняется передача групп данных без сдвига или со сдвигом на 2i групп влево. На входы 0-го каскада поступают группы входных данных. Далее с выходов предыдущего i-го каскада группы данных передаются на внутреннюю шину SB(i+1) и далее на входы последующего (i+1)-го каскада.With a shift, the bits of the input data by groups are shifted to the left towards the older groups by the amount of shift L without loss of the extended bits of the groups. In this case, the digits L of the lower groups are filled with zeros. Table 1 shows an example of a shift of eight groups of input data DG1, DG2, ..., DG8 by the amount of shift in the range from 0 to 7 groups. Table 2 shows an example of shifting input data groups by cascades. In each ith cascade, where i = 0, 1, ..., (U-1), data groups are transferred without a shift or with a shift of 2 i groups to the left. The inputs of the 0th stage receive input data groups. Further, from the outputs of the previous i-th stage, data groups are transferred to the internal bus SB (i + 1) and then to the inputs of the subsequent (i + 1) -th stage.

В таблице 2 в каскадах выделены три секции групп данных:In table 2, three sections of data groups are highlighted in cascades:

- в первых секциях, младших групп каскадов, на выходы каскадов при нулевом значении входа задания сдвига Vi=0 передаются значение входных групп каскада с внутренней шины SBi без сдвига, а при единичном значении Vi=1 формируются нулевые значения разрядов, что реализуется на элементах 2И с инверсным входом (входом запрета) соединенным с входом задания сдвига Vi,- in the first sections, lower cascade groups, the cascade outputs at zero value of the input of the shift job Vi = 0 transmit the value of the input groups of the cascade from the internal SBi bus without a shift, and at a single value of Vi = 1, zero bits are formed, which is implemented on elements 2I with an inverse input (inhibit input) connected to the input of the shift job Vi,

- во вторых секциях, средних группах каскадов, выполняется передача на выходы данных без сдвига (Vi=0) или со сдвигом на 2i групп (Vi=1) влево, что реализуется на элементах 2И с инверсным входом и элементах 2И, выходы которых соединены по разрядам с входами соответствующих элементов 2ИЛИ,- in the second sections, middle groups of cascades, data is transmitted to the outputs without a shift (Vi = 0) or with a shift of 2 i groups (Vi = 1) to the left, which is implemented on elements 2I with an inverse input and elements 2I, the outputs of which are connected by digits with the inputs of the corresponding elements 2OR,

- в третьих секциях, старших группах каскадов, выполняется передача на выходы данных с внутренней шины SBi со сдвигом на 2i групп (Vi=1) влево или формируются нулевые значения разрядов (Vi=0), что реализуется на элементах 2И.- in the third sections, the senior cascade groups, data is transmitted to the outputs from the internal SBi bus with a shift of 2 i groups (Vi = 1) to the left or zero bit values (Vi = 0) are generated, which is implemented on elements 2I.

Если все группы входных данных DG1, DG2, …, DGN имеют одинаковую разрядность групп W1=W2=…=WN=w, то во всех модулях элементов всех каскадов количество входных разрядов групп и количество выходов модуля равны w. Например, в таблице 3, для пяти групп входных данных DG1, DG2, …, DG5 и разрядности всех групп w=3 при величине сдвига групп от 0 до L=7, приведен пример расчета необходимого количества элементов 2И с инверсным входом (обозначен неИ), элементов 2И (И) и элементов 2ИЛИ (ИЛИ) по каскадам и модулям, а также отмечены разрядности групп К(i, j) внутренних шин сдвига SB0, SBI, SB2, SB3. Общее количество элементов в трех каскадах составляет 150 элементов.If all groups of input data DG1, DG2, ..., DGN have the same bit depth of the groups W1 = W2 = ... = WN = w, then in all modules of elements of all stages the number of input bits of the groups and the number of outputs of the module are equal to w. For example, in table 3, for the five groups of input data DG1, DG2, ..., DG5 and the bit depth of all groups w = 3 with the group shift value from 0 to L = 7, an example of calculating the required number of 2I elements with an inverse input (indicated by nonI) is given , elements 2I (AND) and elements 2OR (OR) in stages and modules, and also the bit depths of the groups K (i, j) of the internal shift buses SB0, SBI, SB2, SB3 are marked. The total number of elements in three stages is 150 elements.

В таблице 4 приведены расчеты количества элементов по каскадам и модулям для пяти групп входных данных DG1, DG2, …, DG5 и разрядности групп W1=2, W2=2, W3=3, W4=2, W5=1 при величине сдвига групп от 0 до L=7, при величине сдвига групп от 0 до L=7. В этом случае в модулях первых секций количество выходных разрядов равно количеству входных разрядов в группе и значения выходов передаются с выходов элементов 2И с инверсным входом, количество которых равно входной разрядности модуля. В модулях вторых секций при равенстве количества разрядов групп без сдвига и групп со сдвигом количество выходных разрядов также равно количеству входных разрядов в группах. В каждом модуле вторых секций при превышении разрядности входных групп без сдвига над разрядностью групп со сдвигом старшие разряды выходов модуля соединены с выходами элементов 2И с инверсным входом, а при превышении разрядности входных групп со сдвигом над разрядностью групп без сдвига старшие разряды выходов модуля соединены с выходами элементов 2И. В модулях третьих секций количество выходных разрядов равно количеству входных разрядов в группе и значения выходов передаются с выходов элементов 2И, количество которых равно входной разрядности модуля.Table 4 shows the calculations of the number of elements in cascades and modules for five groups of input data DG1, DG2, ..., DG5 and bit depths of the groups W1 = 2, W2 = 2, W3 = 3, W4 = 2, W5 = 1 with the group shift from 0 to L = 7, with a shift of groups from 0 to L = 7. In this case, in the modules of the first sections, the number of output bits is equal to the number of input bits in the group and the values of the outputs are transmitted from the outputs of elements 2I with an inverse input, the number of which is equal to the input bit depth of the module. In the modules of the second sections, when the number of bits of groups without a shift and groups with a shift is equal, the number of output bits is also equal to the number of input bits in groups. In each module of the second sections, when the bit depth of the input groups without a shift exceeds the bit depth of the groups with a shift, the highest bits of the module outputs are connected to the outputs of 2I elements with an inverse input, and when the bit depth of the input groups with a shift exceeds the bit depth of groups without a shift, the higher bits of the module outputs are connected to the outputs elements 2I. In the modules of the third sections, the number of output bits is equal to the number of input bits in the group and the values of the outputs are transmitted from the outputs of 2I elements, the number of which is equal to the input bit depth of the module.

Значения внешних (N+L) групп выходных данных QG1, QG2, …, QG(N+L) снимаются с последней старшей (U+1)-й внутренней шины сдвига SBU, а разрядность выходных групп соответствует разрядности модулей элементов последнего (U-1)-го каскада, которые являются разрядами групп внутренней шины SBU - К(U, 1), К(U, 2), …, К(U, (N+L)) соответственно.The values of the external (N + L) groups of output data QG1, QG2, ..., QG (N + L) are taken from the last highest (U + 1) -th internal shift bus SBU, and the bit capacity of the output groups corresponds to the bit width of the modules of the elements of the last (U- 1) of the cascade, which are the bits of the internal bus groups SBU - K (U, 1), K (U, 2), ..., K (U, (N + L)), respectively.

Предлагаемое устройство работает следующим образом.The proposed device operates as follows.

На входы устройства подаются N групп внешних входных данных DG1, DG2, …, DGN с заданной разрядностью W1, W2, …, WN соответственно, U разрядов внешних входов задания значения количества сдвигов V0, V1, …, V(U-1), задающие величину сдвига от 0 до L групп.N input groups of external input data DG1, DG2, ..., DGN with a given bit depth W1, W2, ..., WN, respectively, U bits of the external inputs of setting the number of shifts V0, V1, ..., V (U-1), specifying the amount of shift from 0 to L groups.

Далее N групп внешних входных данных DG1, DG2, …, DGN поступают на внутреннюю шину сдвига SB0 и далее на 0-й каскад модулей элементов. Например, в таблице 4 приведены количество элементов и разрядность модулей каскадов для пяти N=5 групп входных данных DG1, DG2, …, DG5 с заданной разрядностью групп W1=2, W2=2, W3=3, W4=2, W5=1 при величине сдвига групп от 0 до L=7. В 0-м каскаде содержится 10 элементов 2И с инверсным входом и 10 элементов 2И, что соответствует входной разрядности всех групп. В первом модуле 11 (j=1) 0-го каскада входная группа DG1 имеет разрядность два К(0, 1)=2, поэтому в первом модуле содержится два элемента 2И с инверсным входом, выходы которых передаются на выходы каскада и внутреннюю шину SB1 и имеют разрядность К(1, 1)=2. Во втором модуле 12 (j=2) 0-го каскада разрядности данных без сдвига К(0, 2)=2 и со сдвигом К(0, 1)=2 равны между собой, поэтому второй модуль 12 0-го каскада содержит два элемента 2И с инверсным входом, два элемента 2И и два элемента 2ИЛИ, а также разрядность выходов каскада передаваемых на внутреннюю шину SB1 равна двум К(1, 2)=2. В третьем модуле 13 (j=3) 0-го каскада разрядность группы данных без сдвига равна трем К(0, 3)=3, а разрядность группы данных со сдвигом равна двум К(0, 2)=2, поэтому третий модуль 13 содержит три элемента 2И с инверсным входом, два элемента 2И и два элемента 2ИЛИ - равное минимальному значению разрядности (min(К(0, 3), К(0, 2)))=2. Выходная разрядность третьего модуля 13 0-го каскада передаваемых на внутреннюю шину SB1 равна трем К(1, 3)=3 - максимальное значение разрядности входных групп модуля (max(К(0, 3), К(0, 2)))=3. При этом на выходы двух младших разрядов третьего модуля 13 (j=3) передаются значения с выходов двух элементов 2ИЛИ, а на третий выход передается значение с выхода третьего элемента 2И с инверсным входом. В четвертом модуле 14 (j=4) 0-го каскада разрядность группы данных без сдвига равна двум К(0, 4)=2, а разрядность группы данных со сдвигом равна трем К(0, 3)=3, поэтому четвертый модуль 14 содержит два элемента 2И с инверсным входом, три элемента 2И и два элемента 2ИЛИ - равное минимальному значению разрядности (min(К(0, 4), К(0, 3)))=2. Выходная разрядность четвертого модуля 14 0-го каскада передаваемых на внутреннюю шину SB1 равна трем К(1, 4)=3 - максимальное значение разрядности входных групп модуля (max(К(0, 4), К(0, 3)))=3. При этом на выходы двух младших разрядов четвертого модуля 14 (j=4) передаются значения с выходов двух элементов 2ИЛИ, а на третий выход передается значение с выхода третьего элемента 2И. В пятом модуле 15 (j=5) 0-го каскада содержится один элемент 2И с инверсным входом, два элемента 2И и один элемент 2ИЛИ - равен минимальному значению разрядности (min(К(0, 5), К(0, 4)))=1. Выходная разрядность пятого модуля 15 0-го каскада передаваемых на внутреннюю шину SB1 равна двум К(1, 5)=2 - максимальное значение разрядности входных групп модуля (max(К(0, 5), К(0, 4)))=2. В шестом модуле 16 (j=6) 0-го каскада содержится только один элемент 2И, выход которого передается на выход модуля и на внутреннюю шину SB1 К(1, 6)=1. Таким образом, в 0-м каскаде содержится 27 элементов, в т.ч. десять элементов 2И с инверсным входом, десять элементов 2И и семь элементов 2ИЛИ, а разрядность выходов шести групп (модулей) составляет 13 разрядов.Next, N groups of external input data DG1, DG2, ..., DGN go to the internal shift bus SB0 and then to the 0th cascade of element modules. For example, Table 4 shows the number of elements and the bit depth of the cascade modules for five N = 5 input data groups DG1, DG2, ..., DG5 with a given bit depth of the groups W1 = 2, W2 = 2, W3 = 3, W4 = 2, W5 = 1 with a shift of groups from 0 to L = 7. The 0th stage contains 10 2I elements with an inverse input and 10 2I elements, which corresponds to the input bit depth of all groups. In the first module 1 1 (j = 1) of the 0th stage, the input group DG1 has a capacity of two K (0, 1) = 2, so the first module contains two 2I elements with an inverse input, the outputs of which are transmitted to the outputs of the cascade and the internal bus SB1 and have a capacity of K (1, 1) = 2. In the second module, 1 2 (j = 2) of the 0th cascade of data bits without a shift K (0, 2) = 2 and with a shift K (0, 1) = 2 are equal to each other, therefore the second module 1 2 of the 0 cascade contains two elements 2I with an inverse input, two elements 2I and two elements 2OR, and also the bit capacity of the outputs of the cascade transmitted to the internal bus SB1 is equal to two K (1, 2) = 2. In the third module 1 3 (j = 3) of the 0th stage, the width of the data group without a shift is three K (0, 3) = 3, and the width of the data group with a shift is two K (0, 2) = 2, so the third module 1 3 contains three elements 2I with an inverse input, two elements 2I and two elements 2OR - equal to the minimum value of bit capacity (min (K (0, 3), K (0, 2))) = 2. The output bit depth of the third module 1 3 of the 0 cascade transmitted to the internal bus SB1 is three K (1, 3) = 3 - the maximum value of the bit depth of the input groups of the module (max (K (0, 3), K (0, 2))) = 3. In this case, the outputs from the outputs of the two elements of the 2 OR, are transmitted to the outputs of the two least significant bits of the third module 1 3 (j = 3), and the value from the output of the third element 2I with an inverse input is transmitted to the third output. In the fourth module 1 4 (j = 4) of the 0th stage, the width of the data group without a shift is two K (0, 4) = 2, and the width of the data group with a shift is three K (0, 3) = 3, so the fourth module 1 4 contains two elements 2I with an inverse input, three elements 2I and two elements 2OR - equal to the minimum value of bit capacity (min (K (0, 4), K (0, 3))) = 2. The output bit depth of the fourth module 1 4 of the 0 stage transmitted to the internal bus SB1 is three K (1, 4) = 3 - the maximum bit value of the input groups of the module (max (K (0, 4), K (0, 3))) = 3. At the same time, the values from the outputs of the two elements of 2 OR are transferred to the outputs of the two least significant bits of the fourth module 1 4 (j = 4), and the value from the output of the third element 2I is transmitted to the third output. The fifth module 1 5 (j = 5) of the 0 stage contains one 2I element with an inverse input, two 2I elements and one 2 OR element - it is equal to the minimum bit value (min (К (0, 5), К (0, 4) )) = 1. The output bit depth of the fifth module 1 5 of the 0th cascade transmitted to the internal bus SB1 is two K (1, 5) = 2 - the maximum bit value of the input groups of the module (max (K (0, 5), K (0, 4))) = 2. The sixth module 1 6 (j = 6) of the 0th stage contains only one element 2I, the output of which is transmitted to the output of the module and to the internal bus SB1 K (1, 6) = 1. Thus, in the 0-th cascade contains 27 elements, including ten elements 2I with an inverse input, ten elements 2I and seven elements 2OR, and the capacity of the outputs of six groups (modules) is 13 bits.

Далее в первом каскаде может выполниться сдвиг на 21 групп или передача входных групп с 0-го каскада без сдвига в зависимости от значения разряда V1 внешних входов задания количества сдвигов. В первом каскаде содержится 33 элемента (см. таблицу 4), а разрядность выходов восьми групп (модулей) составляет 19 разрядов. Аналогично далее во втором каскаде содержится 45 элементов (см. таблицу 4), а разрядность выходов двенадцати групп (модулей) составляет 31 разряд, которые передаются на выходы двенадцати внешних выходных групп QG1, QG2, …, QG12) с соответствующими разрядностями К(3, 1), К(3, 2), …, К(3, 12).Further, in the first stage, a shift by 2 1 groups or transfer of input groups from the 0th stage without a shift can be performed depending on the value of the discharge V1 of the external inputs of the number of shifts. The first stage contains 33 elements (see table 4), and the capacity of the outputs of eight groups (modules) is 19 bits. Similarly, further in the second stage there are 45 elements (see table 4), and the bit width of the outputs of twelve groups (modules) is 31 bits, which are transmitted to the outputs of the twelve external output groups QG1, QG2, ..., QG12) with the corresponding bits K (3, 1), K (3, 2), ..., K (3, 12).

Таким образом, в устройстве можно выполнять сдвиги N групп входных данных различной разрядности на величину сдвига в диапазоне от 0 до L групп.Thus, in the device, it is possible to perform shifts of N groups of input data of different lengths by a shift in the range from 0 to L groups.

В предлагаемом устройстве для сдвига пяти N=5 групп входных данных DG1, DG2, …, DG5 с заданной разрядностью групп W1=2, W2=2, W3=3, W4=2, W5=1 при величине сдвига групп от 0 до L=7 требуется 105 элементов (см. таблицу 4). При реализации устройства для сдвига данных пяти групп и задания разрядности групп, равной максимальному количеству разрядов в группах, w=W3=3 для всех групп необходимо 150 элементов (см. расчеты в таблице 3) и общая разрядность выходных групп составляет 36. Таким образом, в предлагаемом устройстве для реализации сдвига пяти N=5 групп входных данных DG1, DG2, …, DG5 с заданной разрядностью групп W1=2, W2=2, W3=3, W4=2, W5=1 необходимо на 30% меньше аппаратных средств. Аналогично в таблице 5 приведены распределения элементов и разрядность групп по каскадам и модулям элементов для пяти N=5 групп входных данных DG1, DG2, DG5 с заданной разрядностью групп W1=3, W2=3, W3=3, W4=2, W5=1 при величине сдвига групп от 0 до L=7. Общее количество элементов 114, а общая разрядность выходных групп 32, т.е. в предлагаемом устройстве необходимо на 24% меньше аппаратных средств. Следовательно, в предлагаемом устройстве требуется меньше аппаратных средств для сдвига групп данных.In the proposed device for the shift of five N = 5 groups of input data DG1, DG2, ..., DG5 with a given capacity of the groups W1 = 2, W2 = 2, W3 = 3, W4 = 2, W5 = 1 with the value of the shift of groups from 0 to L = 7 requires 105 elements (see table 4). When implementing a device for shifting data of five groups and setting the bit depth of groups equal to the maximum number of bits in the groups, w = W3 = 3 for all groups, 150 elements are needed (see calculations in table 3) and the total bit depth of the output groups is 36. Thus, in the proposed device for the implementation of the shift of five N = 5 groups of input data DG1, DG2, ..., DG5 with a given capacity of the groups W1 = 2, W2 = 2, W3 = 3, W4 = 2, W5 = 1, 30% less hardware is needed . Similarly, Table 5 shows the distribution of elements and the bit depth of the groups according to cascades and element modules for five N = 5 input data groups DG1, DG2, DG5 with a given bit depth of the groups W1 = 3, W2 = 3, W3 = 3, W4 = 2, W5 = 1 with a shift of groups from 0 to L = 7. The total number of elements 114, and the total bit depth of the output groups 32, i.e. in the proposed device, 24% less hardware is needed. Therefore, in the proposed device requires less hardware to shift data groups.

Вышеизложенные сведения позволяют сделать вывод, что предлагаемое устройство сдвига групп данных обладает регулярностью узлов и связей, и соответствует заявляемому техническому результату - расширение функциональных возможностей, в части возможности сдвига групп двоичных данных различной разрядности без потери выдвигаемых разрядов, и снижение аппаратных затрат.The above information allows us to conclude that the proposed device for shifting data groups has a regularity of nodes and connections, and corresponds to the claimed technical result - the expansion of functionality, in terms of the possibility of shifting groups of binary data of different capacities without losing extended bits, and reducing hardware costs.

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

Claims (1)

Устройство сдвига групп данных содержит N групп внешних входных данных DG1, DG2, …, DGN с разрядностью групп W1, W2, …, WN соответственно, U разрядов внешних входов задания значения количества сдвигов V0, V1, …, V(U-1) на величину сдвига групп от 0 до L, где U=[log2L]+1 (меньшее целое), (N+L) групп внешних выходных данных QG1, QG2, …, QG(N+L), (U+1) внутренних шин сдвига SB0, SB1, …, SBU, U каскадов модулей элементов с 0-го по (U-1), из которых каждый i-й каскад, где i=0, 1, …, (U-1), содержит по (N+2i+1-1) модулей элементов, объединенных в три секции, причем первые секции каскадов состоят из модулей, содержащих группы элементов 2И со вторым инверсным входом, вторые секции каскадов состоят из модулей, содержащих группы элементов 2И со вторым инверсным входом, элементов 2И и элементов 2ИЛИ, а третьи секции каскадов состоят из модулей, содержащих группы элементов 2И, причем в каждом i-м каскаде первые секции содержат по 2i модулей элементов, начиная с первого до 2i модуля i-го каскада, вторые секции содержат по (N-1) модулей элементов, начиная с (2i+1)-го до (N+2i-1) модуля i-го каскада, а третьи секции содержат по 2i модулей элементов, начиная с (N+2i)-го до (N+2i+1-1) модуля i-го каскада, причем N групп внешних входных данных DG1, DG2, …, DGN являются N группами разрядов 0-й внутренней шины сдвига SB0 с разрядностью групп K(0, 1), K(0, 2), …, K(0, N) соответственно, а выходы модулей элементов каждого i-го каскада образуют соответствующие группы выходов каскадов и являются группами разрядов последующей (i+1)-й внутренней шины сдвига SB(i+1) с разрядностью групп K(i+1, j), где j=1, 2, …, (N+2i+1-1) - номер модуля в каскаде, при этом разряды групп первых U внутренних шин сдвига SB0, SB1, …, SB(U-1), кроме последней внутренней шины SBU, соединены с входами групп модулей элементов соответствующих одноименных каскадов с 0-го по (U-1)-й каскад, причем в каждом i-м каскаде в первых секциях модулей в каждом j1-м модуле, где j1=1, 2, …, 2i, содержится группа из K(i, j1) элементов 2И со вторым инверсным входом, выходы которых являются выходами первых младших 2i модулей, с первого до (2i)-го модуля i-го каскада, во вторых секциях модулей каждого i-го каскада в каждом j2-м модуле содержится K(i, j2) элементов 2И со вторым инверсным входом, K(i, j2-2i) элементов 2И, где j2=2i+1, 2i+2, …, (2i+N-1) и (min(K(i, j2), K(i, j2-2i))) элементов 2ИЛИ, у которых первые и вторые входы соединены с выходами соответствующих первых элементов 2И со вторым инверсным входом и соответствующих первых элементов 2И j2-го модуля, при этом каждый j2-й модуль имеет (max(K(i, j2), K(i, j2-2i))) выходов, из которых первые (min(K(i, j2), K(i, j2-2i))) выходы j2-го модуля соединены с выходами элементов 2 ИЛИ, а выходы j2-го модуля с (min(K(i, j2), K(i, j2-2i))+1)-го до (max(K(i, j2), K(i, j2-2i)))-го соединены с выходами одноименных элементов 2И со вторым инверсным входом модуля при K(i, j2)>K(i, j2-2i) или соединены с выходами одноименных элементов 2И модуля при K(i, j2)<K(i, j2-2i), а в третьих секциях каждого i-го каскада в каждом j3-м модуле, где j3=2i+N, 2i+N+1, …, (2i+1+N-1), содержится группа из K(i, j3) элементов 2И, выходы которых являются выходами последних старших 2i модулей, с (N+2i)-го до (N+2i+1-1)-го модуля i-го каскада, причем в каждом i-м каскаде первые входы всех элементов 2И со вторым инверсным входом соединены с первыми входами соответствующих одноименных элементов 2И и также соединены с соответствующими разрядами групп соответствующей i-й внутренней шины сдвига SBi, а вторые инверсные входы всех элементов 2И со вторым инверсным входом соединены между собой, а также соединены со вторыми входами всех элементов 2И и соединены с соответствующим Vi-м разрядом внешних входов задания значения количества сдвигов, выходы (N+L) групп последней старшей (U+1)-й внутренней шины сдвига SBU являются (N+L) группами внешних выходных данных QG1, QG2, …, QG(N+L) с разрядностью групп K(U, 1), K(U, 2), K(U, (N+L)) соответственно.The device for shifting data groups contains N groups of external input data DG1, DG2, ..., DGN with the bits of groups W1, W2, ..., WN, respectively, U bits of the external inputs of setting the number of shifts V0, V1, ..., V (U-1) by the shift of groups from 0 to L, where U = [log 2 L] +1 (smaller integer), (N + L) groups of external output data QG1, QG2, ..., QG (N + L), (U + 1) internal shift buses SB0, SB1, ..., SBU, U of cascades of element modules from 0 to (U-1), of which each i-th cascade, where i = 0, 1, ..., (U-1), contains for (N + 2 i + 1 -1) of the elements of modules grouped into three sections, the first section consists of a cascade of modules, containing groups of elements 2I with a second inverse input, the second sections of cascades consist of modules containing groups of elements 2I with a second inverse input, elements 2I and elements 2OR, and the third sections of cascades consist of modules containing groups of elements 2I, and in each i-th In the cascade, the first sections contain 2 i modules of elements, starting from the first to 2 i modules of the i-th cascade, the second sections contain (N-1) modules of elements, starting from the (2 i +1) th to (N + 2 i -1) module i-th stage, and third sections contain elements 2 i modules, starting with (N + 2 i) th d (N + 2 i + 1 -1) module i-th stage, the N groups of the external input data DG1, DG2, ..., DGN groups are N bits of 0-th inner SB0 shift bus with the bit groups K (0, 1), K (0, 2), ..., K (0, N), respectively, and the module outputs of the elements of each i-th cascade form the corresponding groups of cascade outputs and are the group of bits of the subsequent (i + 1) -th internal shift bus SB (i + 1) with the bit depth of the groups K (i + 1, j), where j = 1, 2, ..., (N + 2 i + 1 -1) is the number of the module in the cascade, while the bits of the groups of the first U internal shift buses SB0, SB1, ..., SB (U-1), besides the last internal SBU bus, are connected to by moves of groups of modules of elements of the corresponding cascades of the same name from the 0th to the (U-1) -th cascade, and in each i-th cascade in the first sections of the modules in each j1-th module, where j1 = 1, 2, ..., 2 i , contains a group of K (i, j1) elements 2I with a second inverse input, the outputs of which are the outputs of the first lower 2 i modules, from the first to the (2 i ) th module of the i-th cascade, in the second sections of the modules of each i-th the cascade in each j2nd module contains K (i, j2) elements 2I with a second inverse input, K (i, j2-2 i ) elements 2I, where j2 = 2 i +1, 2 i +2, ..., (2 i + N-1) and (min (K (i, j2 ), K (i, j2-2 i))) 2 or elements have to the first and second inputs are connected to the outputs of the corresponding first elements 2I with the second inverse input and the corresponding first elements 2I of the j2nd module, each j2nd module has (max (K (i, j2), K (i, j2- 2 i ))) outputs, of which the first (min (K (i, j2), K (i, j2-2 i ))) outputs of the j2th module are connected to the outputs of the 2 OR elements, and the outputs of the j2th module with (min (K (i, j2), K (i, j2-2 i )) + 1) th to (max (K (i, j2), K (i, j2-2 i ))) th connected with the outputs of the elements of the same name 2I with the second inverse input of the module at K (i, j2)> K (i, j2-2 i ) or connected with the outputs of the same elements 2I of the module with K (i, j2) <K (i, j2-2 i ), and in the third sections of each i-th cascade in each j3-th module, where j3 = 2 i + N, 2 i + N + 1, ..., (2 i + 1 + N-1), contains a group of K (i, j3) elements 2I, the outputs of which are the outputs of the last senior 2 i modules, from the (N + 2 i ) th to the (N + 2 i + 1 -1) th module of the i-th cascade, and in each i-th cascade, the first inputs of all elements 2I with a second inverse input are connected to the first inputs of the corresponding elements of the same name 2I and are also connected to the corresponding bits of the groups of the corresponding i-th internal shift bus SBi, and the second inverse inputs of all elements 2I with the second inverse are connected to each other and connected to the second inputs of all 2I elements and connected to the corresponding Vi-th bit of the external inputs of setting the value of the number of shifts, outputs (N + L) of the groups of the last senior (U + 1) -th internal shift bus SBU are (N + L) groups of external output data QG1, QG2, ..., QG (N + L) with the capacity of the groups K (U, 1), K (U, 2), K (U, (N + L)), respectively .
RU2018103557A 2018-01-30 2018-01-30 Data groups shifting device RU2674934C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018103557A RU2674934C1 (en) 2018-01-30 2018-01-30 Data groups shifting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018103557A RU2674934C1 (en) 2018-01-30 2018-01-30 Data groups shifting device

Publications (1)

Publication Number Publication Date
RU2674934C1 true RU2674934C1 (en) 2018-12-13

Family

ID=64753428

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018103557A RU2674934C1 (en) 2018-01-30 2018-01-30 Data groups shifting device

Country Status (1)

Country Link
RU (1) RU2674934C1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU809387A1 (en) * 1979-05-14 1981-02-28 Ордена Ленина Институт Кибернетикиан Украинской Ccp Shifting device
SU1762319A1 (en) * 1989-01-04 1992-09-15 Предприятие П/Я В-2201 Device for shift of information
US5948050A (en) * 1996-12-19 1999-09-07 Lucent Technologies Inc. Fast conversion two's complement encoded shift value for a barrel shifter
US5978822A (en) * 1995-12-29 1999-11-02 Atmel Corporation Circuit for rotating, left shifting, or right shifting bits
US5987090A (en) * 1998-02-04 1999-11-16 Gene M. Amdahl Method and apparatus for a logarithmic shift register
US6061417A (en) * 1998-12-03 2000-05-09 Xilinx, Inc. Programmable shift register
RU2613533C1 (en) * 2016-02-08 2017-03-16 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) Shifter

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU809387A1 (en) * 1979-05-14 1981-02-28 Ордена Ленина Институт Кибернетикиан Украинской Ccp Shifting device
SU1762319A1 (en) * 1989-01-04 1992-09-15 Предприятие П/Я В-2201 Device for shift of information
US5978822A (en) * 1995-12-29 1999-11-02 Atmel Corporation Circuit for rotating, left shifting, or right shifting bits
US5948050A (en) * 1996-12-19 1999-09-07 Lucent Technologies Inc. Fast conversion two's complement encoded shift value for a barrel shifter
US5987090A (en) * 1998-02-04 1999-11-16 Gene M. Amdahl Method and apparatus for a logarithmic shift register
US6061417A (en) * 1998-12-03 2000-05-09 Xilinx, Inc. Programmable shift register
RU2613533C1 (en) * 2016-02-08 2017-03-16 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) Shifter

Similar Documents

Publication Publication Date Title
JPH0215088B2 (en)
US7308470B2 (en) Smaller and lower power static mux circuitry in generating multiplier partial product signals
JP2007234004A (en) Device and method for booth multiplication
WO2014002342A1 (en) High speed and low power circuit structure for barrel shifter
Nikhil et al. Design of low power barrel shifter and vedic multiplier with kogge-stone adder using reversible logic gates
US5636157A (en) Modular 64-bit integer adder
Premkumar et al. Improved memoryless RNS forward converter based on the periodicity of residues
RU2674934C1 (en) Data groups shifting device
RU2633110C1 (en) Device for determining number of senior units (zeros) in binary number
Ykuntam et al. Design of 32-bit carry select adder with reduced area
KR100329914B1 (en) Dissipation device
RU2613533C1 (en) Shifter
RU2711054C1 (en) Device of parallel-serial structure for detection of groups of zero and single bits and determination of their number
Hiasat A Suggestion for a Fast Residue Multiplier for a Family of Moduli of the Form (2 n−(2 p±1))
RU2785770C1 (en) Device for combining data groups
Merrill Some properties of ternary threshold logic
EP0514061B1 (en) 7 to 3 counter circuit
RU2638724C1 (en) Device for order correction when normalizing numbers
Paradhasaradhi et al. An area efficient enhanced SQRT carry select adder
Gbolagade New Adder-Based RNS-to-Binary Converters for the {2 n+ 1+ 1, 2 n+ 1-1, 2 n} Moduli Set.
Alia et al. On the lower bound to the VLSI complexity of number conversion from weighted to residue representation
US7742598B2 (en) Shrinking key generator for parallel process
Thornton et al. Quantum logic implementation of unary arithmetic operations
Fatima et al. Design and Implementation with Area, Power and Delay Estimation of Hybrid Parallel Prefix Adder
KR200232068Y1 (en) 2&#39;s complement converter for high speed operation