kirill70674 7 November 12, 2023 Posted November 12, 2023 · Report post Здравствуйте, коллеги Можно ли считать, что для оператора {<<N{array}} нет никакой разницы что подано ему в качестве аргумента: массив или вектор? Т.е. он проводит конкатенацию над входным массивом (если таковой подан на вход) и меняет его порядок в соответствии с “N”. Quote Share this post Link to post Share on other sites More sharing options...
dxp 213 November 13, 2023 Posted November 13, 2023 · Report post В 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/ Quote Share this post Link to post Share on other sites More sharing options...
kirill70674 7 November 13, 2023 Posted November 13, 2023 · Report post Да, согласен, хоть этот оператор и векторы и массивы может переварить, разница видна в итоговой индексации. Спасибо. Quote Share this post Link to post Share on other sites More sharing options...