RU2686628C1 - Addition-subtraction device for digital signal processor - Google Patents

Addition-subtraction device for digital signal processor Download PDF

Info

Publication number
RU2686628C1
RU2686628C1 RU2017145395A RU2017145395A RU2686628C1 RU 2686628 C1 RU2686628 C1 RU 2686628C1 RU 2017145395 A RU2017145395 A RU 2017145395A RU 2017145395 A RU2017145395 A RU 2017145395A RU 2686628 C1 RU2686628 C1 RU 2686628C1
Authority
RU
Russia
Prior art keywords
input
unit
block
conditional
mantissa
Prior art date
Application number
RU2017145395A
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 RU2017145395A priority Critical patent/RU2686628C1/en
Application granted granted Critical
Publication of RU2686628C1 publication Critical patent/RU2686628C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)

Abstract

FIELD: physics.
SUBSTANCE: invention relates to digital data processing devices. Device comprises first unit of conditional selection of minor part of mantissas, second unit for conditional selection of upper part of mantissas, unit for selection of maximum exponential part of two operands, unit for difference of exponentials, unit of absolute value of difference, unit of unit adding, unit of shift of mantissa, two units of formation of value of saturation, unit of formation of inverse code, unit of subtraction of double format, three units of conditional transition.
EFFECT: technical result is simple design and faster operation during asynchronous data exchange.
1 cl, 2 dwg

Description

Изобретение относится к устройствам обработки цифровых данных и может использоваться в качестве IP-блока для цифро-сигнальных процессоров.The invention relates to digital data processing devices and can be used as an IP block for digital-signal processors.

Известны устройства для выполнения различных арифметических операций в формате чисел с плавающей запятой.Known devices for performing various arithmetic operations in the format of floating-point numbers.

Из патента США US5487022 известна нормализация экспоненциальной части числа средствами, использующими дешифраторы, память, логические элементы, мультиплексоры. Средства реализуются в виде комплексного устройства, характеризующегося высокими аппаратными затратами.From US patent US5487022, normalization of the exponential part of the number is known by means using decoders, memory, logic elements, multiplexers. Means are implemented in the form of an integrated device, characterized by high hardware costs.

Известно устройство операционного умножения с плавающей запятой (заявка на патент США US20150347089). Для выполнения операции умножения в устройство введены блоки нормализации чисел, избыточно выполняющие эквивалентные функции, что усложняет конструкцию.A device for operational multiplication with a floating point (US patent application US20150347089) is known. To perform the multiplication operation, blocks of normalization of numbers are introduced into the device, which excessively perform equivalent functions, which complicates the construction.

Патент США US6516332 раскрывает устройство для выполнения математических операций над числами в формате с плавающей точкой. Это устройство позволяет осуществлять над числами операции сложения, вычитания, умножения, деления, и построено на базе процессора для операций с плавающей точкой. Устройство содержит микроконтроллер, блок памяти микроконтроллера, вентильную матрицу, множество модулей оператора с плавающей точкой для выполнения математических операций сложения, вычитания, умножения и деления, каждый из которых включает сумматор, вычитающее устройство, множитель и делитель, первый мультиплексор для получения данных от сумматора и вычитающего устройства, второй мультиплексор для получения данных от умножителя и делителя, и третий мультиплексор для получения соответствующих данных от первого и второго мультиплексоров. Недостатком устройства является то, что фиксированная величина (разрядность) мантиссы и экспоненты ограничивают область его применения, а само оно предназначено для управления моторами.US patent US6516332 discloses a device for performing mathematical operations on numbers in floating point format. This device allows to perform addition, subtraction, multiplication, division operations on numbers, and is built on a processor base for floating point operations. The device contains a microcontroller, a microcontroller memory block, a gate array, a set of floating-point operator modules for performing mathematical operations of addition, subtraction, multiplication and division, each of which includes an adder, a subtractor, a multiplier and a divider, the first multiplexer for receiving data from the adder and subtractive device, a second multiplexer for receiving data from a multiplier and a divider, and a third multiplexer for receiving relevant data from the first and second multiplex sors. The disadvantage of this device is that the fixed value (bit depth) of the mantissa and the exponent limit its scope, and it itself is intended to control motors.

Наиболее близким аналогом заявленного изобретения является устройство с плавающей точкой для сложения-вычитания согласно патенту США US5568412. Это устройство включает схему выравнивания, схему сложения-вычитания и округления и схему нормализации. Схема выравнивания выравнивает части первых и вторых операндов, основанных на различии их образцов. Схема сложения-вычитания и округления выполняет, по крайней мере, два сложения-вычитания между выровненными частями части первых и вторых операндов и выборочно производит значение результата одного из округленных результатов сложения/вычитания частей первых и вторых операндов. Схема нормализации нормализует округленный от значения результат, чтобы произвести конечный результат сложения/вычитания частей. Указанные три схемы устройства построены на базе компаратора, первого и второго сумматора, схемы выравнивания, схем подкачки, первого логического элемента «исключающее ИЛИ», логического элемента «И», множества логических элементов «ИЛИ», логической схемы полусумматора, двух мультиплексоров, счетчика начального нуля, преобразователя. Устройство требует синхронного обмена данными между его функциональными узлами и имеет недостаточное быстродействие.The closest analogue of the claimed invention is a device with a floating point for addition-subtraction according to US patent US5568412. This device includes an alignment scheme, an addition-subtraction and rounding scheme, and a normalization scheme. The alignment circuit aligns the parts of the first and second operands based on the difference of their samples. The addition-subtraction and rounding scheme performs at least two addition-subtraction between the aligned parts of the first and second operands and selectively produces the value of the result of one of the rounded results of the addition / subtraction of the parts of the first and second operands. The normalization scheme normalizes the result, rounded off from the value, to produce the final result of addition / subtraction of parts. These three device circuits are based on a comparator, a first and a second adder, an alignment circuit, paging schemes, the first XOR gate, the AND gate, the OR gate set, the half combinator circuit, two multiplexers, and an initial counter zero converter. The device requires synchronous data exchange between its functional nodes and has insufficient speed.

