nabbla (nabbla1) wrote,
nabbla
nabbla1

Categories:

QuatCore: симуляция на 25 МГц работает

Попробовал наконец тактовую частоту поднять с 4 МГц до 25 МГц - всё чётко.



Если раньше мы выходили на PC=4 (бесконечный цикл) в момент 304,25 мкс, то теперь - 48,68 мкс. Это в точности в 25/4 = 6,25 раза быстрее, значит, тактов было выполнено в точности столько же. Ну и перед выходом на бесконечный цикл мы наблюдаем, как меняются местами данные по адресам 0x18 и 0x1E, а также 0x19 и 0x1F, в точности как в прошлый раз. Вместе с Classic Timing Analyzer, показывающий максимально допустимую частоту по наихудшему случаю чуть выше 26 МГц, это вселяет надежду, что всё действительно заработает. Хотя "мусора" стало больше - видим весьма приличных размеров "зазубрины" и довольно длинные переходные процессы на шинах, но к фронту тактового импульса всё надёжно устаканивается, и это главное!

Когда эту же процедуру выполняли на "обычном" QuatCore, она выполнялась за 262,25 мкс, т.е количество тактов возросло на 16%, отчасти из-за заминок при переходах (а мы обожаем повсюду устраивать циклы), отчасти из-за 2 тактов, теперь требующихся для чтения из оперативной памяти, и отчасти из-за RAW Hazards, вынуждающие нас где-то вставлять NOPы, а в АЛУ - просто пропускать по одному такту. Не так уж и плохо. Зато такты теперь могут быть куда короче, так что получаем общее ускорение в 5,4 раза! Если экстраполировать, то весь алгоритм захвата сможет выполниться менее чем 220 мкс - тут уже проглядывается обработка на обратном ходу развёртки / гашении! А на прямом ходу процессор можно подрядить немножко помочь видеообработчику.
Tags: ПЛИС, программки, работа, странные девайсы
Subscribe

Recent Posts from This Journal

  • Нахождение двух самых отдалённых точек

    Пока компьютер долго и упорно мучал симуляцию, я пытался написать на ассемблере алгоритм захвата на ближней дистанции. А сейчас на этом коде можно…

  • Слишком общительный счётчик

    Вчера я чуть поторопился отсинтезировать проект,параметры не поменял: RomWidth = 8 вместо 7, RamWidth = 9 вместо 8, и ещё EnableByteAccess=1, чтобы…

  • Балансируем конвейер QuatCore

    В пятницу у нас всё замечательно сработало на симуляции, первые 16 миллисекунд полёт нормальный. А вот прошить весь проект на ПЛИС и попробовать "в…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments