Практикум по пакетам проектирования сверхбольших интегральных схем (осенний семестр 2016 года)

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск

Общая информация

Материалы занятий для группы 618/1

Раздел находится в разработке

Материалы занятий для группы 618/2

Темы семинаров и слайды

Лекция 1. DE0-Nano. Синтаксис Verilog. Управляющие автоматы.

Семинар 1. Управляющие автоматы.

Лекция 2. Модельный процессор: общая структура, система команд, операционный автомат.

Лекция 3. Debug схем: визуализация схемы, диаграммы Мура, симуляция.

Лекция 4. Модельный многотактовый процессор, виды управляющих автоматов.

Домашние задания

Решения домашних заданий присылать на почты Шуплецова М.С. и Подымова В.В. (на обе сразу). Тема письма: "[Prac 618/2 hw-i-] Фамилия И.О.", где -i- - номер домашнего задания. Как правило, решение домашнего задания - это набор verilog-файлов.

Домашнее задание 1. В материалах семинара 1 сформулировано 6 задач: 5 нумерованных и "Домашнее задание". Каждая следующая задача считается строго сложнее предыдущей ("Домашнее задание" - самая сложная задача). Задание: постараться прорешать все задачи семинара, и прислать решение самой сложной решённой. Крайний срок: до конца выходных после второго семинара. Сложность присланной задачи будет учитываться при определении результатов по итогам семестра.

Внимание! Срок сдачи первого домашнего задания продлён, новый крайний срок: 23.10.2016, 23:59.

Домашнее задание 2. В материалах лекции 2 предложена общая структура операционного автомата процессора, поддерживающего а) только инструкцию add, б) только инструкцию beq. Задача: реализовать операционный автомат для каждого из этих двух случаев (т.е. в решении реализуются два разных независимых операционных автомата). Крайний срок: 24.11.2016, 23:59. По запросу будут выданы некоторые элементы реализации операционных автоматов. Чтобы не писать слишком много, можно сократить число регистров и размер адресного пространства используемой памяти (но не до тривиального предела).

Поправки к домашнему заданию 2:

  • изменён крайний срок сдачи: 24.11.2016, 23:59,
  • появились и будут выданы по запросу оттестированные (точно работающие) базовые блоки операционного автомата модельного процессора,
  • появилась краткая справка по инструкциям и операционному автомату модельного процессора,
  • небольшая помощь в симуляции операционного автомата:
    • разрешается вместо add рассмотреть инструкцию addi, чтобы можно было проводить симуляцию, не изменяя кода базовых блоков процессора,
    • подсказка, как можно содержательно симулировать выполнение инструкций add, beq: достаточно изменить код регистра, записывая по сигналу reset не 0, а желаемое начальное значение.

Домашнее задание 3. Реализовать однотактовый процессор, поддерживающий (как минимум) одну арифметическую инструкцию R-типа (например, add), одну арифметическую инструкцию I-типа (например, addi) и одну инструкцию ветвления I-типа (beq или bne). Если при проверке работоспособности процессора производилась симуляция в icarus verilog, то приложить к решению модули тестирования процессора. Подсказка: управляющий автомат однотактового процессора - это просто комбинационная схема, а совмещение операционных автоматов нескольких инструкций обсуждалось в лекции 2 и иллюстрируется в краткой справке по инструкциям и операционному автомату модельного процессора. Крайний срок: 08.12.2016, 23:59.

Критерии зачёта

Критерии могут быть дополнены

Каждое домашнее задание, сделанное полностью (если предложено несколько вариантов задач - если сделан самый сложный) и в срок, оценивается в 15 баллов. За каждый день просрочки накладывается штраф: минус один балл. Если будет проставляться зачёт без оценки, то чтобы получить зачёт, достаточно набрать более половины требуемых баллов.