Digi 0 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба Как преобразовать вектор типа output reg [263:0] pll_config_data; в массив данных reg [7:0] pll_config_storage [0:32]; ? Задача такая: модуль приема, принимает данные , которые передаются по последовательному интерфейсу и записываются в pll_config_data. Соответственно на выходе этого модуля я имею вектор с разрядностью 264 бита. Эти биты я буду защелкивать в массиве pll_config_storage в соответствии с его организацией. Пока что кроме как использовать generate и побайтно выделять данные, идей нет. Как сделать правильно ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masics 0 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба for(i=0;i<33;i=i+1) pll_config_storage = pll_config_data[i*8 +: 8]; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Digi 0 3 июня, 2014 Опубликовано 3 июня, 2014 · Жалоба Собственно примерно так я и сделал. Думал, может можно как то по другому. genvar cnv_a; generate // Converting bit vector into byte array for (cnv_a=5; cnv_a<33; cnv_a++) begin : bitconv assign pll_stor_wire[cnv_a] = pll_conf_wire[263-8*cnv_a : 256-8*cnv_a ]; end endgenerate Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться