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

    

NikSave

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о NikSave

  • Звание
    Частый гость
  1. Цитата(Tausinov @ Feb 16 2018, 19:34) Нет, тут много таких. Некоторые сразу и довольно настойчиво начинают агитировать за Verilog. VHDL-2008 позволяет не объявлять. Можно делать так: Код     ....      U_1 : entity library_name.entity_name(structure_name)      .... Ну и еще некоторые упрощения, свойственные Verilog'у. Полный список можно легко найти в гугле. А так, VHDL несколько более избыточен, но это плата в том числе за то, что основные ошибки обнаруживаются еще на этапе компиляции. В общем полезнее знать оба, а чем уже пользоваться на постоянной основе - решать вам или подстраиваться под требования компании. Вот за это реальное спасибо. А то как-то утомляет лишняя писанина.
  2. Цитата(Flip-fl0p @ Feb 15 2018, 21:57) А Вашего сигнала в принципе может и не быть. Синтезатор может спокойно взять и "оптимизировать" их. Ну или поменяет полярность сигнала Самый надежный способ - выводить их на top уровень. Ну, во-первых, сигнал есть - это точно. Выводить их все на топ уровень, конечно, можно но это довольно гемморойно: обявить его в компоненте, объявить в топ-модуле, ну и в port map. И вообще мне одному кажется что vhdl какой-то нахлобученный и избыточный или не только мне?. Вот, например, зачем объявлять компонент в топ модуле?
  3. Всем добрый день. К логическому анализатору (находится в топе) подключил сигнал находящийся в вложенном компоненте (точнее там два уровня вложения). Проект откомпилировался, но сигнала в анализаторе нет. Кто-нибудь точно знает поддерживается ли в vivado 2016.4 иерархические имена сигналов? Разумеется файлу поставил поддержку vhdl2008. Заранее спасибо за ответы.
  4. Всем добрый день. Собственно довольное простой вопрос. Есть АЦП lvds ddr подключенная к ultrascale. Входные данные необходимо подровнять на iodelay. Вопрос: как в проекте установить iodelay? Сначала буфер ibufds, а потом элемент iodelay. Или сначала элементы iodelay по каждой ножке (p_data, n_data), а потом буфер ibufds? Всем спасибо за ответы.
  5. Цитата(Stewart Little @ Oct 24 2016, 19:14) Увы, нет. Пока не разбирался. Вот эти документы Вы смотрели: AN_376 - Xilinx FPGA FIFO master Programming Guide AN_377 - Altera FPGA FIFO master Programming Guide AN_379 - D3XX Programmers Guide Смотрел. Кстати по этим докам если вчитаться более менее понятно (какие функции когда использовать). Но непонятно где брать dll для с# или что то вроде этого. Я больше опирался на аналогию с D2XX.
  6. Цитата(Stewart Little @ Oct 24 2016, 17:21) Идея нехороша. Физический уровень USB все равно придется снаружи лепить. Так что по кол-ву корпусов не выиграете, а по площади еще и проиграете. По поводу USB 3.0 - так у FTDI уже есть ссоотв. мост USB- FIFO. Попутный вопрос. С этим мостом Вы разбирались? В частности интересует написание ПО работы с драйвером. На сайте есть примеры работы с USB3.0 но они написаны на с++ в среде visual studio 13. Разобраться как все устроено я не смог. Интересует хотя бы простой пример на C#.
  7. Цитата(Evg @ Sep 5 2015, 12:08) Насколько я понимаю, разброс значений задержки в полосе пропускания составляет от значения 1 нс. Возможно, была использована плохая оконная функция. Наверное, не помешает дополнить нулями ИХ фильтров при расчете преобразования Фурье (я этого не делал). Если интересно, скрипт для матлаба (нужно переименовать в .m) + картинка с задержкой прилагается. [attachment=95123:test4.txt] [attachment=95122:delays.png] Спасибо.
  8. Цитата(Evg @ Sep 4 2015, 18:14) Идея такая. Задержка по времени приводит к появлению в ФЧХ сдвига фазы, линейно зависящего от частоты. Если мы знаем зависимость сдвига фазы от частоты, мы можем определить задержку по времени. Поэтому, вначале определяем разность фаз фурье-спектров импульсных характеристик фильтров a и b. Получая, таким образом, зависимость сдвига фаз от частоты. Потом по сдвигу фаз на одной из частот определяем задержку по времени. Собственно, это попытка ответить на конкретный вопрос, т.е., здесь нет претензий на универсальность метода для всех случаев жизни. Пардон, что не сделал описание сразу. Мне показалось, Вы знаете ответ. Теперь понятно. Спасибо. Напоследок: а вообще эта задержка зависит от промежуточной частоты оцифрованного сигнала? Например оцифровываю сигнал на промежуточной частоте 1 МГц или 10 МГц при одной и тойже частоте дискретизации? Тему можно практически закрывать.
  9. Цитата(Evg @ Sep 4 2015, 13:13) На 1 нс. КодTs = 10; % ns a = [5 -8 -3 12 2 -14 1 15 -8 -18 19 25 -28 -28 39 11 -83 21 225 1 -553 -288 1432 3284 3284 1432 -288 -553 1 225 21 -83 11 39 -28 -28 25 19 -18 -8 15 1 -14 2 12 -3 -8 5]; b = [6 -7 -4 11 4 -14 -2 15 -5 -19 15 28 -23 -33 34 20 -79 -1 216 50 -512 -384 1218 3157 3390 1648 -176 -585 -53 230 45 -85 1 43 -23 -33 21 23 -16 -11 14 3 -14 -1 12 -1 -8 3]; angles = angle(fft(a).*conj(fft(b))); tau = length(a) * Ts * angles(2) / (2*pi) Результат: Кодtau =     0.9982 Толком ничего не понял. Но все равно спасибо. Нужно сверить с измерением "на глаз". Если не напрягает - пару слов в качестве комментария к формуле?
  10. Цитата(Serg76 @ Sep 3 2015, 19:22) Если уже есть посчитанный КИХ фильтр, пересчитайте его ИХ через Sinc на требуемые фазы (смещения) А по-подробней? Например: Есть фильтр с характеристикой: [5 -8 -3 12 2 -14 1 15 -8 -18 19 25 -28 -28 39 11 -83 21 225 1 -553 -288 1432 3284 3284 1432 -288 -553 1 225 21 -83 11 39 -28 -28 25 19 -18 -8 15 1 -14 2 12 -3 -8 5] Я сдвинул ее и получил следующие коэфф.: [6 -7 -4 11 4 -14 -2 15 -5 -19 15 28 -23 -33 34 20 -79 -1 216 50 -512 -384 1218 3157 3390 1648 -176 -585 -53 230 45 -85 1 43 -23 -33 21 23 -16 -11 14 3 -14 -1 12 -1 -8 3]. Вопрос: на сколько я задержал сигнал если частота дискретизации 100 МГц?
  11. Цитата(ViKo @ Sep 3 2015, 11:16) Проще отмерить кусок коаксиального кабеля... А если как раз и нужно компенсировать задержку в кабеле? Вставить еще один? А если кабель получается километр?
  12. Цитата(TSerg @ Sep 3 2015, 07:50) >(сколько угодно малое)? Полагаю, что в цифре - никак, либо вернуться в аналог. Если на конечное, то уже говорили - передискретизация. Ну конечно не сколь угодно малое. Зависит от того каким выбрать шаг смещения характеристики. Я уже писал что задержку обеспечиваю впольть до пикосукунд (все это уже работает), но это измерение глазом по осциллографу. Мне нужно подогнать теорию и расчитать получившуюся задержку на бумаге.
  13. Цитата(Evg @ Sep 2 2015, 22:44) Давайте мысленно заменим КИХ фильтр на аналоговый эквивалент, и будем обсуждать отклик цепочки ЦАП + аналоговый фильтр на единичный цифровой импульс. Тогда мы сможем описать задержку фильтра вещественным числом. Если КИХ фильтр содержит n коэффициентов a_1, ... a_n, то отклик цепочки будет описываться функцией h(t) = sum{ a_i * sinc(t - i*Ts) } для i от 1 до n, где Ts -- период частоты дискретизации, а sinc(x) = sin(pi*x)/(pi*x). Наглядный пример -- если взять КИХ фильтр с коэффициентами a_i = [0, 0, 0, 0.7, 0.7], то максимум функции отклика h(t) придется на t = 3.5*Ts (сплошная линия на рис. 1). Т.е., вполне корректно говорить про задержку, не кратную периоду частоты дискретизации. Рис. 1. Отклик h(t) (сплошная линия) и отдельные слагаемые в сумме (штриховые линии). Совершенно верно. Я имел ввиду задержка на бональных регистрах. Может стоило поставить вопрос иначе: как задержать оцифрованный сигнал на произвольное время (сколько угодно малое)?
  14. Цитата(petrov @ Sep 2 2015, 12:48) Непонятно при чём здесь фильтры, например чем вас не устраивает обычная задержка на несколько отсчётов в одной из ветвей? задержка на один или несколько отсчетов это фиксированное время кратное периоду частоты дискретизации - слишком грубо. Перерасчет характеристики фильтра дает сколько угодно мелкую временную дискрету (совмещение с точностью до фазы). Я так понимаю либо я вопрос сформулировал криво, либо ответить просто некому. Придется, видимо, разбираться самому.
  15. Цитата(Alex_vod @ Sep 2 2015, 09:40) Как посчитать задержку вносимую фильтром Реакция Ких фильтра 1-2 такта частоты дискретизации при изменении положения центрального отвода у вас измениться характеристики фильтра, полоса пропускания и т д, так делать нельзя. Так делать можно. Два сигнала оцифровываются, пропускаются через фильтры с целью выравнивания фаз и подаются на цапы. Сейчас определение сдвига фаз осуществляется на глаз по осциллографу. Хотелось бы математически. Ну то есть я сдвинул характеристику фильтра на столько то- а это соответствует столько то наносекундам.