mirobest 0 9 августа, 2019 Опубликовано 9 августа, 2019 · Жалоба Я пытаюсь инициализировать нулями: reg [ 1 : 0 ] bc_fifo[0:15]; Я написал : integer z; initial begin for(z = 0; z < 16; z++) begin bc_fifo[1:0][z] = 2'b00; end Simulator Vivado выдает ошибку [VRFC 10-395] cannot assign an unpacked type to a packed type. Вы можете объяснить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 9 августа, 2019 Опубликовано 9 августа, 2019 (изменено) · Жалоба Приветствую! 20 minutes ago, mirobest said: Вы можете объяснить? Мы можем! Если вы объявили массив с packed и unpacked диапазонами: reg [packed_dimension_A] array_name [unpacked_dimension_B]; То порядок следования индексов для доступа должен быть правильный array_name [unpacked_dimension_B_index][packed_dimension_A_index | packed_dimension_A_range] = ... Кроме того unpacked_dimension не допускается задания диапазона доступа - допустим только индекс элемента. Поэтому в вашем случае надо бы написать так bc_fifo [z] = 2'b00; Удачи! Rob. Изменено 9 августа, 2019 пользователем RobFPGA Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 16 августа, 2019 Опубликовано 16 августа, 2019 · Жалоба On 8/9/2019 at 6:13 PM, mirobest said: reg [ 1 : 0 ] bc_fifo[0:15]; bc_fifo[1:0][z] = 2'b00;Вы можете объяснить? bc_fifo[z][1:0] = 2'b00; в таком случае. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться