Jump to content
    

23 hours ago, OparinVD said:

Не стал отдельную тему заводить

Порекомендуйте, пожалуйста, какой симулятор взять  с фтп, чтоб был полноценный, был совместим с vivado 2022.2, желательно работал под убунтой, ну и самое важное - с рабочей таблеткой ))

В этой индустрии убунту не существует. Все поддерживают RedHat, кое-кто поддерживает Suse.
"Совместим с vivado" - это что? Никто их не делает совместимыми с вивадо или ещё чем. У каждого из низ свои команды компиляции, элаборации, симуляции. У каждого из них на кой-то чёрт есть фронтенд для вызова некоторого подмножества из ранее упомянутых отдельных команд. Фронтенды эти разной степени недоделанности и бесполезности. Если вивадо, то, наверное, знаком Modelsim? если так, то наиболее знакомой окажется Questa Sim от Siemens EDA, даже команды все те же. А вообще они все - Xcelium, VCS, Questa делают свою работу. На мой взгляд, лучший среди них - это VCS.

Share this post


Link to post
Share on other sites

On 7/19/2023 at 11:46 AM, Raven said:

Это никто и не утверждал. Просто MR/PR хорошо укладывается в процедуру работы больших коллективов разработчиков.

Я полностью открыт для просветления. Поясните, пожалуйста, конкретнее, как по вашей методе предполагается противостоять тем проблемам, о которых выше поведал @dxp.

Я ранее просил, если вы во flow с CI помещаете конченных идиотов, то помещать таких же во flow с merge request'ами. Если есть утверждение, что идиоты не смогут создать рабочий мастер, то они точно так же не смогут создать и рабочую ветку (СЮРПРИЗ: мастер - это тоже просто ветка, никакого волшебства в ней нет). Только вместо одной версии, которую надо бы сделать, будет всё увеличивающееся количество других нерабочих веток.

В любом Flow при этом надо не коммитить запрещать, а идиотов исключать из процесса.

 

Далее, не пущать в мастер, если мерж реквест не прошёл CI. На первыый взгляд кажется разумным. Но только на первый взгляд. Это имеет смысл только если не смогли сделать хороший  набор тестов. Прекрасный пример - HP, они не смогли, и у них тестовый конвейер бежал 2 часа. Они смирились с тем, что тесты писать не умеют, и сказали, что мастер тестировать они не будут, зато будут тестировать отдельные ветки. И полную регрессию запускали на ветке, прежде, чем отприавить в мастсер. Но новая ветка у них всё-равно начиналась с мастера, и по прохождению тестов код тоже попадал из ветки в мастер.

 

Но вообще это требование звучит вот так:
- Нельзя сохранять файл, который не компилируется
- Но как его проверить, не сохраняя? Компилятор же будет компилировать только то, что сохранено
- Сохраняйте файл под другим именем, перепишите скрипты сборки, и когда соберётся, сохраняйте файл как надо, и обратно меняйте скрипты сборки. Звучит не как работа, а как ИБД.

 

Ведь  CI делает именно это. Он запускает скрипты сборки. И, чтобы он запускал их на другой ветке, её надо прописать в эти скрипты. А при удалении ветки - и это всё тоже удалить. Есть возможность автоматизированно сделать mult-branch pipeline но там будет fail если хоть одна ветка упадёт, поэтому, без ручной работы снова никак. А ради чего? Ведь если у человека это не мерджится на его рабочей станции, при полном контроле над файлами, при всех его удобных тулах, то с чего ровно этот же код ВДРУГ должен смержится сервером сборки?
В итоге, просто весь маршрут проще и надёжнее, если каждый коммитит в мастер. Кстати, это не означает, что он реально обязан коммитить в мастер. Это тоже непонимание инструментария. Это технически, значит, что он у себя начинает работу, ответвившись от мастера, после того, как сделал работу он проверяет обновления мастера, работоспособность мастера, и после этого мержит локально свои изменения  и мастер ,и снова проверяет работоспособность. Если всё хорошо, он коммитит уже этот смерженный рабочий код обратно в мастер.

