Реализация n-битного умножения на Spartan 3E Kit с использованием аппаратных умножителей
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?, что умножитель готов принять данные. Ввод ND (новые данные) может быть принят, чтобы указать, что новые данные доступны на входах умножителя. Сигнал RDY (готовый) указывает, что вывод - результат текущих расчетов. LOADB и SWAPB используются в постоянных коэффициентах умножителей.
Рисунок 4.2 - символ CORE Multiplier Generator
Система CORE Generator использует встроенный умножитель для заданного по умолчанию типа параллельного умножителя. Опция Multiplier Construction дает пользователю выбор, чтобы вместо этого имплементировать функцию в таблицы поиска.
На рисунке 4.3 представлена временная диаграмма CORE Generator.
Рисунок 4.3 - Временная диаграмма CORE Generator
.4 Описание System Generator
Генератор умножителя используется Генератором Системы (System Generator) для цифрового обработчика сигналов (DSP) при использовании блока MULT. Генератор Системы представляет высокий уровень и абстрактное представление проекта, но также и раскрывает главные особенности в основе силиконе, позволяя формировать чрезвычайно быстродействующие FPGA имплементации. Генератор Системы также предоставляет блоки для компилирования MATLAB М-кода в синтезируемый HDL код. Генератор Системы использует встроенный умножитель, когда выбран параллельный умножитель и отмечено использование специализированного умножителя в интерфейсе Генератора Системы.
.5 Описание подмодулей умножителя
Этот раздел описывает несколько примеров подмодулей, которые могут использоваться в проекте Spartan -3. Таблица 4.2 содержит список умножителей и возвращаемых функций с дополнительным кодом, которые используют один MULT18X18 примитив и не являются регистровыми.
Таблица 4.2: Встроенные подмодули умножителя - Единственный MULT18X18
ПодмодульРазрядность AРазрядность ВРазрядность РЗнаковое / без знакаMULT17X17_U171734без знакаMULT8X8_S8816ЗнаковоеMULT8X8_U8816без знакаMULT4X4_S448ЗнаковоеMULT4X4_U448без знакаTWOS_CMP1818-18-TWOS_CMP99-9-MAGNTD_1818-18-
Рисунок 4.4 и Рисунок 4.5, представляют 4X4-разрядный знаковый умножитель и 4X4-разрядный беззнаковый умножитель соответственно.
Рисунок 4.4 - Подмодуль MULT4X4_S
Рисунок 4.5 - Подмодуль MULT4X4_U
Подмодуль MAGNTD_18 возвращает величину (абсолютное значение) числа с дополнительным кодом. Входящее отрицательное число возвращается с положительным знаком, в то время как входящее положительное число остается неизменным. Подмодули TWOS_CMP18 и TWOS_CMP9 выполняют функцию возвращения двоичного дополнения. Дополнительная логика сектора может использоваться с этими подмодулями, чтобы эффективно преобразовать величину признака в дополнительный код или наоборот. Рисунок 4.6 показывает связь с MULT18X18 для создания подмодуля TWOS_CMP9.
Рисунок 4.6 - Подмодуль TWOS_CMP9
.6 Описание MAC ядра
Система CORE Generator и System Generator могут также осуществлять более сложные функции, использующие умножитель как стандартный блок. Ядро аккумулятора умножителя (MAC) поддерживает до 32-разрядных вводов и определяемую пользователем конвейерную обработку. Опции встроенной или основанные на ячейках LUT имплементации контролируют, используются ли специализированные умножители или CLB ресурсы для функции. MAC имплементация использует относительно немного CLB ресурсов из специализированных умножителей, и обеспечивают гибкость, которая является ключевой при соответствии проекта самой низкой плотности и самой низкой возможной стоимости.и основанные на MAC фильтры FIR включают автоматическое конвейерное управление, которое основано на требуемом представлении системы синхронизации. Уровни конвейера будут автоматически вставлены согласно требованиям проекта для совершенного обмена скорости / области.
.7 Отладка описания
В VHDL и Verilog доступны шаблоны реализации как примеры примитивов и подмодулей. В VHDL каждый шаблон имеет составляющую секцию объявления и секцию архитектуры. Каждая часть шаблона должна быть вставлена в пределах файла проекта VHDL. Port map в разделе архитектуры должны включать имена сигналов проекта.
Существует много опций для включения умножителя Spartan -3 в проект. Библиотечные примитивы MULT18X18 и MULT18X18S, описанные ранее, могут быть представлены в схематически или HDL кодом. Инструментарий синтеза может выводить блок умножителя из умножающегося оператора, включая Xilinx XST, Synplicity Synplify, и Mentor LeonardoSpectrum. Они могут вывести MULT18X18S, когда операция управляется таймером для синхронного умножителя.предлагает конвейерный множитель, который вовлекает уровни регистров в логику, чтобы обеспечить параллелизм и, в результате, использует CLB ресурсы вместо специализированного умножителя. Требуется определенная конструкция для входа RTL описания, чтобы использовать конвейерный умножитель в полную силу.
Система моделирования Active-HDL позволяет подавать на верифицируемую модель тестовые последовательности, заданные в окне генератора воздействий, и снимать полученные результаты. Результаты моделирования выводятся на систему отображения временных диаграмм Waveform, встроенную в Active-HDL. Также существует возможность проводить верификацию, прибегнув к написанию тестовой программы. Такой способ годиться только для больших проектов. Целесообразно проводить верификацию по следующему плану: верификация блоков (компонентов), промежуточная верификация (при соединении нескольких блоков) и общая верификация (отладка всего проекта). Процедура проведения верификации отдельных блоков не отличается от описанной выше.
5. Реализация устройства
Реализация включает в себ