«Работать добросовестно — значит: работать, повышая свою квалификацию, проявляя инициативу в совершенствовании продукции, технологий, организации работ, оказывая не предусмотренную должностными инструкциями помощь другим сотрудникам (включая и руководителей) в общей им всем работе.

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

Материал из Wiki
Перейти к: навигация, поиск
м (Варианты заданий)
м (Группа заданий А (маршрут ASIC))
 
(не показаны 2 промежуточные версии 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>
  
 
<!--  
 
<!--  
Строка 28: Строка 32:
 
#* Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.  
 
#* Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.  
 
#** Функции чтения/записи из файла могут быть описаны по примеру из книги {{книга| автор = Бибило П.Н.| название = VHDL. Эффективное использование при проектировании цифровых систем| место = М.| издательство = СОЛОН-ПРЕСС| allpages = 344| isbn = 5-98003-293-2| год = 2006}}.
 
#** Функции чтения/записи из файла могут быть описаны по примеру из книги {{книга| автор = Бибило П.Н.| название = VHDL. Эффективное использование при проектировании цифровых систем| место = М.| издательство = СОЛОН-ПРЕСС| allpages = 344| isbn = 5-98003-293-2| год = 2006}}.
# Синтезировать полученную схему в [[LeonardoSpectrum]].
+
# Синтезировать полученную схему в [[ПЦУСБ/Программы/Инструкция по работе в LeonardoSpectrum|LeonardoSpectrum]].
 
#* для синтеза использовать:
 
#* для синтеза использовать:
 
#** библиотеку [[alib.syn]] логических элементов
 
#** библиотеку [[alib.syn]] логических элементов
Строка 43: Строка 47:
  
 
[[Файл:S3BOARD-top-400.gif|frame|right|[http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD Spartan-3 Starter Kit] ]]
 
[[Файл: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] ]]
 
[[Файл: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]]-->
 
<!-- [[Файл:ML401 Virtex4 board view.jpg|thumb|center|800px|ML401 Virtex-4 board]]-->
  
Строка 73: Строка 74:
 
=== Варианты заданий ===
 
=== Варианты заданий ===
  
# Преобразователь из кода Грея в двоичный код 8-разрядного числа
+
==== Уровень сложности 1 ====
# Преобразователь из двоичного кода в код Грея 8-разрядного числа
+
 
# Счетчик числа единиц и определение четности N-разрядного числа
+
# Умножитель (4-разрядное число × 4-разрядное число)
+
 
# Преобразователь 8-ми разрядного числа из двоичного кода в двоично-десятичный код с отображением на семисегментном индикаторе в десятичном виде
 
# Преобразователь 8-ми разрядного числа из двоичного кода в двоично-десятичный код с отображением на семисегментном индикаторе в десятичном виде
# Преобразователь числа из двоично-десятичного кода в двоичный 8-ми разрядный код с отображением на линейке светодиодов  
+
# Преобразователь числа из двоично-десятичного кода в 8-ми разрядный двоичный код с отображением на линейке светодиодов  
 
#* входной код отображается на семисегментном индикаторе в десятичном виде
 
#* входной код отображается на семисегментном индикаторе в десятичном виде
 
#* выходной код отображается на линейке светодиодов  
 
#* выходной код отображается на линейке светодиодов  
# Двойной приоритетный шифратор 8 в 3
 
 
 
# Калькулятор (4-разрядное число [×|+|-] 4-разрядное число)
 
# Калькулятор (4-разрядное число [×|+|-] 4-разрядное число)
 +
#* значения входных аргументов задаётся переключателями, при этом эти значения отображаются в шестнадцатеричном виде на семисегментном индикаторе (первых два индикатора)
 +
#* значение результата вычислений отображается в шестнадцатеричном виде на семисегментном индикаторе (вторые 2 индикатора)
 +
#* выполняемая арифметическая операция задаётся кнопками, при этом на светодиодах фиксируется номер операции.
 +
 +
 +
==== Уровень сложности 2 ====
 +
 
# Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК.
 
# Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК.
 +
# Отобразить на экране монитора шахматную доску через VGA интерфейс.
 +
 +
 +
==== Уровень сложности 3 ====
 +
 
# Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения.  
 
# Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения.  
 
# Отобразить на экране монитора надпись "ПЦУСБ" через VGA интерфейс.
 
# Отобразить на экране монитора надпись "ПЦУСБ" через 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 интерфейс.