SU1665515A1 - Device for minimizing fibonacci 1-code - Google Patents
Device for minimizing fibonacci 1-code Download PDFInfo
- Publication number
- SU1665515A1 SU1665515A1 SU894724744A SU4724744A SU1665515A1 SU 1665515 A1 SU1665515 A1 SU 1665515A1 SU 894724744 A SU894724744 A SU 894724744A SU 4724744 A SU4724744 A SU 4724744A SU 1665515 A1 SU1665515 A1 SU 1665515A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- convolution
- group
- input
- output
- block
- Prior art date
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Abstract
Изобретение относитс к вычислительной технике и позвол ет повысить быстродействие устройства. Последнее содержит группу блоков 1 - 4 свертки, элементы И 5, 6 и имеет группы информационных входов 7 и выходов 8. Каждый блок свертки содержит два триггера, два элемента И, элемент И - НЕ и одноразр дный сумматор. В каждом блоке свертки на соответствующем элементе И провер етс выполнение услови свертки. Поскольку свертка может выполн тьс только дл двух разр дов, одновременно в блоках 1 - 4 свертки на элементах И - НЕ вырабатываютс сигналы, запрещающие свертку в предыдущих блоках свертки. При помощи элементов И 5 и 6 осуществл етс коррекци младшего разр да исходного кода. Быстродействие устройства достигаетс , кроме того, за счет использовани конвейерного способа преобразовани . 1 з.п. ф-лы, 2 ил.The invention relates to computing technology and allows increasing the speed of a device. The latter contains a group of 1–4 convolution blocks, elements AND 5, 6, and has groups of information inputs 7 and outputs 8. Each convolution block contains two triggers, two AND elements, an AND element — NOT, and a one-bit adder. In each convolution block, the corresponding element AND checks the fulfillment of the convolution condition. Since convolution can be performed only for two bits, at the same time, in blocks 1-4, convolutions on AND-NOT elements generate signals that prohibit convolution in previous convolution blocks. With the help of elements And 5 and 6 is carried out correction of the lower bit of the source code. The speed of the device is achieved, in addition, through the use of a pipelined conversion method. 1 hp f-ly, 2 ill.
Description
Г0 f88 lf87 86 f83 f84 r83 82 81G0 f88 lf87 86 f83 f84 r83 82 81
Изобретение относитс к вычислительной технике и предназначено дл приведени 1-кода Фибоначчи к минимальной форме.The invention relates to computing and is intended to bring the 1-Fibonacci code to its minimum form.
Целью изобретени вл етс повышение быстродействи .The aim of the invention is to increase speed.
На фиг. 1 приведена схема устройства дл приведени 1-кода Фибоначчи к минимальной форме (дл 8-ми разр дного кода); на фиг, 2 - схема блока свертки,FIG. 1 shows a diagram of a device for converting a 1-Fibonacci code to its minimum form (for an 8-bit code); FIG. 2 is a diagram of a convolution block;
Устройство содержит первую группу блоков 1,1-1.8 свертки, вторую группу блоков 2.1-2.9 свертки, третью группу блоков 3.1 свертки, четвертую группу блоков 4.1- 4.9 свертки, первый 5 и второй 6 элементы И, группу информационных входов 7.1-7.8 устройства, группу выходов 8.1-8.9 устройства .The device contains the first group of blocks 1.1-1.8 convolution, the second group of blocks 2.1-2.9 convolution, the third group of blocks 3.1 convolution, the fourth group of blocks 4.1-4.9 convolution, the first 5 and the second 6 elements And, the group of information inputs 7.1-7.8 devices, output group 8.1-8.9 devices.
На фиг. 1 группа тактовых входов устройства не показана.FIG. 1 group of clock inputs of the device is not shown.
Каждый блок 1 (2-4) свертки (фиг. 2) содержит первый 9 и второй 10 триггеры, первый элемент И 11, элемент И-НЕ 12, второй элемент И 13 и одноразр дный сумматор 14.Each convolution block 1 (2-4) (Fig. 2) contains the first 9 and second 10 triggers, the first AND 11 element, the AND-NO 12 element, the second AND 13 element, and the one-bit adder 14.
Устройство работает следующим образом .The device works as follows.
Необходимость выполнени операции свертки над кодовым изображением определ етс проверкой соответстви признаку минимальной формы исходного кода. Соответствие признаку минимальной формы 1- кода Фибоначчи описываетс логическим уравнениемпThe need to perform a convolution operation on a code image is determined by checking the conformity with the attribute of the minimal form of the source code. Compliance with the minimum form of a 1-Fibonacci code is described by a logical equation
S-U а- Л а i--i l 1 7S-U a- L a i - i l 1 7
где аи - значение 1-го разр да кода, полученного путем сдвига исходного кода ai на разр д вправо. Это уравнение задает алгоритм последовательного контрол по признаку минимальной формы.where ai is the value of the 1st bit of the code obtained by shifting the source code ai by bit to the right. This equation defines an algorithm for sequential control based on a minimum form.
В каждом блоке 1-4 свертки групп на элементе И 11 провер етс выполнение услови свертки по логическому уравнению. Дл этого в каждом такте в триггеры 9 и 10 соответственно записываютс исходный код и сдвинутое на разр д вправо значение этого же кода. После окончани переходных процессов на выходах элементов И 11 имеем результаты проверок услови свертки. Поскольку свертка может выполн тьс только дл двух разр дов, то дл этого одновременно в блоках 1-4 свертки на элементе И-НЕ 12 вырабатываетс сигнал, запрещающий свертку в предыдущих блоках свертки . Например, при свертке кода типа 1111... согласно вышеописанному, свертка будет выполн тьс дл первой и третьей групп (кажда группа содержит два разр да) начина со старших разр дов, Так как в двух старших разр дах выполн етс условиеIn each block 1-4, the convolutions of groups on the element And 11 checks the fulfillment of the condition of convolution by a logical equation. To do this, in each cycle, the source code and the value of the same code shifted to the right are recorded in triggers 9 and 10, respectively. After the end of the transients at the outputs of the elements And 11 we have the results of checks of the condition of convolution. Since the convolution can be performed only for two bits, for this, simultaneously, in blocks 1-4 of convolution on the AND-NE 12 element, a signal is generated that prohibits convolution in the previous convolution blocks. For example, when convolving a type code 1111 ... as described above, the convolution will be performed for the first and third groups (each group contains two bits) starting with the highest bits, Since the condition
свертки, то на выходе элемента И-НЕ 12 по витс нулевой сигнал, который поступает на первый вход предыдущего блока свертки - на первый вход элемента И 13 иconvolution, then at the output of the element AND-NOT 12, the zero signal that goes to the first input of the previous convolution unit is sent to the first input of the element And 13 and
запрещает выполнение свертки, В старших группах указанного кода выполн етс свертка, при этом сигнал переноса с выхода сумматора 14 (в нашем случае с блока 1.8 свертки) поступает на второй и на п тыйprohibits the execution of convolution. In the older groups of the specified code, convolution is performed, and the transfer signal from the output of adder 14 (in our case from the convolution unit 1.8) goes to the second and fifth
0 входы соответственно блоков 2.9 и 2.8 свертки следующей группы. Допустим, что необходимо приведение к минимальной форме кода 1010101 -изображени числа 21 в 1-ко- де Фибоначчи, представл ющего собой на5 ихудший случай в смысле времени выполнени свертки.0 inputs respectively blocks 2.9 and 2.8 convolution of the next group. Let us assume that it is necessary to reduce to a minimal form the code 1010101 —the image of the number 21 in 1 Fibonacci code, which is the 5th and the worst case in terms of the time of convolution.
Этот код в младшем разр де содержит единицу и поэтому не соответствует признаку нормальной формы. По первому тактово0 му сигналу, поступающему на четвертый вход блоков свертки, исходный код заноситс в триггеры 9 блоков 1.1-1.8 свертки. В триггеры 10 блоков свертки одновременно занос тс сдвинутые вправо значени ис5 ходного кода. На элементах И 11 провер етс условие свертки. Поскольку исходный код не содержит два смежных единичных разр да , то на выходах элементов И 11 всех блоков свертки присутствует нулевой сигнал, аThis code in the lower order contains one and therefore does not correspond to the sign of the normal form. According to the first clock signal arriving at the fourth input of the convolution blocks, the source code is entered into the triggers of the 1.1 1.1.8 convolution blocks. In the triggers of 10 convolution blocks, simultaneously shifted to the right are the values of the source code. On elements 11 and 11, the convolution condition is checked. Since the source code does not contain two contiguous single bits, then at the outputs of elements AND 11 of all convolution blocks there is a zero signal, and
0 на входах элементов И-НЕ 1Z- единичный, Следовательно, свертка разрешена во всех блоках свертки. Поскольку второй разр д кода содержит нуль, то содержимое триггера 10 блока 1.1 также равно нулю и единич5 ный сигнал с его инверсного выхода (четвертого выхода блока 1.1 свертки) поступает на первый вход элемента И 5, на второй вход которого единичный сигнал поступает с выхода триггера 9 блока 1.1 свер0 тки. На первом входе одноразр дного сумматора 14 присутствует нулевой сигнал, так как на выходе элемента И 11 нулевой сигнал, а на втором входе - единичный сигнал , равный значению младшего разр да0 at the inputs of the elements AND-NOT 1Z-unit, Therefore, convolution is allowed in all blocks of convolution. Since the second bit of the code contains zero, the contents of trigger 10 of block 1.1 are also zero and the unit signal from its inverse output (fourth output of block 1.1 convolution) is fed to the first input of the element 5, to the second input of which the single signal comes from the trigger output 9 blocks 1.1 overflow. At the first input of the one-bit adder 14 there is a zero signal, since the output of the element 11 is a zero signal, and at the second input there is a single signal equal to the value of the low-order bit.
5 исходного кода с выхода триггера 9. На одноразр дном сумматоре 14 блока 1.1 осуществл етс суммирование младшего разр да с единицей, поступающей на вход переноса с выхода элемента И 5. После окончани 5 of the source code from the output of the trigger 9. On the one-bit adder 14 of the block 1.1, the low-order bit is summed with the unit arriving at the transfer input from the output of the And element 5. After the end
0 переходных процессов на выходах блоков 1 свертки имеем первый промежуточный ре- зультат 1010110, который также вл етс изображением числа 21 в 1-коде Фибоначчи . Таким образом, в первом такте осущест5 вл етс толькокоррекци младшего разр да исходнбго кода.The 0 transients at the outputs of convolution blocks 1 have the first intermediate result 1010110, which is also an image of the number 21 in the 1 Fibonacci code. Thus, in the first cycle, the implementation of 5 is only the low-order correction of the source code.
Второй тактовый сигнал этот код (1010110) заносит в триггеры 9 блоков 2 свертки и аналогичным образом в триггеры 10 блоков 2 свертки. Во втором такте происход т аналогичные первому такту процессы с той лишь разницей, что в блоке 2.2 будет выполн тьс условие свертки, а в остальных нет. Поскольку в блоке 2.3 также не выполн етс условие свертки, то согласно вышеописан- ному единичный сигнал с выхода элемента И-НЕ 12 блока 2.3 поступает на первый вход блока 2,2 - на первый вход элемента ИThe second clock signal, this code (1010110), enters into triggers 9 convolution blocks 2 and, similarly, triggers 10 convolution blocks 2. In the second cycle, processes similar to the first cycle occur, with the only difference that in block 2.2 the convolution condition is satisfied, and in the others there is no. Since, in block 2.3, the convolution condition also does not hold, then, according to the above, the single signal from the output of the NAND element 12 of the block 2.3 arrives at the first input of the 2.2 block — at the first input of the AND element
13,Результат проверки услови свертки на элементе И 11 блока 2.2 свертки поступает на первый вход одноразр дного сумматора13, The result of checking the convolution condition on the And 11 element of the convolution block 2.2 is fed to the first input of a one-bit adder.
14,на второй вход которого с выхода триггера 9 поступает значение второго разр да кода промежуточного результата. Таким образом , свертка в группе из двух разр дов осуществл етс путем суммировани младшего из них с результатом свертки дл данной группы разр дов. После окончани переходных процессов в одноразр дных сумматорах 14 на выходах блоков 2 свертки по вл етс код второго промежуточного результата 1011000, который также вл етс изображением числа 21 в 1-коде Фибоначчи .14, to the second input of which the output of the trigger 9 receives the value of the second bit of the intermediate result code. Thus, the convolution in the group of two bits is performed by summing the youngest of them with the result of the convolution for this group of bits. After the termination of the transient processes in the one-bit adders 14, the code of the second intermediate result 1011000 appears at the outputs of the convolution blocks 2, which is also the image of the number 21 in the 1-Fibonacci code.
Третий тактовый сигнал этот код опи- санным выше образом заносит в триггеры 9 и 10 блоков 3 свертки. Как видно, свертка будет выполн тьс в блоке 3.4 свертки, соответствующего четвертому разр ду. Аналогично предыдущим тактам после окончани переходных процессов на выходах блоков 3 свертки имеем третий промежуточный результат 1100000, вл ющийс также изображением числа 21 в 1-коде Фибоначчи.The third clock signal, this code in the manner described above, enters the triggers 9 and 10 of convolution blocks 3. As can be seen, the convolution will be performed in the convolution block 3.4 corresponding to the fourth bit. Similar to the previous clocks after the end of the transient processes at the outputs of the convolution blocks 3, we have the third intermediate result 1100000, which is also the image of the number 21 in the 1 Fibonacci code.
В четвертом такте происход т процессы аналогичные первым трем тактам, и после окончани процесса суммировани в одноразр дных сумматорах 14 блоков 4 свертки на выходах последних имеем окончательный результат кода числа 21, представлен- ный в минимал-ьной форме 1-кода Фибоначчи, т.е. 10000000.In the fourth cycle, the processes similar to the first three cycles occur, and after the summation process of 14 convolutions blocks 4 at the outputs of the latter is completed, we have the final result of the 21 number code, represented in the minimum Fibonacci 1 code, i.e. . 10,000,000.
При приведении кода типа ...111 к минимальной форме в блоке 1.1 свертки коррекци младшего разр да не осуществл етс , поскольку на четвертом выходе блока 1.1 свертки имеем нулевой сигнал с инверсного выхода триггера 10. Следовательно, на выходе элемента И 5 присутствует нулевой сигнал, поступающий на вход переноса од- поразр дного сумматора 14. Поскольку в двух старших разр дах указанного кода будет выполн тьс свертка, то нулевой сигнал с первого выхода блока свертки запрещает свертку в блоке 1.1 свертки. Следова- тельно, на выходе элемента И 13 блока 1,1 свертки также присутствует нулевой сигнал. Таким образом, значение младшего разр да с выхода триггера 10 без изменени переноситс на третий выход блока 1.1When converting the type code ... 111 to the minimum form in convolution block 1.1, the low-order correction is not performed, because at the fourth output of convolution block 1.1 we have a zero signal from the inverse output of the trigger 10. Therefore, at the output of AND 5 there is a zero signal, arriving at the transfer input of a one-bit adder 14. Since convolution is performed in the two higher bits of the specified code, a zero signal from the first output of the convolution block prohibits convolution in convolution block 1.1. Consequently, the output of the element And 13 of the convolution unit 1.1 also contains a zero signal. Thus, the value of the low-order bit from the output of trigger 10 is transferred to the third output of block 1.1 without change.
свертки. После выполнени свертки указанный код примет вид ...1001. В следующем такте код .,,1001 переноситс в блоки 2.4, 2.3, 2.2 и 2.1 свертки, при этом в блоке 2.1 свертки будет осуществл тьс коррекци младшего разр да кода при помощи элемента И 6, Далее устройство работает вышеописанным способом до получени окончательного результата свертки.convolutions. After performing the convolution, the specified code will look like ... 1001. In the next cycle, the code. ,, 1001 is transferred to 2.4, 2.3, 2.2, and 2.1 convolutions, while in the 2.1 convolution block, the low bit of the code will be corrected with the And 6 element. The device then works as described above until the final result is obtained. .
Таким образом, в устройстве за четыре (в общем случае за п/2) такта возможно одновременное приведение к минимальной форме п/2 кодов, причем максимальна частота поступлени преобразуемых данных ограничена в конвейерном режиме временем переходных процессов трех (в общем случае р+2) блоков свертки и от разр дности кода не зависит.Thus, in the device, in four (generally in p / 2) cycles, it is possible to simultaneously reduce to the minimum form of n / 2 codes, and the maximum frequency of the data to be converted is limited in the conveyor mode by the time of three transients (in general, p + 2) convolution blocks and does not depend on the size of the code.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894724744A SU1665515A1 (en) | 1989-07-19 | 1989-07-19 | Device for minimizing fibonacci 1-code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894724744A SU1665515A1 (en) | 1989-07-19 | 1989-07-19 | Device for minimizing fibonacci 1-code |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1665515A1 true SU1665515A1 (en) | 1991-07-23 |
Family
ID=21463711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU894724744A SU1665515A1 (en) | 1989-07-19 | 1989-07-19 | Device for minimizing fibonacci 1-code |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1665515A1 (en) |
-
1989
- 1989-07-19 SU SU894724744A patent/SU1665515A1/en active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 1418910, кл. Н 03 М 7/30, 1987. Авторское свидетельство СССР № 842782,кл. Н 03 М 7/30, 1979. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3993891A (en) | High speed parallel digital adder employing conditional and look-ahead approaches | |
US4489393A (en) | Monolithic discrete-time digital convolution circuit | |
US5671151A (en) | Self-timed logic circuit having zero-latency overhead and method for designing same | |
US4682303A (en) | Parallel binary adder | |
US4644488A (en) | Pipeline active filter utilizing a booth type multiplier | |
US4320464A (en) | Binary divider with carry-save adders | |
US5367477A (en) | Method and apparatus for performing parallel zero detection in a data processing system | |
US3675001A (en) | Fast adder for multi-number additions | |
EP0416869B1 (en) | Digital adder/accumulator | |
US4769780A (en) | High speed multiplier | |
US3914588A (en) | Digital filters | |
US4545028A (en) | Partial product accumulation in high performance multipliers | |
SU1665515A1 (en) | Device for minimizing fibonacci 1-code | |
US5781462A (en) | Multiplier circuitry with improved storage and transfer of booth control coefficients | |
US4866655A (en) | Arithmetic processor and divider using redundant signed digit | |
US4013879A (en) | Digital multiplier | |
US5268858A (en) | Method and apparatus for negating an operand | |
US4276608A (en) | Fibonacci p-code parallel adder | |
US4549280A (en) | Apparatus for creating a multiplication pipeline of arbitrary size | |
JP2682142B2 (en) | Multiplier | |
CN113050919A (en) | Efficient logic block architecture for multiplier dense mapping | |
JP2608600B2 (en) | Apparatus for calculating parity bit of sum of two numbers | |
US5381380A (en) | Divide circuit having high-speed operating capability | |
RU2799035C1 (en) | Conveyor totalizer by modulo | |
Nithyashree et al. | Design of an efficient vedic binary squaring circuit |