
Лабораторная 4 - задание
.pdf
Лабораторная работа №3 Схема преобразования чисел с плавающей точкой в целочисленный формат
Разработать на VHDL схему преобразования чисел с плавающей точкой (floating point) в целочисленный формат: число с плавающей точкой должно округляться до ближайшего меньшего по модулю целого числа (например, число 3,8D должно округляться до 3, а не до 4). Числа с плавающей точкой должны быть представлены в 13--разрядном формате: старший разряд – знаковый, следующие 4 разряда – порядок числа и последние 8 разрядов – мантисса. На выход схемы должно выводиться целое число в 13-разрядном формате: старший бит – знаковый, младшие 12 бит – модуль числа (рисунок 1).
|
Floating |
|
point |
sign exponent |
mantissa |
|
Integer |
sign |
magnitude |
|
Рисунок 1 – Форматы чисел |
В таблице 1 представлен диапазон чисел в рассматриваемых форматах в двоичной (B) и десятичной (D) системах счисления.
Таблица 1 – диапазон чисел
формат числа |
минимальное число |
максимальное число |
||||
|
(по модулю) |
|
(по модулю) |
|
||
|
B |
|
D |
B |
|
D |
|
|
|
|
|
|
|
с плавающей |
0,10000000·20000 |
|
0,5 |
0,11111111·21111 |
|
32640 |
точкой |
|
|
|
|
|
|
|
|
|
|
|
|
|
целочисленный |
000000000000 |
|
0 |
111111111111 |
|
4096 |
|
|
|
|
|
|
|
Из таблицы видно, что диапазон чисел с плавающей точкой значительно шире диапазона чисел, представленных в целочисленном формате. В случае, если модуль числа с плавающей точкой превышает максимально допустимое число целочисленного формата (4096D), то на выходе схемы должно выводиться число 4096D и дополнительный сигнал переполнения of (рисунок 2).
Floating |
13 |
|
13 |
|
|
|
converter |
|
Integer |
||
|
|
|
|
||
point |
|
|
|||
|
|
|
|
of
Рисунок 2 – схема преобразователя