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

1891ВМ12Я

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о 1891ВМ12Я

  • Звание
    фанат Linux'а
    Профессионал

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

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

16 304 просмотра профиля
  1. Пройдет буквально 2-3 года, и Ваши схемы будут настолько сложны, что вопрос, почему даже для тех сравнительно простых схем вот уже 40 лет назад был разработан первый HDL язык... Единственное место где графическое описание имеет хоть какой то смысл, это block design для проектов ПЛИС, но и то - только на самом верхнем уровне, где используется автоматизация подключений шин и их верификация.
  2. Не сочтите за глупость, но... а маркировка на чипах одинаковая? Понимаю что такое редко бывает, но всё же. Сколько вообще чипов у каждой ПЛИС? Совет перепаять всё же очень очень хороший. Рентгеном контролили шарики?
  3. Я бы начинал с изучения HDL языка, например http://www.asic-world.com/verilog/veritut.html Если цель именно процессор, конвейер, кэши и так далее - сначала потребуется освоить HDL язык на достаточном уровне, и тогда работа над процессором пойдет уже мягче и успешнее.
  4. Некий промежуточный модуль, у которого две и более пары SDA/SCL, и вручную явно управлять этими значениями, как одна линия влияет на другую. Еще вот можно встретить что SDA линию разбивают на in/out и на третий сигнал enable, то есть внешний буфер. С целью отладки и для гибкости. Пример нештатный ситуаций, например внезапный обрыв пакета, внезапный repeated start, неверный уход в состояние sda=1 scl=1 не похожее на stop. Как пример.
  5. На первой картинке в этой теме пример шины cq и там поднят tvalid, и данные меняются как раз после опускания tready, и висят в таком состоянии пока не получится следующий tready. Какие правила это нарушило? Добавлено: да, заметил на скриншоте, меняются данные дальше, не висят как должны.
  6. Посмотрел код, поверхностно. Вижу что стандартные блоки BRAM не применяются, просто как массивы регистров, хотя я вериложник и VHDL не сильно понимаю, type mem_array is array - вот это и есть массив памяти? Есть ли возможность нарисовать на бумаге структуру этой разработки и сфотографировать в эту тему (обычно просто на бумаге рисовать удобно и легко фотографировать). Я бы делал 1 центральную часть, и две боковые - одна на стороне записи, вторая чтение. И так, мне видится, пусть было бы не круто как у оригинальных FIFO, с огромным latency, но имея центральную часть на частоте одной из двух частей, было бы сравнительно просто. Склоняюсь к частоте именно со стороне записи, потому что если чтение не получит данные это не беда, а если захлебнется сторона записи - хуже. Я бы нарисовал реально на бумаге структуру, может кто то увидит как всё взаимосвязано и поможет.
  7. Раз уж тема всплыла, я в таких ситуациях очень часто просто делаю комментарии специальные, как был совет выше, и травлю код в питон-скрипт, он меня и разрядности извлечет, и все строки со спец комментом и так далее. Не стесняюсь чуть подзамарать код спец-комментариями ради скриптования :)
  8. Если не секрет, а разве PULLNONE не есть значение по дефолту? Всегда полагал неиспользуемые как z-state.
  9. Тестбенч он как программа, я бы написал свою function swap_endian. Я когда то путал значение термина big/l-endian ведь тут же речь про порядок байтов, а не направление хода битов? Байты переставлять, а не зеркалирование битов? Или я ошибаюсь.
  10. Как невозможно? Давайте делать, попробую подсказать. Надо поставить что то посерединке. Так то если цеплять напрямую, тогда конечно, не увидеть что же задрайвило линию в текущее состояние. Ну и в тестбенче я бы помучил модуль какими то нештатными ситуациями и реакцией на них - сразу вылезет тонна.
  11. Уточните пожалуйста, это самодельный FIFO? Дело в том, что я быть может ошибочно, применяю штатные FIFO ради устранения необходимости писать свои правила XDC. Или у AXI FIFO из стандартного каталога какие то иные условия? Всё же, если речь про самодельный блок, это хотелось бы особо отметить.
  12. Вы правы. Мне удалось найти причину проблем, я отложил это на пол года потому что были более срочные задачи. И вот я, плотно сел за проблему, и нашел причину. Это была неправильная с моей стороны работа в логике приема пакетов, а точнее детектирования прихода нового пакета, и неверный способ throttling-а принимаемых пакетов. В итоге я просто пропускал пакеты, когда они были склеенные, то есть когда изредка прилетало два пакета строго один за другим. Это работало в 99.9% случаев и казалось существующая логика не содержит изъянов. Неверно было понято назначение и принцип работы с сигналом tready, который я бы назвал t_ack.
  13. Какая версия Vivado? Пришлите zip/tar архив с тестовым проектом, в котором наблюдается проблема. Я обычно в таких случаях делаю отдельный проект, чтобы изучить блок. Скажу что симуляция там работает достаточно хорошо, чтобы сожрать в симуляторе поток от JESD из файла, сформированного вообще от передатчика альтеры других ПЛИС
  14. Снова потребовалось деление на два xpr+xdc, чтобы ничего вручную не менять (на двухсотый раз может возникнуть ошибка). Оказывается, надежное решение было рядом. Project Settings -> General -> Verilog Options и плюсиком добавить желаемый define с пустым полем value. Таким образом, оно реально понимает это как глобальный define и auto-disable уже не выкидывает файлы и под-модули. Надеюсь кому то пригодится это маленькое открытие. То есть, не synthesys options, а немного в другом месте.
  15. Ох, я давно потерял все доступы, и это пока никак не мешает. Забавно, особенно это. На самом деле если полностью скачать инсталлятор, и не удалять файлы после распаковки, то сайт не требуется для доустановки компонентов. Более того, найдя в каталогах vivado в каком то файле пути, откуда оно хочет файлы для установки, я спустя пару лет вывалил туда файлы и оно снова увидело их для установки без интернета. Проблема конечно когда нужен доступ к документации. Если делиться опытом, то обычно пытаюсь найти на сторонних левых сайтах, обычно документация лежит не только у xilinx. Какой документ нужен автору темы? Установка чего? Vivado/Vitis? У меня интернет открыт и оно ничего все равно не пытается. Нужен полный инсталлятор, где 100% всего есть, всех компонентов.
×
×
  • Создать...