Перейти к содержанию
    

Интел IP ядро Single и Double арифметика

У Интела (Альтеры) есть готовые ip корки для вещественной арифметики. Мне понадобилось сложение.

Если выбрать Single формат, то задержка на расчет будет 3 такта на частоте 250МГц и будут задействованы 2 аппаратных блока  Аррии 10.

А вот если выбрать Double формат, то задержка на расчет будет 11 тактов на частоте 250МГц, и почему то без аппаратных блоков.

Это в интеле (алтере) инженеры ленивые и не захотели на аппаратных блоках реализацию писать, или для double есть какие то существенные отличия, сложности?

Single:

 alt_single.png.84484182d7d91bb82d91a7c626d2dc55.png

Double:

alt_double.png.1fc823427882e40a6b62d31cb7ac7713.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Версия САПР какая? У 10 Арии плавающая точка аппаратная, в отличие от Xilinx. Странное что-то у вас получилось...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, warrior-2001 said:

Версия САПР какая?

17.1 Standard
Спасибо за подсказку, надо глянуть, что в pro выдает (Quartus 19.4 Pro такой у меня установлен)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, warrior-2001 said:

У 10 Арии плавающая точка аппаратная, в отличие от Xilinx. Странное что-то у вас получилось...

А что вас удивляет? У 10 Арии аппаратная плавающая точка только для single-precision. Для double-precision никакой аппаратной плавающей точки у 10 Арии нет:

Quote

The architectural innovation in the implementation of IEEE 754 single-precision hardened floating-point DSP (digital signal processing) blocks in Intel® Arria® 10 FPGAs and SoCs enable processing rates up to 1.5 TFLOPs (Tera Floating-point Operations Per Second) and power efficiency up to 40 GFLOPs/Watt.

 

With the three modes available for Intel® Arria® 10 DSP blocks: standard-precision fixed-point, high-precision fixed point and single-precision floating-point, designers can implement a variety of algorithms ...

 

Floating-Point Mode

 

A single DSP block in the floating-point mode provides an IEEE 754 single-precision floating-point multiplier and an IEEE 754 single-precision adder, delivering the highest floating-point performance on any FPGA in the market. These floating-point operators allow floating-point designs to be similar to traditional fixed-point designs, providing the benefits of floating-point at no additional cost for FPGA designers. Also, designers are able to remain in floating point, eliminating months of converting algorithms to fixed point and verifying the accuracy.

 

The floating-point mode offers:

 

An IEEE 754 single-precision multiplier and IEEE 754 single-precision adder in each DSP block

  • Support for floating-point operations, such as: AxB, A+C, A-C, AxB+C, AxB-C, Acc=AxB+Acc
  • Vector operations to support convolution, dot products, and other linear algebra functions
  • Complex multiplication using fast Fourier transform (FFT)

См: Intel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Действительно. Подзабыл я уже об этом.

9 минут назад, blackfin сказал:

У 10 Арии аппаратная плавающая точка только для single-precision. Для double-precision никакой аппаратной плавающей точки У 10 Арии нет

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, blackfin said:

А что вас удивляет? У 10 Арии аппаратная плавающая точка только для single-precision. Для double-precision никакой аппаратной плавающей точки У 10 Арии нет:

См: Intel

вопрос из любопытства - а почему для целочисленных операций (из которых собирается double precision) не используются аппаратные блоки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

6 minutes ago, yes said:

вопрос из любопытства - а почему для целочисленных операций (из которых собирается double precision) не используются аппаратные блоки?

Скорее всего потому то выгоды от этого никакой.  

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 minutes ago, yes said:

... почему для целочисленных операций (из которых собирается double precision) не используются аппаратные блоки?

Это смотря для каких "целочисленных операций". Например, комплексное умножение в double-precision всё же использует аппаратные блоки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...