Как и предыдущие устройства, устройство-аналог характеризуется высокими аппаратными затратами.Like previous devices, the device-analogue is characterized by high hardware costs.

Задачей настоящего изобретения является устранение недостатков известных устройств сложения-вычитания чисел, улучшение их технико-эксплуатационных характеристик.The present invention is to eliminate the disadvantages of the known devices of addition and subtraction of numbers, the improvement of their technical and operational characteristics.

Технический результат заключается в упрощении конструкции и повышении быстродействия устройства сложения-вычитания чисел при асинхронном обмене данными.The technical result consists in simplifying the design and improving the speed of the device for adding and subtracting numbers during asynchronous data exchange.

Поставленная задача решается, а заявленный технический результат достигается в устройстве сложения-вычитания чисел для цифро-сигнального процессора, содержащем первый блок условного выбора младшей части мантисс, второй блок условного выбора старшей части мантисс, блок выбора максимума экспоненциальной части двух операндов, блок разницы экспонент, блок абсолютной величины разницы, узел прибавления единицы, блок сдвига мантиссы, первый блок формирования величины насыщения, второй блок формирования величины насыщения, блок формирования инверсного кода, блок вычитания двойного формата, первый, второй и третий блок условного перехода. Первый вход первого блока условного выбора младшей части мантисс служит для поступления младшего разряда мантиссы первого числа, второй его вход – для поступления младшего разряда мантиссы второго числа, третий его вход – для поступления экспоненты первого числа, четвертый его вход – для поступления экспоненты второго числа. Первый вход второго блока условного выбора старшей части мантиссы служит для поступления старшей части мантиссы первого числа, а второй его вход – для поступления старшей части мантиссы второго числа. Третий вход и четвертый вход первого блока условного выбора младшей части мантисс соединен соответственно с третьим входом и четвертым входом второго блока условного выбора старшей части мантисс. Третий вход и четвертый вход первого блока условного выбора младшей части мантисс соединен соответственно с первым входом и вторым входом блока выбора максимума экспоненциальной части двух операндов. Третий вход и четвертый вход первого блока условного выбора младшей части мантисс соединен соответственно с первым входом и вторым входом блока разницы экспонент. Первый выход первого блока условного выбора младшей части мантисс соединен с первыми входами первого блока и второго блока формирования величины насыщения. Второй выход первого блока условного выбора младшей части мантисс соединен с первым входом блока сдвига мантиссы. Первый выход второго блока условного выбора младшей части мантисс соединен соответственно со вторым входом первого блока формирования величины насыщения и вторым входом второго блока формирования величины насыщения. Второй выход второго блока условного выбора младшей части мантисс соединен со вторым входом блока сдвига мантиссы. Выход блока выбора максимума экспоненциальной части двух операндов соединен с входом узла прибавления единицы и первым входом третьего блока условного перехода. Выход узла прибавления единицы соединен со вторым входом третьего блока условного перехода. Выход блока разницы экспонент соединен с входом блока абсолютной величины разницы, выход которого соединен с третьим входом блока сдвига мантиссы. Первый выход блока сдвига мантиссы соединен с третьими входами первого и второго блоков формирования величины насыщения. Второй выход блока сдвига мантиссы соединен с четвертыми входами первого и второго блоков формирования величины насыщения. Первый выход первого блока формирования величины насыщения соединен с первым входом блока формирования инверсного кода и первым входом второго блока условного перехода. Второй выход первого блока формирования величины насыщения соединен со вторым входом блока формирования инверсного кода, с первым и третьим входами первого блока условного перехода, с третьим входом второго блока условного перехода и третьим входом третьего блока условного перехода. Выход второго блока формирования величины насыщения соединен с четвертыми входами первого, второго и третьего блоков условного перехода. Первый и второй выходы блока формирования инверсного кода соответственно соединены с первым и вторым входами блока вычитания двойного формата, первый выход которого соединен со вторым входом второго блока условного перехода, а второй выход – со вторым входом первого блока условного перехода. Выходы первого, второго и третьего блоков условного перехода служат выходами соответственно мантиссы старших разрядов, мантиссы младших разрядов и экспоненты сложения-вычитания чисел.The problem is solved, and the claimed technical result is achieved in the device of addition and subtraction of numbers for the digital-signal processor, which contains the first conditional selection block of the younger part of the mantissas, the second conditional choice block of the older part of the mantissas, the maximum choice block of the exponential part of two operands, the difference unit of exponential parts, absolute difference unit, unit addition unit, mantissa shift unit, first saturation value generating unit, second saturation value forming unit, formation unit I have an inverse code, a double format subtraction unit, the first, second and third conditional block. The first input of the first conditional selection block of the lower part of the mantissa serves to receive the lower level of the mantissa of the first number, its second input to receive the lower level of the mantissa of the second number, its third input to the arrival of the first exponent, its fourth input to the second exponent. The first input of the second block of conditional selection of the older part of the mantissa serves for the arrival of the older part of the mantissa of the first number, and its second input is for the arrival of the older part of the mantissa of the second number. The third input and the fourth input of the first conditional selection unit of the lower part of the mantis are connected respectively to the third input and the fourth input of the second conditional selection unit of the older part of the mantissa. The third input and the fourth input of the first conditional selection block of the lower part of the mantis are connected respectively to the first input and the second input of the maximum selection block of the exponential part of two operands. The third input and the fourth input of the first conditional selection block of the lower part of the mantis are connected to the first input and the second input of the difference block of the exponents, respectively. The first output of the first conditional selection block of the younger part of the mantis is connected to the first inputs of the first block and the second block of formation of the saturation value. The second output of the first conditional block of the younger part of the mantis is connected to the first input of the mantissa shift block. The first output of the second conditional selection block of the lower part of the mantis is connected respectively to the second input of the first block of formation of the saturation value and the second input of the second block of formation of the saturation value. The second output of the second conditional block of the younger part of the mantis is connected to the second input of the shift block of the mantissa. The output of the maximum selection block of the exponential part of the two operands is connected to the input of the unit for adding one and the first input of the third conditional branch. The output of the unit addition unit is connected to the second input of the third conditional block. The output of the exponent of the difference block is connected to the input of the absolute value of the difference block, the output of which is connected to the third input of the shift mantissa block. The first output of the shift block mantissa is connected to the third inputs of the first and second blocks of formation of the saturation value. The second output of the shift block mantissa is connected to the fourth inputs of the first and second blocks of formation of the saturation value. The first output of the first block of formation of the saturation value is connected to the first input of the block of formation of the inverse code and the first input of the second block of conditional transition. The second output of the first block of formation of the saturation value is connected with the second input of the block of formation of the inverse code, with the first and third inputs of the first conditional transfer unit, with the third input of the second conditional transfer unit and the third input of the third conditional transfer unit. The output of the second block of formation of the saturation value is connected to the fourth inputs of the first, second and third blocks of the conditional transition. The first and second outputs of the inverse code generation unit are respectively connected to the first and second inputs of the double format subtraction unit, the first output of which is connected to the second input of the second conditional transfer unit, and the second output to the second input of the first conditional transfer unit. The outputs of the first, second and third blocks of the conditional transition serve as outputs of the higher-order mantissa, the lower-order mantissa, and the addition and subtraction exponential numbers.

