Jump to content

    

Koluchiy

Свой
  • Content Count

    1016
  • Joined

  • Last visited

Posts posted by Koluchiy


  1. 23 minutes ago, RobFPGA said:

    Приветствую!

    По изучайте  секцию Fitter/Resurce section/GXB report там вроде должны быть расписаны актуальные параметры для всех блоков  трансиверов.

    Удачи! Rob.

    Спасибо, то что надо.

  2. Здравствуйте, уважаемые гуру.

    Cyclone5, Quartus 18.0 (не Pro).

    Пишу констрейны для приемопередатчиков, типа

    set_instance_assignment -name XCVR_TX_PRE_EMP_1ST_POST_TAP 1 -to MY_OUTPUT_PIN_NAME

    Вопрос: как по результатам компиляции удостовериться, что констрейн применился?

    Resource property Editor на данный выход в значении "Preemphasis setting" выдает "-1" (притом что допустимый диапазон 0..31).

    Где искать правду?

  3. 9 hours ago, StewartLittle said:

    Уточните - под какую ось?

    Standard v19.1 есть только под Linux.

    Под винду крайняя версия -v18.1 Update 1 (вполне стабильная).

    Под винду.

    В 18.0 невозможно редактировать параметры IP-блока PLL, только создавать заново. Есть ли этот баг в 18.1 Update 1?

  4.  Насчет передаваемых данных каждый сам себе проверятор, а вот на тему целостности прошивки есть вполне себе штатные алгоритмы, проверяющие ее целостность. Можно их повключать и собирать статистику.

  5. Здравствуйте, уважаемые.

    Скажите, как в Quartus узнать статистику по logic levels (logic depth)?

    Желательно после синтеза, ну или хоть как-нибудь.

    Пока нашел только как узнать logic levels в Timing Analyser'е для каждого индивидуального пути (Path report).

    Но хотелось бы именно статистику по данному параметру, без влияния длин цепей и тд..

    Всем заранее спасибо!

  6. Граждане, подскажите. Как на TCL проресетить FPGA? Т.е. сделать так, чтобы сконфигурированная FPGA была не сконфигурирована и, соответственно, совсем не работала.

    Нужно для снижения потребления/тепловыделения в случае аварий во время тестирования.

  7. 2 hours ago, Nick_K said:

    Очень Вам сочувствую. Больше добавить нечего.

    P.S.Про редакторы я вспомнил не ради холиваров, а реально это единственный вменяемый выход. Ибо разрабам интерфейса Vivado, как, думаю, и Quartus'а нужно отрубить руки. Особенно за схематик...

    Так приятно, когда тебе кто-то сочувствует :-).

    Какая связь схематика и текстового редактора?

    Что касается этих ваших Нотепадов, там тоже глюков к сожалению хватает.

  8. 3 hours ago, Nick_K said:

    Пользоваться внешним НОРМАЛЬНЫМ редактором)

    Notepad++, SublimeEditor, Visual Studio - куча удобных и вполне себе бесплатных эдиторов (кроме Сублима), которые в разы лучше встроенного в Виваду.

    Забыл попросить обойтись без холиваров :).

    Моя тз состоит в том, чтобы использовать встроенный в среду редактор. Соответственно, вопрос про его настройки.

  9. Спасибо! Нашел чуть получше вариант: Reports-Report Design Analisys, будет табличка с некоторыми возможностями по сортировке (в моей 18.2, например, сортировка по logic levels не работает).

     

    ====================

    Вопрос 2.

    Стандартный текстовый редактор Vivado не позволяет откатывать изменения файла после сохранения.

    Это как-то можно вылечить?

  10. 2 hours ago, Nick_K said:

    Report Timing Summary -> выбрать нужные параметры или по-дефолту и ОК.

    Дальше можно по всем Fail Paths пройтись и найти нужное

    Возможно, это будет работать с корректными констрейнами. Без констрейнов - не работает.

    Собственно, непонятно, причем тут тайминги и прочий fail - стоит чисто синтезная задача, выдать подробную статистику по результату этого синтеза.

  11. Здравствуйте, уважаемые.

    После годичного перерыва вернулся к Виваде. Не всё помню, а что-то наверное и не знал.

    Помогайте :). Всем заранее спасибо.

    Вопрос 1. Как после синтеза узнать путь с наибольшим количеством лутов? (logic levels)

    report_design_analysis без параметров дает табличку с распределением Logic Level Distribution, нужны конкретные пути с наибольшей задержкой.

  12. Quote

    и конечно я, как и ТС 

    Вы и ТС - одно лицо? Или откуда знаете, чего он хотел? :)

    Quote

    ожидали откровений именно для стрибог (и даже конкретно - для L-проеобразования)

    Очень жаль, что я Вас разочаровал... :( В следующий раз подробнее пишите, чего Вам надо - а то выспрашивать приходиццо :).

    В случае с ПЛИС довольно часто основная масса возможностей по оптимизации лежит в плоскости применения алгоритма к ПЛИС, а не доработке алгоритма. По крайней мере, я бы начал именно с этого, и скорее всего этого бы хватило для большинства задач. Когда читаешь от ТС про Е-функцию в 325 Кинтекс, первые мысли всегда о том, что дело не в доработке L-преобразования.

    Quote

    а вам не кажется, что в случае ПЛИС этот кейс хорошо бьётся с намерением максимизации Т/А?

    Отсутствие задания реалистичных требований всегда плохо бьется со всем. В случае с ПЛИС, например, отсутствие задания частоты входных данных не позволяет понять, в сколько раз можно ускорить обработку за счет увеличения тактовой.

     

    Quote

    возьмите произвольный алгоритм хеширования/криптования - конвейеризованная реализация всегда раз выигрывает у итеративной/свёрнутой реализации

    Это зависит от стоящих требований. В моем случае нужно было минимизировать объем при относительно небольшой скорости поступления данных. Конвейер был бы избыточен.

     

     

     

  13. Не, я недогадливый. Расскажите, если не секретно. Если секретно - тогда не рассказывайте :).

    Quote

    As high as possible

    Ой как я не люблю такие постановки задач... Гораздо лучше, когда люди знают, что они хотят.

     

    Ладно, пара мыслей.

     

    1. Стрибог - итерационный байт-ориентированный алгоритм, скармливать ему целиком строку и требовать сразу ответа - на мой взгляд, затея безнадежная.

     

    2. Я бы пошел по пути распараллеливания с соответствующим увеличением латентности. Далее зависит от того, какая латентность устраивает.

     

    1) Если латентность совсем не важна, наплодить ядер с последовательным расчетом (1 байт/такт, итерации последовательно). Каждое такое ядро занимает довольно небольшой объем, в большую микросхему их можно запихнуть много. Есть опыт реализации подобного ядра, если интересно - пишите в личку, поинтересуюсь у начальства по поводу возможности модернизации под Ваши нужды.

     

    2) Если латентность не совсем не важна, хотя бы сделать расчет 1 итерации за 1 такт входных данных. Не знаю, во что это выльется, не пробовал.

     

    3) Если с латентностью совсем никак, тогда только задирать рабочую частоту относительно частоты данных, и пытаться из этого как-то разбить расчет на итерации.

  14. Даже страшно подумать, чего Вы там обсчитываете, если на каждые 512 бит надо посчитать хэш в 512 бит, и всё это за 1 такт.

    Для такой ширины шины 200Мгц - это уже 100Г.

    Какая частота тактов?

  15. On 7/19/2019 at 7:44 PM, Doka said:

    Подскажите "массу", поскольку реализация стрибога "в лоб" гигантское число ресурсов, это притом, что Sboxes на BRAM (утилизация BRAM свыше 3000 шт).

    Результат готов каждый такт (на вход тоже можно подавать каждый такт).

    Критерий - максимизация T/A (Throughput/Area)

    Вы хотите каждый такт иметь что? Хэш-сумму для всего файла? А зачем? Файл может быть большой и подать его целиком на логику может быть физически невозможно. Более того, бессмысленно желать вычислять Стрибога быстрее, чем загружаете этот самый файл.

    Так что, начинать надо с определения, какая "средняя" скорость поступления данных, и из нее уже решать, каким образом оптимизировать расчет.

    Естественно, всё это только в случае, если требования скорости расчета реально заданы, а не просто желание кинуть в логику известный пример на Си вообще без переделки под FPGA.