«…Труд избавляет человека от трех великих зол: скуки, порока, нужды…»

ПЦУСБ/Практическая работа 4 — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
(Новая страница: «{{ПЦУСБ TOC}} <blockquote> Предлагается придумать/выбрать себе задачу ({{Гол|до 12.11.2013}}), связанную…»)
 
м (Группа заданий А (маршрут ASIC))
 
(не показаны 7 промежуточных версий 1 участника)
Строка 1: Строка 1:
 
{{ПЦУСБ TOC}}
 
{{ПЦУСБ TOC}}
  
 +
<div style="border: 2px solid #AEA; padding: 0.4em; border-bottom: none; border-right: none; background: HoneyDew">
 +
<big>'''{{Гол|Практическая работа №4 предназначена для выполнения теми, кто хочет иметь итоговую оценку 6 балов и выше.}}'''</big>
 +
</div>
 +
 +
<!--
 
<blockquote>
 
<blockquote>
 
Предлагается придумать/выбрать себе задачу ({{Гол|до 12.11.2013}}), связанную с системами безопасности, которую можно будет реализовать с помощью доступных отладочных плат ([http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD Spartan-3 Starter Kit] и [http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/virtex-4_boards/ml401.html ML401 Virtex-4 board]) или других плат.
 
Предлагается придумать/выбрать себе задачу ({{Гол|до 12.11.2013}}), связанную с системами безопасности, которую можно будет реализовать с помощью доступных отладочных плат ([http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD Spartan-3 Starter Kit] и [http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/virtex-4_boards/ml401.html ML401 Virtex-4 board]) или других плат.
 
</blockquote>
 
</blockquote>
 +
-->
 +
 +
== Группа заданий А (маршрут ASIC) ==
 +
 +
Варианты заданий приведены на [[Спец_курс_(Избранные_главы_VHDL)/Лабораторные_работы|данной странице]].
 +
 +
{{Info|Выбрать один из вариантов заданий (сообщить номер задания преподавателю лично или по эл. почте). Задания предполагают работу в паре, где один разрабатывает кодер, другой декодер для одного типа кодировки. Поэтому желательно выполнять задания в паре.}}
 +
 +
При выполнении заданий следует учитывать следующие общие требования:
 +
# Разработать ''синтезируемое'' VHDL-описание блока.
 +
#* Название entity - '''coder''', '''decoder'''.
 +
#* Название architecture - '''beh'''.
 +
#* Название портов in - '''D_I, clk, rst'''.
 +
#* Название портов out - '''D_O'''.
 +
#* Типы портов - std_logic[_vector].
 +
#* Внутренние сигналы называть так, чтобы было интуитивно понятно их названия.
 +
#* Должна быть обеспечена возможность стыковки блоков кодирования и декодирования (по выводам) для совместной верификации (при выполнении работы в паре).
 +
# Разработать тестовое окружение для запуска моделирования на языке VHDL.
 +
#* Использовать структуру тестбенча (ТБ), описанную в [[ПЦУСБ/Лекция_6|лекции 6]]. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl.
 +
#* Название entity - '''tb'''.
 +
#* Название architecture - '''beh'''.
 +
#* Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.
 +
#** Функции чтения/записи из файла могут быть описаны по примеру из книги {{книга| автор = Бибило П.Н.| название = VHDL. Эффективное использование при проектировании цифровых систем| место = М.| издательство = СОЛОН-ПРЕСС| allpages = 344| isbn = 5-98003-293-2| год = 2006}}.
 +
# Синтезировать полученную схему в [[ПЦУСБ/Программы/Инструкция по работе в LeonardoSpectrum|LeonardoSpectrum]].
 +
#* для синтеза использовать:
 +
#** библиотеку [[alib.syn]] логических элементов
 +
#** скрипт для проведения синтеза [[syn.tcl]]
 +
#* сохранить синтезированное (структурное) описание схемы
 +
#* Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
 +
# Провести моделирование синтезированной схемы совместно с исходным описанием.
 +
#* Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
 +
#* Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов [[alib.vhd]].
 +
#* Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
 +
# Использовать структуру папок проекта, описанную в [[ПЦУСБ/Лекция_6|лекции 6]]. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.
 +
 +
== Группа заданий Б (маршрут FPGA) ==
 +
 +
[[Файл:S3BOARD-top-400.gif|frame|right|[http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD Spartan-3 Starter Kit] ]]
 +
 +
[[Файл:S3BOARD-block-400.gif|frame|right|[http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD Spartan-3 Starter Kit] ]]
 +
<!-- [[Файл:ML401 Virtex4 board view.jpg|thumb|center|800px|ML401 Virtex-4 board]]-->
 +
 +
Общие требования к работе:
 +
# Разработать ''синтезируемое'' VHDL-описание блока.
 +
#* имена портов должны соответствовать именам ресурсов ПЛИС.
 +
#* Типы портов - std_logic[_vector].
 +
#* Внутренние сигналы называть так, чтобы было интуитивно понятно их названия.
 +
# Разработать тестовое окружение для запуска моделирования на языке VHDL.
 +
#* Использовать структуру тестбенча (ТБ), описанную в [[ПЦУСБ/Лекция_6|лекции 6]]. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl.
 +
#* Название entity - '''tb'''.
 +
#* Название architecture - '''beh'''.
 +
#* Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.
 +
#** Функции чтения/записи из файла могут быть описаны по примеру из книги {{книга| автор = Бибило П.Н.| название = VHDL. Эффективное использование при проектировании цифровых систем| место = М.| издательство = СОЛОН-ПРЕСС| allpages = 344| isbn = 5-98003-293-2| год = 2006}}.
 +
# Синтезировать полученную схему в [[ISE]] для ПЛИС Spartan-3 (xc3s1000-4ft256).
 +
#* Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
 +
#* сохранить синтезированное (структурное) описание схемы
 +
# Провести моделирование синтезированной схемы совместно с исходным описанием.
 +
#* Модифицировать ТБ так, чтобы провести моделирование блоков по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
 +
#* Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов ПЛИС Spartan-3.
 +
#* Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
 +
# Использовать структуру папок проекта, описанную в [[ПЦУСБ/Лекция_6|лекции 6]]. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.
 +
 +
 +
=== Варианты заданий ===
 +
 +
==== Уровень сложности 1 ====
 +
 +
# Преобразователь 8-ми разрядного числа из двоичного кода в двоично-десятичный код с отображением на семисегментном индикаторе в десятичном виде
 +
# Преобразователь числа из двоично-десятичного кода в 8-ми разрядный двоичный код с отображением на линейке светодиодов
 +
#* входной код отображается на семисегментном индикаторе в десятичном виде
 +
#* выходной код отображается на линейке светодиодов
 +
# Калькулятор (4-разрядное число [×|+|-] 4-разрядное число)
 +
#* значения входных аргументов задаётся переключателями, при этом эти значения отображаются в шестнадцатеричном виде на семисегментном индикаторе (первых два индикатора)
 +
#* значение результата вычислений отображается в шестнадцатеричном виде на семисегментном индикаторе (вторые 2 индикатора)
 +
#* выполняемая арифметическая операция задаётся кнопками, при этом на светодиодах фиксируется номер операции.
  
  
[[Файл:S3BOARD-top-400.gif|frame|center|[http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD Spartan-3 Starter Kit] ]]
+
==== Уровень сложности 2 ====
  
 +
# Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК.
 +
# Отобразить на экране монитора шахматную доску через VGA интерфейс.
  
[[Файл:S3BOARD-block-400.gif|frame|center|[http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD Spartan-3 Starter Kit] ]]
 
  
 +
==== Уровень сложности 3 ====
  
[[Файл:ML401 Virtex4 board view.jpg|thumb|center|800px|ML401 Virtex-4 board]]
+
# Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения.
 +
# Отобразить на экране монитора надпись "ПЦУСБ" через VGA интерфейс.

Текущая версия на 16:43, 6 декабря 2013

Лекции ПЦУСБ

Лекции

Практические
Тесты

Лабораторные

Доп. материалы

Практическая работа №4 предназначена для выполнения теми, кто хочет иметь итоговую оценку 6 балов и выше.


Содержание

Группа заданий А (маршрут ASIC)

Варианты заданий приведены на данной странице.

Информация

