Перейти к содержанию
    

aayakimenko1

Участник
  • Постов

    9
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Верно) Просто интересен подход к такому роду задач. К примеру, если представить такую схему, в которой идут подряд несколько умножителей + задана некоторая требуемая точность вычисления результата. Как выбрать разрядности, чтобы наименьшим образом искажался результат в процессе вычислений. bve писал выше по теме. То есть если на входе я имею целые числа (или числа с фиксированной точкой), то могу выбрать некоторый формат, скажем signed_fixed_point_N_M, при этом если нормировать промежуточные результаты и отбрасывать младшие биты произведений я не уйду далеко от точности заданного формата?
  2. В том и дело, что максимальная разрядность на входе фильтра - 48. Опишу такую ситуацию. Например, на первом шаге умножаем два 18-разрядных числа, произведение 36 бит. Далее фильтруем (коэффициенты 16 бит) и уже приходится округлять до 48 бит (чтобы подать на вход другого фильтра).
  3. Добрый день. Нужен совет по следующей проблеме. Допустим необходимо реализвать на ПЛИС некоторый алгоритм ЦОС, который состоит в последовательном выполнении простых операций (умножение, дифференцирование, фильтрация и т.д). На входе - целые числа (скажем 18 разрядов). В процессе математических вычислений разрядность результата растет очень быстро. Соответственно встает вопрос об округлении промежуточных результатов. То есть или использовать фиксированную точку или числа с плавающей точкой. Если использовать Xilinx IP cores, то фильтры на вход принимают числа с фиксированной точкой. Все остальные операции можно производить в формате с фиксированной точкой. Таким образом максимальная тоность вычислений будет в том случае, если в определенных местах переводить числа fixed_point -> floating_point и обратно? Собственно основной вопрос вот в чем. Можно ли найти хороший вариант по вычислительной_сложности/точности без построения моделей в Matlab (при условии что алгоритм не сложный, т.е. посчитать "на бумажке")? Что самое интересное, в интернете крайне мало информации по этой теме. Быть может кто встречал книжку, где описаны расчеты точности при таких вычислениях.
  4. Да, действительно метод iosfik'a интересен, надо будет попробовать. Но вот вашу мысль, если честно, не уловил. Вроде бы пересечения клоковых доменов не наблюдается ( если говорить о сигналах clk_5MHz и clk_250MHz - они генерируются из 200MHz system clock через MMCM). Но в любом случае, как можно обойтись без clk_5MHz, если это, грубо говоря, управляющий сигнал и по его фронту начинается отсчет. Про разрядность счетчика тоже вопрос. Можно раскрыть подробнее, что вы имели в виду)
  5. Спасибо, на самом деле первая мысль была примерно такая же - автомат плюс счетчик. Первоначально было сделано так: автомат синхронный и меняет свое состояние по фронту clk_250Mhz, после обнаружения того, что clk_5MHz = 1, он переходит в следующее состояние и начинает считать счетчик до N, после этого логика ловит число N и сбрасывает счетчик и сигнал Y. Просто мне кажется что метод немного "костыльный" и можно сделать намного проще. Или нет?
  6. По фронту clk_5Mhz начинается отсчет времени. Т.е. он инициирует начало отсчета. Например, нам нужно отсчитать 20 ns (с момента положительного фронта clk_5Mhz), а это 5 периодов сигнала clk_250Mhz.
  7. Добрый день! Появился следующий вопрос, интересны ваши идеи. Есть 2 тактовых сигнала, полученных из одного источника - clk_250MHz и clk_5Mhz - они синхронизированы. Как получить сигнал Y следующего вида: по фронту clk_5MHz сигнал Y переходит в 1, затем находится в этом состоянии, скажем, 5 периодов сигнала clk_250MHz, потом сбрасывается в 0 и т. д.
  8. Добрый день! Появился следующий вопрос, интересны ваши идеи. Есть 2 тактовых сигнала, полученных из одного источника - clk_250MHz и clk_5Mhz - они синхронизированы. Как получить сигнал Y следующего вида: по фронту clk_5MHz сигнал Y переходит в 1, затем находится в этом состоянии, скажем, 5 периодов сигнала clk_250MHz, потом сбрасывается в 0 и т. д.
×
×
  • Создать...