Темы бакалаврських і дипломних робіт.

Блоки операцій із плаваючою комою

Призначення.
Блоки операцій із плаваючою комою призначені для реалізації в ПЛІС обчислень з
підвищеною точністю й /або зняття проблеми масштабування проміжних результатів. Подання даних послідовними кодами і послідовно- паралельні обчислення в цих блоках дозволяють

  1. мінімізувати апаратурні витрати на реалізацію функцій і за рахунок цього дати можливість реалізувати в ПЛІС досить складні алгоритми з повним розпаралелюванням (відображення графа алгоритму в структуру як 1:1);
  2. мінімізувати тривалість тактового інтервалу до гранично можливої для ПЛІС за рахунок конвеєризації і мінімізації критичного шляху в логічних схемах;
  3. звести період реалізації всіх операцій (у тому числі операцій обчислення елементарних функцій) до одного або двох значень, що спрощує планування складних конвеєрних обчислень;
  4. ефективніше експлуатувати пам’ять на затримках LUT ПЛИС серії Xilinx Virtex.

Подання даних.
Дані представляються числами з фіксованою комою в додатковому коді та числами із плаваючою комою. Точність подання мантиси й числа з фіксованою комою задається як у таблиці 1:

Таблиця 1.

Число розрядів n Назва Префікс
8 байтова B
16 Півслово H
24 Одинарна S
32 розширена E

Дані з фіксованою комою призначені для інтерфейсу з іншими обчислювальними
блоками, які можуть бути застосовані в проекті, у якому застосовуються дані блоки. Вони представляються паралельними n-розрядними кодами. Дані з фіксованою комою представляються як цілі числа:

Дані із плаваючою комою мають n-1 – розрядну мантису в прямому коді з неявно
заданою старшою одиницею, знак мантиси й 8-розрядний абсолютний порядок без зсуву:

Знак Порядок Мантиса
n+7 n+6 n+5 n-1 n-2 n-3 0

У форматі із плаваючою комою повинні бути закодовані наступні виняткові стани:

  • Плюс-Мінус нуль = порядок і мантиса – нульові, крім знака;
  • Плюс-Мінус нескінченність – порядок = 255, мантиса -нульова , крім знака;
  • Не-Число (NAN) – порядок = 255, мантиса- всі 1.

Дані із плаваючою комою представляються й передаються послідовним кодом старшими розрядами вперед. Початок числа супроводжується імпульсом SA, як на малюнку 1.

Інтерфейс

Блоки повинні мати уніфікований інтерфейс.

Крім того, блоки, що виконують перетворення типів з/ у ціле число мають паралельні входи/ виходи n-розрядних шин цілих чисел, відповідно.

Якщо блок обробляє 2 числа DA і DB, і вони надходять неодночасно, то початок
виконання операції збігається з надходженням останнього операнда (уточнюється в процесі виконання проекту).

Якщо блок управляється додатковими сигналами, напр. SIGN, то цей сигнал записується блоком у період надходження знакового розряду числа.

Перелік операцій представлений у таблиці 3.

Таблиця 3

Cимвол Операнди Ознаки Функція
ADDSUB DA,DB GE,ZR,INF Додавання якщо SGN=0,вирахування DA-DB якщо
SGN=1
MUL DA,DB GE,ZR,INF Множення
DIV DA,DB GE,ZR,INF,NAN Ділення
ABS DI Абсолютне значення
ACCUM DI GE,ZR,INF Накопичення в акумуляторі
SQRT DI ZR,NAN Квадратний корінь
SINPI DI GE,ZR Синус аргументу, помноженого на Пі
ATAN DA,DB GE,ZR,NAN Арктангенс від DA/DB
MOD DA,DB GE,ZR,INF Модуль комплексного числа:
SQRT(DA*DA+DB*DB)
MUL2CONST DI GE,ZR,INF Помножити на константу, задану як Generic
ADD2CONST DI GE,ZR,INF Додати константу, задану як Generic
TANPI DI GE,ZR,INF Тангенс аргументу, помноженого на Пі
LOG2 DI ZR,NAN Логарифм по основі 2
EXP2 DI GE,ZR,INF 2 у степені аргументу
REAL2INT DI GE,ZR,INF перетворення в ціле
INT2REAL DI GE,ZR перетворення із цілого в реальне
В2H,H2S,S2E,
E2S,S2H,H2B,
B2S,H2E,S2B,
E2H
DI Перетворення точності подання аргументу,
наприклад, В2Н – з байтової мантиси в 16-
розрядну мантису