Выбрать один из вариантов заданий (сообщить номер задания преподавателю лично или по эл. почте). Задания предполагают работу в паре, где один разрабатывает кодер, другой декодер для одного типа кодировки. Поэтому желательно выполнять задания в паре.

При выполнении заданий следует учитывать следующие общие требования:

  1. Разработать синтезируемое VHDL-описание блока.
    • Название entity - coder, decoder.
    • Название architecture - beh.
    • Название портов in - D_I, clk, rst.
    • Название портов out - D_O.
    • Типы портов - std_logic[_vector].
    • Внутренние сигналы называть так, чтобы было интуитивно понятно их названия.
    • Должна быть обеспечена возможность стыковки блоков кодирования и декодирования (по выводам) для совместной верификации (при выполнении работы в паре).
  2. Разработать тестовое окружение для запуска моделирования на языке VHDL.
    • Использовать структуру тестбенча (ТБ), описанную в лекции 6. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl.
    • Название entity - tb.
    • Название architecture - beh.
    • Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.
      • Функции чтения/записи из файла могут быть описаны по примеру из книги Бибило П.Н. VHDL. Эффективное использование при проектировании цифровых систем — М.: СОЛОН-ПРЕСС, 2006. — 344 p. — ISBN 5-98003-293-2..
  3. Синтезировать полученную схему в LeonardoSpectrum.
    • для синтеза использовать:
      • библиотеку alib.syn логических элементов
      • скрипт для проведения синтеза syn.tcl
    • сохранить синтезированное (структурное) описание схемы
    • Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
  4. Провести моделирование синтезированной схемы совместно с исходным описанием.
    • Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
    • Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов alib.vhd.
    • Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
  5. Использовать структуру папок проекта, описанную в лекции 6. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.

Группа заданий Б (маршрут FPGA)

Общие требования к работе:

  1. Разработать синтезируемое VHDL-описание блока.
    • имена портов должны соответствовать именам ресурсов ПЛИС.
    • Типы портов - std_logic[_vector].
    • Внутренние сигналы называть так, чтобы было интуитивно понятно их названия.
  2. Разработать тестовое окружение для запуска моделирования на языке VHDL.
    • Использовать структуру тестбенча (ТБ), описанную в лекции 6. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl.
    • Название entity - tb.
    • Название architecture - beh.
    • Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.
      • Функции чтения/записи из файла могут быть описаны по примеру из книги Бибило П.Н. VHDL. Эффективное использование при проектировании цифровых систем — М.: СОЛОН-ПРЕСС, 2006. — 344 p. — ISBN 5-98003-293-2..
  3. Синтезировать полученную схему в ISE для ПЛИС Spartan-3 (xc3s1000-4ft256).
    • Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
    • сохранить синтезированное (структурное) описание схемы
  4. Провести моделирование синтезированной схемы совместно с исходным описанием.
    • Модифицировать ТБ так, чтобы провести моделирование блоков по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
    • Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов ПЛИС Spartan-3.
    • Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
  5. Использовать структуру папок проекта, описанную в лекции 6. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.


Варианты заданий

Уровень сложности 1

  1. Преобразователь 8-ми разрядного числа из двоичного кода в двоично-десятичный код с отображением на семисегментном индикаторе в десятичном виде
  2. Преобразователь числа из двоично-десятичного кода в 8-ми разрядный двоичный код с отображением на линейке светодиодов
    • входной код отображается на семисегментном индикаторе в десятичном виде
    • выходной код отображается на линейке светодиодов
  3. Калькулятор (4-разрядное число [×|+|-] 4-разрядное число)
    • значения входных аргументов задаётся переключателями, при этом эти значения отображаются в шестнадцатеричном виде на семисегментном индикаторе (первых два индикатора)
    • значение результата вычислений отображается в шестнадцатеричном виде на семисегментном индикаторе (вторые 2 индикатора)
    • выполняемая арифметическая операция задаётся кнопками, при этом на светодиодах фиксируется номер операции.


Уровень сложности 2

  1. Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК.
  2. Отобразить на экране монитора шахматную доску через VGA интерфейс.


Уровень сложности 3

  1. Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения.
  2. Отобразить на экране монитора надпись "ПЦУСБ" через VGA интерфейс.