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

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск
м
Строка 24: Строка 24:
  
 
'''Семинар 3.''' Симуляция: testbench, icarus verilog.
 
'''Семинар 3.''' Симуляция: testbench, icarus verilog.
 +
 +
'''Лекция 4.''' Обсуждение текущего домашнего задания.
 +
 +
'''Семинар 4.''' Операционный автомат модельного однотактового процессора.
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 43: Строка 47:
 
** подсказка, как можно содержательно симулировать выполнение инструкций add, beq: достаточно изменить код регистра, записывая по сигналу reset не 0, а желаемое начальное значение.
 
** подсказка, как можно содержательно симулировать выполнение инструкций add, beq: достаточно изменить код регистра, записывая по сигналу reset не 0, а желаемое начальное значение.
  
'''Домашнее задание 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'''.
  
 
== Критерии зачёта ==
 
== Критерии зачёта ==

Версия 02:46, 27 ноября 2016

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

Материалы занятий для группы 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 баллов. За каждый день просрочки накладывается штраф: минус один балл. Если будет проставляться зачёт без оценки, то чтобы получить зачёт, достаточно набрать более половины требуемых баллов.