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

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

Версия 22:23, 4 декабря 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.

Домашнее задание 4. Реализовать многотактовый процессор (см. лекцию 4), поддерживающий (как минимум) одну арифметическую инструкцию (например, add или addi) и инструкцию безусловного ветвления (j). Если при проверке работоспособности процессора производилась симуляция в icarus verilog, то приложить к решению модули тестирования процессора. Крайний срок: 22.12.2016, 23:59.

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

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

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