Преимущества, а также особенности настоящего изобретения поясняются с помощью варианта его выполнения со ссылками на фигуры.The advantages as well as the features of the present invention are explained using an embodiment of the invention with reference to the figures.

Фиг. 1 изображает функциональную схему заявленного устройства;FIG. 1 shows a functional diagram of the claimed device;

На фиг. 2 приведен общий формат числа с плавающей запятой.FIG. 2 shows the general format of a floating-point number.

На фиг. 1 обозначены следующие позиции:FIG. 1 marked the following positions:

1 – первый блок условного выбора младшей части мантисс1 - the first conditional selection block of the younger part of mantis

2 – второй блок условного выбора старшей части мантисс2 - the second block of conditional selection of the older part of mantis

3 – блок выбора максимума экспоненциальной части двух операндов3 - block selection of the maximum exponential part of the two operands

4 – блок разницы экспонент4 - exponent difference block

5 – блок абсолютной величины разницы5 - the block of the absolute value of the difference

6 – узел прибавления единицы6 - unit addition unit

7 – блок сдвига мантиссы7 - mantissa shift block

8 – первый блок формирования величины насыщения8 - the first block forming the value of saturation

9 – второй блок формирования величины насыщения9 - the second block forming the value of saturation

10 – блок формирования инверсного кода10 - block the formation of the inverse code

11 – блок вычитания двойного формата11 - double format subtraction unit

12, 13, 14 – соответственно первый, второй и третий блоки условного перехода12, 13, 14 - the first, second and third blocks of the conditional transition, respectively

15, 16, 17, 18 – входы (входные шины) данных чисел15, 16, 17, 18 - inputs (input buses) of these numbers

19–37 – шины соединений19–37 - bus connections

38, 39, 40 – выходы (выходные шины) данных чисел.38, 39, 40 - outputs (output buses) of these numbers.

Словарь терминов, использованных в описании и на фигурах:Glossary of terms used in the description and figures:

Add – сложениеAdd - addition

Cond – условиеCond - condition

Exp – экспонентаExp - Exhibitor

Mant – мантиссаMant - mantissa

Shift – операция сдвига числаShift - shift operation

Sub – вычитаниеSub - subtraction

Cnd1- блок условий 1Cnd1 - condition block 1

Cnd2- блок условий 2Cnd2 - condition block 2

Shmant – блок сдвига мантиссыShmant - mantissa shift block

Maxexp –максимальная величина экспонентыMaxexp - maximum exponent

Exp1 – блок формирования абсолютной величины экспоненты результатаExp1 - block of formation of the absolute value of the exponent of the result

FP – формат чисел с плавающей точкойFP - floating point format

IP-блок (ай-пи-блок) – законченное функциональное устройствоIP block (I-PI block) - complete functional device

Minus – минус или вычитание.Minus - minus or subtract.

Устройство сложения-вычитания для процессора (фиг. 1) содержит первый блок 1 условного выбора младшей части мантисс, второй блок 2 условного выбора старшей части мантисс, блок 3 выбора максимума экспоненциальной части двух операндов, блок 4 разницы экспонент, блок 5 абсолютной величины разницы, узел 6 прибавления единицы, блок 7 сдвига мантиссы, первый блок 8 формирования величины насыщения, второй блок 9 формирования величины насыщения, блок 10 формирования инверсного кода, блок 11 вычитания двойного формата, первый блок 12 условного перехода, второй блок 13 условного перехода и третий блок 14 условного перехода. Первый вход 15 первого блока 1 условного выбора младшей части мантисс служит для поступления младшего разряда мантиссы первого числа, второй его вход 16 – для поступления младшего разряда мантиссы второго числа, третий его вход 17 – для поступления экспоненты первого числа, четвертый его вход 18 – для поступления экспоненты второго числа. Первый вход 19 второго блока 2 условного выбора старшей части мантиссы служит для поступления старшей части мантиссы первого числа, а второй его вход 20 – для поступления старшей части мантиссы второго числа. Третий вход 17 и четвертый вход 18 первого блока 1 условного выбора младшей части мантисс соединен соответственно с третьим входом и с четвертым входом второго блока 2 условного выбора старшей части мантисс. Третий вход 17 и четвертый вход 18 первого блока 1 условного выбора младшей части мантисс соединен соответственно с первым входом и со вторым входом блока 3 выбора максимума экспоненциальной части двух операндов. Третий вход 17 и четвертый вход 18 первого блока 1 условного выбора младшей части мантисс соединен соответственно с первым входом и со вторым входом блока 4 разницы экспонент. Первый выход первого блока 1 условного выбора младшей части мантисс соединен с первыми входами первого блока 8 и второго блока 9 формирования величины насыщения. Второй выход первого блока 1 условного выбора младшей части мантисс соединен с первым входом блока 7 сдвига мантиссы. Первый выход второго блока 2 условного выбора младшей части мантисс соединен соответственно со вторым входом первого блока 8 формирования величины насыщения и со вторым входом второго блока 9 формирования величины насыщения. Второй выход второго блока 2 условного выбора старшей части мантисс соединен со вторым входом блока 7 сдвига мантиссы. Выход блока 3 выбора максимума экспоненциальной части двух операндов соединен с входом узла 6 прибавления единицы и с первым входом третьего блока 14 условного перехода. Выход узла 6 прибавления единицы соединен со вторым входом третьего блока 14 условного перехода. Выход блока 4 разницы экспонент соединен с входом блока 5 абсолютной величины разницы, выход которого соединен с третьим входом блока 7 сдвига мантиссы. Первый выход блока 7 сдвига мантиссы соединен с третьими входами первого и второго блоков 8, 9 формирования величины насыщения, второй выход блока 7 сдвига мантиссы соединен с четвертыми входами первого и второго блоков 8, 9 формирования величины насыщения. Первый выход первого блока 8 формирования величины насыщения соединен с первым входом блока 10 формирования инверсного кода и с первым входом второго блока 13 условного перехода. Второй выход первого блока 8 формирования величины насыщения соединен со вторым входом блока 10 формирования инверсного кода, с первым и с третьим входом первого блока 12 условного перехода, с третьим входом второго блока 13 условного перехода и с третьим входом третьего блока 14 условного перехода. Выход второго блока 9 формирования величины насыщения соединен с четвертыми входами первого блока 12 условного перехода, второго блока 13 условного перехода и третьего 14 блока условного перехода. Первый и второй выходы блока 10 формирования инверсного кода соответственно соединены с первым и вторым входами блока 11 вычитания двойного формата, первый выход которого соединен со вторым входом второго блока 13 условного перехода, а второй выход – со вторым входом первого блока 12 условного перехода. Выходы 38, 39, 40 соответственно первого блока 12 условного перехода, второго блока 13 условного перехода и третьего блока 14 условного перехода служат выходами соответственно мантиссы старших разрядов, мантиссы младших разрядов и экспоненты сложения-вычитания чисел.The addition-subtraction device for the processor (Fig. 1) contains the first conditional selection block 1 of the lower part of the mantis, the second conditional selection block 2 of the higher part of the mantissa, the maximum selection block 3 of the exponential part of two operands, the difference exponent 4, the absolute difference value 5, unit 6 addition unit, the mantissa shift unit 7, the first saturation value generation unit 8, the second saturation value generation unit 9, the inverse code generation unit 10, the double format subtraction unit 11, the first conditional transition unit 12, volts The block 13 conditional transition and the third block 14 conditional transition. The first input 15 of the first block 1 of the conditional selection of the lower part of the mantis serves to receive the low order of the mantissa of the first number, its second input 16 to receive the low order of the mantissa of the second number, its third input 17 to receive the first exponential, its fourth input 18 to arrivals of the exponent of the second number. The first input 19 of the second unit 2 of the conditional selection of the older part of the mantissa serves to receive the older part of the mantissa of the first number, and its second input 20 to receive the older part of the mantissa of the second number. The third input 17 and the fourth input 18 of the first block 1 of the conditional selection of the younger part of the mantis are connected respectively to the third input and the fourth input of the second block 2 of the conditional choice of the older part of the mantissas. The third input 17 and the fourth input 18 of the first block 1 of the conditional selection of the lower part of the mantis are connected respectively to the first input and to the second input of the maximum selection block 3 of the exponential part of two operands. The third input 17 and the fourth input 18 of the first block 1 of the conditional selection of the younger part of the mantis are connected respectively to the first input and to the second input of the block 4 of exponential differences. The first output of the first block 1 conditional selection of the younger part of the mantissa is connected to the first inputs of the first block 8 and the second block 9 of the formation of the saturation value. The second output of the first block 1 conditional selection of the younger part of the mantissa is connected to the first input of the block 7 of the shift of the mantissa. The first output of the second unit 2 conditional selection of the younger part of the mantissa is connected respectively with the second input of the first block 8 forming the saturation value and with the second input of the second block 9 forming the saturation value. The second output of the second unit 2 conditional selection of the older part of the mantissa is connected to the second input of the block 7 of the shift of the mantissa. The output of the maximum selection block 3 of the exponential part of the two operands is connected to the input of the unit 6 for adding one and to the first input of the third conditional transition block 14. The output of the node 6 of the addition of the unit is connected to the second input of the third block 14 conditional transition. The output of block 4 of the difference of the exponents is connected to the input of the block 5 of the absolute value of the difference, the output of which is connected to the third input of the block 7 of the shift of the mantissa. The first output of the mantissa shift block 7 is connected to the third inputs of the first and second saturation value generating units 8, 9, the second output of the mantissa shift unit 7 is connected to the fourth inputs of the first and second saturation value generating units 8, 9. The first output of the first block 8 forming the saturation value is connected with the first input of the block 10 of the formation of the inverse code and with the first input of the second block 13 conditional transition. The second output of the first block 8 forming the saturation value is connected with the second input of the block 10 forming the inverse code, with the first and the third input of the first block 12 conditional transition, with the third input of the second block 13 conditional transition and with the third input of the third block 14 conditional transition. The output of the second block 9 of forming the saturation value is connected to the fourth inputs of the first block 12 of the conditional transition, the second block 13 of the conditional transition and the third 14 block of the conditional transition. The first and second outputs of the inverse code generation unit 10 are respectively connected to the first and second inputs of the double format subtraction unit 11, the first output of which is connected to the second input of the second conditional transfer unit 13, and the second output to the second input of the first conditional transfer unit 12. The outputs 38, 39, 40, respectively, of the first conditional transition unit 12, the second conditional transition unit 13, and the third conditional transition unit 14 serve as outputs of the higher-order mantissa, the lower-order mantissa, and the addition and subtraction exponential numbers.

