Опубликован: 04.08.2025 | Доступ: свободный | Студентов: 12 / 0 | Длительность: 02:58:00
Лекция 2:

Разработка цифровых ИС на примере микроконтроллерного ядра SCR1 - HDL описание

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Debug Module Interface

Внешний отладчик коммуницирует с подсистемой отладки ядра через JTAG-интерфейс и TAP контроллер.

Модуль отладки (англ. Debug Module) является ведомым виртуальной шины, называемой Debug Module Interface (DMI), а TAP контроллер является ведущим.

Debug Module

Модуль отладки (англ. Debug Module) реализует интерфейс трансляции между абстрактными операциями отладки и их конкретной реализацией. Он может поддерживать следующие операции:

  1. Предоставление отладчику необходимой информации о реализации.
  2. Позволяет останавливать и возобновлять работу одного харта* ядра.
  3. Предоставляет статус, если харт* остановлен.
  4. Предоставляет абстрактный доступ на чтение и запись регистров общего назначения остановленного харта*.

    * Харт (англ. hart) - аппаратный поток.

  5. Предоставляет доступ к сигналу сброса, позволяющему выполнять отладку с самой первой инструкции после сброса.
  6. Предоставляет механизм, позволяющий отлаживать харт* сразу после сброса (независимо от причины сброса).
  7. Обеспечивает абстрактный доступ к регистрам харта*, не относящимся к регистрам общего назначения (CSR, PC).
  8. Предоставляет программный буфер (англ. Program Buffer), чтобы заставить харт* выполнять произвольные инструкции.
  9. Обеспечивает доступ к памяти с точки зрения харта*.

Больше информации о модуле отладки приведено в разделе 8.4 спецификации SCR1, приведенной в [1].

*Харт (англ. hart) - аппаратный поток.

Hart Debug Unit

Модуль отладки аппаратного потока осуществляет контроль над отладочными функциями аппаратного потока и предоставляющий для этого интерфейс модулю отладки (Debug Module).

Он управляет переходами между состояниями отладки харта (сброс/запуск/отложенное состояние), а также процессом выполнения инструкций из программного буфера.

При выполнении кода из программного буфера для харта действуют определенные правила, например, исключения не обновляют никакие регистры, а прекращают выполнение кода из программного буфера. Данные правила приведены в разделе 8.5.2 спецификации SCR1, приведенной в [1].

Больше информации о модуле отладки аппаратного потока приведено в разделе 8.5 спецификации SCR1, приведенной в [1].

Триггеры могут вызвать исключение точки остановы (англ. breakpoint exception) или вход в режим отладки без выполнения специальной инструкции, что полезно при отладке кода из ROM.

Триггер может срабатывать при выполнении инструкции по определенному адресу, чтении/записи по определенному адресу или при достижении выполнения определенного числа инструкций. Триггеры не срабатывают в режиме отладки. Больше информации о триггерах приведено в разделе 8.6 спецификации SCR1, приведенной в [1].

Список использованных источников

  1. SCR1 External Architecture Specification - URL: https://github.com/syntacore/scr1/blob/master /docs/scr1_eas.pdf.

Презентация по лекции 2

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >