Details

Title: Разработка и исследование интегрированной аппаратно-программной встраиваемой системы для аппаратного ускорения программ на языке Python: выпускная квалификационная работа магистра: направление 09.04.01 «Информатика и вычислительная техника» ; образовательная программа 09.04.01_20 «Проектирование компьютерных систем»
Creators: Горляк Никита Сергеевич
Scientific adviser: Антонов Александр Петрович
Other creators: Новопашенный Андрей Гелиевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: fpga; pynq; python; xilinx; ких фильтр; ускоритель; оверлеи; fir filter; accelerator; overlays
Document type: Master graduation qualification work
File type: PDF
Language: Russian
Speciality code (FGOS): 09.04.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-780
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы: "Разработка и исследование интегрированной аппаратно-программной встраиваемой системы для аппаратного ускорения программ на языке Python" Данная работа посвящена разработке и исследованию аппаратнопрограммного ускорителя по критерию быстродействия, вызываемого из языка Python как оверлей, реализующего вычислительно сложную задачу, а так же разработке процедуры создания интегрированной аппаратно-программной встраиваемой системы с поддержкой языка Python для заданного класса встраиваемых систем на кристалле. Задачи, которые решались в ходе исследования: 1. Анализ решений и подходов, подходов, положенных в основу проекта PYNQ компании Xilinx 2. Разработка аппаратного ускорителя и исследование его эффективности при использовании в программах, написанных на языке Python 3. Разработка и апробация процедуры создания интегрированной аппаратно-программной системы с поддержкой языка Python для заданного класса встраиваемых систем на кристалле Процедура создания интегрированной аппаратно-программной системы включающей оверлеи была разработана и апробирована на плате Zynq-7000 Zedboard. Было проведенно исследование на примере задачи реализации КИХ фильтра, которое показало эффективность использования аппаратно-программного ускорителя, при его использовании на вычислительно сложных задачах, но для вычислительно простых задач его эффективность снижается, и он может проигрывать полностью программной реализации.

Theme of the graduate qualification work: "Development and research of an integrated hardware-software embedded system for hardware acceleration of Python programs" This work is devoted to the development and research of a hardwaresoftware accelerator by the criterion of speed, called from the Python language as an overlay that implements a computationally complex task, as well as the development of a procedure for creating an integrated hardware-softwareembeddedsystemwithPythonsupportforagivenclass of embedded systems on a chip. Tasks that were solved during the study: 1. Analysis of the solutions and approaches, the approaches underlying the Xilinx PYNQ project 2. Development of a hardware accelerator and study of its effectiveness when used in programs written in Python 3. Development and testing of the procedure for creating an integrated hardware-software system with support for the Python language for a given class of embedded systems on a chip The procedure for creating an integrated hardware-software system including overlays was developed and tested on the Zynq-7000 Zedboard. A study was conducted on the example of the task of implementing the FIR filter, which showed the efficiency of using a hardware-software accelerator when it is used for computationally complex tasks, but for computationally simple tasks its efficiency decreases and it can lose to a fully software implementation.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
Internet Authorized users (not from SPbPU)
-> Internet Anonymous

Table of Contents

  • СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
  • ВВЕДЕНИЕ
  • 1. Анализ и формализация технического задания
    • 1.1. Техническое задание
    • 1.2. Анализ исходных данных
    • 1.3. Перечень решаемых задач
    • 1.4. Выводы
  • 2. Анализ проекта PYNQ
    • 2.1. Анализ и обоснование элементной базы
    • 2.2. Анализ особенностей проекта PYNQ
    • 2.3. Используемые средства
      • 2.3.1. Аппаратные средства
      • 2.3.2. Инструментальные средства
      • 2.3.3. Используемые языки программирования
    • 2.4. Выводы
  • 3. Разработка процедуры
    • 3.1. Этап 1. Настройка окружения и установка сред разработки
      • 3.1.1. Шаг 1.1.A. Создание новой виртуальной машины
      • 3.1.2. Шаг 1.1.B. Настройка окружения на имеющейся ОС Ubuntu
      • 3.1.3. Шаг 1.2. Установка сред разработки
      • 3.1.4. Шаг 1.3.Opt. Добавление платы в Vivado
    • 3.2. Этап 2. Создание базовой блок схемы в Vivado
      • 3.2.1. Шаг 2.1. Разработка базовой блок схемы в Vivado
      • 3.2.2. Шаг 2.2. Экспорт для создания пакета поддержки платы
      • 3.2.3. Шаг 2.3.Opt. Экспорт для создания базового оверлея
    • 3.3. Этап 3. Создание оверлея функции
      • 3.3.1. Шаг 3.1.Opt. Создание IP ядра оверлея в Vivado HLS
      • 3.3.2. Шаг 3.2. Создание блок схемы системы с оверлеем в Vivado
      • 3.3.3. Шаг 3.3. Создание драйвера оверлея
      • 3.3.4. Шаг 3.4. Добавление оверлея в систему
    • 3.4. Этап 4. Создание образа системы
      • 3.4.1. Шаг 4.1.Opt. Создание драйвера базового оверлея
      • 3.4.2. Шаг 4.2. Создание пакета поддержки платы в Petalinux
      • 3.4.3. Шаг 4.3. Генерация образа системы с PYNQ
      • 3.4.4. Шаг 4.4. Запись образа системы на SD карту
    • 3.5. Выводы
  • 4. Апробация процедуры
    • 4.1. Аппаратные средства для апробации
    • 4.2. Апробация разработанной процедуры
      • 4.2.1. Настройка окружения и установка сред разработки
      • 4.2.2. Создание базовой блок схемы в Vivado
      • 4.2.3. Создание оверлея функции
      • 4.2.4. Создание образа системы
    • 4.3. Выводы
  • 5. Разработка и исследование эффективности аппаратного ускорителя по критерию быстродействия
    • 5.1. Алгоритм
    • 5.2. Структура и описание структуры оверлея
    • 5.3. Структура всей системы
    • 5.4. Разработка драйвера оверлея
    • 5.5. Генерация фильтруемых данных в Python
    • 5.6. Обработка сигнала без оверлея
    • 5.7. Обработка сигнала с оверлеем
    • 5.8. Сравнение результатов работы
    • 5.9. Выводы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Usage statistics

stat Access count: 6
Last 30 days: 0
Detailed usage statistics