Заявленное устройство работает следующим образом.The claimed device works as follows.

На входы 15, 16, 17, 18, 19, 20 поступают сигналы мантисс (старших и младших разрядов) и экспонент двух операндов.The inputs 15, 16, 17, 18, 19, 20 receive signals from the mantis (the high and low bits) and the exponentials of the two operands.

Производимая операция в заявленном устройстве – сложение или вычитание операндов. В отличие от ближайшего аналога, для осуществления этих операций производятся вычисления в зависимости от состояния на шинах соединений 29 и 30 только в первом и втором блоках 8, 9 формирования величины насыщения, второй блок 9 формирования величины насыщения блоках 8 и 9 (для сложения или вычитания).The operation performed in the claimed device is the addition or subtraction of operands. Unlike the closest analogue, to perform these operations, calculations are performed depending on the state of the tires 29 and 30 in the first and second blocks 8, 9 of the formation of the saturation value only, the second block 9 of the formation of the saturation value of the blocks 8 and 9 (for addition or subtraction ).

Для корректного выполнения операций необходимо согласовать экспоненциальные части двух операндов. В этой связи эти функции более комплексные для таких форматов, как сложение и вычитание, чем для выполнения операции умножения. Согласование экспоненциальных частей операндов производится блоком 3 выбора максимума экспоненциальной части двух операндов, блоком 4 разницы экспонент, блоком 5 абсолютной величины разницы, узлом 6 прибавления единицы.For the correct execution of operations, it is necessary to match the exponential parts of the two operands. In this regard, these functions are more complex for formats such as addition and subtraction than for performing the multiplication operation. The coordination of the exponential parts of the operands is performed by block 3 of selecting the maximum of the exponential part of two operands, by block 4 of the differences of exponentials, by block 5 of the absolute value of the difference, by node 6 of the addition of one.

Блок 1 условного выбора младшей части мантиссы предназначен для формирования на первом и втором выходах или на втором и первом выходах соответственно первого и второго операндов (мантиссы младшей части операнда) в зависимости от того, чья экспоненциальная часть больше. Это работает как коммутатор с условным переключением. Аналогично назначение для блока 2 условного выбора мантиссы (старшей части). Блок 3 максимума экспоненциальной части операндов предназначен для сравнения этих величин и выбора максимальной части из двух экспонент. Блок 4 формирует разницу экспонент двух операндов (exp1 - exp2), и далее блок 6 формирует абсолютную величину этого значения. Блок 7 сдвига мантиссы обеспечивает программируемый сдвиг мантиссы (в совокупности старшей и младшей частей) на то количество битов, которое поступает с выхода блока 6. Блоки 8 и 9 формирования величин насыщения предназначены для определения максимальной величины мантиссы, если она при операциях сдвига превышает максимальную величину, например, 1111…1. Первый и второй блоки условного перехода 12 и 13 предназначены для формирования финальной величины мантиссы (старшей и младшей частей). Третий блок условного перехода 14 предназначен для финального формирования экспоненциальной части результата.The conditional selection block 1 of the lower part of the mantissa is designed to form the first and second outputs or the second and first outputs of the first and second operands, respectively (the lower part of the operand mantissa), depending on whose exponential part is larger. It works as a conditional switch. Similarly, the appointment for the block 2 conditional selection of the mantissa (senior part). Block 3 of the maximum of the exponential part of the operands is designed to compare these values and select the maximum part of the two exponentials. Block 4 forms the difference of the exponentials of the two operands (exp1 - exp2), and then block 6 forms the absolute value of this value. The mantissa shift block 7 provides a programmable mantissa shift (in the senior and junior parts) for the number of bits that comes from the output of block 6. The blocks 8 and 9 for forming saturation values are designed to determine the maximum value of the mantissa, if it exceeds the maximum value during shift operations , for example, 1111 ... 1. The first and second blocks of the conditional transition 12 and 13 are designed to form the final size of the mantissa (the older and younger parts). The third block of conditional transition 14 is intended for the final formation of the exponential part of the result.

По шине 25 максимальная величина экспоненты двух операндов, увеличенная на 1 (при необходимости нормализации) поступает второй вход блока 14 условного перехода. При этом на первый вход блока 14 условного перехода от выхода блока 3 выбора максимума экспоненциальной части двух операндов поступает максимальная величина экспоненты без модернизации (например, 23 и 25 – из них выбирается 25). В блоке 14 осуществляется выбор между указанными двумя величинами в зависимости от сигналов на шинах 31 и 33. Если эти сигналы равны (нормализации не требуется), то на выход 40 передается экспонента, сформированная на шине 27, иначе поступает информация с шины 25. На выходах 38 и 39 формируется старшая и младшая части мантиссы результата. Мантисса представляет собой 32 разрядное слово, соответственно по шине 16 разрядов.Bus 25 maximum exponent of the two operands, increased by 1 (if necessary, normalization) receives the second input of the block 14 conditional transition. Wherein the first input unit 14 is a conditional branch from block 3 outputs the exponent of the maximum selecting two operands received maximum value of exponent without upgrading (e.g., 2 3 and 2 5 - are selected February 5). In block 14, the choice between these two quantities is made depending on the signals on buses 31 and 33. If these signals are equal (normalization is not required), then the exponent generated on bus 27 is transferred to output 40, otherwise information from bus 25 is output. 38 and 39 the upper and lower parts of the mantissa are formed. Mantissa is a 32-bit word, respectively, on the bus 16 bits.

