Проектирование вычислителя y=tan(x) - Программирование, компьютеры и кибернетика курсовая работа

Проектирование вычислителя y=tan(x) - Программирование, компьютеры и кибернетика курсовая работа



































Расчет специализированного вычислителя тригонометрических функций, основанное на разложении ряда Тейлора с использованием чисел Бернулли. Код программы вычисления на языке С++. Граф-схема алгоритма. Схематическое представление входов и выходов проекта.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ РАДИОЭЛЕКТРОНИКИ
Пояснительная записка к курсовой работе
«Проектирование вычислителя y=tan(x)»
по курсу «Специализированные компьютерные системы»
Выполнил: ст. гр. КИ-07-8 Евтифеев А. Г.
1.1Обобщенная структура специализированного вычислителя
1.4 Специализированный вычислитель y=tan(x)
1.6.1 Характеристика платы Spartan-3E
2.Выбранный вариант технического решения
3. Граф-схема алгоритма для реализации программы на VHDL
4.1 Временная диаграмма работы вычислителя
А. Программная реализация функции y=tan(x) на языке С++
Б. Программная реализация функции y=tan(x) на языке VHDL
Цель работы - проектирование вычислителя y=tan(x), а также освоение методов автоматизированного проектирования и совершенствование навыков программирования на языке VHDL.
В работе использовалась отладочная плата серии Spartan-3E Starter Kit имеющей возможности цифровой обработки сигналов. ЦАП не входит в состав ПЛИС и вынесен отдельно, его входы подключены к порту B.
В ходе проектирования были использованы не все ресурсы ПЛИС, поэтому имеется возможность совершенствования устройства. К примеру, можно построить алгоритм цифровой обработки нескольких вычислителей, используя для каждого сигнала свой канал “блок” и программу вычислений.
Программа, написанная на языке VHDL, является универсальной для всех ПЛИС фирмы Xilinx. Необходимо лишь сконфигурировать порты и учесть спецификацию специальных регистров в соответствии с документацией на требуемую модель.
Благодаря современным технологиям разработчик арифметических устройств может в кратчайшие сроки составлять высокопроизводительные вычислительные системы с дальнейшим доведением их до производства и внедрения в различных учреждениях.
Наличие большого выбора недорогих высокопроизводительных демонстрационных плат зарубежного производства на рынке Украины позволяет студенту и проектировщику реализовывать свои схемы и алгоритмы в виде технически готового устройства.
Специализированные вычислительные устройства решают различные математические операции с последующей цифровой обработкой значений.
Реализация вычислителя на ПЛИС - это арифметическая реализация математической задачи на плате в реальном масштабе времени.
В случае цифровой обработки различные алгоритмы вычислений могут реализовываться аппаратно, программно и программно-аппаратно.
Основной принцип замены аппаратных средств программными заключается в том, что программы, реализуемые микропроцессорной системой, могут заменить аппаратные средства, которые воспринимают, хранят, обрабатывают и выдают цифровую информацию. Аппаратные и программные средства оказываются взаимозаменяемыми и соотношения между ними определяются, главным образом, экономическими факторами.
Аппаратная реализация труднее поддается модификации, а программная - отличается гибкостью. Самое существенное ограничение замены аппаратных средств программными - это быстродействие. Производительность специализированного устройства, выполняющего некоторую функцию, всегда выше производительности устройств, реализующих ту же функцию программно.
В настоящее время реализация специализированных вычислителей, обеспечивающих выполнение заданного алгоритма за отрезок времени, исчисляемый долями и единицами микросекунд, возможна лишь на устройствах с жесткой или программируемой логикой.
В этом случае эффективный подход к обеспечению обработки в реальном масштабе времени - это создание специализированных средств вычисления на основе БИС и СБИС. В настоящее время появились специализированные микросхемы сложения, вычитания, умножения и деления многоразрядных чисел, представленных в различных форматах.
В данном курсовом проекте вычислитель y=tan(x) реализован программно на языке Си++ и аппаратно с помощью языка описания аппаратуры VHDL на плате XilinxSpartan3E.
1.1 Обобщенная структура специализированного вычислителя
В состав специализированного вычислителя входят управляющий автомат(УА) и операционный автомат(ОА). Данная структурная схема показана на рис. 1.
Рис. 1 Структурная схема вычислителя
Управляющий автомат построен в виде программируемого устройства, а операционный автомат реализует заданный пользователем алгоритм обработки вычисления тангенс числа.
Очевидно, что качество выполнения, заданного алгоритма вычисления тангенса числа, всецело определяется преобразованием десятичных значений в двоичные и наоборот, а также точными характеристиками всех трех устройств, входящих в специализированный вычислитель.
При этом количество операций ввода-вывода мало по сравнению с количеством арифметических и логических операций. По этой причине основная нагрузка ложится на операционный автомат.
Среди этапов вычислительного эксперимента выделяют этап решения математической задачи с помощью численного метода. Под численным методом понимается такая интерпретация математической модели (дискретная модель), которая доступна для реализации на ЭВМ и сводится к выполнению конечного числа арифметических действий над числами. Этапы численного метода представлены на рис. 2[123]
Рис.2 Этапы вычислительного эксперимента
Общим для всех численных методов является:
сведение математической задачи к конечномерной (чаще всего путем дискретизации исходной математической модели);
Результатом реализации численного метода является число или таблица чисел;
Реализуемость численного метода, т.е. построение вычислительного алгоритма как последовательности конечного числа операций для получения результата и ориентация этого алгоритма на возможности ЭВМ;
Множественность, т.е. возможность решения одной и той же задачи различными методами;
Непрерывное развитие и совершенствование численных методов;
При использовании численного метода для решения поставленной задачи необходимо различать свойства самой задачи и свойства вычислительного алгоритма, предназначенного для ее решения. Как правило, для каждой математической задачи, прежде всего, принято рассматривать вопрос о ее корректности. Чтобы численно решить задачу y=tan(x), надо быть уверенным, что искомое решение существует. Решение зависит от входных данных, потому рассмотрим характеристики функции y=tan(x)
1.3 Характеристика функции y=tan(x)
Область определения функции -- множество всех действительных чисел, кроме
Множество значений функции -- вся числовая прямая, т.е. тангенс -- функция неограниченная.
Функция нечетная: tan(?x)=?tan(x) для всех х из области определения.  График функции симметричен относительно оси OY.
Функция периодическая с наименьшим положительным периодом р, т.е. tan(x+р·k) = tan x, k ? Z для всех х из области определения.
1.4 Специализированный вычислитель y=tan(x)
Вычисление специализированного вычислителя y=tan(x) основано на разложении ряда Тейлора с использованием чисел Бернулли. В данном алгоритме вычисления преимуществом является точность вычислений в заданном интервале значений.
Ряд Темйлора -- разложение  функции  в  бесконечную сумму   степенных функций .
Ряды Тейлора применяются при аппроксимации функции многочленами . В частности,  линеаризация  уравнений происходит путём разложения в ряд Тейлора и отсечения всех членов выше первого порядка. Ряд Тейлора для tg(x)ряд выглядит так:
, для всех |x| <, где B2n - четные Числа Бернулли
Язык VHDL ( англ.   VHSIC  -- Very high speed integrated circuits) Hardware Description Language) [8] служит для описания модели цифрового устройства (прибора, системы) и был разработан в 1983 г. по заказу МО США для формального описания логических схем на всех этапах разработки электронных систем. Аббревиатура VHDL (Very High Speed Integrated Circuit Hardware Description Language) переводится как язык описания высокоскоростных интегрированных схем. Описание на языке VHDL определяет внешние связи устройства (“вид снаружи” или интерфейс) и один или несколько “видов изнутри”. Язык проектирования - VHDL является базовым языком при разработке аппаратуры современных вычислительных систем. Вид снаружи задает интерфейс устройства, набор сигналов, которыми устройство обменивается с внешним миром. Этот вид описывает абстрактное представление устройства “в целом” и обозначается английским термином entity, что в дословном переводе означает «сущность» и наиболее точно отражает смысл представления.
Вид изнутри определяет функциональные возможности устройства или его структуру. Внутреннее строение объекта определяет архитектура (architecturebody).
Рис.4.Цифровое устройство и его модель
Как и в языках программирования, язык VHDL имеет свои правила, в том числе правила описания имен переменных, объектов, типов данных и других параметров.
Правила языка VHDL регулируются международным стандартом IEEE Std 1076-2002 IEEE Standard VHDL Language Reference Manual. Ему соответствует отечественный стандарт ГОСТ Р 50754-95 Язык описания аппаратуры цифровых систем VНDL.
Spartan - серия программируемых микросхем с встроенной RAM фирмы Xilinx. Она в себя включает несколько разновидностей:
Сегодня использование FPGA для изготовления опытных образцов или мелкосерийной продукции ограничивает большая стоимость микросхем FPGA с встроенной ОЗУ по сравнению со стоимостью заказных микросхем. В начале 1998 года фирмой Xilinx выпуском новой серии микросхем FPGA - серии Spartan этот недостаток FPGA устранен [ ].
Стоимость кристаллов Spartan сравнима со стоимостью заказных кристаллов благодаря улучшениям в технологии, снижению потребляемой мощности, улучшениям в размещении проекта в кристалле. Серия Spartan может работать на системной частоте 80МГц и внутренней частоте более 150МГц. Архитектура серии Spartan основана на архитектуре серии XC4000 и включает аналогичные КЛБ (конфигурируемые логические блоки) и организацию соединений между ними., и [ ].
Также для снижения стоимости в архитектуру Spartan по сравнению с архитектурой XC4000 были убраны некоторые редко используемые свойства серии XC4000: поддержка асинхронного RAM, распределенные дешифраторы и возможность параллельной загрузки, а также были добавлены несколько встроенных цепей тестирования для упрощения проверки работы проекта и снижения стоимости внешнего тестового оборудования.
Малые размеры кристалла позволяют производить корпусирование в более дешевые и меньшего размера корпуса с числом контактов от 90 до 304.
Стоимость конечного продукта снижается наличием упрощенного САПРа, что позволяет снизить время проектирования и тестирования.
Похожую архитектуру с серией XC4000 имеют КЛБ в серии Spartan. Каждый КЛБ содержит 2 триггера с раздельными входами разрешения тактирования, логику быстрого переноса, 2 четырех ходовых генератора логических или булевых функций.
Для увеличения быстродействия и снижения шумов в сигнале, буферы в блоках ввода-вывода имеют программируемый контроль задержек на выходе. Входные регистры имеют нулевую задержку пропускания.
Серия Spartan имеет больше возможности работать на больших частотах и позволяет применять их для проектирования PCI и USB интерфейсов, DSP, RISC-микропроцессоров, микроконтроллеров и др. Блоки ввода-вывода полностью PCI - совместимы.
Проектирование серии Spartan осуществляется с помощью САПР Foundation Series и Alliance Series [ ].
1.6.1 Характеристика платы Spartan-3E
В данной курсовой работе используется стартовый набор на базе ПЛИС Spartan-3E (рис. 3).
Плата Spartan-3E предназначена в первую очередь для практического изучения методов проектирования цифровых устройств с аппаратной реализацией операций и разработки встраиваемых микропроцессорных систем на основе ПЛИС. Уникальные функциональные возможности, технические характеристики и конструктивное исполнение инструментального модуля, входящего в эту плату, позволяет не только выполнять отладку проектов, реализуемых на основе ПЛИС семейства Spartan-3E, но и использовать его в качестве промышленного серийного варианта разрабатываемого устройства. Рассматриваемый модуль можно рекомендовать в целом ряде случаев для аппаратной реализации проектируемой системы с целью выполнения жестких требований, предъявляемых ко времени ее разработки.
Архитектура платы Xilinx Spartan-3E позволяет использовать его для реализации автономных систем управления, различных вычислительных операций, сбора и обработки информации, цифровой обработки сигналов, встраиваемых цифровых устройств с различными компьютерными интерфейсами. Кроме того, данную плату можно рекомендовать для применения в учебных лабораториях вузов для изучения современных методов проектирования цифровых устройств, микропроцессорных систем с различной архитектурой, а также устройств цифровой обработки сигналов.
Основными элементами архитектуры модуля Xilinx Spartan-3E являются:
главная ПЛИС XC3S500Eсемейства Spartan-3Eв корпусеFG320, на основе которой реализуется проектируемая система;
программируемая в системе ППЗУ серии PlatformFlashXCF04S, предназначенное для хранения конфигурационных данных ПЛИС XC3S500E;
Рис. 3 - Внешний вид платы XilinxSpartan-3E [ ]
блок загрузки конфигурационных данных;
схема управления конфигурированием ПЛИС;
вспомогательная ПЛИС CPLDXC2C64A семейства CoolRunner-2;
последовательное ППЗУ EEPRPOM, поддерживающее криптографический алгоритм SHA-1;
блок синхронизации, предназначенный для формирования внешних (по отношению к ПЛИС) тактовых сигналов;
узел двухканального аналого-цифрового преобразователя (АЦП);
узел четырехканального цифро-аналогового преобразователя (ЦАП);
модуль параллельной NORFlash-памяти емкостью 16Мбайт (128 Мбит)
Рис.4 Структурное представление архитектурного модуля XilinxSpartan-3E
модуль последовательной Flash-памяти объемом 16 Мбит с интерфейсом SPI;
схем формирования и контроля питающих напряжений;
двухстрочный шестнадцатизначный жидкокристаллический дисплей;
блок кнопочных переключателей, с совмещенным поворотным переключателем;
схема преобразования уровней сигналов интерфейса RS-232;
модуль физического уровня интерфейса10/100 Ethernet PHY;
стандартные разъемы интерфейсов RS-232,PS/2, VGA и Ethernet;
Тип кристалла семейства Spartan-3E, используемого в качестве основной ПЛИС рассматриваемого инструментального модуля, в значительной степени определяет функциональные возможности последнего.
Стартовый набор на базе ПЛИС Spartan-3E представляет собой полнофункциональное решение, с помощью которого разработчики получают доступ ко всем возможностям семейства Spartan-3E. Набор включает в себя плату, источник питания, программное обеспечение и USB-кабель.
Основные характеристики Spartan-3E.
50МГц кварцевый генератор синхроимпульсов
Коннекторы, интерфейсы и периферия:
два последовательных порта RS-232 на 9 контактов
тумблеры, кнопки, переключатели, светодиоды, дополнительные коннекторы
2. Выбранный вариант технического решения
Вычисление y=tan(x)с помощью ряда Тейлора.
Вычисление y=tan(x) сводится к вычислению элементов ряда Тейлора и значение tan(x) вычисляется с большей точность при вычислении большего количества значений ряда Тейлора:
С++ реализация вычисления y=tan(x) основана на функции void main() и функции double tailor, а также на посчитанных значениях элементов ряда Тейлора, где значения подсчитаны первые 12 значений с точностью 13 знаков после запятой. В функции void main() программа выводит приглашение ввести значение x в интервале от -1.3 до 1.3. Точность значений зависит от самой функции tan(x), в которой значения близкие к -1.3 или к 1.3 на графике начинают уходить в вверх или вниз, практически приближаясь к асимптоте. Потом программа на основе полученного значенияx, вносит его в функцию double tailor(x), где подставляет значение x в ряд Тейлора, которое вычисляется в цикле, в котором, при каждой итерации складываются вычисленные значения ряда Тейлора и умножаются на соответствующее заданное пользователем значение x в степени, которая в 2 раза больше порядкового номера x в ряде Тейлора и от этого значения отнимаем 1.
Код программы вычисления tan(x) на языке С++
С помощью директивы препроцессора #include мы можем подключить библиотеку, что нам и необходимо. В данной программе нам потребуется выводить данные и вводить данные, для этого мы будем использовать библиотеку “iostream”, которая является двунаправленной библиотекой ввода/вывода и с помощью оператора “cin>>” - мы вводим данные в программу, а с помощью оператора “cout<<” - выводим данные.
С помощью библиотеки conio.h мы можем использовать функцию getch(), которая выполняет функцию паузы после выполнения программы.
С помощью библиотеки math.h мы можем использовать математические библиотеки, что мы и делаем.
Здесь мы подключаем пространство имен std, чтобы могли использовать стандартные функции ввода и вывода информации без постоянного обращения к пространству имен std.
Здесь происходит объявление константы N равной 13.
Происходит объявление 12 элементов массива и с помощью комментариев были пронумерованы.
Объявлена функция teylor типа double, которая выполняет суммирования умножение в цикле for первых 12 значений в ряде Тейлора для определения значения тангенс.
Выполняется возвращение значений работы функции.
Происходит объявление главной функции main().
cout<<"Please input number in the range of (-pi/2.4 to pi/2.4) or of (-1.3 to 1.3):";
Происходит приглашение ввести число, тангенс которого необходимо найти
Объявления вещественного значения x.
Происходит процесс запроса значения, тангенс которого необходимо найти.
Требование выводить значение с точностью до 20 знаков после запятой.
cout<<"Tan("<Проектирование вычислителя y=tan(x) курсовая работа. Программирование, компьютеры и кибернетика.
Реферат: Отношение к смерти в различных культурах и религиях
Реферат: Сущность финансовой политики государства
Эссе по теме Оценка оптимального остатка денежных средств на счетах на основе модели Баумоля
Контрольная работа по теме Ценообразование во внешней торговле
Курсовая работа: Міжнародний туризм, його оцінка і прогнози на майбутнє
Дипломная работа по теме События английской истории XVI-XVII вв.
Дипломная работа по теме Наследственная масса как объект правоотношений
Эссе На Тему Свобода И Ответственность
Контрольная Работа 8 9 Класс Макарычев
Прокурор на досудебной стадии уголовного процесса
Чрезвычайная Ситуация Землетрясение Реферат
Реферат На Тему И. Кант – Родоначальник Немецкой Классической Философии
Доклад: Идеальное и реальное в развитии корпоративных информационных систем
Курсовая работа: Статистический анализ производства зерна, сахарной свеклы, подсолнечника
Реферат по теме Биологический азот. Окись азота в медицине
Сочинение Родина Мать Умей За Нее Постоять
Как Писать Сочинение По Литературе 11 Класс
Анализ Способов Беспроводного Доступа Реферат
Доклад по теме Николай Бурлюк
Курсовая Работа Виды Гражданских
Стилистические особенности русских и английских молодежных газет - Иностранные языки и языкознание дипломная работа
Психология управления - Менеджмент и трудовые отношения курс лекций
Инженерное обеспечение обороны на БТР в городе - Военное дело и гражданская оборона курсовая работа


Report Page