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

aabmail

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Местный
    Местный
  • День рождения 30.04.1979

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

2 446 просмотров профиля
  1. Мне надо на в этой же операционной системе держать старые версии 2018, 2017, 2016 для совместимости с существующими проектами. К сожалениею, на убунту 20.04 они не работают.
  2. У меня на Ubuntu 18 часто эта версия Vivado часто зависает. К сожалению. Появляется какое-нибудь окошко, например "Upgrade IP complete", где кнопочку Ок нажать нельзя. Приходится убивать приложение через system monitor. 2018.1 не зависала.
  3. Да. Адреса памяти, по которым будут поступать данные, определяется программистами на стороне PS. По поводу tready. Как я понимаю, у вас сравнительно небольшой поток данных. Вы можете между источником данных и axi_dma поставить буфер fifo (кажется axi_stream_data_fifo он называется), выбрать подходящий размер (допустим, 2 килобайта). Если fifo не переполняется, то он всегда будет готов принимать данные, и гркбо говоря вам не надо проверять его готовность. Когда пишете, поднимаете tvalid. Не пишете - опускаете. В буфер будут записано то, что находится на линии данных к те такты, когда tvalid=1. Передача через DMA происходит порциями. Вы со своим программистом должны договориться о размере порции. Передача порции инициируется в PS. Там же при старте указывается объем данных, которые будут передаваться. Потом вы передаете данные. В конце вместе с последним передаваемым слвоом надо выставить tlast. Это фактически команда на закрытие передачи. Если не поднять tlast, будет косяк. Пропадет часть данных, ну или еще что-то...
  4. Возможна при использовании axi_dma. При данной конфигурации axi_dma имеет на входе AXI4stream slave, на выходе AXI4MM master. Выходной интерфейс источника данных должен быть AXI4stream master.
  5. А вот хотелось бы все-таки узнать, если ли возможность изнутри прошивки узнать part-номер ПЛИС, на котором данная прошивка крутится. Кто-нибудь знает?
  6. Коллеги, Вопрос к тем, кто перешел на 2016.4.2. Появились ли там новые баги? Что стабильнее: 2016.2, 2016.3 или 2016.4.2 ?
  7. Если важно не потерять ни одного пакета, нужно проверить вашу систему связи на более низком аппаратном уровне. Для этого используются измерители BER. Например http://metrotek.spb.ru/en/b3et.html У меня было такое, что терялись пакеты по неизвестной причине, правда на 10G. Решение оказалось до безобразия простым - перезагрузить Windows. Через некоторое время после перезагрузки компьютера пакеты вновь начинали теряться.
  8. Номер старшего разряда - это округленный вниз логарифм по основанию 2. Iosifk, Спасибо. В принципе если делать вручную, то это так наверное и надо (коллеги то же самое предложили). Все же пока думаю над более простым решением.
  9. Да возможно, только это займет 48 клоков. Я где-то раньше видел алгоритм, как это сделать быстрее и более оптимальным способом (Xilinx Fixed2Float это делает за 7 клоков).
  10. Я имею ввиду номер старшего значащего разряда. Извините за неполную формулировку Пришла в голову мысль взять XilinxIPCore fixed to float.
  11. Здравствуйте, уважаемые форумчане! Нужно сделать модуль, который имеет на входе беззнаковый std_logic_vector(47 downto 0), на выходе - номер старшего разряда. Варианты, которые уже пришли в голову, но не нравятся: 1. Комбинаторно перебрать все 48 бит (т.е. if, elsif, elsif, ...) 48 раз. Плохой вариант с точки зрения тайминга. 2. Последовательно на 48 клоках перебрать все 48 бит () 48 раз. Хороший вариант с точки зрения тайминга, но слишком большой latency. 3. Разбить 48 битное слово пополам, определить, какая половина целиком равна нулю, и для другой половины рекурсивно применить этот же метод. Когда рекурсия дойдет до 3-битной шины, перебрать через elsif. Слишком замудрённо. 4. ... Помогите плз с этой задачей. Заранее благодарен.
  12. На эти грабли уже наступал. Во всех Xilinx IP-cores, включенных в дочерние проекты VIVADO (т.е. в user-cores), у меня выставлено Global synthesis. Спасибо. Констрейны заданы. Откуда эта ошибка ошибка выскакивает, постепенно проясняется. Отключил свою user-кору от AXI-interconnect, и ошибка пропала. Но другая беда - почему-то незначительно (на 20%) уменьшилась частота UART, в результате чего в терминале вместо текста - абра-кадабра. Кроме это, перестал работать XMD. Как впрочем, наверное, и все остальное.
×
×
  • Создать...