Development #22

Проект SP605_WISHBONE

Added by Dmitry Smekhov over 6 years ago. Updated about 6 years ago.

Status:Confirmed Start date:10/07/2011
Priority:Normal Due date:11/01/2011
Assignee:- % Done:

41%

Category:- Spent time: 11.00 hours
Target version:v1_1 Estimated time:0.20 hour

Description

Реализация PCI Express контроллера для шины WISHBONE


Subtasks

Development #23: Возможность приостановки обмена на шине PLD_BUSNew

Development #25: функции обращения к блокам на шине WISHBONENew

Development #26: Описание регистров BAR1 для шины WISHBONEConfirmed

Bug #30: Нет ответа на обращение к BLOCK TEST_GENClosed

Bug #31: Нет запроса dmar от блока TEST_CHECKConfirmed

Bug #32: Не происходит записи четырёх блоковConfirmed

Development #33: Проверка работы на шине WB с ожиданием готовностиNew

History

Updated by Dmitry Smekhov over 6 years ago

Добавлены компоненты для шины WISHBONE. Компоненты на Verilog. Появились проблемы при моделировании в Active-HDL:
1. Используется компонент FIFO v8.2 из ISE 13.2 - его надо добавить в ovi_xilinxcorelib
2. Надо добавить библиотеки ovi_unisim, ovi_xilinxcorelib для компиляции Verilog кода
3. Надо добавить glbl как компонент верхнего уровня для моделирования

Updated by Dmitry Smekhov over 6 years ago

Обнаружена ошибка - преждевременный запуск канала DMA. Чтение данных запускается до установки адреса.

Updated by Dmitry Smekhov over 6 years ago

  • Target version set to v1_1

Updated by Dmitry Smekhov over 6 years ago

В файле pci_exprx_app_m2 установлено TRN_RX_TIMEOUT : INTEGER :=30000
Это осталось от примера Xilinx для Virtex 5 и шины x8, видимо для примера Xilinx хватало.
В данном проекте используется шина x1 - время обращения по ней больше. При моделировании большого количества обращений происходил выход по timeout.
Я увеличил значение до 3000000, моделирование стало выполнятся без ошибки timeout.
Хотя возможно это просто ошибка в pci_exprx_app_m2. Непонятна логика работы next_trn_rx_timeout

Updated by Dmitry Smekhov over 6 years ago

Работают тесты test_read_4kb, test_read_8kb
Исправлена ошибка - не запускалась передача второго блока
В блоке block_test_generate_wb сигнал di_start установлен на разряд 5 регистра test_gen_cntrl
Ревизия 69

Updated by Dmitry Smekhov over 6 years ago

Доработан test_write_16kb. Четрые блока заполняются правильной тестовой последовательностью. block_check проверяет и сообщает о правильном приёме тестовой последовательности.
block_rd = 4
block_ok=3
block_error=0
изменение block_ok, block_error происходит при приёме первого слова следующего блока.

Updated by Dmitry Smekhov over 6 years ago

Исправлен ctrl_ram_cmd. Запись на шину WB при наличии паузы проходит без ошибок.

Updated by Dmitry Smekhov about 6 years ago

Исправлен ctrl_ext_descriptor - исправлен подсчёт контрольной суммы при is_dsp48=0

Also available in: Atom PDF