Разработка имитатора жесткого диска для верификации...
DESCRIPTION
Разработка имитатора жесткого диска для верификации интерфейса PATA. Выпускная квалификационная работа. Выполнил: Фадеев Роман, ФРТК, 613 гр. Научный руководитель: Михайлов М.С. Южный мост вычислительных систем на базе микропроцессоров “ Эльбрус-S ” , “ МЦСТ-4R“ (Структурная схема ). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/1.jpg)
Разработка имитатора жесткого диска для верификации интерфейса
PATA
Выполнил: Фадеев Роман, ФРТК, 613 гр.Научный руководитель: Михайлов М.С.
Выпускная квалификационная работа
![Page 2: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/2.jpg)
Южный мост вычислительных систем на базе микропроцессоров “Эльбрус-S”, “МЦСТ-4R“
(Структурная схема)
• IOH — система для связи внешних устройств с CPU
• SC – системный коммутатор
• Контроллеры внешних интерфейсов объединены с помощью системного коммутатора и являются его абонентами.
• Для обмена IOH с системой используется IO-link интерфейс. Этот же интерфейс используется для обмена между абонентами IOH и системным коммутатором SC.
![Page 3: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/3.jpg)
Постановка задачиРазработка имитатора интерфейса 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](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/4.jpg)
Структура имитатора
С учетом требований поддержки режимов PIO, Multiword и Ultra DMA модель имитатора разбита на 4 части:• Command Block Registers – регистры управления
интерфейсом• Блок управления передачей данных в режиме PIO• Блок управления передачей данных в режиме
Multiword DMA• Блок управления передачей данных в режиме Ultra
DMA
![Page 5: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/6.jpg)
Команды, поддерживаемые имитатором
• SET FEATURES задает режимы Multiword DMA и Ultra DMA с параметрами в регистре Sector count
• READ/WRITE SECTOR(S) чтение/запись данныx в PIO режиме
• READ/WRITE DMA чтение/запись данныx в DMA режиме
![Page 7: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/7.jpg)
Принципиальная схема работы имитатора в PIO режиме
• Модель реализована с помощью state machine с четырмя состояниями pio_IDLE, pio_SEL, pio_READ, pio_WRITE
• Работа в PIO режиме начинается с записи хостом команды READ SECTOR(S) или WRITE SECTOR(S).
![Page 8: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/8.jpg)
PIO протокол
• PIO протокол используется в старых реализациях HDD, в имитатор включен из требований совместимости
• Самый медленный режим передачи данных• Во время PIO передачи текущее передаваемое слово
содержится в Data register
![Page 9: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/9.jpg)
Принципиальная схема работы имитатора 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](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/10.jpg)
Multiword DMA
• Стробы чтения/записи всегда генерируются хостом• Передача управляется связкой DMARQ и DMACK- • Прерывание burst хостом – хост снимает DMACK-• Прерывание burst имитатором – имитатор снимает DMARQ на переднем фронте DIOR-/DIOW-
![Page 11: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/11.jpg)
Реализация 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](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/12.jpg)
Принципиальная схема работы имитатора в ULTRA DMA режиме
![Page 13: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/13.jpg)
Инициализация Ultra DMA in BurstУстановившийся Ultra DMA In BurstХост прерывает Ultra DMA In BurstИмитатор прерывает Ultra DMA In Burst
![Page 14: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/14.jpg)
Инициализация Ultra DMA out burstУстановившийся Ultra DMA out burstИмитатор прерывает Ultra DMA out burstХост прерывает Ultra DMA out burst
![Page 15: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/15.jpg)
UDMA CRC
• Устройство, и хост имеют 16-битную CRC функцию и вычисляют значение CRC для каждого фронта STROBE
• В конце Ultra DMA burst хост высылает свой результат CRC устройству на спадающем фронте DMACK-. Устройство сравнивает полученное CRC со своим собственным. Если значения не совпадают, то устройство сохраняет сведения об ошибке
![Page 16: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/16.jpg)
Реализация временных характеристик в модели
• 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](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/17.jpg)
Результаты
• Разработано Verilog описание имитатора интерфейса PATA
• Произведено тестирование в составе RTL-модели IOH
• Обеспечена корректная работа во всех PIO, Multiword, Ultra DMA режимах
![Page 18: Разработка имитатора жесткого диска для верификации интерфейса PATA](https://reader036.vdocuments.mx/reader036/viewer/2022081505/5681593e550346895dc67cf8/html5/thumbnails/18.jpg)
Спасибо за внимание!