ПЦУСБ/Практическая работа 4 — различия между версиями
Материал из Wiki
< ПЦУСБ
ANA (обсуждение | вклад) |
ANA (обсуждение | вклад) м (→Группа заданий А (маршрут ASIC)) |
||
(не показаны 6 промежуточных версий 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> | ||
<!-- | <!-- | ||
Строка 20: | Строка 24: | ||
#* Название портов out - '''D_O'''. | #* Название портов out - '''D_O'''. | ||
#* Типы портов - std_logic[_vector]. | #* Типы портов - std_logic[_vector]. | ||
− | #* Внутренние сигналы называть так, чтобы было интуитивно понятно | + | #* Внутренние сигналы называть так, чтобы было интуитивно понятно их названия. |
#* Должна быть обеспечена возможность стыковки блоков кодирования и декодирования (по выводам) для совместной верификации (при выполнении работы в паре). | #* Должна быть обеспечена возможность стыковки блоков кодирования и декодирования (по выводам) для совместной верификации (при выполнении работы в паре). | ||
# Разработать тестовое окружение для запуска моделирования на языке VHDL. | # Разработать тестовое окружение для запуска моделирования на языке VHDL. | ||
− | #* Использовать структуру тестбенча (ТБ), описанную в [ПЦУСБ/Лекция_6|лекции 6]. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl. | + | #* Использовать структуру тестбенча (ТБ), описанную в [[ПЦУСБ/Лекция_6|лекции 6]]. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl. |
#* Название entity - '''tb'''. | #* Название entity - '''tb'''. | ||
#* Название architecture - '''beh'''. | #* Название architecture - '''beh'''. | ||
#* Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл. | #* Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл. | ||
#** Функции чтения/записи из файла могут быть описаны по примеру из книги {{книга| автор = Бибило П.Н.| название = 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]] логических элементов | ||
#** скрипт для проведения синтеза [[syn.tcl]] | #** скрипт для проведения синтеза [[syn.tcl]] | ||
+ | #* сохранить синтезированное (структурное) описание схемы | ||
#* Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы. | #* Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы. | ||
− | # Провести моделирование синтезированной схемы. | + | # Провести моделирование синтезированной схемы совместно с исходным описанием. |
#* Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков. | #* Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков. | ||
− | #* | + | #* Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов [[alib.vhd]]. |
− | + | #* Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%. | |
+ | # Использовать структуру папок проекта, описанную в [[ПЦУСБ/Лекция_6|лекции 6]]. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов. | ||
== Группа заданий Б (маршрут FPGA) == | == Группа заданий Б (маршрут FPGA) == | ||
− | [[Файл:S3BOARD-top-400.gif|frame| | + | [[Файл: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 индикатора) | ||
+ | #* выполняемая арифметическая операция задаётся кнопками, при этом на светодиодах фиксируется номер операции. | ||
+ | |||
+ | |||
+ | ==== Уровень сложности 2 ==== | ||
+ | |||
+ | # Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК. | ||
+ | # Отобразить на экране монитора шахматную доску через VGA интерфейс. | ||
+ | |||
+ | |||
+ | ==== Уровень сложности 3 ==== | ||
+ | |||
+ | # Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения. | ||
+ | # Отобразить на экране монитора надпись "ПЦУСБ" через VGA интерфейс. |
Текущая версия на 16:43, 6 декабря 2013
Лекции ПЦУСБ
Лекции
Практические
- Практическая работа 1
- Практическая работа 2
- Практическая работа 3
- Практическая работа 4
Тесты
Лабораторные
Доп. материалы
Практическая работа №4 предназначена для выполнения теми, кто хочет иметь итоговую оценку 6 балов и выше.
Содержание |
Группа заданий А (маршрут ASIC)
Варианты заданий приведены на данной странице.
При выполнении заданий следует учитывать следующие общие требования:
- Разработать синтезируемое 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..
- Синтезировать полученную схему в LeonardoSpectrum.
- Провести моделирование синтезированной схемы совместно с исходным описанием.
- Модифицировать ТБ так, чтобы провести моделирование блоков кодирования/декодирования по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
- Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов alib.vhd.
- Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
- Использовать структуру папок проекта, описанную в лекции 6. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.
Группа заданий Б (маршрут FPGA)
Общие требования к работе:
- Разработать синтезируемое VHDL-описание блока.
- имена портов должны соответствовать именам ресурсов ПЛИС.
- Типы портов - std_logic[_vector].
- Внутренние сигналы называть так, чтобы было интуитивно понятно их названия.
- Разработать тестовое окружение для запуска моделирования на языке VHDL.
- Использовать структуру тестбенча (ТБ), описанную в лекции 6. ТБ включает блок кодирования, блок декодирования (при работе в паре), блок model, блок TestCtrl.
- Название entity - tb.
- Название architecture - beh.
- Входные тесты (входные данные) должны читаться из файла, а выходные данные должны записываться в файл.
- Функции чтения/записи из файла могут быть описаны по примеру из книги Бибило П.Н. VHDL. Эффективное использование при проектировании цифровых систем — М.: СОЛОН-ПРЕСС, 2006. — 344 p. — ISBN 5-98003-293-2..
- Синтезировать полученную схему в ISE для ПЛИС Spartan-3 (xc3s1000-4ft256).
- Подготовить лог синтеза, в котором отображаются число элементов или площадь, и максимальное быстродействие схемы.
- сохранить синтезированное (структурное) описание схемы
- Провести моделирование синтезированной схемы совместно с исходным описанием.
- Модифицировать ТБ так, чтобы провести моделирование блоков по исходным и синтезированным моделям одновременно. Сравнить эквивалентность функционирования двух VHDL-описаний блоков.
- Для моделирования синтезированной схемы использовать VHDL-описание библиотеки логических элементов ПЛИС Spartan-3.
- Привести отчет о покрытии кода (по всем видам). Покрытие исходного VHDL описания блоков кодирования/декодирования должно быть 100%.
- Использовать структуру папок проекта, описанную в лекции 6. Компиляция и запуск моделирования (до и после синтеза) должны быть автоматизированы с помощью соответствующих TCL-скриптов и BAT файлов.
Варианты заданий
Уровень сложности 1
- Преобразователь 8-ми разрядного числа из двоичного кода в двоично-десятичный код с отображением на семисегментном индикаторе в десятичном виде
- Преобразователь числа из двоично-десятичного кода в 8-ми разрядный двоичный код с отображением на линейке светодиодов
- входной код отображается на семисегментном индикаторе в десятичном виде
- выходной код отображается на линейке светодиодов
- Калькулятор (4-разрядное число [×|+|-] 4-разрядное число)
- значения входных аргументов задаётся переключателями, при этом эти значения отображаются в шестнадцатеричном виде на семисегментном индикаторе (первых два индикатора)
- значение результата вычислений отображается в шестнадцатеричном виде на семисегментном индикаторе (вторые 2 индикатора)
- выполняемая арифметическая операция задаётся кнопками, при этом на светодиодах фиксируется номер операции.
Уровень сложности 2
- Функция "Эхо" для терминала. Т.е. получение байта с компьютера по RS232 и отправка его обратно в ПК.
- Отобразить на экране монитора шахматную доску через VGA интерфейс.
Уровень сложности 3
- Калькулятор ([×|+|-]) в терминале. Задание входных и выходных данных и кода операции по интерфейсу RS232. (Например, набираешь в терминале "2+8=", после набора символа '=' из ПЛИС возвращается результат выражения.
- Отобразить на экране монитора надпись "ПЦУСБ" через VGA интерфейс.