<Циничный сарказм ON> Шахматы, компьютерная игра - не лучшие варианты демонстрации. Через пару лет освоения бюджета окажется что играл бот, встроенный в чип, а по мозгу пациента били током "изображай счастье, а то еще получишь".
xilinx vivado(я с ним с 2015) никогда их не требовал в явном виде.
с другими производителями не работал, но врядли там настолько хуже
synplify(а он вроде мультиплатформенный) тоже спокойно синтезил все из logic
на крайняк можно попробовать каким-нить внешним (самописным?) парсером позаменять обьявление сигналов - reg, если поисваивается под always_ff, иначе wire.
Массивы интерфейсов можно постфактум относительно легко заменить на массив структур/двумерных векторов/одномерных векторов, даже не потеряв параметрезируемость по размерам. Просто код станет более громоздким и хуже читаемым.
Думаю скорее вопрос был что делать если софт экзотического семейства не поддерживает ни sv, ни возможность подключить внешний синтезатор? Страдать:] Лично мне было бы проще/быстрее написать и отладить все на sv, а потом переписать синтезируемую часть(сверяясь с эталонным sv в sv тестбенче)на vhdl или старорежимный verilog, чем страдать сразу на них. Но, к счастью для начальников и снабженцев и горю разработчиков, ничего принципиально непереносимого в синтезируемом подмножестве sv нет. Настощим софтверным программистам в это трудно поверить, но по факту (оптимизация и отладка) синтезируемый код в плис это что-то на уровне смеси самого начального и низкоуровнего си и ассемблера. По крайней мере для моих задач и навыков /o\
Это кунг-фу я помню, но это в каждом модуле, в которые заходит интерфейс, 2 строчки use work.my_pack.all; input t_my_record my_record; против одной interface my_interface;
И глобальный суперпак со всеми "интерфейсами"(если хочется потом обходится 2 строчками для применения), что само по себе неочень. Против более локализованного и структурированного объявления интерфейсов в sv.
И такое во многом: -использование многомерных массивов -почти обязательное явное приведение типов, зачастую многократное в одном выражении для обычной операции над двумя,тремя числами -двукратное написание шапки модуля. Да в версиях посвежее можно и почти:) однократно, но чаще пишут по старому(легаси/привычка/недоверие к софту) -конкурирющие стандартные пэкеджи арифметики numeric_std или arith+signed/unsigned -просто больше букв и меньше логики чтобы написать тоже самое. И это только про консервативное синтезируемое подмножество.
Вообщем мне vhdl напоминает латынь - используется римлянами-долгожителями, аптекарями и классическими гимназистами, чаще не по своей воле. Ну и главное - видно что и производители софта к нему так относятся. Впрочем sv тоже смотрится уже совсем так себе, просто вроде пока чтото повысокоуровневее не особо у производителей плис/софта получается, но видно что очень хотят и будут додавливать.
таки сделать logic как его обещали - полной заменой reg-wire. Чтобы не приходилось писать wire logic!
уже упомянутые интерфейсы. Сделать нормальные вектора интерфейсов.
Работаю только с xilinx vivado, но конкретно в нем:
сто лет так использую. wire пишу только во входных пинах модуля, т.к. предпочитаю `default_nettype none И вот ему зачем-то хочется там input wire logic...blabla
vivado уже лет 8 поддерживает синтезируемые массивы интерфейсов, хотя задокументировано это было на несколько лет позже. Из корявости - их подключение с модпортами или невозможно, или разный синтаксис с моделсим, поэтому просто подключал без модпорта, "благо" vivado их все равно при синтезе игнорирует(до 2019.2 точно, может и до сих пор, не уверен). Скорее всего не даст подключение части массива и, возможно, многомерных массивов, но врядли эти ситуации сильно нужны в синтезируемом коде.
Так что эти пункты - это не проблемы языка, максимум конкретной среды.
Это прямой аналог struct {}, а не интерфейса. Интерфейс заметно удобнее: -не требуется таскать его обьявление через импорт в каждый модуль иерархии, сквозь которые проходит -параметры могут быть в объявлении самого интерфейса, чаще это удобнее/логичнее -модпорты. Синтезатор Xilinx их игнорировал, может и в крайних версиях также осталось, но при отладке в симуляторе доп.защита -связывание на этапе "линковки" модулей, а не синтеза конкретного модуля, чаще плюс, чем минус -доп несинтезируемые плюшки, вроде возможности интеграции функций и clocking block. Их не применял, поэтому не скажу насколько полезны и поддерживаются софтом.
Как мне кажется статья писалась исключительно с целью предложить сейчас(доползли 4070 super, 4070 TI super) купить 4060, да еще и со словами "Лучше купите хорошую современную видеокарту и не заморачивайтесь" :))
— Слушай, а что такое по-английски «How are you»? — «Как поживаешь или как дела». — А им что, интересно, как у меня дела? — Не-а, неинтересно. — А чего тогда спрашивают? — Просто так. Здесь вообще всё просто так, кроме денег.
Недалекое будущее: Один подкласс ИИ генерит гавноконтент, другой класс пережевывает, а бедным кожаным мешкам отводится роль потребителей дважды отрыгнутого. Будут еще ностальгировать по временам нынешних мусорных тв и соцсетей, как о неком забытом золотом веке...
Распространите го....пилот среди жильцов нашего ЖЭКа. А если не будут брать — отключим газ! заберем обещанный вин12, удобную кнопку и "с откатом сборки Windows 11 26052 с ПК удаляется большой объём данных"
Если веришь что твоя организация вот вот сделает сильный АИ, который сможет заменить всех людей на планете.
Убежден что в этом случае будет гораздо более актуальные вопросы, чем какие-то чипы или, тем более, триллионы резаной бумаги. Как минимум чтобы не "заменили" тебя любимого, всего такого талантливого и незаменимого. И даже не мифический ИИ, а кто-нибудь поприземленнее и поэнергичнее.
Не имеет смысла вести себя так, будто вы удивлены. Все чертежи, планы и распоряжения о сносе висели на доске объявлений в местном отделении по планированию на Альфе Центавра в течение пятидесяти земных лет. Так что у вас было достаточно времени для подачи любых официальных жалоб, а теперь слишком поздно поднимать шум.
<Циничный сарказм ON>
Шахматы, компьютерная игра - не лучшие варианты демонстрации. Через пару лет освоения бюджета окажется что играл бот, встроенный в чип, а по мозгу пациента били током "изображай счастье, а то еще получишь".
Кажется я слышал более лаконичную версию - "надо всем хорошим людям просто взять и убить всех плохих"
Про reg/wire точно не скажу, но
xilinx vivado(я с ним с 2015) никогда их не требовал в явном виде.
с другими производителями не работал, но врядли там настолько хуже
synplify(а он вроде мультиплатформенный) тоже спокойно синтезил все из logic
на крайняк можно попробовать каким-нить внешним (самописным?) парсером позаменять обьявление сигналов - reg, если поисваивается под always_ff, иначе wire.
Массивы интерфейсов можно постфактум относительно легко заменить на массив структур/двумерных векторов/одномерных векторов, даже не потеряв параметрезируемость по размерам. Просто код станет более громоздким и хуже читаемым.
Думаю скорее вопрос был что делать если софт экзотического семейства не поддерживает ни sv, ни возможность подключить внешний синтезатор? Страдать:]
Лично мне было бы проще/быстрее написать и отладить все на sv, а потом переписать синтезируемую часть(сверяясь с эталонным sv в sv тестбенче)на vhdl или старорежимный verilog, чем страдать сразу на них. Но, к счастью для начальников и снабженцев и горю разработчиков, ничего принципиально непереносимого в синтезируемом подмножестве sv нет. Настощим софтверным программистам в это трудно поверить, но по факту (оптимизация и отладка) синтезируемый код в плис это что-то на уровне смеси самого начального и низкоуровнего си и ассемблера. По крайней мере для моих задач и навыков /o\
Это кунг-фу я помню, но это в каждом модуле, в которые заходит интерфейс, 2 строчки
use work.my_pack.all;
input t_my_record my_record;
против одной
interface my_interface;
И глобальный суперпак со всеми "интерфейсами"(если хочется потом обходится 2 строчками для применения), что само по себе неочень.
Против более локализованного и структурированного объявления интерфейсов в sv.
И такое во многом:
-использование многомерных массивов
-почти обязательное явное приведение типов, зачастую многократное в одном выражении для обычной операции над двумя,тремя числами
-двукратное написание шапки модуля. Да в версиях посвежее можно и почти:) однократно, но чаще пишут по старому(легаси/привычка/недоверие к софту)
-конкурирющие стандартные пэкеджи арифметики numeric_std или arith+signed/unsigned
-просто больше букв и меньше логики чтобы написать тоже самое.
И это только про консервативное синтезируемое подмножество.
Вообщем мне vhdl напоминает латынь - используется римлянами-долгожителями, аптекарями и классическими гимназистами, чаще не по своей воле.
Ну и главное - видно что и производители софта к нему так относятся.
Впрочем sv тоже смотрится уже совсем так себе, просто вроде пока чтото повысокоуровневее не особо у производителей плис/софта получается, но видно что очень хотят и будут додавливать.
таки сделать logic как его обещали - полной заменой reg-wire. Чтобы не приходилось писать wire logic!
уже упомянутые интерфейсы. Сделать нормальные вектора интерфейсов.
Работаю только с xilinx vivado, но конкретно в нем:
сто лет так использую. wire пишу только во входных пинах модуля, т.к. предпочитаю `default_nettype none И вот ему зачем-то хочется там input wire logic...blabla
vivado уже лет 8 поддерживает синтезируемые массивы интерфейсов, хотя задокументировано это было на несколько лет позже. Из корявости - их подключение с модпортами или невозможно, или разный синтаксис с моделсим, поэтому просто подключал без модпорта, "благо" vivado их все равно при синтезе игнорирует(до 2019.2 точно, может и до сих пор, не уверен). Скорее всего не даст подключение части массива и, возможно, многомерных массивов, но врядли эти ситуации сильно нужны в синтезируемом коде.
Так что эти пункты - это не проблемы языка, максимум конкретной среды.
Это прямой аналог struct {}, а не интерфейса.
Интерфейс заметно удобнее:
-не требуется таскать его обьявление через импорт в каждый модуль иерархии, сквозь которые проходит
-параметры могут быть в объявлении самого интерфейса, чаще это удобнее/логичнее
-модпорты. Синтезатор Xilinx их игнорировал, может и в крайних версиях также осталось, но при отладке в симуляторе доп.защита
-связывание на этапе "линковки" модулей, а не синтеза конкретного модуля, чаще плюс, чем минус
-доп несинтезируемые плюшки, вроде возможности интеграции функций и clocking block. Их не применял, поэтому не скажу насколько полезны и поддерживаются софтом.
Думаю больше оттолкнет
Уважаемый автор, если Ваш английский настолько хорош/плох, что начал вытеснять русский, то уж лучше и анонс пишите на английском, чем так.
Скоро ИИ станет как индийское кино - бредовый сценарий и исполнение будут каждые 5 минут прерываться песнями и танцами :)
Как мне кажется статья писалась исключительно с целью предложить сейчас(доползли 4070 super, 4070 TI super) купить 4060, да еще и со словами "Лучше купите хорошую современную видеокарту и не заморачивайтесь" :))
Ну полноте, товарищ майор. Уверен Вы чуть больше в курсе куда там что тратится.
Средне-рыночная оценка сколько из этих 30т налогов вернется к работнику в виде реальной для него пользы?
Недалекое будущее:
Один подкласс ИИ генерит гавноконтент, другой класс пережевывает, а бедным кожаным мешкам отводится роль потребителей дважды отрыгнутого.
Будут еще ностальгировать по временам нынешних мусорных тв и соцсетей, как о неком забытом золотом веке...
Распространите го....пилот среди жильцов нашего ЖЭКа.
А если не будут брать —
отключим газ!заберем обещанный вин12, удобную кнопку и "с откатом сборки Windows 11 26052 с ПК удаляется большой объём данных"А социфобы-интроверты, не любящие лайкать котиков, наконец тоже получат удобный способ добровольно слить свои персональные данные.
Скоро та половина статей на хабре, которые пока не заканчивается "заходите на мой телеграм канал" будет заканчиваться "заходите на мою страничку"? :]
Убежден что в этом случае будет гораздо более актуальные вопросы, чем какие-то чипы или, тем более, триллионы резаной бумаги.
Как минимум чтобы не "заменили" тебя любимого, всего такого талантливого и незаменимого. И даже не мифический ИИ, а кто-нибудь поприземленнее и поэнергичнее.
Какое пышное сотрясение воздуха.
"А теперь с апельсиновым вкусом"
"Аналоговнет"
<Любое аналогичное заклинание>