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

new123

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

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

  • Посещение

Весь контент new123


  1. Интересный метод сравнения результата ) всегда думал, что результаты от компиляции к компиляции разные. На больших проектах
  2. Может у вас интел не открывается от санкций, я уже думал, давно решился вопрос, гуглится вроде на раз два https://www.intel.com/content/www/us/en/support/programmable/articles/000084326.html
  3. за ссыль спасибо, искал этот текст. Насколько помню, мне корка не давала ставить background
  4. а я уже на поколение выше перешел ) там такого нет. Все руками надо делать, слава Богу, оставили avalon для обращения к регистрам фиг знает, голову уже всю сломал. И из за таких скоростей, не могу пока выйти на проблему и записать хоть что нить по signaltap. я конечно нашел пару тройку неверных констрейнов, они немного подправили в других багах. Но вот основной ярко выраженный, нет.
  5. У меня сейчас в памяти всплывает проштудированный мануал, вроде как калибровка трансиверов происходит только при power-up. Резеты не выручат. При этом, если затактировать трансиверы после power-up, то нужно обязательно сделать user калибровку заново. Вот сижу ищу этот мануал. у меня очень давно был уже подход по этому пути, но как то не глубоко. Видать нужно сделать второй заход
  6. вот лично я ничего не делаю. Но теперь у меня возникла мысль, что идет самоподстройка (они это называют калибровкой) трансиверов при включении. Кстати да, глюки у меня именно с кодом, которые завязан на работу с интерфейсами с трансиверами
  7. Форумчане привет. Заранее извините за глупый вопрос, пытаюсь уже закинуть во вселенную вопрос, может когда ответ придет ) Имею карту с Altera. Заводскую. То есть к железу вопросов не должно быть. Сначала делаю такой порядок прошивки: 1) Сбрасываю полностью питание 2) Прошиваю через jtag 3) Делаю резет всего. 4) Карта стартует, подымаются все нужные интерфейсы, все функционирует. Но есть некая нестабильность. То там чего то глюканет, то сям. Ну на вид очевидные слаки, которые я не могу выловить. 5) Прошиваю сразу после этого без сброса питания 6) Резетю 7) Карта стартует, подымаются все нужные интерфейсы, все функционирует. Частота этих же глюков падает в разы. Ну примерно если до это было каждые 30мин, то после такой процедуры раз в 4 часа. Может будут идеи, как бы выйти на тропу поиска такой нестабильности с такой спецификой? Идеи заканчиваются ) Тут у меня принято писать, что я уже сделал, но сделал очень многое, в основном всякие констрейны. Но как такового решения нет, все как то сумбурно. Заранее спасибо.
  8. Я делал так: искал в таобао. Устанавливал их мессенджер и общался с продавцами. Конечно посредников очень много и цены разнятся. Альтера была на любой вкус, оригинал, неоригинал, новые, б/у. Полтора года назад
  9. если на рутрекере версия кажется мала, то любая версия делается практически по аналогии, нужно только хорошо пользоваться hex редактором.
  10. если вы вдруг делаете из под своего драйвера в linux kernel, то там готовая функция есть crc16. Но это на всякий случай
  11. Исполнение вашего crc16 usb в двух видах: табличное и прямое вычисление https://programmersought.com/article/84488802461/ ps. Если вы чисто для само проверки самого себя, то лучше конечно заюзать online вычислялки. Но если вам на лету надо, то да, лучше си
  12. если бы это был verilog, я вроде написал алгоритм действий. Массив то у вас наверняка не сразу формируется, а по мере поступления данных. Поэтому обрабатывать не массив, а поэтапно входящие данные
  13. Типовая задачка. 1) Генерим в любом онлайн генераторе CRC (если он типовой) код на нужную ширину данных 2) При поступлении очередных данных пропускаем через эту функцию/модуль 3) Если концовка всегда плавающая (не равна ширине данных), то также придется сгенерировать код crc на другую/ие ширину данных и обрабатывать это У вас в коде вроде как не стандартный CRC16 полином, надо поковыряться поискать, что за полином UPD1 Нашел, у вас полином CRC16 для USB2.0 Юзайте такой онлайн генератор кода http://outputlogic.com/ UPD2 Я не силен в vhdl, но для verilog генерит нормальную функцию, где на вход подается CRC от предыдущего расчета. А VHDL не пойму, делает ли такое
  14. в интелевском dma движке read и valid это ноги от памяти на чипе (On Chip Memory с Avalon-MM интерфейсом). В эту память складируются пакеты, дальше движок их отправляет по команде.
  15. тест у меня был простой у меня. Я со стороны пк (наверное в драйвере) в цикле писал в bar простой счетчик. А в signaltap его ловил и по счетчику тактов считал изменение этого счетчика. На выхах гляну ради интереса еще раз тест это у вас на своем DMA? на альтервоском у меня между read и valid задержек нет. Правда там память стоит двухпортовая. По одному порту только читаю, по другому только пишу и адреса при одновременном обращении никогда не пересекаются. Может у вас просто арбитр авалона так притормаживает?
  16. А вам на каких либо других ядрах удавалось это делать быстро? Я очень давно тесты проводил, писал 4 байта из ПК в pcie(bar). До Плис доходило очень быстро. В среднем до 30нс на транзакцию. А вот в обратную сторону, вычитавя из памяти в ПК очень долго. RobFPGA объяснял мне это из за особенностей pcie, что читать всегда долго Кстати на ядрах ST нет готовых dma движков. Вдруг он нужен будет
  17. понятно, спасибо. Я до таких штук еще не дорос. У меня по старинке assign и always
  18. а чем грозит такой подход? у меня как раз в одном месте такое. Поля типа logic. Какие то поля делаю always (clk) .field <= value_1, а какие то поля assign .field = value_2
  19. вопрос по теме, если я сделаю вот так, это будет одно и то же? cnt <= WIDTH'(cnt - 1); ругаться перестает, но досконально точно не знаю, насколько это правильно
  20. <делать каждый такт или при изменении резета с 1 на 0> { Если <резет == 0> (приставка _n означает, что сигнал скорее low-level, то есть активный при нуле) обнулить счетчик иначе декрементировать счетчик }
  21. Кажется я стал понимать. Это наверное потому, что я сделал output .. d assign d = data Да еще и все это дело (весь модуль) сделал партишенем
  22. нашел время проверить. При такой конструкции тоже соединяет каждый со всеми
×
×
  • Создать...