Практикум по пакетам проектирования сверхбольших интегральных схем (осенний семестр 2016 года)
Содержание
Общая информация
- Занятия проходят по пятницам с 14:35 до 16:10 в аудиториях 604 и 605.
- Занятия ведут Шуплецов Михаил Сергеевич, Данилов Борис Радиславович и Подымов Владислав Васильевич.
Материалы занятий для группы 618/1
Раздел находится в разработке
Материалы занятий для группы 618/2
Темы семинаров и слайды
Семинар 0. Определение уровня знаний.
Лекция 1. DE0-Nano. Синтаксис Verilog. Управляющие автоматы.
Семинар 1. Управляющие автоматы.
Лекция 2. Модельный процессор: общая структура, система команд, операционный автомат.
Семинар 2. Реализация элементов операционного автомата модельного процессора.
Лекция 3. Debug схем: визуализация схемы, диаграммы Мура, симуляция.
Семинар 3. Симуляция: testbench, icarus verilog.
Лекция 4. Обсуждение текущего домашнего задания.
Семинар 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 баллов. За каждый день просрочки накладывается штраф: минус один балл. Если будет проставляться зачёт без оценки, то чтобы получить зачёт, достаточно набрать более половины требуемых баллов.