Jump to content

    

nbjkm

Участник
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Обычный

Recent Profile Visitors

177 profile views
  1. не сталкивался с проблемами при одновременном чтении/записи. Шина сама всё разрулит. И да, как уже заметил new123, запрос на чтение/запись можно (и нужно) подавать когда waitrequest в единице и дожидаться его освобождения. Как только шина освободится от другого мастера (арбитраж не позволит одному мастеру занимать шину вечно), шину займет другой мастер и т.д.
  2. DSP Builder так и не научился нормально использовать, ошибка на ошибке и ошибкой погоняет. К тому же на высокоскоростной IP RS нет лицензии в Quartus, а в MATLAB всё выглядело довольно удобненько. Кстати, к слову, раньше сталкивался с генерацией Lookup table из того же матлаба. Это была обычная ROM, но синтезировалась точно таким же образом как и в данном случае. Там всё легко можно было руками поправить, я просто менял wire на logic и квартус все прекрасно понимал. Но опять же, делалось это только вручную.
  3. Доброго здоровья! В MATLAB имеется блок "RS Encoder/Decoder HDL Optimized". Я синтезирую его HDL-код, получается неплохо + еще довольно читабельно. И казалось бы можно праздновать, но нет. В синтезированном коде есть много объявлений памяти и её инициализации в виде wire [7:0] gfomegapowertable_43 [0:255]; // ufix8 [256] assign gfomegapowertable_43[0] = 8'b00000000; assign gfomegapowertable_43[1] = 8'b10000000; assign gfomegapowertable_43[2] = 8'b00011101; assign gfomegapowertable_43[3] = 8'b10011101; assign gfomegapowertable_43[4] = 8'b00111010; .... assign gfomegapowertable_43[255] = 8'b01100010; assign omega8powertable = gfomegapowertable_43[omega8powerreg]; Подсовываю код в квартус и получаю закономерный результат - он вообще не определяет данный код как память и клепает всё на логике. В результате чего получаю скорость ~70 МГц, что неприемлемо. Данный способ объявления памяти я встречаю впервые, поскольку альтера рекомендует описывать память только через регистры. Сталкивался ли кто-нибудь с подобными вещами? Самостоятельно переписывать весь код больно уж ресурсозатратно. Да и к тому же матлаб везде нахваливают за его удобство и чуть ли не пару кнопок нажал и всё - код сгенерирован и можно работать. Использование директив ramstyle не дало никакого эффекта
  4. Руками писал. Можно было использовать и готовые ядра, но мне это было не столь интересно
  5. Я делал СФ по схеме FIR-фильтра, тупо оцифровал распознаваемый сигнал и запихнул его в качестве коэффициентов фильтра, предварительно переставив местами. И все дела. Работало на отлично. На частоте в 213 МГц