vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2017-04-25 08:59 pm
Entry tags:

Неизвестный Verilog

Обнаружил в языке Verilog неожиданную фичу, не описанную ни в одной книжке. Оказывается, диапазоны можно задавать в виде X+:Y или X-:Y, что эквивалентно X+Y-1:X и X:X-Y+1 соответственно. К примеру, эти три присваивания эквивалентны:
    value[10:8] = 0;
    value[10-:3] = 0;
    value[8+:3] = 0;

[personal profile] ygam 2017-04-26 04:22 am (UTC)(link)
Я уже который год обнаруживаю новое в XSLT/XPath. Сегодня я узнал, как средствами XSLT сериализовать узлы в строку.
juan_gandhi: (Default)

[personal profile] juan_gandhi 2017-04-26 04:24 am (UTC)(link)
Хорошая фича.
spamsink: (Default)

[personal profile] spamsink 2017-04-26 10:51 pm (UTC)(link)
По сравнению с аналогичной фичей в VHDL это еще цветочки. В верилоге хоть длина диапазона обязана быть compile-time constant, а в VHDL - гуляй, рванина. Разрешено A(x to y) или A(x downto y) с переменными x и y, ну и, соответственно, возвращаемый тип не определен до момента выполнения.
vit_r: default (Default)

[personal profile] vit_r 2017-04-26 05:59 am (UTC)(link)
Хороший источник для труднонаходимых ошибок. Специалисты придумали.
vit_r: default (Default)

[personal profile] vit_r 2017-04-26 07:05 am (UTC)(link)
Если писать "Один болван реализовал такую штуку, но мы крайне не рекомендуем с ней играться", получится ещё хуже.
outputlogic: (Default)

[personal profile] outputlogic 2017-04-26 02:48 pm (UTC)(link)
Как это не описанная? Эта фича называется part select.
spamsink: (Default)

[personal profile] spamsink 2017-04-26 05:05 pm (UTC)(link)
Вот именно. Просто читать надо LRM.
spamsink: (Default)

[personal profile] spamsink 2017-04-26 10:45 pm (UTC)(link)
Как это кто язык по LRM изучает? Авторы компиляторов, конечно.
outputlogic: (Default)

[personal profile] outputlogic 2017-04-26 06:31 pm (UTC)(link)
Из своего опыта знаю что процентов 80 разработчиков на Verilog про эту фичу не знают, как и про многие другие. А зря. Я ей пользуюсь с момента выхода Verilog-2001.
spamsink: (Default)

[personal profile] spamsink 2017-04-26 10:47 pm (UTC)(link)
Я традиционно использую вопрос об этой фиче на интервью с тех пор, как она появилась. Процент знающих со временем практически не изменяется.