Реализация n-битного умножения на Spartan 3E Kit с использованием аппаратных умножителей
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
·рядов. В этом случае выполнение операции приводит к числу с нулевой мантиссой и ненулевым порядком, т.е. к числу без значащих цифр. Полученное значение рассматривается как машинный нуль.
. Исчезновение порядка происходит, когда порядок результата должен иметь значение, меньшее - (2Р -1) - максимального по модулю отрицательного порядка. В таком случае приходится представлять машинным нулем.
. Переполнение порядка возникает, когда порядок результата должен иметь значение, превосходящее максимально возможное (2р - 1), такой результат не может быть представлен в рассмотренном формате, поэтому результат операции считается неопределенным, что отмечается выработкой признака переполнения.
. Деление на нуль, которое невозможно, что отмечается выработкой признака переполнения.
Уменьшить вероятность переполнения разрядной сетки можно путем введения масштабных коэффициентов, на которые умножаются все исходные данные перед решением задачи. Однако для полного исключения переполнения необходимо оценивать возможные значения результата после каждой операции, что практически невыполнимо ввиду очень большого числа выполняемых операций. Поэтому принимаются специальные меры для обнаружения переполнения разрядной сетки. Наиболее широко для этой цели используются два способа. При обнаружении переполнения по первому способу учитывается обстоятельство, что переполнение может появиться только при сложении чисел с одинаковыми знаками. В этом случае о переполнении будет свидетельствовать несовпадение знака слагаемых и знака суммы. Недостатком этого способа является необходимость реализации двукратного сравнения знаков чисел и их запоминания до конца операции. Сущность второго способа состоит в использовании модифицированных прямого, обратного и дополнительного кодов. Особенностью этих кодов является наличие двух знаковых разрядов, а также кодирование знака числа двумя одинаковыми цифрами. Появление в знаковых разрядах модифицированного кода, обрабатываемых так же как и числовые разряды, различных цифр(например, 01 при сложении положительных чисел и 10 при сложении отрицательных) свидетельствует о переполнении разрядной сетки. Этот способ обнаружения переполнения получил наибольшее распространение.
.1.2 Умножение чисел с плавающей запятой
Операцию умножения чисел с плавающей запятой можно представить в виде:
(F1*2E1)*(F2*2E2) = (F1*F2) 2(E1+E2) = F*2E (2.2)
Таким образом, для выполнения умножения необходимо перемножить мантиссы и сложить порядки. Предполагается, что мантиссы F1 и F2 были нормализованы до начала умножения.
Существует некоторые критические ситуации, которые могут привести к возникновению ошибки. Во первых, если F=0, то порядок должен содержать максимальное отрицательное число (1000). Во вторых, если выполнить умножение -1 на -1(1.000x1.000), то результат должен быть +1. Поскольку нельзя представить +1 в дополнительном коде, возникает переполнение мантиссы (fraction overflow). Для исправления этой ситуации, F устанавливается F=1/2(0.100) и порядок увеличивается на 1. Это возможно, поскольку 1*2E= 1/2 * 2E+1.
После выполнения умножения результат будет не нормализованный. Например,
(0,1*2Е1)* (0,1*2Е2)= 0,01*2Е1+Е2=0,1*2Е1+Е2+1 (2.3)
Результат умножения нормализуется сдвигом мантиссы влево на одну позицию, и вычитанием 1 из порядка. Если же величина порядка больше, чем может быть представлена отведенными для нее разрядами, возникает переполнение порядка.
После выполнения умножения мантисс, необходимо проверить все критические ситуации. Поскольку F1 и F2 перед выполнением умножения были нормализованы минимальная возможная мантисса будет 0.01, как это показано в приведенном выше примере. Следовательно для нормализации результата достаточно одной операции сдвига.
Устройство умножения чисел с плавающей запятой состоит из устройства сложения порядка и устройства умножения мантиссы.
При сложении порядков может возникнуть переполнение, если E1 и E2 положительные, а сумма отрицательна, и наоборот, если E1 и E2 отрицательны, а сумма положительна. Тем не менее, это переполнение может быть устранено добавлением или удалением 1 из Е во время нормализации или корректировки переполнения мантиссы.
Следующий пример иллюстрирует специальный случай, когда возникает начальное переполнение мантиссы и порядка, но переполнение порядка исчезает, при устранении переполнения мантиссы.
(1.000 2-3)*(1.000*2-6) = 01.000000*2-9 = 00.100000* 2-8 (2.4)
.2 Выбор элементной базы
Технические характеристики печатной платы:
В общем случае, при выборе САПР приходится учитывать целый ряд соображений, а именно:
распространенность САПР;
цену САПР, ее сопровождения и модификаций;
поддержку выбранной элементной базы;
широту охвата разнообразных этапов проектирования и эффективное их выполнение;
наличие широкой библиотечной поддержки стандартных решений;
возможность и простоту стыковки с другими САПР;
удобство работы с САПР и ее дружественность;
легкость изучения;
возможности корпоративной работы.
Анализ тенденции развития архитектур программируемой логики позволяет предположить, что в ближайшее время основу элементной базы цифровых систем будут составлять CPLD и FPGA. Преимущество использования программируемой логики в цифровых системах становится особенно очевидным, когда необходимо быстро разработать опытный образец изделия, предполагаются частые корректировки проекта в процессе его разработки или р?/p>