ПТСиПЦУвСБ/Практическая работа 4 — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) м (→Задание 5) |
ANA (обсуждение | вклад) м (→Уровень сложности 1) |
||
(не показаны 7 промежуточных версий 1 участника) | |||
Строка 17: | Строка 17: | ||
=== Варианты заданий === | === Варианты заданий === | ||
==== Уровень сложности 0 ==== | ==== Уровень сложности 0 ==== | ||
+ | |||
+ | Разработать синтезируемое VHDL-описание блока де/кодирования данных в заданном коде и тестовое окружение (testbenh) для проверки работы блока. | ||
+ | # Тип кодировки 1-256 ([[media:ISO15693-2.pdf|Стандарт ISO 15693-2 (pdf)]]). [[#Задание 1|Описание задания]]. | ||
+ | ## блок кодирования данных; | ||
+ | ## блок декодирования данных. | ||
+ | # Тип кодировки 1-4 (iso-15693-2) [[Файл:ISO15693-2.pdf]]. [[#Задание 2|Описание задания]]. | ||
+ | ## блок кодирования данных; | ||
+ | ## блок декодирования данных. | ||
+ | # Тип кодировки манчестер (iso-15693-2) [[Файл:ISO15693-2.pdf]]. [[#Задание 3|Описание задания]]. | ||
+ | ## блок кодирования данных; | ||
+ | ## блок декодирования данных. | ||
+ | # Тип кодировки FM0 (iso-18000-6) [[Файл:ISO18000-6REV1v62.pdf]]. [[#Задание 4|Описание задания]]. | ||
+ | ## блок кодирования данных; | ||
+ | ## блок декодирования данных. | ||
+ | # Тип кодировки код Миллера (iso-18000-6) [[Файл:ISO18000-6REV1v62.pdf]]. [[#Задание 5|Описание задания]]. | ||
+ | ## блок кодирования данных; | ||
+ | ## блок декодирования данных. | ||
+ | # Тип кодировки iso-18000-6 [[Файл:Input_18000-6_(E)REV1_v62.pdf]]. [[#Задание 6|Описание задания]]. | ||
+ | ## блок кодирования данных; | ||
+ | ## блок декодирования данных. | ||
+ | # Тип кодировки ATA-5575 [[Файл:Doc9167.pdf]]. [[#Задание 7|Описание задания]]. | ||
+ | ## блок кодирования данных; | ||
+ | ## блок декодирования данных. | ||
+ | |||
+ | Описание заданий приведено ниже. | ||
+ | |||
+ | |||
+ | ==== Уровень сложности 1 ==== | ||
+ | |||
+ | # Преобразователь 8-ми разрядного числа из двоичного кода в двоично-десятичный код с отображением на семисегментном индикаторе в десятичном виде | ||
+ | #* a) Преобразователь 10-разрядного числа из двоичного кода в двоично-десятичный код с отображением на 4-х позиционном семисегментном индикаторе в десятичном виде с последовательным вводом двоичного числа. | ||
+ | # Преобразователь числа из двоично-десятичного кода в 8-ми разрядный двоичный код с отображением на линейке светодиодов | ||
+ | #* входной код отображается на семисегментном индикаторе в десятичном виде | ||
+ | #* выходной код отображается на линейке светодиодов | ||
+ | # Калькулятор (4-разрядное число [×|+|-] 4-разрядное число) | ||
+ | #* значения входных аргументов задаётся переключателями, при этом эти значения отображаются в шестнадцатеричном виде на семисегментном индикаторе (первых два индикатора) | ||
+ | #* значение результата вычислений отображается в шестнадцатеричном виде на семисегментном индикаторе (вторые 2 индикатора) | ||
+ | #* выполняемая арифметическая операция задаётся кнопками, при этом на светодиодах фиксируется номер операции. | ||
+ | # часы с выводом на семисегментный индикатор. | ||
+ | # таймер с выводом на семисегментный индикатор. | ||
+ | # секундомер с выводом на семисегментный индикатор. | ||
+ | # Преобразователь 8 битного двоичного кода в код Грея | ||
+ | #* входной код задаётся переключателями и выводится на семисегментный индикатор в 16-м виде | ||
+ | #* код Грея отображается на светодиодах | ||
+ | # Преобразователь 8 битного кода Грея в двоичный код | ||
+ | #* входной код Грея задаётся переключателями и выводится на семисегментный индикатор в 16-м виде | ||
+ | #* двоичный код отображается на светодиодах | ||
+ | # Световые эффекты на строке светодиодов (плавное управление яркостью бегущего огонька) | ||
+ | |||
+ | ==== Уровень сложности 2 ==== | ||
+ | |||
+ | # Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК. | ||
+ | # Отобразить на экране монитора шахматную доску через VGA интерфейс. | ||
+ | # Термометр на основе температурного сенсора (DS18B20, 1-WIRE) с выводом значения на семисегментный индикатор либо на ЖКИ дисплей. | ||
+ | # Калькулятор с клавиатурой (матрица 4×4 кнопки) с отображением на светодиодном (4-х позицонном) или ЖКИ дисплее: | ||
+ | #* Операции (+|–|÷|×|...) над целыми числами; | ||
+ | #* Операции (+|–|÷|×|...) над целыми и вещественными числами; | ||
+ | #* Тригонометрические операции (sin|cos|tg|ctg|...) над целыми и вещественными числами; | ||
+ | # Редактор текста с вводом с клавиатуры (PS/2) | ||
+ | #* с выводом на ЖКИ дисплей LCD12864 (128×64 пикселей); | ||
+ | #* с выводом в терминал по протоколу RS232. | ||
+ | # часы реального времени (PCF8563 RTC Board) с выводом на семисегментный индикатор либо на ЖКИ дисплей. | ||
+ | #* дополнительные функции: таймер, секундомер, будильник и др. | ||
+ | |||
+ | ==== Уровень сложности 3 ==== | ||
+ | |||
+ | # Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения. | ||
+ | # Отобразить на экране монитора надпись "ПЦУСБ" через VGA интерфейс. | ||
+ | |||
+ | |||
+ | === Описание заданий уровня сложности 0 === | ||
+ | |||
+ | {{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}}. | ||
+ | # Синтезировать полученную схему в программе ISE для базисе любой ПЛИС. | ||
+ | <!-- | ||
+ | #* для синтеза использовать: | ||
+ | #** библиотеку [[alib.syn]] логических элементов | ||
+ | #** скрипт для проведения синтеза [[syn.tcl]] | ||
+ | #* сохранить синтезированное (структурное) описание схемы | ||
+ | --> | ||
+ | #* Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы. | ||
+ | # Провести моделирование синтезированной схемы совместно с исходным описанием. | ||
+ | #* Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков. | ||
+ | #* Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов [[alib.vhd]]. | ||
+ | #* Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%. | ||
+ | # Использовать структуру папок проекта, описанную в [[ПЦУСБ/Лекция_6|лекции 6]]. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов. | ||
+ | |||
=====Задание 1 ===== | =====Задание 1 ===== | ||
Строка 42: | Строка 145: | ||
## Блок формирования сигнала сброса по питанию. | ## Блок формирования сигнала сброса по питанию. | ||
# Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script). | # Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script). | ||
+ | # Тип кодировки FM0 (iso-18000-6) [[Файл:ISO18000-6REV1v62.pdf]] | ||
|- | |- | ||
+ | |colspan=2| | ||
+ | |||
+ | {{Hider|Тип кодировки 1-256 ([[Файл:ISO15693-2.pdf|ISO 15693-2]]). Описание}} | ||
+ | {| class=standard align=center width=100% | ||
!colspan=2| Тип кодировки 1-256 (iso-15693-2) [[Файл:ISO15693-2.pdf]] | !colspan=2| Тип кодировки 1-256 (iso-15693-2) [[Файл:ISO15693-2.pdf]] | ||
|- | |- | ||
Строка 58: | Строка 166: | ||
[[Файл:Eof_1-256.jpg|300px|center]] | [[Файл:Eof_1-256.jpg|300px|center]] | ||
|} | |} | ||
− | + | {{Hider|end}} | |
+ | |} | ||
=====Задание 2===== | =====Задание 2===== | ||
Строка 127: | Строка 236: | ||
## Блок формирования сигнала сброса по питанию. | ## Блок формирования сигнала сброса по питанию. | ||
# Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script). | # Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script). | ||
+ | # Тип кодировки код Миллера (iso-18000-6) [[Файл:ISO18000-6REV1v62.pdf]] | ||
|- | |- | ||
− | !colspan=2| Тип кодировки | + | !colspan=2| Тип кодировки манчестер (iso-15693-2) [[Файл:ISO15693-2.pdf]] |
|- | |- | ||
|colspan=2| | |colspan=2| | ||
Строка 143: | Строка 253: | ||
[[Файл:Eof_manchester_kod.jpg|600px|center]] | [[Файл:Eof_manchester_kod.jpg|600px|center]] | ||
|} | |} | ||
+ | |||
=====Задание 4 ===== | =====Задание 4 ===== | ||
Строка 281: | Строка 392: | ||
# Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script). | # Запуск моделирования, добавления сигналов и выполнение должны быть автоматизированны (script). | ||
| | | | ||
− | # Разработать синтезируемое VHDL-описание блока | + | # Разработать синтезируемое VHDL-описание блока декодирования данных. |
## Входные порты: D_I, clk, rst. | ## Входные порты: D_I, clk, rst. | ||
## Выходные порты: D_O, возможно добавление доп. сигналов обратной связи. | ## Выходные порты: D_O, возможно добавление доп. сигналов обратной связи. | ||
Строка 365: | Строка 476: | ||
|- | |- | ||
|colspan=2| | |colspan=2| | ||
− | * Частота тактового сигнала 125 | + | * Частота тактового сигнала 125 кГц |
* Для кодирования данных смотри таблицу | * Для кодирования данных смотри таблицу | ||
|- | |- | ||
Строка 381: | Строка 492: | ||
* Завершение приема данных после получения NUM_GET_BIT бит данных. | * Завершение приема данных после получения NUM_GET_BIT бит данных. | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 15:17, 14 апреля 2014
Лекции ПТСиПЦУвСБ
Лекции
Практические
- Практическая работа 1
- Практическая работа 2
- Практическая работа 3
- Практическая работа 4
Тесты
Лабораторные
Доп. материалы
Содержание |
Доступное оборудование
Варианты заданий
Уровень сложности 0
Разработать синтезируемое VHDL-описание блока де/кодирования данных в заданном коде и тестовое окружение (testbenh) для проверки работы блока.
- Тип кодировки 1-256 (Стандарт ISO 15693-2 (pdf)). Описание задания.
- блок кодирования данных;
- блок декодирования данных.
- Тип кодировки 1-4 (iso-15693-2) Файл:ISO15693-2.pdf. Описание задания.
- блок кодирования данных;
- блок декодирования данных.
- Тип кодировки манчестер (iso-15693-2) Файл:ISO15693-2.pdf. Описание задания.
- блок кодирования данных;
- блок декодирования данных.
- Тип кодировки FM0 (iso-18000-6) Файл:ISO18000-6REV1v62.pdf. Описание задания.
- блок кодирования данных;
- блок декодирования данных.
- Тип кодировки код Миллера (iso-18000-6) Файл:ISO18000-6REV1v62.pdf. Описание задания.
- блок кодирования данных;
- блок декодирования данных.
- Тип кодировки iso-18000-6 Файл:Input 18000-6 (E)REV1 v62.pdf. Описание задания.
- блок кодирования данных;
- блок декодирования данных.
- Тип кодировки ATA-5575 Файл:Doc9167.pdf. Описание задания.
- блок кодирования данных;
- блок декодирования данных.
Описание заданий приведено ниже.
Уровень сложности 1
- Преобразователь 8-ми разрядного числа из двоичного кода в двоично-десятичный код с отображением на семисегментном индикаторе в десятичном виде
- a) Преобразователь 10-разрядного числа из двоичного кода в двоично-десятичный код с отображением на 4-х позиционном семисегментном индикаторе в десятичном виде с последовательным вводом двоичного числа.
- Преобразователь числа из двоично-десятичного кода в 8-ми разрядный двоичный код с отображением на линейке светодиодов
- входной код отображается на семисегментном индикаторе в десятичном виде
- выходной код отображается на линейке светодиодов
- Калькулятор (4-разрядное число [×|+|-] 4-разрядное число)
- значения входных аргументов задаётся переключателями, при этом эти значения отображаются в шестнадцатеричном виде на семисегментном индикаторе (первых два индикатора)
- значение результата вычислений отображается в шестнадцатеричном виде на семисегментном индикаторе (вторые 2 индикатора)
- выполняемая арифметическая операция задаётся кнопками, при этом на светодиодах фиксируется номер операции.
- часы с выводом на семисегментный индикатор.
- таймер с выводом на семисегментный индикатор.
- секундомер с выводом на семисегментный индикатор.
- Преобразователь 8 битного двоичного кода в код Грея
- входной код задаётся переключателями и выводится на семисегментный индикатор в 16-м виде
- код Грея отображается на светодиодах
- Преобразователь 8 битного кода Грея в двоичный код
- входной код Грея задаётся переключателями и выводится на семисегментный индикатор в 16-м виде
- двоичный код отображается на светодиодах
- Световые эффекты на строке светодиодов (плавное управление яркостью бегущего огонька)
Уровень сложности 2
- Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК.
- Отобразить на экране монитора шахматную доску через VGA интерфейс.
- Термометр на основе температурного сенсора (DS18B20, 1-WIRE) с выводом значения на семисегментный индикатор либо на ЖКИ дисплей.
- Калькулятор с клавиатурой (матрица 4×4 кнопки) с отображением на светодиодном (4-х позицонном) или ЖКИ дисплее:
- Операции (+|–|÷|×|...) над целыми числами;
- Операции (+|–|÷|×|...) над целыми и вещественными числами;
- Тригонометрические операции (sin|cos|tg|ctg|...) над целыми и вещественными числами;
- Редактор текста с вводом с клавиатуры (PS/2)
- с выводом на ЖКИ дисплей LCD12864 (128×64 пикселей);
- с выводом в терминал по протоколу RS232.
- часы реального времени (PCF8563 RTC Board) с выводом на семисегментный индикатор либо на ЖКИ дисплей.
- дополнительные функции: таймер, секундомер, будильник и др.
Уровень сложности 3
- Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения.
- Отобразить на экране монитора надпись "ПЦУСБ" через VGA интерфейс.
Описание заданий уровня сложности 0
При выполнении заданий следует учитывать следующие общие требования:
- Разработать синтезируемое VHDL-описание блока.
- Название entity - coder, decoder.
- Название architecture - beh.
- Название портов in - D_I, clk, rst.
- Название портов out - D_O.
- Типы портов - std_logic[_vector].
- Внутренние сигналы называть так, чтобы было интуитивно понятно их названия.
- Должна быть обеспечена возможность стыковки блоков кодирования и декодирования (по выводам) для совместной верификации (при выполнении работы в паре).
- Разработать тестовое окружение для запуска моделирования на языке VHDL.
- Использовать структуру тестбенча (ТБ), описанную в лекции 6. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl.
- Название entity - tb.
- Название architecture - beh.
- Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.
- Функции чтения/записи из файла могут быть описаны по примеру из книги Бибило П.Н. VHDL. Эффективное использование при проектировании цифровых систем — М.: СОЛОН-ПРЕСС, 2006. — 344 p. — ISBN 5-98003-293-2..
- Синтезировать полученную схему в программе ISE для базисе любой ПЛИС.
- Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
- Провести моделирование синтезированной схемы совместно с исходным описанием.
- Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
- Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов alib.vhd.
- Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
- Использовать структуру папок проекта, описанную в лекции 6. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.
Задание 1
Задание 1-1 | Задание 1-2 | ||||
---|---|---|---|---|---|
|
| ||||
Тип кодировки 1-256 (Файл:ISO15693-2.pdf). Описание
|
Задание 2
Задание 2-1 | Задание 2-2 |
---|---|
|
|
Тип кодировки 1-4 (iso-15693-2) Файл:ISO15693-2.pdf | |
|
Задание 3
Задание 3-1 | Задание 3-2 |
---|---|
|
|
Тип кодировки манчестер (iso-15693-2) Файл:ISO15693-2.pdf | |
|
Задание 4
Задание 4-1 | Задание 4-2 |
---|---|
|
|
Тип кодировки FM0 (iso-18000-6) Файл:ISO18000-6REV1v62.pdf | |
|
|
| |
|
|
Задание 5
Задание 5-1 | Задание 5-2 |
---|---|
|
|
Тип кодировки код Миллера (iso-18000-6) Файл:ISO18000-6REV1v62.pdf | |
|
|
| |
|
|
|
|
Задание 6
Задание 6-1 | Задание 6-2 |
---|---|
|
|
Тип кодировки iso-18000-6 Файл:Input 18000-6 (E)REV1 v62.pdf | |
|
|
|
|
| |
|
|
|
|
Задание 7
Задание 7-1 | Задание 7-2 |
---|---|
|
|
Тип кодировки ATA-5575 Файл:Doc9167.pdf | |
|
|
| |
|
|
|
|