Общий формат F числа с плавающей запятой представлен на фиг. 2:The common format F of a floating point number is shown in FIG. 2:

F = (-1)S·M·βE,F = (-1) S · M · β E ,

где S – знак числа: S=0 – положительное число, S=1 – отрицательное число; M – мантисса – дробная часть числа; β – базовая часть экспоненты; Е – степень экспоненты.where S is the sign of the number: S = 0 is a positive number, S = 1 is a negative number; M - mantissa - the fractional part of the number; β is the base part of the exponent; Е - degree of exponent.

На шинах 21, 22, 23 и 24 формируются младшие и старшие составляющие мантисс в зависимости от величин экспоненты поступающих операндов, например, с входа 15 – на шину 21 или шину 22 и с входа 16 – на шину 22 или шину 21; аналогично с входа 19 – на шину 23 или шину 24, и с входа 20 – на шину 24 или шину 23. Таким образом, в зависимости от значений чисел (что больше или меньше) происходит передача чисел на соответствующие выходы – шины 21 или 22, и 23 или 24. Величина сдвига 32 разрядной мантиссы осуществляется в блоке 7 сдвига и определяется абсолютной величиной разницы экспонент (например, разница 4 означает сдвиг на два разряда – 22=4), поступающей по шине 26. При этом диапазон величин, который обеспечивает данный формат, приведен ниже:On tires 21, 22, 23 and 24, the junior and senior components of the mantis are formed depending on the exponent values of the incoming operands, for example, from input 15 to bus 21 or bus 22 and from input 16 to bus 22 or bus 21; similarly, from input 19 to bus 23 or bus 24, and from input 20 to bus 24 or bus 23. Thus, depending on the values of the numbers (which is more or less), numbers are transferred to the corresponding outputs - bus 21 or 22, and 23 or 24. The shift value of the 32-bit mantissa is carried out in the shift block 7 and is determined by the absolute value of the exponent difference (for example, a difference of 4 means a shift by two digits - 2 2 = 4), coming through the bus 26. At that, This format is shown below:

Minimum (абсолютная величина) = 2,328306436538696·10-10 (исключая “0”);Minimum (absolute value) = 2,328306436538696 · 10 -10 (excluding the “0”);

Maximum (абсолютная величина) = 232768;Maximum (absolute value) = 2 32768 ;

Maximum отрицательной величины по абсолютному значению = -2-65536·2-31;Maximum negative value in absolute value = -2 -65536 · 2 -31 ;

Minimum = -232768.Minimum = -2 32768 .

В первом и втором блоках 8, 9 формирования величины насыщения выполняется операция сложения или вычитания в зависимости от кода команды. При этом формируются величины с учетом максимальной величины – saturation (насыщенность): например, максимальное значение положительного числа или максимальное значение абсолютной величины отрицательного числа – соответственно 0.1111…1 или 1.0000…0.In the first and second blocks 8, 9 of the formation of the saturation value, an addition or subtraction operation is performed depending on the command code. In this case, the values are formed taking into account the maximum value - saturation (saturation): for example, the maximum value of a positive number or the maximum value of the absolute value of a negative number is 0.1111 ... 1 or 1.0000 ... 0, respectively.

