«Бог не меняет того, что (происходит) с людьми, пока они сами не изменят своих помыслов.» Коран, Сура 12:13

ПТСиПЦУвСБ/Практическая работа 4

Материал из Wiki
Перейти к: навигация, поиск
Лекции ПТСиПЦУвСБ

Лекции

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

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

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

Содержание

Доступное оборудование


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

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

Разработать синтезируемое VHDL-описание блока де/кодирования данных в заданном коде и тестовое окружение (testbenh) для проверки работы блока.

  1. Тип кодировки 1-256 (Стандарт ISO 15693-2 (pdf)). Описание задания.
    1. блок кодирования данных;
    2. блок декодирования данных.
  2. Тип кодировки 1-4 (iso-15693-2) Файл:ISO15693-2.pdf. Описание задания.
    1. блок кодирования данных;
    2. блок декодирования данных.
  3. Тип кодировки манчестер (iso-15693-2) Файл:ISO15693-2.pdf. Описание задания.
    1. блок кодирования данных;
    2. блок декодирования данных.
  4. Тип кодировки FM0 (iso-18000-6) Файл:ISO18000-6REV1v62.pdf. Описание задания.
    1. блок кодирования данных;
    2. блок декодирования данных.
  5. Тип кодировки код Миллера (iso-18000-6) Файл:ISO18000-6REV1v62.pdf. Описание задания.
    1. блок кодирования данных;
    2. блок декодирования данных.
  6. Тип кодировки iso-18000-6 Файл:Input 18000-6 (E)REV1 v62.pdf. Описание задания.
    1. блок кодирования данных;
    2. блок декодирования данных.
  7. Тип кодировки ATA-5575 Файл:Doc9167.pdf. Описание задания.
    1. блок кодирования данных;
    2. блок декодирования данных.

Описание заданий приведено ниже.


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

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

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

  1. Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК.
  2. Отобразить на экране монитора шахматную доску через VGA интерфейс.
  3. Термометр на основе температурного сенсора (DS18B20, 1-WIRE) с выводом значения на семисегментный индикатор либо на ЖКИ дисплей.
  4. Калькулятор с клавиатурой (матрица 4×4 кнопки) с отображением на светодиодном (4-х позицонном) или ЖКИ дисплее:
    • Операции (+|–|÷|×|...) над целыми числами;
    • Операции (+|–|÷|×|...) над целыми и вещественными числами;
    • Тригонометрические операции (sin|cos|tg|ctg|...) над целыми и вещественными числами;
  5. Редактор текста с вводом с клавиатуры (PS/2)
    • с выводом на ЖКИ дисплей LCD12864 (128×64 пикселей);
    • с выводом в терминал по протоколу RS232.
  6. часы реального времени (PCF8563 RTC Board) с выводом на семисегментный индикатор либо на ЖКИ дисплей.
    • дополнительные функции: таймер, секундомер, будильник и др.

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

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


Описание заданий уровня сложности 0

Информация

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

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

  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. Синтезировать полученную схему в программе ISE для базисе любой ПЛИС.
    • Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
  4. Провести моделирование синтезированной схемы совместно с исходным описанием.
    • Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
    • Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов alib.vhd.
    • Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
  5. Использовать структуру папок проекта, описанную в лекции 6. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.


Задание 1
Задание 1-1 Задание 1-2
  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  4. Тип кодировки FM0 (iso-18000-6) Файл:ISO18000-6REV1v62.pdf
Задание 2
Задание 2-1 Задание 2-2
  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
Тип кодировки 1-4 (iso-15693-2) Файл:ISO15693-2.pdf
1-4 кодировка.jpg
  • Частота тактового сигнала 13.56 MHz
  • Перед стартом передачи данных посылать SOF
Sof 1-4 kod.jpg
  • После завершения передачи данных EOF
Eof 1-256.jpg


Задание 3
Задание 3-1 Задание 3-2
  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  4. Тип кодировки код Миллера (iso-18000-6) Файл:ISO18000-6REV1v62.pdf
Тип кодировки манчестер (iso-15693-2) Файл:ISO15693-2.pdf
Manchester cod.jpg
  • Частота тактового сигнала 13.56 MHz
  • Перед стартом передачи данных посылать SOF
