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

bogaev_roman

Свой
  • Постов

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

  • Посещение

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


  1. Посмотрите как квартус развел клоки - может он их региональными сделал или периферийными (скрипты некоторых корок автоматом прописывают эти ограничения).
  2. to Sprite Посмотрел я на времянку и мозг отказал минут на 5 - как машина может находиться одновременно в нескольких состояниях? Там вообще мусор должен быть на моделировании - начальное состояние не определено - либо сброс добавьте, либо начальное условие при инициализации. Или это картинка не моделирования, а сигнал тап?
  3. Тогда я невнимательно прочитал и неправильно Вас понял.
  4. Это так, собственно высокоскоростные интерфейсы, скажем DDR3, и работают аналогично. Я пытался донести мысль о том, что в случае ручного выставления значений на программируемых задержках в корне неверно игнорировать ограничения на входные интерфейсы и за основу брать цифры на максимальное быстродействие из документации. Естественно, что в случае периодической подстройки задержек весь разброс нивелируется. И, на сколько я помню, в кинтекс не во всех лапах есть эти задержки, но тут могу ошибаться.
  5. На самом деле нет. Причина в технологическом разбросе и на временном анализе это учитывается (я умолчу пока про температуру и опорное напряжение). Если глубже копнуть литературу, то при рассчете setup/hold учитывается не просто время распространения сигнала от точки А до Б, а минимальное/максимальное время распространения. И разница эта тем больше, чем больше расстояние от А до Б. Да, для клоковых линий этот разброс меньше, чем для обычных сигнальных, но он есть. Можете сами посмотреть любой путь от триггера до триггера, желательно, чтобы они находились не рядом (разница будет видна лучше). Кроме того, если поменять временную модель на анализе (это температура и напряжение), то пути для рассчетов только setup (ну или hold) будут существенно отличаться. А теперь вопрос - какое значение программируемой задержки Вы будете выставлять, если абсолютные значения максимальной/минимальной задержки неизвестны, анализатор эти значения не выдаст, они же не заданы? ЗЫ.. Вообще говоря была тема несколько месяцев назад про задержку внутри FPGA, там я приводил цифры для arriaV не самой жирной. Смысл был примерно такой - сигнал проходит через всю FPGA, на входе/выходе регистр в io буфере, разброс абсолютных задержек - несколько нс в зависимости от типа модели.
  6. Т.е. временные ограничения на входные интерфейсы не нужны? Вопрос в лоб - время распространения сигнала от пина клока до тактового входа триггера в io-буфере фиксированное при рассчете setup/hold временного анализатора?
  7. В даташите (АЦП/ЦАП) указаны setup и холд на данные относительно клока - максимальное время распространения до фронта и минимальное время удержания после (своими словами). Это нестабильности и для правильного временного анализа их требуется прописать, если Вы используете ISE и UCF, то там set_input_delay аналогичен OFFSET IN, в вивадо визард автоматически создает ограничения на входные/выходные интерфейсы в .sdc формате согласно той временной диаграмме, которую Вы задаете. Да, а расстояние от пина клока (клокового буфера, выхода PLL или чего там еще) до тактового входа всех триггеров тоже фиксированное и одинаковое? А если производитель говорит, что skew по всей разрядности данных 1ns, а разработчик ПП еще накинет немного? А еще ради интереса посмотрите время распространения сигнала от пина до первого триггера в fast моделе, результат будет немного отличаться...
  8. Т.е. анализ идет только от триггера до триггера, если да, то охотно верю? Прикрутите set_input_delay минимальные, если данные идут вместе с клоком - там результаты другие будут, хотя 500МГц вытащить при свободой разводке может и удастся. ЗЫ. Вспомнил, в прошлом году тестовый проект собирал на кинтекс с 450МГц опорой и 4-разрядными данными в режиме DDR, с идеальными setup/hold растаскивалось с трудом. Но то DDR, так что в режиме SDR вообще должно работать без проблем на 500.
  9. Это как я понимаю 1 разряд, а если 12? А потом еще реальные цифры из даташита на setup/hold во временные ограничения добавить.
  10. Должен, но для правильной работы, помимо зажать tx_en в 1 и гнать данные, придется еще документацию почитать, посмотреть куда чего подключить, выбрать правильно источник внешнего тактового генератора и прописать временные ограничения на входы-выходы, потом пакет еще собирать. А для uart на lvds - пропустил через цепочку триггеров на повышенной частоте и все.
  11. Т.е. не потребуется дополнительной реализации MDC/MDIO интерфейса и установки качественного внешнего генератора (просто интересно - сам использовал марвеловский phy в режиме RGMII на гигабит и много времени потратил на режим инициализации, плюс генератор внешний пришлось менять)?
  12. Зачем передискретизация на 16, на 4 не хватит на такой низкой скорости? Там запас получается минимум в четверть чипа (8,33нс) на переходные процесссы и разбег частоты. to SergeyPro - Вам время распространения пакета критично?
  13. Ситуация следующая: при конфигурации ПЛИС некоторой прошивкой (ситуация регулярная, но наблюдается только с некоторыми прошивками) загрузка проходит нормально, устанавливается CONF_DONE, затем INIT_DONE, после чего происходит короткое падение питания ядра с 1.1 В до 0 В и ПЛИС уходит в перезапуск, питание восстанавливается. Эта ситуация происходит и при загрузке через JTAG и через EPCQ, наблюдается только на одной плате (их пара десятков) и только на одной ПЛИС (их на плате несколько и они одинаковые, установка другой ПЛИС на это место не помогла). Сам проект использует мало внутренней логики, но при этом задействует периферию полностью (все трансиверные каналы, 4 контроллера DDR3 и т.д.). Если есть какие-либо идеи - с радостью выслушаю.
  14. Если подходить к вопросу со всей серьезностью, то возникают вопросы: 1. А какой запас должен быть -1%,2%,5%? Компилятору без разницы - запас 10ps или 1нс, есть запас и хорошо. Чтобы получить больший запас шаманить потребуется. 2. Задрать частоту выше требуемой во временных ограничениях или надеяться на лучшую технологию? Ну с точки зрения анализа временных ограничений по setup будет хорошо все, а с hold будет только хуже - исскуственно уменьшится требуемое время удержания. Ждать, когда плата сама себя нагреет? Печку рядом поставить? Я когда перекладываю алгоритм на FPGA, считаю что при нормальном проектировании и выполненных параметрах у меня устройство гарантированно должно работать в заданных дипазонах, указанных в документации.
  15. Я этот вопрос оставлю руководству, если будет интересное что - отпишусь.
  16. Спасибо, сделаю. На них и требовалось выйти. Просто люди, которые занимались закупкой и контактами с нашей стороны, в данный момент не доступны, а вопрос довольно срочный. Этап испытаний завершен (все работает как часы во всем диапазоне и довольно длительное время), стоит вопрос о новой закупке. Пользовался только квартусом (тайминги там задавал для флекса естественно) и таблицей перераспределения пинов. Но в 5576ХС4 на питание ядра подается одно значение напряжения - 1.8 В (при том, что архитектура вроде как одинаковая), а на аналог - другое (2.5 В). Соответственно, сделан вывод о том, что техпроцесс другой и, в общем случае, карта задержек должна отличаться. Но в документации, которая у меня есть, ничего не сказано об использовании дополнительного софта для этого чипа. Если неправ - поправьте. Ну и я добра давать не буду, пока этот момент не прояснится, т.к. в случае чего мне придется все править.
  17. Ну как бы у меня один друг на Хьюавэй работает, второй раньше трудился на LG (в Москве) - про войну мне ничего не рассказывали, в основном про ЦОС и отработку алгоритмов. А собственно вопрос в чем - в отсутствии изделий отечественного производства на базе FPGA?
  18. Одну сферу применения громадную пропустили, товарищи - прототипирование. А инфу о том, кто и где использует прототипы для ASIC и не только Вам никто не выложит. И еще вопрос в связи со спецификой нашей страны - вот, например, МЦСТ делает продукцию какого назначения?
  19. Добрый вечер, уважаемые форумчане. На 5576ХС4 (стр 5. http://www.vzpp-s.ru/production/catalog.pdf) указано, что в качестве САПР можно использовать quartus. При этом питание ядра отличается от аналога альтеры. Насколько правильно использовать ограничения для альтеровского чипа и анализ таймингов, считая 5576ХС4 аналогом. Ситуация следующая - проект рабочий, сбоев нет, были многочисленные прогоны в термокамере, рабочая частота в чипе под 100МГц, но все временные ограничения прописаны под альтера и терзают смутные сомнения... Под другие Воронежские чипы вроде как есть свой STA, может кто в курсе с кем можно связаться по данному вопросу (лучше в личку)? С Уважением, Богаев Роман.
  20. Да не, для "розжига" можно намного актуальнее тему найти.
  21. Мне такое задание тоже давали на начальном этапе, чтобы мощность потребляемую посмотреть (как мне тогда казалось). А нас самом деле оказалось, что цель была разобраться в архитектуре конкретной ПЛИС и, каким образом эта мощность вообще рассчитывается и от чего зависит. Какие именно внутренние ресурсы?
  22. Возможно, я неправильно выразился - отсутствует структурная схема, конкретно проблемный кусок. с точки зрения реализации в итоговой RTL схеме может варьироваться. Обычная линия задержки может иметь несколько вариантов реализации, не зная реализацию, сложно чем-то помочь.
  23. Судя по описанию, это проблема не кривой разводки и решается она до парсера, на уровне описания алгоритма путем изменения логики и, как было выше описано, добавлением регистров. Вы можете попробовать все банки прибить гвоздями, но без четкого понимания того, каким образом Ваш алгоритм должен лечь на ПЛИС (архитектурно) это приведет только к ухудшения времянки и дополнительному времени разводки. А что если вся эта память управляется из одного места и имеет стыки с интерфейсами типа ethernet или DDR3,которые уже жестко сидят - куда ее прибивать? Нам ТС ничего не поведал об алгоритме.
  24. Это для выхода? Проанализируйте длину этих путей. Думаю, что тут без скриншота не обойтись.
  25. Для начала - возьмите один длинный путь от триггера до триггера и проанализируйте кол-во fan-out на выходном триггере этого пути, а также наиболее длинный путь до входного триггера, возможно у Вас дикое кол-во fan-out. Дублировать логику, можно для этих сигналов ограничить fan-out - тогда компилятор сам все продублирует.
×
×
  • Создать...