Календарный план
-
-
Довольно полезная статья о синхронных схемах.
-
-
-
-
- Задание 1.
- Создайте проект.
- Добавьте в него файлы из каталога "Примеры исходного кода с комментариями".
- Входные порты привяжите к кнопкам и/или тумблерам, а выходные к диодам и/или семи-сегментным индикаторам.
- Откомпилируйте проект.
- Прошейте в ПЛИС, убедитесь, что всё работает именно так, как и ожидалось.
- Задание 2.
- Создайте ещё один проект.
- Создайте собственный файл, описывающий работу коммутатора. (можно на выбор любое другое асинхронное логическое устройство, которое Вам по душе). Простейший коммутатор представляет собой логическую функцию с 2-мя входами данных, 1-м управляющим входом и 2-мя выходами. при подаче на управляющий вход 0 на выхода данных должны передаваться значения со входов с теми же номерами. При подаче 1, на выхода данных должны передаваться значения со входов с обратными номерами. Т.е. при подаче 1 на управляющий вход, на 1-й выход должны подаваться значения с 0-го входа.
- Входные порты привяжите к кнопкам и/или тумблерам, а выходные к диодам и/или семи-сегментным индикаторам.
- Откомпилируйте проект.
- Прошейте в ПЛИС, убедитесь, что всё работает именно так, как и ожидалось.
- Задание 3.
- Создайте ещё один проект.
- Создайте собственный файл, описывающий работу регистра. (можно на
выбор любое другое синхронное логическое устройство, которое Вам по душе).
Регистр представляет собой массив триггеров. Можно сделать по аналогии с примером. - Входные порты привяжите к кнопкам и/или тумблерам, а выходные к диодам и/или семи-сегментным индикаторам.
- Откомпилируйте проект.
- Прошейте в ПЛИС, убедитесь, что всё работает именно так, как и ожидалось.
-
-
-
-
Данная лабораторная работа рассчитана на выполнение в течение двух недель. Цель лабораторной работы закрепить знание тем "таблицы истинности", "карты Карно", "СДНФ" и "СКНФ", а так же на использование знаний из новой темы "комбинаторные элементы".
- Задание 1.
- Составить таблицу истинности операции, соответствующей выбранному варианту. Составить таблицу истинности для одноразрядных входов и выхода.
- Получить логическую формулу для операции, соответствующей выбранному варианту. Использовать любой из изученных методов "карты Карно", "СДНФ" и "СКНФ".
- Разработать описание на языке VHDL или Verilog для выбранной операции.
- Задание 2.
- Разработать описание на языке VHDL или Verilog выбранной операции для четырёх-разрядных входов и выхода. Построить четырёх-разрядный компонент с использованием одноразрядных компонентов, выполняющих ту же операцию.
- Убедиться, что операция выполняется правильно.
- Задание 3.
- Сделать модуль, реализующий выбранную операцию, синхронным, так, что бы он обновлял результат вычислений только фронту тактового сигнала, если входной порт "clock_enable" установлен в логическую единицу.
- Убедиться, что модуль работает синхронно.
- Одноразрядный полный сумматор и, соответственно, четырёх-разрядный сумматор.
- Вычетатель. (Как сумматор, но у второго слагаемого, перед сложением, меняет знак).
- Умножитель.
- Селектор 2x1 и, соответственно 8x1.
-
-
-
- Реализовать конвейер, вычисляющий формулу, в соответствии с выбранным вариантом.
- Убедиться в правильности вычислений.
Варианты:
- А. for(int i = 0; i < N; i++) {
a[i] = b[i] + c[i] + d[i];
} - Б. for(int i = 0; i < N; i++) {
if (d[i] == 0)
a[i] = b[i] + c[i];
else
a[i] = b[i] - c[i];
} - В. for(int i = 0; i < N; i++) {
a[i] = b[i] + c[i]+ d[i] + e[i];
} - Г. for(int i = 0; i < N; i++) {
a[i] = b[i] * c[i]+ d[i] * e[i];
}
-
-
-
-
-
-
-
-
Задача
Построить автомат, в соответствии с условием.
Варианты
- · А. Разработать АЛУ. Для выполнения арифметических операций. АЛУ имеет всего один 8-ми разрядный вход, который может вести себя и как вход данных и как вход команды и вообще как угодно, по вашей Воле. Для арифметических операций использовать встроенные в стандартную библиотеку перегруженные операторы.
- · Б. Разработать автомат, реализующий последовательный приёмник. Например, UART, но можете предложить свой протокол.
- · В. Разработать автомат, реализующий последовательный передатчик. Например, UART, но можете предложить свой протокол.
- · Г. Разработать автомат для голосования. Может быть несколько вариантов ответа. Голосуют по очереди. После каждого автомат выдаёт лидера, на текущий момент.
-
-
-