Разработка имитатора жесткого диска для верификации...

18
Разработка имитатора жесткого диска для верификации интерфейса PATA Выполнил: Фадеев Роман, ФРТК, 613 гр. Научный руководитель: Михайлов М.С. Выпускная квалификационная работа

Upload: gracie

Post on 02-Feb-2016

89 views

Category:

Documents


0 download

DESCRIPTION

Разработка имитатора жесткого диска для верификации интерфейса PATA. Выпускная квалификационная работа. Выполнил: Фадеев Роман, ФРТК, 613 гр. Научный руководитель: Михайлов М.С. Южный мост вычислительных систем на базе микропроцессоров “ Эльбрус-S ” , “ МЦСТ-4R“ (Структурная схема ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Разработка имитатора жесткого диска для верификации интерфейса

PATA

Выполнил: Фадеев Роман, ФРТК, 613 гр.Научный руководитель: Михайлов М.С.

Выпускная квалификационная работа

Page 2: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Южный мост вычислительных систем на базе микропроцессоров “Эльбрус-S”, “МЦСТ-4R“

(Структурная схема)

• IOH — система для связи внешних устройств с CPU

• SC – системный коммутатор

• Контроллеры внешних интерфейсов объединены с помощью системного коммутатора и являются его абонентами.

• Для обмена IOH с системой используется IO-link интерфейс. Этот же интерфейс используется для обмена между абонентами IOH и системным коммутатором SC.

Page 3: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Постановка задачиРазработка имитатора интерфейса PATA (Parallel AT Attachment) для проверки работы PATA контроллера

• Имитатор должен удовлетворять требованиям спецификации AT Attachment with Packet Interface — 6 (ATA/ATAPI-6)

• Поддержка режимов PIO, Multiword DMA, Ultra DMA• Тактовая частота 100 Мгц• Реализация команд передачи данных SET FEATURES, READ

DMA, WRITE DMA, READ SECTROR(S), WRITE SECTOR(S)

Требования

Page 4: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Структура имитатора

С учетом требований поддержки режимов PIO, Multiword и Ultra DMA модель имитатора разбита на 4 части:• Command Block Registers – регистры управления

интерфейсом• Блок управления передачей данных в режиме PIO• Блок управления передачей данных в режиме

Multiword DMA• Блок управления передачей данных в режиме Ultra

DMA

Page 5: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Command Block RegistersCommand Block registers используются для передачи команд в устройство и приема статуса от уcтройства.Регистры:• LBA (High, Mid, Low) – задают адрес в буфере имитатора,

размер буфера равен 2048 16-битных слов, что составляет 8 секторов (один сектор = 512 байт)

• Sector Count – содержит число секторов для передачи• Command – содержит код команды для исполнения• Status, Alternate Status – содержат статус устройства• Features – содержит дополнительные параметры

команды• Error – содержит ошибку• Data register – хранит передаваемое слово в PIO режиме• Device control register – управление прерываниями и

software reset

Page 6: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Команды, поддерживаемые имитатором

• SET FEATURES задает режимы Multiword DMA и Ultra DMA с параметрами в регистре Sector count

• READ/WRITE SECTOR(S) чтение/запись данныx в PIO режиме

• READ/WRITE DMA чтение/запись данныx в DMA режиме

Page 7: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Принципиальная схема работы имитатора в PIO режиме

• Модель реализована с помощью state machine с четырмя состояниями pio_IDLE, pio_SEL, pio_READ, pio_WRITE

• Работа в PIO режиме начинается с записи хостом команды READ SECTOR(S) или WRITE SECTOR(S).

Page 8: Разработка имитатора жесткого диска для верификации интерфейса  PATA

PIO протокол

• PIO протокол используется в старых реализациях HDD, в имитатор включен из требований совместимости

• Самый медленный режим передачи данных• Во время PIO передачи текущее передаваемое слово

содержится в Data register

Page 9: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Принципиальная схема работы имитатора Multiword режиме

• Модель реализована с помощью state machine с шестью состояниями mwdma_IDLE, mwdma_PREP, mwdma_RD_TRANSFER, mwdma_WR_TRANSFER,mwdma_RD_TERMINATED,mwdma_WR_TERMINATED

• Работа в Multiword режиме начинается с активации хостом Multiword режима и записи хостом команды READ DMA или WRITE DMA

Page 10: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Multiword DMA

• Стробы чтения/записи всегда генерируются хостом• Передача управляется связкой DMARQ и DMACK- • Прерывание burst хостом – хост снимает DMACK-• Прерывание burst имитатором – имитатор снимает DMARQ на переднем фронте DIOR-/DIOW-

Page 11: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Реализация Ultra DMA в модели (специфика)

Предварительные замечания1) В режиме Ultra DMA некоторые сигналы исполняют другие функции и имеют другие названия (название указано после «:»)• DIOR-: HDMARDY-: HSTROBE (Device I/O read: Ultra

DMA ready: Ultra DMA strobe)• DIOW-: STOP (Device I/O write: Stop Ultra DMA burst)• IORDY: DDMARDY-: DSTROBE (I/O channel ready: Ultra

DMA ready: Ultra DMA data strobe)2) Данные передаются по обоим фронтам DSTROBE3) Передача управляется двойной связкой DMARQ и

DMACK-, STOP и DMARDY4) Подсчет CRC

Page 12: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Принципиальная схема работы имитатора в ULTRA DMA режиме

Page 13: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Инициализация Ultra DMA in BurstУстановившийся Ultra DMA In BurstХост прерывает Ultra DMA In BurstИмитатор прерывает Ultra DMA In Burst

Page 14: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Инициализация Ultra DMA out burstУстановившийся Ultra DMA out burstИмитатор прерывает Ultra DMA out burstХост прерывает Ultra DMA out burst

Page 15: Разработка имитатора жесткого диска для верификации интерфейса  PATA

UDMA CRC

• Устройство, и хост имеют 16-битную CRC функцию и вычисляют значение CRC для каждого фронта STROBE

• В конце Ultra DMA burst хост высылает свой результат CRC устройству на спадающем фронте DMACK-. Устройство сравнивает полученное CRC со своим собственным. Если значения не совпадают, то устройство сохраняет сведения об ошибке

Page 16: Разработка имитатора жесткого диска для верификации интерфейса  PATA

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

• PIO t0 (cycle time)Режим 0 – 600 нс, 1 – 383 нс, 2 – 240 нс , 3 – 180

нс, 4 – 120 нс• Multiword t0 (Cycle time)Режим 0 - 480 нс, 1 - 150 нс, 2 - 120 нс• Ultra DMA t2cyctyp (Typical sustained average

cycle time)Режим 0 – 240 нс, 1 – 160 нс, 2 – 120 нс , 3 – 90 нс

,4 – 60 нс, 5 – 40 нс

Page 17: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Результаты

• Разработано Verilog описание имитатора интерфейса PATA

• Произведено тестирование в составе RTL-модели IOH

• Обеспечена корректная работа во всех PIO, Multiword, Ultra DMA режимах

Page 18: Разработка имитатора жесткого диска для верификации интерфейса  PATA

Спасибо за внимание!