Sof manchester kod.jpg
  • После завершения передачи данных EOF
Eof manchester kod.jpg


Задание 4
Задание 4-1 Задание 4-2
  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
Тип кодировки FM0 (iso-18000-6) Файл:ISO18000-6REV1v62.pdf
FM0 кодировка.jpg
  • Число передаваемых данных задается generic паратмером NUM_SEND_BIT
  • Число принимаемых данных задается в generic параметре NUM_GET_BIT!
  • Частота тактового сигнала 1.98 MHz
  • Частота закодированных данных 640 KHz
  • Перед стартом передачи данных посылать SOF
Sof FM0 kod.jpg
  • После завершения передачи данных, посылать EOF
  • Прекращать прием после прихода символа EOF или после получения заданного числа бит.
Eof FM0.jpg


Задание 5
Задание 5-1 Задание 5-2
  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных. (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок записи принимаемых данных в файл.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Входной порт DATA_I, для принимаемых от кодера данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
Тип кодировки код Миллера (iso-18000-6) Файл:ISO18000-6REV1v62.pdf
Миллер кодировка.jpg
Миллер кодировка состояния.jpg
  • Число передаваемых данных задается в generic параметре NUM_SEND_BIT !
  • Число принимаемых данных задается в generic параметре NUM_GET_BIT!
  • Частота тактового сигнала 1.98 MГц
  • Частота закодированных данных 320 кГц (два такта выходной частоты на один бит данных, см. рис.)
  • Перед стартом передачи данных посылать SOF
  • Прием данных начинать после получения SOF
Символ SOF
  • После завершения передачи данных посылать EOF
  • Прекращать прием после прихода символа EOF или после приема NUM_GET_BIT
Символ EOF
Задание 6
Задание 6-1 Задание 6-2
  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Входной порт DATA_I, для принимаемых от кодера данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
Тип кодировки iso-18000-6 Файл:Input 18000-6 (E)REV1 v62.pdf
Input 18000 кодировка.jpg
  • Число передаваемых данных задается в generic параметре NUM_SEND_BIT !
  • Число принимаемых данных задается в generic параметре NUM_GET_BIT!
  • Частота тактового сигнала 8 MHz
  • Частота тактового сигнала 1.92 MHz
  • Tari= 6.25us (см. рис.)
  • RTcal= (Data-0) + (Data-1)=3 * Tari = 18.75us
  • Перед стартом передачи данных посылать SOF
  • Данные декодировать после получения SOF
Sof input 18000 kod.jpg
  • Завершение передачи данных после посылки NUM_SEND_BIT бит данных.
  • Полученный символ кодирует 1, если его длинна больше RTcal/2, если меньше, то кодирует логический 0.
  • Завершение передачи данных после посылки NUM_SEND_BIT бит данных.


Задание 7
Задание 7-1 Задание 7-2
  1. Разработать синтезируемое VHDL-описание блока кодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
  1. Разработать синтезируемое VHDL-описание блока декодирования данных.
    1. Входные порты: D_I, clk, rst.
    2. Выходные порты: D_O, возможно добавление доп. сигналов обратной связи.
  2. Разработать тестовое окружение для запуска моделирования и проверки корректности передаваемых данных (Можно на SystemC, можно и на VHDL).
    1. Тестовое окружение содержит в себе блок чтения данных из файла и подачи данных на D_I.
    2. Блок формирования тактового сигнала.
    3. Блок формирования сигнала сброса по питанию.
    4. Выходной порт DATA_O, для выдачи закодированных данных
  3. Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script).
Тип кодировки ATA-5575 Файл:Doc9167.pdf
Wrie mode raduga1.jpg
  • Число передаваемых данных задается в generic параметре NUM_SEND_BIT !
  • Число передаваемых данных задается в generic параметре NUM_GET_BIT !
  • Частота тактового сигнала 125 кГц
  • Для кодирования данных смотри таблицу
  • Старт передачи данных - первая пауза.
  • Старт приема данных - первая пауза D_I равен 0.
Wrie mode raduga1 table.jpg
  • Завершение передачи данных после посылки NUM_SEND_BIT бит данных.
  • Завершение приема данных после получения NUM_GET_BIT бит данных.