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

Flip-fl0p

Свой
  • Постов

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

  • Посещение

Репутация

4 Обычный

Информация о Flip-fl0p

  • Звание
    «Я знаю, что я ничего не знаю»(С)
    Профессионал
  • День рождения 03.01.1990

Старые поля

  • skype
    Array
  • Vkontakte
    Array

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Retained

  • Звание
    Array

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

10 722 просмотра профиля
  1. К сожалению констрейном клок относительно данных почти не двигается. Указывая Ts и Th - вы просто контролируете в отчетах о слаках будет ли на стороне приемника правильное положение фронта клока, относительно данных. Синтезатор даже может задействовать всякие задержки внутри выходных буферов(если таковы имеются), чтобы саков не было. Но это не панацея. Поэтому часто выходной клок формируется отдельной pll, где вы уже двигаете этот клок так, как вам надо. Ну или банально инвертируете клок. На том-же самом DDR регистре.
  2. Эта карта адресов - для всего того, что висит на AXI4 шине. А процессорный уарт управляется по-другому.
  3. Тут проблема в том, что камера выдает данные медленнее чем идет один период развертки экрана. Даже при разрешении экрана 640*480. Без накопления кадра в кадровом буфере нормально выдать картинку мне кажется нереальным. Более того, даже одного буфера может быть мало для нормального вывода. Минимум 2 буфера. А в идеале полноценная тройная буфферизация. Я когда игрался с этой камерой именно так и выводил изображение. Но само по себе изображение шумное. По-хорошему надо ещё и обработку изображения делать. Ну или я недостаточно изучил даташит на камеру и не совсем корректно настроил её.
  4. Посчитайте скорость развертки экрана и скорость поступления данных от камеры.
  5. Без кадрового буфера работать не будет. А в идеале тройная буфферизация.
  6. У Хилых не только крутой логический анализатор (ILA), который можно по-разному конфигурировать, и при должной сноровке автоматизировать скриптом. Местами может быть неудобно. Но на самом деле я переучился с signal_tap и вполне доволен жизнь. Теперь signal_tap кажется неудобным. У Хилых очень удобные виртуальные вводы\выводы (VIO) которые позволяют вручную вводить\выводить значения внутри проекта. При должном желании на основе этого можно даже стенды для дебага изделий делать, в случае если нет времени на разработку полноценных рабочих мест. Так-же есть JTAG to AXI, который позволяет через JTAG считывать память\записывать память через AXI интерфейс, что очень круто помогает в разработке. И самое главное дофига всего можно написать на TCL. А сколько возможностей есть, если уметь пользоваться инструментом... Один режим внесения инженерных изменений, когда вы в уже в размещенном проекте изменяете часть дизайна. В плане возможностей софта Xilinx впереди планеты всей.
  7. Накосячить не страшно, если FPGA недорогая. А если это какой-нибудь кристалл за несколько десятков вечнозеленых енотов, то накосячить страшно. Удивительно, что вместо того чтобы сделать правильно, человек применяет костыли, чтобы сделать неправильно. Тем более сделать правильно - работы на пару минут. Не вижу сложности в том, чтобы добавить констрейн на ножку.
  8. Возможно вы добавили PLL c кривыми настройками. Или клок с PLL не заходит на глобальное тактовое дерево. Создайте PLL через wizzard.
  9. Знаю про этот костыль. Однако есть нюанс. Он ищет все файлы .vhd В том числе и сгенерированные автоматом. Я не моду дать гарантии, что данная команда не сломает что-либо в авто-генерированном мусоре. А учитывая, что в Vivado и так полно всяких "фич", от которых проект может сломатья - то я не рискую так делать. Может и зря.
  10. Полностью поддерживаю. Еще у VHDL 2008 есть нюанс при работе с Vivado. Заключается в том, что там нет возможности каждый VHDL файл рассматривать как версию 2008. Это надо дополнительно руками указывать. Неудобно. А вообще все проблемы со списком чувствительности из-за непонимания, как он работает.
  11. Весь код неправильный. На ПЛИС так писать нельзя. За такой код бить по рукам нужно.
  12. Бездумное применение Variable - может сломать код. Обьявлять счетчик как Variable - полюбому проблема именно в этом.
  13. Ну так я понял. Только где здесь полу-асинхронный ? Тута обычная цепочка триггеров. 😁
×
×
  • Создать...