Jump to content

    

new123

Участник
  • Content Count

    398
  • Joined

  • Last visited

Community Reputation

0 Обычный

About new123

  • Rank
    Местный

Recent Profile Visitors

723 profile views
  1. Использовать VPN подключение, бесплатно правда сразу найти не получится. Еще вариант, попробовать браузер Tor
  2. Если подытожить, все норм заработало и при больших нагрузках
  3. если есть полная уверенность, что это делать квартусу не надо, то это надо прописать в sdc как set_false_path, только надо аккуратно с полным пониманием если речь про pll, которая на чипе, а не внешняя pll на плате, то в sdc тоже надо прописать derive_pll_clocks. Квартус тогда автоматом клоки подхватит и описывать их как create_clock не надо. все клоки, которые идут после pll лучше прописать как create_generated_clock -name .. -source ..
  4. по красному слаку правой кнопкой и Report Timing. Далее кнопка Report Timing и выведет все маршруты, которые не укладываются на этом клоке, опять же будут красным
  5. посмотрите на всякий случай документацию на create_clock если не указаны величины в -period, то это наносеки. 33.3 наносеки, это 30.03 мегагерц. это у вас синтезируемая частота? не от генератора? тогда надо create_generated_clock
  6. вот вам и ответ. Значит по этому клоку не успевает логика по какому то маршруту! там делайте подробный отчет и смотрите маршруты. Вот в продолжении второй учебник тогда http://caxapa.ru/thumbs/442268/TimeQuest_for_dummies.pdf счетчиков нет многобитных случаем?
  7. скорее всего это не нормально. У меня тяжелые проекты для него. Время всегда практически константа. А прыжки во времени при записи в память, я уверен, хоть у меня опыт и не богат, это проблема проекта. Тем более время Фиттера вам об этом подсказывает, что ему иногда тяжело. Там у вас точно в Time Analizer нет отрицательного значения поля SLACK? красным еще выделяет. Если нет, то когда все полностью опишите в sdc, могут появиться и тогда станет ясно это сейчас популярная тема на форуме, часто возникает. Моя настольная книга по этой теме https://www.kit-e.ru/articles/plis/2010_9_51.php
  8. Сильно зависит от "сложности кода". Бывает, что коряво придумаешь алгоритм обработки данных, что Фиттер не может нормально разложить. В итоге выполняется 7 часов. Хотя при нормально решении 45 минут. Если все нормально написано, то борьба со скоростью компиляции у меня такая: 1) Создание партишенов и их инкрементная компиляция. Это сильно сокращает время, когда нужно перекомпилить только некоторые модули. 2) Качественно все описано в sdc 3) Выполнить рекомендации по найстройкам в визарте Tools/Advisors/Compilation Time Advisor 4) Подрубание мощностей по сетке. Чтобы ядер 20 компилило. Немного сокращает время.
  9. в принципе я понял что память внутренняя. Вообще корки существую к примеру и на ddr, то бишь внешнюю память смысл в чем. У памяти есть свои задержки. Если это память внешняя, не альтеровская, а на плате находится отдельной микрухой, то квартус о ней ничего не знает, и ее параметры нужно вносить в sdc. Если вы используете альтеровскую ip core для использования памяти на чипе, тогда квартус все о ней знает и сам высчитывает пути и задержки.
  10. кстати, а что за память? не внешняя случаем? тогда на нее все тайминги в sdc загонять надо. или та которая на чипе
  11. как минимум, там должны были быть Unconstrained Clock, потому что вы их не описали в sdc. Хотя могу ошибаться. А неописанные клоки это очень важно. Fitter тогда раскладывает на свое усмотрение и потом оно, если повезет, заработает, но чаще будут сбои.
  12. у меня так при записи в pcie бывает, когда какой то констрейн не опишу или slack в отчетах фигурирует. Постоянно 1 бит портится. Уже приучил себя, что если вдруг проблема видится железячной и нет слаков в Time Analyzer, полюбому что то в sdc не занес клоки тоже важно описать. в Time Analyzer красным не горит Unconstrained Path? если речь про квартус
  13. реализовал в первом приближении. Сразу сделал огроменный буфер без всяких промежуточных, шириной на 256 бит. По записи в него запас 150+ пикосек По чтении из него в логику 250Mhz запас теперь под аж целую наносеку. Спасибо большое за совет. как оказалось, не лень. Я только за качественные решения, жаль только опыта нет самому их придумывать
  14. этот вариант прикольный, я только сейчас понял о чем вы написали
  15. Решил сравнить, как он расположил дизайн с одним маленьким FIFO без слаков и как расположил дизайн с одним маленьким + одним большим fifo. 1) Рис 1 Общее расположение партишенов на чипе. Голубой - весь работает на 250, принимает данные. Красный маленький - мой instance с маленьким fifo. 2) Рис 2 Обычный маршрут из маленького FIFO в вектор 256бит без слака. 14 слоев логики. 3) Рис 3. То же самое расположение с большим и малым fifo. Красный мой партишен уже жирный. 4) Рис 4. Обычный маршрут из малого fifo в вектор 256бит. 29(!!!!) слоев логики. Такое ощущение, что большой fifo облепил этот вектор-приемник вокруг и не дает проложить быстрые маршруты из малого fifo.