Если где-то в этом процессе человек ошибётся (а чем чаще он это делает, тем реже у него возникают ошибки), то, во-первых - откатить мастер не проблема, он не откатится далеко. Максимум 1 день, а если работать активно - ещё меньше, А во вторых, чтобы этого не заметили, нужна команда разработчиков, которой вообще пофиг на результат, и чинить опять же надо это, а не выстраивать процесс, чтобы им удобнее было имитировать бурную деятельность.

Ну и ещё один аргумент. Что идёт в поставку? Где тот код, который должен пойти заказчику? В CI - это master. А в тысячеветочном мержреквестном? Если это тоже мастер, тогда всё просто - всё снова должно закончиться тем, что каждая ветка должна прийти в мастер, и закончиться на этом. Вопрос лишь в том, где это делать удобнее, и кто у вас умнее - скриптованный болван или разработчик : )

Share this post


Link to post
Share on other sites

2 hours ago, one_eight_seven said:

В этой индустрии убунту не существует. Все поддерживают RedHat, кое-кто поддерживает Suse.

На других дистрах тоже замечательно работает.

2 hours ago, one_eight_seven said:

"Совместим с vivado" - это что? Никто их не делает совместимыми с вивадо или ещё чем.

А криптованные IP-ядра вы как симулировать будете, если в вашем симуляторе нет соответствующих ключей?

Share this post


Link to post
Share on other sites

2 hours ago, andrew_b said:

На других дистрах тоже замечательно работает.

1. Не всё.
2. Не всегда.
3. И поддержка ответит в стиле: "работоспособность проверяется только на указанных в release notes операционных системах".

Лично видел неправильную работу симулятора. Проблема не воспроизводилась на легальной поддерживаемой системе. Чаще такое было с каким-нибудь непонятным segfault'ом. Но один раз видел прямо неправильную работу VIPов. То есть, симуляция шла неправлиьно.

 

Quote

А криптованные IP-ядра вы как симулировать будете, если в вашем симуляторе нет соответствующих ключей?

Так это криптованные ядра должны поддерживать симуляторы.

Share this post


Link to post
Share on other sites

7 hours ago, one_eight_seven said:

1. Не всё.
2. Не всегда.

Согласен. Но в большинстве случаев работает.

7 hours ago, one_eight_seven said:

поддержка ответит

Мы все ещё про Росиию говорим?

7 hours ago, one_eight_seven said:

Так это криптованные ядра должны поддерживать симуляторы.

Не понял, кто на ком стоял? Генерируете IP в Виваде версии N, успешно симулируете в Квесте версии Q. Генерируете IP в Виваде версии M (M > N), Квеста версии Q прожевать это не может. Обновляете Квесту до версии P (P > Q), снова успешно симулируете.

Share this post


Link to post
Share on other sites

17 hours ago, andrew_b said:

Мы все ещё про Росиию говорим?

Скорее про: "Знал бы прикуп - жил бы в Сочи". На мой взгляд, безудержная страсть к Ubuntu не стоит потенциальных проблем.
 

 

17 hours ago, andrew_b said:

Не понял, кто на ком стоял? Генерируете IP в Виваде версии N, успешно симулируете в Квесте версии Q. Генерируете IP в Виваде версии M (M > N), Квеста версии Q прожевать это не может. Обновляете Квесту до версии P (P > Q), снова успешно симулируете.

Ключи определяет тот, кто шифрует. Если корка зашифрована без ключей, скажем, для Xcelium, то в Xcelium оно не откроется. Поэтому, вопросы в данном случае к призводителю IP-корки.

Но в целом ваше замечание справедливо. Этот момент надо учитывать.

Edited by one_eight_seven

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

В Vivado есть требование к определённой версии симулятора. Например, 2018 требовала квесты (если квесты) 10.6с, и любая другая  версия порождала предупреждение. С квестой  10.4а не работало -- не могла квеста расшифровать  secureip библиотеку. Но вот 10.4е уже могла, и хотя предупреждение оставалось, всё работало. И даже если подсунуть квесту 10.7с. то всё равно  предупреждение (и тоже всё работает). Т.е. Vivado проверят на точное совпадение. Хотя ключи там меняются не так часто, и реально весьма широкий диапазон версий симуляторов работает с криптованными библиотеками.

И да, по убунтой Vivado и Questa прекрасно работают. А для Vivado убунта прямо указана в поддерживаемых ОС.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...