Для формирования отрицательного числа в устройство включены блок 10 инверсного кода и вычитатель 11 двойного формата, в котором из числа 7fff ffff (гексагональное представление числа) вычитается инверсная величина выбранной мантиссы, где далее блоки 12 и 13 условного перехода в зависимости от состояния сигналов («0» или «1») на шинах 33, 36 и 32, 37 для каждого из них формируют выходную мантиссу результата.To form a negative number, the device includes an inverse code block 10 and a double-format subtractor 11, in which the inverse value of the selected mantissa is subtracted from 7fff ffff (hexagonal representation of the number), where the 12 and 13 conditional transition blocks are then depending on the signal state (“0 "Or" 1 ") on tires 33, 36 and 32, 37 for each of them form the output mantissa of the result.

Устройство построено по асинхронному принципу, поэтому временные диаграммы и критические цепи (при разбросе параметров) не влияют на его работоспособность. Устройство полностью автономно и может применяться как IP-блок для цифро-сигнальных процессоров с фиксированной запятой, в которых, например, необходимо провести операции с плавающей запятой. Заявленный технический результат, заключающийся, в том числе, в упрощении конструкции и повышении быстродействия при асинхронном обмене данными, достигается за счет применения новой функциональной схемы, представленной на фиг. 1, с новым принципом работы.The device is built on an asynchronous principle, therefore, time diagrams and critical circuits (with variation of parameters) do not affect its performance. The device is completely autonomous and can be used as an IP block for digital-signal processors with a fixed decimal point, in which, for example, it is necessary to perform operations with a floating point. The claimed technical result, which consists, inter alia, in simplifying the design and improving performance in asynchronous data exchange, is achieved by applying a new functional circuit shown in FIG. 1, with a new working principle.

В конкретной приведенной функциональной схеме каждый блок оперирует в формате 16- или 32-разряда. Автономность блоков может обеспечиваться также наличием буфера FIFO (в частности, малого размера) на входе и выходе схемы. Размер этой памяти определяется общей структурой цифро-сигнальных процессоров и выбором системы команд. Глубина FIFO, может быть, например, 8–16 слов. В целом, предложенное техническое решение позволяет эффективно реализовать функциональные требования к цифро-сигнальным процессам. Буферная память (память буфера) по желанию разработчика позволяет хранить последовательность входных данных и результата зависимости от реализуемого устройства.In the specific functional diagram shown, each block operates in a 16- or 32-bit format. The autonomy of the blocks can also be ensured by the presence of a FIFO buffer (in particular, a small size) at the input and output of the circuit. The size of this memory is determined by the general structure of the digital-signal processors and the choice of the command system. The depth of the FIFO may be, for example, 8–16 words. In general, the proposed technical solution allows to effectively implement the functional requirements for digital-signal processes. Buffer memory (buffer memory) at the request of the developer allows you to store a sequence of input data and the result of the dependence on the implemented device.

Наиболее успешно заявленное устройство сложения-вычитания чисел для цифро-сигнального процессора промышленно применимо в IP-блоках цифро-сигнальных процессоров с фиксированной запятой, в которых необходимо провести операции с плавающей запятой для различной аппаратуры обработки цифровых данных.The most successfully declared device is the addition and subtraction of numbers for the digital-signal processor is industrially applicable in the IP blocks of digital-signal processors with a fixed comma, in which it is necessary to carry out operations with a floating point for various digital data processing equipment.

Claims (8)

Устройство сложения-вычитания для процессора, содержащее первый блок условного выбора младшей части мантисс, второй блок условного выбора старшей части мантисс, блок выбора максимума экспоненциальной части двух операндов, блок разницы экспонент, блок абсолютной величины разницы, узел прибавления единицы, блок сдвига мантиссы, первый блок формирования величины насыщения, второй блок формирования величины насыщения, блок формирования инверсного кода, блок вычитания двойного формата, первый блок условного перехода, второй блок условного перехода и третий блок условного перехода,An addition-subtraction device for a processor, containing the first conditional selector unit of the lower part of the mantis, the second conditional selector unit of the older part of the mantissa, the maximum selection unit of the exponential part of two operands, the exponent difference unit, the unit of absolute difference value, the unit of unit addition, the shift unit of the mantissa, the first block forming the value of saturation, the second block forming the value of saturation, block forming the inverse code, block subtraction double format, the first conditional block, the second unit conditional transition and third conditional branch unit, при этом первый вход первого блока условного выбора младшей части мантисс служит для поступления младшего разряда мантиссы первого числа, второй его вход – для поступления младшего разряда мантиссы второго числа, третий его вход – для поступления экспоненты первого числа, четвертый его вход – для поступления экспоненты второго числа,the first input of the first conditional selection block of the lower part of the mantissa serves for the entry of the lower order of the mantissa of the first number, its second input for the receipt of the lower order of the mantissa of the second number, its third entrance for the arrival of the first exponent, its fourth input for the arrival of the second numbers первый вход второго блока условного выбора старшей части мантиссы служит для поступления старшей части мантиссы первого числа, а второй его вход – для поступления старшей части мантиссы второго числа,the first input of the second conditional block of the senior part of the mantissa serves for the arrival of the senior part of the mantissa of the first number, and its second input - for the receipt of the senior part of the mantissa of the second number, третий вход и четвертый вход первого блока условного выбора младшей части мантисс соединены соответственно с третьим входом и с четвертым входом второго блока условного выбора старшей части мантисс, третий вход и четвертый вход первого блока условного выбора младшей части мантисс соединены соответственно с первым входом и со вторым входом блока выбора максимума экспоненциальной части двух операндов, и третий вход и четвертый вход первого блока условного выбора младшей части мантисс соединены соответственно с первым входом и со вторым входом блока разницы экспонент,the third input and the fourth input of the first conditional selection unit of the lower part of the mantis are connected respectively to the third input and the fourth input of the second conditional choice unit of the older part of the mantissa, the third input and the fourth input of the first conditional choice unit of the younger part of the mantissa are connected respectively to the first input and to the second input the maximum selection block of the exponential part of the two operands, and the third input and the fourth input of the first conditional selection block of the lower part of the mantissas are connected respectively to the first input and to the second the input block difference exponent, первый выход первого блока условного выбора младшей части мантисс соединен с первыми входами первого блока и второго блока формирования величины насыщения, второй выход первого блока условного выбора младшей части мантисс соединен с первым входом блока сдвига мантиссы, первый выход второго блока условного выбора старшей части мантисс соединен соответственно со вторым входом первого блока формирования величины насыщения и со вторым входом второго блока формирования величины насыщения, второй выход второго блока условного выбора старшей части мантисс соединен со вторым входом блока сдвига мантиссы,The first output of the first conditional selection block of the lower part of the mantis is connected to the first inputs of the first block and the second formation unit of the saturation value, the second output of the first conditional choice block of the lower part of the mantissa is connected to the first input of the mantissa shift block, the first output of the second conditional selection block of the older part of the mantissa is connected with the second input of the first block forming the saturation value and with the second input of the second block forming the saturation value, the second output of the second conditional selection block is old the neck of the mantissa is connected to the second input of the shift unit of the mantissa, выход блока выбора максимума экспоненциальной части двух операндов соединен с входом узла прибавления единицы и с первым входом третьего блока условного перехода, выход узла прибавления единицы соединен со вторым входом третьего блока условного перехода, выход блока разницы экспонент соединен с входом блока абсолютной величины разницы, выход которого соединен с третьим входом блока сдвига мантиссы, первый выход блока сдвига мантиссы соединен с третьими входами первого и второго блоков формирования величины насыщения, второй выход блока сдвига мантиссы соединен с четвертыми входами первого и второго блоков формирования величины насыщения,the output of the maximum selection block of the exponential part of the two operands is connected to the input of the unit addition unit and the first input of the third conditional transition unit, the output of the unit addition unit is connected to the second input of the third conditional transition unit, the output of the difference unit of the exponents is connected to the input of the absolute difference unit, the output of which connected to the third input of the mantissa shift unit, the first output of the mantissa shift unit is connected to the third inputs of the first and second saturation units, the second output of the bl Single shear mantissa is connected to fourth inputs of the first and second blocks forming saturation value, первый выход первого блока формирования величины насыщения соединен с первым входом блока формирования инверсного кода и с первым входом второго блока условного перехода, второй выход первого блока формирования величины насыщения соединен со вторым входом блока формирования инверсного кода, с первым и с третьим входами первого блока условного перехода, с третьим входом второго блока условного перехода и с третьим входом третьего блока условного перехода, выход второго блока формирования величины насыщения соединен с четвертыми входами первого блока условного перехода, второго блока условного перехода и третьего блока условного перехода, иthe first output of the first block of forming the saturation value is connected to the first input of the block of forming the inverse code and the first input of the second block of conditional transition; the second output of the first block of forming the saturation value is connected to the second input of the block of forming the inverse code, with the first and third inputs of the first block of the conditional transition , with the third input of the second conditional transfer unit and with the third input of the third conditional transfer unit, the output of the second formation unit of the saturation value is connected to the fourth input mi of the first conditional transfer unit, the second conditional transfer unit and the third conditional transfer unit, and первый и второй выходы блока формирования инверсного кода соответственно соединены с первым и вторым входами блока вычитания двойного формата, первый выход которого соединен со вторым входом второго блока условного перехода, а второй выход – со вторым входом первого блока условного перехода, выходы первого, второго и третьего блоков условного перехода служат выходами – мантиссы старших разрядов, мантиссы младших разрядов и экспоненты сложения/вычитания чисел.The first and second outputs of the inverse code generation unit are respectively connected to the first and second inputs of the double format subtraction unit, the first output of which is connected to the second input of the second conditional transfer unit, and the second output to the second input of the first conditional transfer unit, outputs of the first, second and third conditional transition blocks serve as exits — the mantissa of the higher digits, the mantissa of the lower digits, and the exponent of addition / subtraction of numbers.
RU2017145395A 2017-12-25 2017-12-25 Addition-subtraction device for digital signal processor RU2686628C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017145395A RU2686628C1 (en) 2017-12-25 2017-12-25 Addition-subtraction device for digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017145395A RU2686628C1 (en) 2017-12-25 2017-12-25 Addition-subtraction device for digital signal processor

Publications (1)

Publication Number Publication Date
RU2686628C1 true RU2686628C1 (en) 2019-04-29

Family

ID=66430361

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017145395A RU2686628C1 (en) 2017-12-25 2017-12-25 Addition-subtraction device for digital signal processor

Country Status (1)

Country Link
RU (1) RU2686628C1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1315969A1 (en) * 1985-12-18 1987-06-07 Предприятие П/Я М-5339 Device for adding and subtracting the floating-point numbers
SU1529214A1 (en) * 1988-02-08 1989-12-15 Предприятие П/Я А-1081 Floating-point device for adding two numbers
JPH07121353A (en) * 1993-10-20 1995-05-12 Matsushita Electric Ind Co Ltd Floating point adder-substracter
US5568412A (en) * 1994-04-29 1996-10-22 Goldstar Company, Limited Rounding-off method and apparatus of floating point arithmetic apparatus for addition/subtraction
US6516332B1 (en) * 1996-09-02 2003-02-04 Siemens Plc Floating point number data processing means
RU2412462C2 (en) * 2006-02-27 2011-02-20 Квэлкомм Инкорпорейтед Low wattage floating-point processor for selected sub-accuracy

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1315969A1 (en) * 1985-12-18 1987-06-07 Предприятие П/Я М-5339 Device for adding and subtracting the floating-point numbers
SU1529214A1 (en) * 1988-02-08 1989-12-15 Предприятие П/Я А-1081 Floating-point device for adding two numbers
JPH07121353A (en) * 1993-10-20 1995-05-12 Matsushita Electric Ind Co Ltd Floating point adder-substracter
US5568412A (en) * 1994-04-29 1996-10-22 Goldstar Company, Limited Rounding-off method and apparatus of floating point arithmetic apparatus for addition/subtraction
US6516332B1 (en) * 1996-09-02 2003-02-04 Siemens Plc Floating point number data processing means
RU2412462C2 (en) * 2006-02-27 2011-02-20 Квэлкомм Инкорпорейтед Low wattage floating-point processor for selected sub-accuracy

Similar Documents

Publication Publication Date Title
JP3144816B2 (en) Device for performing division
JP3689183B2 (en) Accurate and effective sticky bit calculation for accurate floating-point division / square root operations
US6360241B1 (en) Computer method and apparatus for division and square root operations using signed digit
US3871578A (en) Data processing system for multiplying and intergerizing floating point numbers
US5357237A (en) In a data processor a method and apparatus for performing a floating-point comparison operation
CN110168493B (en) Fused multiply-add floating-point operations on 128-bit wide operands
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
JPH0727456B2 (en) Floating point arithmetic unit
KR102358013B1 (en) Close path fast incremented sum in a three-path fused multiply-add design
US20030005016A1 (en) Double precision floating point multiplier having a 32-bit booth-encoded array multiplier
JPH0635675A (en) Method and device for conducting division in data processor
JPH02294819A (en) Floating point arithmetic processor
US3699326A (en) Rounding numbers expressed in 2{40 s complement notation
US20210019116A1 (en) Floating point unit for exponential function implementation
JPH07168697A (en) Circuit and method for double-precision division
US3210737A (en) Electronic data processing
JPH05250146A (en) Arithmetic operation circuit executing integer involution processing
RU2686628C1 (en) Addition-subtraction device for digital signal processor
US5867413A (en) Fast method of floating-point multiplication and accumulation
US6598065B1 (en) Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal
US4866655A (en) Arithmetic processor and divider using redundant signed digit
US3319057A (en) Parallel division with separate carry storage
US8005884B2 (en) Relaxed remainder constraints with comparison rounding
Shekhawat et al. A hardware generator for posit arithmetic and its FPGA prototyping
RU2510072C1 (en) Apparatus for performing division and square-rooting