kirill70674 5 12 ноября, 2023 Опубликовано 12 ноября, 2023 · Жалоба Здравствуйте, коллеги Можно ли считать, что для оператора {<<N{array}} нет никакой разницы что подано ему в качестве аргумента: массив или вектор? Т.е. он проводит конкатенацию над входным массивом (если таковой подан на вход) и меняет его порядок в соответствии с “N”. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 13 ноября, 2023 Опубликовано 13 ноября, 2023 · Жалоба В 12.11.2023 в 23:34, kirill70674 сказал: Здравствуйте, коллеги Можно ли считать, что для оператора {<<N{array}} нет никакой разницы что подано ему в качестве аргумента: массив или вектор? Т.е. он проводит конкатенацию над входным массивом (если таковой подан на вход) и меняет его порядок в соответствии с “N”. Вы хотели сказать "непакованный массив и пакованный массив"? Вообще-то, разница есть. В непакованном массиве, объявленном традиционным способом (когда младшие по порядку элементы индексируются от 0), такая запись поместит старшие элменты массива (если N равеняется размеру элемента) в старшие биты RHS: А для пакованного массива туда попадут младшие биты -- будет изменён порядок следования, как тут: только тут по 4 бита упаковка ведётся, но суть ясна. Картинки и примеры отсюда: https://www.amiq.com/consulting/2017/05/29/how-to-pack-data-using-systemverilog-streaming-operators/ https://www.amiq.com/consulting/2017/06/23/how-to-unpack-data-using-the-systemverilog-streaming-operators/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kirill70674 5 13 ноября, 2023 Опубликовано 13 ноября, 2023 · Жалоба Да, согласен, хоть этот оператор и векторы и массивы может переварить, разница видна в итоговой индексации. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться