Календарный план

  • 16 February - 22 February

  • 23 February - 29 February

  • 1 March - 7 March

      • Задание 1.
      1. Создайте проект.
      2. Добавьте в него файлы из каталога "Примеры исходного кода с комментариями".
      3. Входные порты привяжите к кнопкам и/или тумблерам, а выходные к диодам и/или семи-сегментным индикаторам.
      4. Откомпилируйте проект. 
      5. Прошейте в ПЛИС, убедитесь, что всё работает именно так, как и ожидалось.
      • Задание 2.
        1. Создайте ещё один проект.
        1. Создайте собственный файл, описывающий работу коммутатора. (можно на выбор любое другое асинхронное логическое устройство, которое Вам по душе). Простейший коммутатор представляет собой логическую функцию с 2-мя входами данных, 1-м управляющим входом и 2-мя выходами. при подаче на управляющий вход 0 на выхода данных должны передаваться значения со входов с теми же номерами. При подаче 1, на выхода данных должны передаваться значения со входов с обратными номерами. Т.е. при подаче 1 на управляющий вход, на 1-й выход должны подаваться значения с 0-го входа.
        2.  Входные порты привяжите к кнопкам и/или тумблерам, а выходные к диодам и/или семи-сегментным индикаторам.
        3.  Откомпилируйте проект. 
        4. Прошейте в ПЛИС, убедитесь, что всё работает именно так, как и ожидалось.
      • Задание 3.
      1. Создайте ещё один проект.
      2. Создайте собственный файл, описывающий работу регистра. (можно на выбор любое другое синхронное логическое устройство, которое Вам по душе).
        Регистр представляет собой массив триггеров. Можно сделать по аналогии с примером.
      3. Входные порты привяжите к кнопкам и/или тумблерам, а выходные к диодам и/или семи-сегментным индикаторам.
      4. Откомпилируйте проект. 
      5. Прошейте в ПЛИС, убедитесь, что всё работает именно так, как и ожидалось.
  • 8 March - 14 March

  • 15 March - 21 March

    • Данная лабораторная работа рассчитана на выполнение в течение двух недель. Цель лабораторной работы закрепить знание тем "таблицы истинности", "карты Карно", "СДНФ" и "СКНФ", а так же на использование знаний из новой темы "комбинаторные элементы".

      • Задание 1.
        1. Составить таблицу истинности операции, соответствующей выбранному варианту. Составить таблицу истинности для одноразрядных входов и выхода.
        2. Получить логическую формулу для операции, соответствующей выбранному варианту. Использовать любой из изученных методов "карты Карно", "СДНФ" и "СКНФ".
        3. Разработать описание на языке VHDL или Verilog для выбранной операции.
      • Задание 2.
        1. Разработать описание на языке VHDL или Verilog выбранной операции для четырёх-разрядных входов и выхода. Построить четырёх-разрядный  компонент с использованием одноразрядных компонентов, выполняющих ту же операцию.
        2. Убедиться, что операция выполняется правильно.
      • Задание 3.
        1. Сделать модуль, реализующий выбранную операцию, синхронным, так, что бы он обновлял результат вычислений только фронту тактового сигнала, если входной порт "clock_enable" установлен в логическую единицу.
        2. Убедиться, что модуль работает синхронно.


      Варианты:

      1. Одноразрядный полный сумматор и, соответственно, четырёх-разрядный сумматор.
      2. Вычетатель. (Как сумматор, но у второго слагаемого, перед сложением, меняет знак).
      3. Умножитель.
      4. Селектор 2x1 и, соответственно 8x1.
  • 22 March - 28 March

      1. Реализовать конвейер, вычисляющий формулу, в соответствии с выбранным вариантом.
      2. Убедиться в правильности вычислений.


      Варианты:

      • А. 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];
            }
  • 29 March - 4 April

  • 5 April - 11 April

  • 12 April - 18 April

  • 19 April - 25 April

  • 26 April - 2 May

  • 3 May - 9 May

    • Задача

      Построить автомат, в соответствии с условием.

      Варианты

      • ·         А. Разработать АЛУ. Для выполнения арифметических операций. АЛУ имеет всего один 8-ми разрядный вход, который может вести себя и как вход данных и как вход команды и вообще как угодно, по вашей Воле. Для арифметических операций использовать встроенные в стандартную библиотеку перегруженные операторы.
      • ·         Б. Разработать автомат, реализующий последовательный приёмник.  Например, UART, но можете предложить свой протокол.
      • ·         В. Разработать автомат, реализующий последовательный передатчик. Например, UART, но можете предложить свой протокол.
      • ·         Г. Разработать автомат для голосования. Может быть несколько вариантов ответа. Голосуют по очереди. После каждого автомат выдаёт лидера, на текущий момент.


  • 10 May - 16 May

  • 17 May - 23 May