nabbla (nabbla1) wrote,
nabbla
nabbla1

Categories:

Обнаружение на новом GPU - сходу не вышло

Запустил симуляцию - посчиталась довольно быстро, и вскоре стало ясно, почему. Мы так и не ушли дальше самой первой строки!



Похоже, что "не угадали" с чётностью - начали с чётного числа, отсчитали сверху 28 строк, а потом выдали эту команду BGPUL (Begin GPUL), которая переключила бит в единичку, но строка-то была чётная, поэтому результаты единственной команды ACQ WholeRow были сочтены некорректными и вышвырнуты нафиг!


Именно поэтому, команда GPUL вместо того, чтобы сразу выдать результат, остановила процессор "навсегда". У нас ещё оставалась команда ACQ HSync для видеопроцессора, и когда она была исполнена (так ничего и не выдав в результаты, как мы и хотели), выскочило прерывание UFLO (исчерпание заданий на обработку), но поскольку в этой "тестовой схеме" (testbench) у нас обработчик прерываний не подключён, мы так и остались застрявшими в этом месте.

Нда, почему-то мне казалось, что если мы в начале работы ошибёмся с чётностью, то "всего лишь" сдвинемся на одну строку. Нет, при ошибке мы вообще застрянем.

Так что добавить ещё одну команду, которая обнулит этот бит чётности в начале работы с кадром - очень неплохая идея. Не знаю, конечно, может это паранойя, считать что всё здесь может сбиваться. Точнее, это НЕДОСТАТОЧНАЯ ПАРАНОЙЯ - какой смысл отслеживать конкретно косяки с получением изображения, но считать при этом, что процессор работает безукоризненно.

Впрочем, хотя бы в целях отладки это неплохая проверка, пущай будет. Просто поменяем количество строк, которые мы "пропускаем". Сделаем на единичку меньше, и попробуем повторно.


А вообще, неплохо: мы увидели, что происходит, когда чётность не совпала, а также проверили, что по синхроимпульсам действительно результаты не приходит, как и задумано. Сейчас попробуем ещё разок.
Tags: ПЛИС, программки, работа, странные девайсы
Subscribe

  • Формулы приведения, что б их... (и atan на ТРЁХ умножениях)

    Формулу арктангенса на 4 умножениях ещё немножко оптимизировал с помощью алгоритма Ремеза: Ошибка уменьшилась с 4,9 до 4,65 угловой секунды, и…

  • Алгоритм Ремеза в экселе

    Вот и до него руки дошли, причина станет ясна в следующем посте. Изучать чужие библиотеки было лениво (в том же BOOSTе сам чёрт ногу сломит), писать…

  • atan на ЧЕТЫРЁХ умножениях

    Мишка такой человек — ему обязательно надо, чтоб от всего была польза. Когда у него бывают лишние деньги, он идёт в магазин и покупает какую-нибудь…

  • Ай да Пафнутий Львович!

    Решил ещё немного поковыряться со своим арктангенсом. Хотел применить алгоритм Ремеза, но начал с узлов Чебышёва. И для начала со своего "линейного…

  • atan(y/x) на двух умножениях!

    Чего-то никак меня не отпустит эта тема, всё кажется, что есть очень простой и эффективный метод, надо только его найти! Сейчас вот такое…

  • Таблица коэффициентов для atan1

    Пора уже добить этот несчастный арктангенс, что-то слишком долго его ковыряю. Мы упоминали, что в оперативной памяти будет лежать таблица в 15 слов:…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments