Перейти к содержанию
    

QuestaSIm 10.4с, port типа packed struct array

Приветствую!

 

Новогодние праздники утихли а в голове продолжает шуметь...

 

Понадобилось обновить относительно недавний проект на SystemVerilog.

Есть в нем pkg в котором объявлен тип структуры который в свою очередь потом используется в том числе и для задания типа портов в ряде модулей. Пару лет назад все было отсимулированно и собранно без проблем.

package type_pkg;
..
typedef struct packed {
  loagic [WHA-1:0] field_a;
  loagic [WHB-1:0] field_b;
  loagic           field_c;
} st_TYPE_t;
endpackage

import type_pkg::*;
module modA (
  ...
  output st_TYPE_t d_ou,
  ...
);
...
endmodule

import type_pkg::*;
module modB (
  ...
  input st_TYPE_t d_in [0:NN-1],
  ...
);
...
endmodule


import type_pkg::*;
module top;
...
st_TYPE_t d_w [0:NN-1];

generate for (genvar gi=0;g<NN;gi++) begin : g_for
  modA i_modA (
    ...
    .d_ou (d_w[gi])
  );
  end
endgenerate

modB i_modB (
  .d_in (d_w),
  ...
);
...

Сейчас же суть глюка в том что в версии QuestaSim с 10.4c при симуляции я вижу на входе d_in модуля i_modB Z!!! состояние на всех битах за исключением бита 0. А на шине d_w при этом все как надо. 8-(). Соответственно симуляция не проходит. При этом ни ошибок компиляции ни ошибок elaboration при запуске нет!.

Да и в Vivado тоже все собирается правильно.

 

Что это? (вот бы вспомнить что я пил на Новый Год, может в этом дело? :) )

 

Удачи! Rob.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Новогодние праздники утихли а в голове продолжает шуметь...

Вы принципиально игнорируете запятые, или только когда шумит? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас же суть глюка в том что в версии QuestaSim с 10.4c при симуляции я вижу на входе d_in модуля i_modB Z!!! состояние на всех битах за исключением бита 0. А на шине d_w при этом все как надо. 8-(). Соответственно симуляция не проходит. При этом ни ошибок компиляции ни ошибок elaboration при запуске нет!.

А вы при компиляции используете один Multiple File Compilation Unit (-mfcu)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

 

Нет, не использую. Файлы pkg и модули компилируются раздельно.

Попробовал изменить тип шины d_w и соответственно порта d_in на

st_TYPE_t [0:NN-1]  d_w,
... 
st_TYPE_t [0:NN-1]  d_in,

В таком виде симулируется все как надо.

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...